6. คัดกรองซึมเศร้าในเรือนจำ
ID | 810 |
---|---|
Parent ID | 59 |
Table Name | prison64_04_depress_screen |
Title | 6. คัดกรองซึมเศร้าในเรือนจำ |
Description | |
Script | #SQL_OPTIONS# PROVIDERS=1 PROVIDER1=43STD PROVIDER1_VALIDATE_TABLES=ncdscreen,t_person_db SCRIPT_FLOW=SQL #SQL_OPTIONS# #PROVIDER1_SQL# SET @provcode = :provcode; SET @rep_year = :rep_year; SET @hoscode = :hoscode; SET @hosname = :hosname; SET @hostype = :hostype; SET @address = :address; SET @subdistcode = :subdistcode; SET @distcode = :distcode; SET @level_service = :level_service; SET @datestart:='2020-10-15'; SET @dateend:='2021-07-31'; DROP TABLES IF EXISTS prison64_04_depress_screen ; CREATE TABLE IF NOT EXISTS prison64_04_depress_screen ( `HOSPCODE` varchar(5) NOT NULL, `PID` varchar(15) NOT NULL, `CID` varchar(13) DEFAULT NULL, `BIRTH` date DEFAULT NULL, `AGE` varchar(3) DEFAULT NULL, `CODE_2Q` varchar(10) DEFAULT NULL, `result_2Q` varchar(40) DEFAULT NULL, `D_SERV_2Q` date DEFAULT NULL, `H_SERV_2Q` varchar(5) DEFAULT NULL, `CODE_9Q` varchar(10) DEFAULT NULL, `result_9Q` varchar(40) DEFAULT NULL, `D_SERV_9Q` date DEFAULT NULL, `H_SERV_9Q` varchar(5) DEFAULT NULL, `CODE_8Q` varchar(10) DEFAULT NULL, `result_8Q` varchar(40) DEFAULT NULL, `D_SERV_8Q` date DEFAULT NULL, `H_SERV_8Q` varchar(5) DEFAULT NULL, `CODE_SCREEN` varchar(10) DEFAULT NULL, `result_SCREEN` varchar(40) DEFAULT NULL, `D_SERV_SCREEN` date DEFAULT NULL, `H_SERV_SCREEN` varchar(5) DEFAULT NULL, PRIMARY KEY (HOSPCODE,PID), KEY (cid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 IGNORE AS ( SELECT HOSPCODE,PID,CID,BIRTH,NULL'AGE' ,NULL'CODE_2Q',NULL'result_2Q',NULL'D_SERV_2Q',NULL'H_SERV_2Q',NULL'CODE_9Q',NULL'result_9Q',NULL'D_SERV_9Q',NULL'H_SERV_9Q' ,NULL'CODE_8Q',NULL'result_8Q',NULL'D_SERV_8Q',NULL'H_SERV_8Q',NULL'CODE_SCREEN',NULL'result_SCREEN',NULL'D_SERV_SCREEN',NULL'H_SERV_SCREEN' FROM prison64_00_prisonerDB ); #สร้างtemp table specialpp & diagnosis_opd DROP TABLE IF EXISTS `_tmp_depress_screen`; CREATE TEMPORARY TABLE `_tmp_depress_screen` ( `hospcode` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '', `pid` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '', `seq` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `date_serv` date NULL DEFAULT '0000-00-00', `screencode` varchar(6) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '', `file` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', `cid` char(13) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, INDEX `cid`(`cid`) USING BTREE ) SELECT s.HOSPCODE,s.PID,s.SEQ,s.DATE_SERV,s.diagcode as 'screencode','diagnosis_opd' as 'file',p.CID FROM diagnosis_opd s INNER JOIN person p ON s.HOSPCODE=p.HOSPCODE AND s.PID=p.PID WHERE s.DATE_SERV BETWEEN @datestart AND @dateend ORDER BY DATE_SERV DESC #เพื่อไดบริการล่าสุด ; INSERT INTO `_tmp_depress_screen` SELECT s.HOSPCODE,s.PID,s.SEQ,s.DATE_SERV,s.PPSPECIAL as 'screencode','SPECIALPP' as 'file',p.CID FROM specialpp s INNER JOIN person p ON s.HOSPCODE=p.HOSPCODE AND s.PID=p.PID WHERE s.DATE_SERV BETWEEN @datestart AND @dateend ORDER BY DATE_SERV DESC #เพื่อไดบริการล่าสุด ; #หยอดผลงาน 8Q UPDATE prison64_04_depress_screen p,_tmp_depress_screen s SET p.AGE= AGE(s.DATE_SERV,p.BIRTH,'y') #มีdate_serv จึงคำนวณอายุ ,p.CODE_9Q=s.screencode,p.D_SERV_9Q=s.DATE_SERV,p.H_SERV_9Q=s.HOSPCODE WHERE s.screencode in('1B0270','1B0271','1B0272','1B0273','1B0279') AND p.CID=s.CID ; #หยอดผลงาน 9Q UPDATE prison64_04_depress_screen p,_tmp_depress_screen s SET p.AGE= AGE(s.DATE_SERV,p.BIRTH,'y') #มีdate_serv จึงคำนวณอายุ ,p.CODE_9Q=s.screencode,p.D_SERV_9Q=s.DATE_SERV,p.H_SERV_9Q=s.HOSPCODE WHERE s.screencode in('1B0260','1B0261','1B0262','1B0263','1B0269','1B0282','1B0283','1B0284','1B0285') AND p.CID=s.CID ; #หยอดผลงาน 2Q เรียงลำดับท้ายเพราะเทียบอายุจากวันบริการให้มาทับ UPDATE prison64_04_depress_screen p,_tmp_depress_screen s SET p.AGE= AGE(s.DATE_SERV,p.BIRTH,'y') #มีdate_serv จึงคำนวณอายุ ,p.CODE_2Q=s.screencode,p.D_SERV_2Q=s.DATE_SERV,p.H_SERV_2Q=s.HOSPCODE WHERE s.screencode in('1B0280','1B0281','1B130','1B131','1B140','1B141','1B150','1B151','1B160','1B161','1B170','1B171','1B180','1B181') AND p.CID=s.CID ; #หยอดผลงาน คัดกรองซึมเศร้าจากแฟ้ม diagnosis_opd ='Z133%' UPDATE prison64_04_depress_screen p,_tmp_depress_screen s SET p.AGE= AGE(s.DATE_SERV,p.BIRTH,'y') #มีdate_serv จึงคำนวณอายุ ,p.CODE_SCREEN=s.screencode,p.D_SERV_SCREEN=s.DATE_SERV,p.H_SERV_SCREEN=s.HOSPCODE WHERE s.screencode LIKE 'Z133%' AND p.CID=s.CID ; #แปลผล UPDATE prison64_04_depress_screen p SET p.result_2Q=IF(p.CODE_2Q in('1B0280','1B130','1B140','1B150','1B160','1B170','1B180'),'ผลปกติ' ,IF(p.CODE_2Q in('1B0281','1B131','1B141','1B151','1B161','1B171','1B181'),'ผลผิดปกติ',NULL)) #9Q ,p.result_9Q=IF(p.CODE_9Q in('1B0260','1B0282'),'ผลปกติ', IF(p.CODE_9Q in('1B0261','1B0283'),'ซึมเศร้าน้อย', IF(p.CODE_9Q in('1B0262','1B0284'),'ซึมเศร้าปานกลาง ', IF(p.CODE_9Q in('1B0263','1B0285'),'ซึมเศร้ารุนแรง ',NULL)))) #8Q ,p.result_8Q=IF(p.CODE_8Q in('1B0270'),'ไม่มีแนวโน้มการฆ่าตัวตาย ', IF(p.CODE_8Q in('1B0271'),'มีแนวโน้มที่จะฆ่าตัวตายระดับน้อย', IF(p.CODE_8Q in('1B0272'),'มีแนวโน้มที่จะฆ่าตัวตายระดับปานกลาง ', IF(p.CODE_8Q in('1B0273'),'มีแนวโน้มที่จะฆ่าตัวตายระดับรุนแรง ', IF(p.CODE_8Q in('1B0279'),'ไม่ระบุรายละเอียด ',NULL))))) #Z133 ,p.result_SCREEN=IF(p.CODE_SCREEN <>'','Z13.3',NULL) ; # INDIVIDUAL SELECT h.hospcode,h.hosname ,p.cid ,p.AGE as age ,GROUP_CONCAT('[',p.H_SERV_2Q,'] ',p.D_SERV_2Q,' : ',p.result_2Q) as 'date_serv_2Q' ,GROUP_CONCAT('[',p.H_SERV_9Q,'] ',p.D_SERV_9Q,' : ',p.result_9Q) as 'date_serv_9Q' ,GROUP_CONCAT('[',p.H_SERV_8Q,'] ',p.D_SERV_8Q,' : ',p.result_8Q) as 'date_serv_8Q' ,GROUP_CONCAT('[',p.H_SERV_SCREEN,'] ',p.D_SERV_SCREEN,' : ',p.result_SCREEN) as result FROM prison64_04_depress_screen p LEFT JOIN prison64_00_prisonerDB h ON p.CID=h.CID WHERE p.AGE BETWEEN 15 AND 120 GROUP BY p.CID ; #PROVIDER1_SQL# |
Script Cron | |
Force Script Cron | 0 |
Active | 1 |
Client Office Type | |
Create Date | 2020-05-14 11:36:19 |
Last Update | 2021-03-25 11:42:09 |
- Home
- About
- Privacy Policy
- Terms of Use
- Contact Us
© 2015. All Rights Reserved.