Friday, April 12, 2019

การจ่ายยาเสริมธาตุเหล็กในกลุ่มอายุ 6 เดือน - 5 ปี


         มี รพ.สต. สอบถามมาว่า คีย์บันทึกยาเสริมธาตุเหล็ก ในกลุ่มอายุ 6 -72 เดือน แล้วยอดไม่ขึ้นใน HDC ก่อนอื่นมาดูเทมเพลตในรายงานตัวนี้กัน


         ตามเทมเพลตกลุ่มเป้าหมายคือเด็กอายุ 6 เดือน - 5 ปี (5 ปี 11 เดือน 29 วัน) หรือ <72 เดือน
ที่มารับบริการวัคซีน แล้วมีการจ่ายยาเสริมธาตุเหล็ก   ปัญหาที่ตรวจเจอคือมีการจ่ายยาเสริมธาตุเหล็ก
แต่ให้คนละวันกับวันรับบริการวัคซีน จึงทำให้ผลงานไม่ขึ้นใน HDC  ผมจึงทำรายงานมาให้ตรวจสอบ
การจ่ายยาเสริมธาตุเหล็ก กับ ผู้รับบริการวัคซีนในบัญชี 3 และบัญชี 4



ดาวน์โหลดรายงานคลิกที่นี่

SQL Query ที่ใช้

select o.vn,o.hn,concat(p.pname,p.fname,'  ',p.lname) fname,o.vstdate,timestampdiff(month,p.birthdate,o.vstdate) age_m,d.did,d.name dname ,if(b3.vn is not null,'OK',null) B3,if(b4.vn is not null,'OK',null) B4
from opitemrece o
inner join drugitems d on o.icode=d.icode
inner join person p on o.hn=p.patient_hn
left join (select s.vn from person_wbc_service s
inner join person_wbc_vaccine_detail s1 on s.person_wbc_service_id=s1.person_wbc_service_id) b3 on o.vn=b3.vn
left join (select e.vn from person_epi_vaccine e
inner join person_epi_vaccine_list l on e.person_epi_vaccine_id=l.person_epi_vaccine_id
where e.vn is not null) b4 on o.vn=b4.vn
where o.vstdate between '2017-10-01' and '2019-09-30'
and SUBSTR(d.DID,1,19) IN('1004890000008103305','1004890000009501305'
,'1004974140020403305','1004974140008008305','1004890000009507305'
,'2020301200871801305','1004880000086342304','1004880000012801308'
,'1004880000042031217','1004880000012801304')
and timestampdiff(month,p.birthdate,o.vstdate)>=6
and timestampdiff(month,p.birthdate,o.vstdate) <72
group by o.vn

อธิบายวิธีคิดรายงานตามนี้
       ผมจะหารายชื่อเด็กอายุ 6 เดือน ถึง ก่อน 72 เดือน (ไม่นับ 72 เดือน) ที่มีการจ่ายยาเสริมธาตุเหล็กตามรหัสยา 19 หลัก ที่นับผลงานใน HDC หน้า onestop service ก่อนว่ามีใครบ้าง แล้วมาเชื่อมกับข้อมูลเด็กที่มารับบริการในบัญชี 3 และ บัญชี 4 ด้วย VN เพราะ ถ้าในการให้บริการที่ตรงกัน จะมี VN ที่เป็นเลขเดียวกัน

No comments:

Post a Comment