5. 63-หาเด็กที่ยังไม่ได้รับยาน้ำเสริมธาตุเหล็ก
ID | 816 |
---|---|
Parent ID | 60 |
Table Name | 63_iron_syrup_epi |
Title | 5. 63-หาเด็กที่ยังไม่ได้รับยาน้ำเสริมธาตุเหล็ก |
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; #หาเด็กที่ยังไม่ได้รับยาน้ำเสริมธาตุเหล็ก # by IT chonburi SET @b_year :=(SELECT yearprocess FROM pk_byear LIMIT 1); SET @prov_c := (SELECT provincecode FROM sys_config LIMIT 1); SET @start_d :=concat(@b_year-1,'1001'); SET @end_d :=concat(@b_year,'0731'); SET @hct_d :=concat(@b_year-1,'0701'); # กลุ่ม 6 - 8 เดือน SELECT SQL_BIG_RESULT @b_year AS B_YEAR, @prov_c AS PROV_C, cchangwat.changwatname AS PROV_N, /* ชื่อจังหวัด */ chospital.distcode AS AMPUR_C , /* รหัสอำเภอ */ campur.ampurname AS AMPUR_N , /* ชื่ออำเภอ */ POP.vhid AS VHID, CONCAT(POP.HOSPCODE,chospital.hosname) AS HOSP_N , /*ชื่อหน่วยบริการ */ POP.CID,POP.PID,POP.`NAME`,POP.LNAME,POP.BIRTH as BIRTHDAY, POP.TYPEAREA ,CASE WHEN epi.SEQ is not null THEN TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) ELSE null end as AGE_M_EPI /*'อายุ(เดือน) ณวันที่รับบริการepi' */ ,CASE WHEN epi.SEQ is not null THEN concat(epi.HOSPCODE,'-',epi.SEQ) ELSE null end as SEQ_EPI ,CASE WHEN epi.SEQ is not null THEN epi.DATE_SERV ELSE null end as DATE_SERV_EPI ,epi.VACCINETYPE #,DR.DIDSTD as DRUG_N /* ยาน้ำเสริมธาตุเหล็ก' */ #,DR.date_serv as DATE_SERV_DRUG ,'6-8M' as GroupAge /* เป้าหมาย 4 ช่วง 6-8M,9-11M,12-17M,18-24M */ FROM t_person_db POP INNER JOIN chospital ON chospital.hoscode = POP.HOSPCODE INNER JOIN cchangwat ON cchangwat.changwatcode = @prov_c INNER JOIN campur ON campur.ampurcodefull = CONCAT(chospital.provcode,chospital.distcode) INNER JOIN epi on POP.HOSPCODE = epi.HOSPCODE and POP.PID = epi.PID AND epi.hospcode=epi.VACCINEPLACE AND epi.seq IS NOT NULL AND epi.VACCINETYPE NOT in('111','112','113','114','115','106') and epi.DATE_SERV BETWEEN @start_d and @end_d Left JOIN tmp_drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID AND SUBSTR(DR.DIDSTD,1,19) IN( '1004890000008103305' ,'1004890000009501305' ,'1004974140020403305' ,'1004974140008008305' ,'1004890000009507305' ,'2020301200871801305' ,'1004880000086342304' ,'1004880000012801308' ,'1004880000042031217' ,'1004880000012801304' ) AND DR.date_serv BETWEEN @start_d AND @end_d WHERE (TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) BETWEEN 6 AND 8) and (epi.DATE_SERV BETWEEN @start_d and @end_d) and POP.NATION = '099' AND POP.DISCHARGE = '9' and DR.DIDSTD IS NULL #กรณีอยากตัดเฉพาะเด็กที่ไม่ได้รับยาน้ำ group by POP.HOSPCODE,POP.CID #POP.PID #order by DR.date_serv,epi.DATE_SERV,(TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV)) asc; Union # กลุ่ม 9- 11 เดือน SELECT SQL_BIG_RESULT @b_year AS B_YEAR, @prov_c AS PROV_C, cchangwat.changwatname AS PROV_N, /* ชื่อจังหวัด */ chospital.distcode AS AMPUR_C , /* รหัสอำเภอ */ campur.ampurname AS AMPUR_N , /* ชื่ออำเภอ */ POP.vhid AS VHID, CONCAT(POP.HOSPCODE,chospital.hosname) AS HOSP_N , /*ชื่อหน่วยบริการ */ POP.CID,POP.PID,POP.`NAME`,POP.LNAME,POP.BIRTH as BIRTHDAY, POP.TYPEAREA ,CASE WHEN epi.SEQ is not null THEN TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) ELSE null end as AGE_M_EPI /*'อายุ(เดือน) ณวันที่รับบริการepi' */ ,CASE WHEN epi.SEQ is not null THEN concat(epi.HOSPCODE,'-',epi.SEQ) ELSE null end as SEQ_EPI ,CASE WHEN epi.SEQ is not null THEN epi.DATE_SERV ELSE null end as DATE_SERV_EPI ,epi.VACCINETYPE #,DR.DIDSTD as DRUG_N /* ยาน้ำเสริมธาตุเหล็ก' */ #,DR.date_serv as DATE_SERV_DRUG ,'9-11M' as GroupAge /* เป้าหมาย 4 ช่วง 6-8M,9-11M,12-17M,18-24M */ FROM t_person_db POP INNER JOIN chospital ON chospital.hoscode = POP.HOSPCODE INNER JOIN cchangwat ON cchangwat.changwatcode = @prov_c INNER JOIN campur ON campur.ampurcodefull = CONCAT(chospital.provcode,chospital.distcode) INNER JOIN epi on POP.HOSPCODE = epi.HOSPCODE and POP.PID = epi.PID AND epi.hospcode=epi.VACCINEPLACE AND epi.seq IS NOT NULL AND epi.VACCINETYPE NOT in('111','112','113','114','115','106') and epi.DATE_SERV BETWEEN @start_d and @end_d Left JOIN tmp_drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID AND SUBSTR(DR.DIDSTD,1,19) IN( '1004890000008103305' ,'1004890000009501305' ,'1004974140020403305' ,'1004974140008008305' ,'1004890000009507305' ,'2020301200871801305' ,'1004880000086342304' ,'1004880000012801308' ,'1004880000042031217' ,'1004880000012801304' ) AND DR.date_serv BETWEEN @start_d AND @end_d WHERE (TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) BETWEEN 9 AND 11) and (epi.DATE_SERV BETWEEN @start_d and @end_d) and POP.NATION = '099' AND POP.DISCHARGE = '9' and DR.DIDSTD IS NULL #กรณีอยากตัดเฉพาะเด็กที่ไม่ได้รับยาน้ำ group by POP.HOSPCODE,POP.CID #POP.PID #order by DR.date_serv,epi.DATE_SERV,(TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV)) asc; Union # กลุ่ม 12- 17 เดือน SELECT SQL_BIG_RESULT @b_year AS B_YEAR, @prov_c AS PROV_C, cchangwat.changwatname AS PROV_N, /* ชื่อจังหวัด */ chospital.distcode AS AMPUR_C , /* รหัสอำเภอ */ campur.ampurname AS AMPUR_N , /* ชื่ออำเภอ */ POP.vhid AS VHID, CONCAT(POP.HOSPCODE,chospital.hosname) AS HOSP_N , /*ชื่อหน่วยบริการ */ POP.CID,POP.PID,POP.`NAME`,POP.LNAME,POP.BIRTH as BIRTHDAY, POP.TYPEAREA ,CASE WHEN epi.SEQ is not null THEN TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) ELSE null end as AGE_M_EPI /*'อายุ(เดือน) ณวันที่รับบริการepi' */ ,CASE WHEN epi.SEQ is not null THEN concat(epi.HOSPCODE,'-',epi.SEQ) ELSE null end as SEQ_EPI ,CASE WHEN epi.SEQ is not null THEN epi.DATE_SERV ELSE null end as DATE_SERV_EPI ,epi.VACCINETYPE #,DR.DIDSTD as DRUG_N /* ยาน้ำเสริมธาตุเหล็ก' */ #,DR.date_serv as DATE_SERV_DRUG ,'12-17M' as GroupAge /* เป้าหมาย 4 ช่วง 6-8M,9-11M,12-17M,18-24M */ FROM t_person_db POP INNER JOIN chospital ON chospital.hoscode = POP.HOSPCODE INNER JOIN cchangwat ON cchangwat.changwatcode = @prov_c INNER JOIN campur ON campur.ampurcodefull = CONCAT(chospital.provcode,chospital.distcode) INNER JOIN epi on POP.HOSPCODE = epi.HOSPCODE and POP.PID = epi.PID AND epi.hospcode=epi.VACCINEPLACE AND epi.seq IS NOT NULL AND epi.VACCINETYPE NOT in('111','112','113','114','115','106') and epi.DATE_SERV BETWEEN @start_d and @end_d Left JOIN tmp_drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID AND SUBSTR(DR.DIDSTD,1,19) IN( '1004890000008103305' ,'1004890000009501305' ,'1004974140020403305' ,'1004974140008008305' ,'1004890000009507305' ,'2020301200871801305' ,'1004880000086342304' ,'1004880000012801308' ,'1004880000042031217' ,'1004880000012801304' ) AND DR.date_serv BETWEEN @start_d AND @end_d WHERE (TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) BETWEEN 12 AND 17) and (epi.DATE_SERV BETWEEN @start_d and @end_d) and POP.NATION = '099' AND POP.DISCHARGE = '9' and DR.DIDSTD IS NULL #กรณีอยากตัดเฉพาะเด็กที่ไม่ได้รับยาน้ำ group by POP.HOSPCODE,POP.CID #POP.PID #order by DR.date_serv,epi.DATE_SERV,(TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV)) asc; Union # กลุ่ม 18 - 24 เดือน SELECT SQL_BIG_RESULT @b_year AS B_YEAR, @prov_c AS PROV_C, cchangwat.changwatname AS PROV_N, /* ชื่อจังหวัด */ chospital.distcode AS AMPUR_C , /* รหัสอำเภอ */ campur.ampurname AS AMPUR_N , /* ชื่ออำเภอ */ POP.vhid AS VHID, CONCAT(POP.HOSPCODE,chospital.hosname) AS HOSP_N , /*ชื่อหน่วยบริการ */ POP.CID,POP.PID,POP.`NAME`,POP.LNAME,POP.BIRTH as BIRTHDAY, POP.TYPEAREA ,CASE WHEN epi.SEQ is not null THEN TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) ELSE null end as AGE_M_EPI /*'อายุ(เดือน) ณวันที่รับบริการepi' */ ,CASE WHEN epi.SEQ is not null THEN concat(epi.HOSPCODE,'-',epi.SEQ) ELSE null end as SEQ_EPI ,CASE WHEN epi.SEQ is not null THEN epi.DATE_SERV ELSE null end as DATE_SERV_EPI ,epi.VACCINETYPE #,DR.DIDSTD as DRUG_N /* ยาน้ำเสริมธาตุเหล็ก' */ #,DR.date_serv as DATE_SERV_DRUG ,'18-24M' as GroupAge /* เป้าหมาย 4 ช่วง 6-8M,9-11M,12-17M,18-24M */ FROM t_person_db POP INNER JOIN chospital ON chospital.hoscode = POP.HOSPCODE INNER JOIN cchangwat ON cchangwat.changwatcode = @prov_c INNER JOIN campur ON campur.ampurcodefull = CONCAT(chospital.provcode,chospital.distcode) INNER JOIN epi on POP.HOSPCODE = epi.HOSPCODE and POP.PID = epi.PID AND epi.hospcode=epi.VACCINEPLACE AND epi.seq IS NOT NULL AND epi.VACCINETYPE NOT in('111','112','113','114','115','106') and epi.DATE_SERV BETWEEN @start_d and @end_d Left JOIN tmp_drug_opd DR ON DR.HOSPCODE=POP.HOSPCODE AND DR.PID=POP.PID AND SUBSTR(DR.DIDSTD,1,19) IN( '1004890000008103305' ,'1004890000009501305' ,'1004974140020403305' ,'1004974140008008305' ,'1004890000009507305' ,'2020301200871801305' ,'1004880000086342304' ,'1004880000012801308' ,'1004880000042031217' ,'1004880000012801304' ) AND DR.date_serv BETWEEN @start_d AND @end_d WHERE (TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV) BETWEEN 18 AND 24) and (epi.DATE_SERV BETWEEN @start_d and @end_d) and POP.NATION = '099' AND POP.DISCHARGE = '9' and DR.DIDSTD IS NULL #กรณีอยากตัดเฉพาะเด็กที่ไม่ได้รับยาน้ำ group by POP.HOSPCODE,POP.CID #POP.PID ORDER BY AMPUR_C,HOSP_N,PID,SEQ_EPI ASC; #order by DR.date_serv,epi.DATE_SERV,(TIMESTAMPDIFF(MONTH,POP.BIRTH,epi.DATE_SERV)) asc; #PROVIDER1_SQL# |
Script Cron | |
Force Script Cron | 0 |
Active | 1 |
Client Office Type | |
Create Date | 2020-05-14 02:40:05 |
Last Update | 2020-06-29 03:55:30 |
- Home
- About
- Privacy Policy
- Terms of Use
- Contact Us
© 2015. All Rights Reserved.