หากลุ่มเป้าหมายบันทึก TBCM

มีกลุ่มเป้าหมาย 5 กลุ่ม คือ
1.ผู้สัมผัสโรคร่วมบ้าน
2.ผู้ติดเชื้อ HIV
3.ผู้ป่วยเบาหวาน
4.ผู้สูงอายุ 65 ปีขึ้นไป
5.บุคลากรสาธารณสุข
6.ประชากรข้ามชาติ

เริ่มกันเรย.0....
1.ผู้สัมผัสโรคร่วมบ้าน ใช้ script ตามนี้ >> หมายเหตุ :ต้องเคยบันทึกผู้ป่วยวัณโรค ไว้ใน JHCIS แฟ้ม ผู้ป่วยโรคเรื้อรัง (person chronic) ด้วยนะจ๊ะ ไม่งั้น รันออกมาว่างเปล่าจ้า
.....................................
SELECT h1.pid,h1.titlename,h1.fname,h1.lname,h1.idcard,h1.birth,h1.hno,
RIGHT(h1.villcode,2)AS'moo' FROM ( SELECT  p.pid,p.prename,c.titlename,p.fname,p.lname,p.idcard
,concat(day(p.birth),'/',MONTH(p.birth),'/',YEAR(p.birth)+543) AS 'birth'
,h3.hno,h3.villcode,h3.hcode FROM person p INNER JOIN ctitle c ON p.prename=c.titlecode
INNER JOIN house h3 ON p.hcode =h3.hcode)AS h1 RIGHT JOIN
(SELECT pc.pid,pc.chroniccode,pc.typedischart,cdi.diseasenamethai,h.hcode
FROM personchronic pc INNER JOIN person p ON pc.pid = p.pid
INNER JOIN house h ON p.hcode = h.hcode INNER JOIN cdisease cdi ON pc.chroniccode = cdi.diseasecode WHERE cdi.diseasenamethai LIKE '%วัณโรค%')as h2 ON h1.hcode = h2.hcode
LEFT JOIN (SELECT pc1.pid FROM personchronic pc1 INNER JOIN cdisease cdi1 ON pc1.chroniccode = cdi1.diseasecode WHERE cdi1.diseasenamethai LIKE '%วัณโรค%') AS fp01 ON h1.pid = fp01.pid 
#WHERE fp01.pid IS NOT NULL; # เฉพาะผู้ป่วย
WHERE fp01.pid IS NULL; #เฉพาะผู้สัมผัส
.....................................
2.ผู้ติดเชื้อ HIV  ใช้ script ตามนี้ >> หมายเหตุ : ต้องเคยบันทึกและ diag HIV ในการมารับบริการ ครั้งใดครั้งหนึ่ง จึงจะมีรายชื่อโผล่มา จ้า!!
......................................
SELECT  p1.pid,p1.titlename,p1.fname,p1.lname,p1.idcard,p1.birth,p1.hno,p1.moo,v1.diagcode,
v1.diseasenamethai FROM  (SELECT  p.pid,c.titlename,p.fname,p.lname,p.idcard,
concat(day(p.birth),'/',MONTH(p.birth),'/',YEAR(p.birth)+543) AS 'birth',
h.hno,RIGHT(h.villcode,2)AS'moo' FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode INNER JOIN house h ON p.hcode = h.hcode WHERE  p.pid not IN 
(SELECT pd.pid FROM persondeath pd) AND p.typelive IN ('1','3') AND right(h.villcode,2) <> '00') AS p1 JOIN (SELECT vt.pid,vt.visitno,vt.visitdate,vi.diagcode,ci.diseasenamethai,ci.diseasename
FROM visit vt  INNER JOIN visitdiag vi ON vt.visitno = vi.visitno INNER JOIN cdisease ci ON vi.diagcode =ci.diseasecode WHERE ci.diseasename LIKE '%HIV%' AND LEFT(ci.diseasecode,1) IN ('B','F','O') GROUP BY vt.pid)AS v1 ON p1.pid = v1.pid;
.....................................
3.ผู้ป่วยเบาหวาน ใช้ scpt ตามนี้ >> หมายเหตุ : ต้องเคยบันทึกในแฟ้ม ผุ้ป่วยโรคเรื้อรังเช่นกันจ้า
.....................................
SELECT p.pid,c.titlename,p.fname,p.lname,p.idcard,
concat(day(p.birth),'/',MONTH(p.birth),'/',YEAR(p.birth)+543) AS 'birth',h.hno,
RIGHT(h.villcode,2)AS'moo',GROUP_CONCAT(pc.chroniccode) AS 'chronic'
FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode INNER JOIN house h ON p.hcode = h.hcode INNER JOIN personchronic pc ON p.pid = pc.pid WHERE p.pid not IN(SELECT pd.pid FROM persondeath pd) AND p.typelive IN ('1','3') AND LEFT(pc.chroniccode,1)= 'e'
AND right(h.villcode,2) <> '00' AND pc.typedischart IN ('03','05') GROUP BY p.pid;
.....................................
4.ผู้สูงอายุ 65 ปีขึ้นไป ใช้ scpt ตามนี้ >> หมายเหตุ : ตัดผู้ป่วยเบาหวานออก เพื่อไม่ให้ซ้ำซ้อน
.....................................
SELECT p.pid,c.titlename,p.fname,p.lname,p.idcard,
concat(day(p.birth),'/',MONTH(p.birth),'/',YEAR(p.birth)+543) AS 'birth',h.hno,RIGHT(h.villcode,2)AS'moo' FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode INNER JOIN house h ON p.hcode = h.hcode LEFT JOIN personchronic pc ON p.pid = pc.pid WHERE p.pid not IN(SELECT pd.pid FROM persondeath pd) AND p.typelive IN ('1','3')
AND p.pid NOT IN (SELECT pc.pid FROM personchronic pc WHERE LEFT(pc.chroniccode,1)= 'e') AND right(h.villcode,2) <> '00' AND getAgeYearNum(p.birth,CURDATE()) >= '65'
GROUP BY p.pid;
......................................
5.บุคลากรสาธารณสุข  ใช้ scpt ตามนี้ >> หมายเหตุ :นับเอาน่าจะง่ายกว่า ...แต่รันดูสักนิดจะรู้ว่ายังมี User บางคนย้ายหรือลบไปนานแล้ว แต่ชื่อยังค้างอยู่เลย..หากมีก็จัดการด้วย ADM-MDA นะจ๊ะ
......................................
SELECT c.titlename,ur.fname,ur.lname,ur.idcard,
concat(day(ur.userbirth),'/',MONTH(ur.userbirth),'/',YEAR(ur.userbirth)+543) AS 'birth'
FROM user ur INNER JOIN ctitle c ON ur.prename = c.titlecode WHERE ur.usersex is not NULL
AND ur.datemovehere IS NULL GROUP BY ur.idcard;
......................................
6.ประชากรข้ามชาติ ใช้ scpt ตามนี้ >> หมายเหตุ : คนต่างชาติที่เคยมาใช้บริการในรอบ 3 ปี ที่ผ่านมา
..หากต้องการข้อมูลตามห้วงระยะเวลาที่ต้องการให้แก้ไขที่ บรรทัด AND vt.visitdate >= '2016-10-01'
........................................
SELECT   p.pid,c.titlename,p.fname,p.lname,p.idcard,
concat(day(p.birth),'/',MONTH(p.birth),'/',YEAR(p.birth)+543) AS 'birth',vt.visitno,
MAX(vt.visitdate)AS 'lastvisit' ,getAgeYearNum(p.birth,CURDATE())AS'age',
h.hno,RIGHT(h.villcode,2)AS'moo' FROM person p  INNER JOIN ctitle c ON p.prename = c.titlecode  INNER JOIN house h ON p.hcode = h.hcode INNER JOIN visit vt ON p.pid = vt.pid
WHERE p.pid not IN(SELECT pd.pid FROM persondeath pd) AND p.nation not IN ('99','099')
AND vt.visitdate >= '2016-10-01' AND vt.visitno is NOT NULL GROUP BY p.pid;
.......................................
7.นำรายชื่อที่ ได้ ไปเป็นเป้าฯคัดกรอง CXR ที่ รพ.แม่ข่ายและอย่าลืมนำไปบันทึกต่อ ใน TBCM ด้วยจ้า


.........@@ขอบคุณ covid-19 ที่ทำให้เราได้มีเวลาพักผ่อนอยู่บ้าน และสำนึกดีเพื่อชาติ@@.......


link
1.TBCM คลิก

ไม่มีความคิดเห็น:

https://www.blogs

 kllgnsgkj[jtlm'oahd bfldkb'pdojgaojp mfigjdo;sjgaij misjgo;sjagijwo;