คีย์ ไข้หวัดใหญ่ FLU ใน JHCIS

 Script ตรวจสอบ fluในเด็ก 6เดือน-2ปี 
Script ตรวจสอบผู้ที่ยังไม่ได้รับวัคซีนไข้หวัดใหญ่ 
  ดาวโหลดแบบสอบถามและคำยินยอมในหน้าเดียว ..คลิก 
(ตัวอย่าง)

การบันทึกตามนี้จ้า
1. เข้า ADM-MDA เพื่อไปเพิ่ม Lot vaccine

และ เข้า รหัสยา-เวชภัณฑ์ 

และเลือก วัคซีน ตามรายละเอียด (1)(2)(3)(4)  สำคัญ คือ รหัสวัคซีน ต้องเป็น 815  และ อย่าลืม ติ๊กมีใช้ ด้วยนะจ๊ะ

2.เข้าบริการ login ด้วยรหัสผู้ให้บริการวัคซีน และเข้าหน้า ข้อมูล เบื้องต้น ให้ใส่รายละเอียด ตาม (1)-(5) 

3.ที่หน้า โภชนาการ&วัคซีน >>>เลือกวัคซีน ที่ออกรหัส 815 (ตามชื่อที่เคยลงไว้ในหน้า Lot vaccine)..ดังตัวอย่างคือ "FLu-ไข้หวัดใหญ่"

4.หน้าวินิจฉัยโรค จะมี Diagที่เด้งขึ้นมาเอง คือ "Z25.1 ต้องการก่อภูมิคุ้มกันโรคไข้หวัดใหญ่ " และ ตรงจ่ายยา ก็ลง ค่าบริการทางการแพทย์ (897) เป็นอันเสร็จจ้า

5.สำหรับรายชื่อที่เราคีย์FLU ไปแล้วมีใครบ้าง ก็ดูได้ตามนี้
scpt ผู้ที่รับบริการวัคซีน FLU (815)
..............................................................................................................................................................
SELECT vpi.pcucode,p.pid,vpi.visitno,ct.titlename,p.fname,p.lname,p.idcard AS 'ปชช.',
getAgeYearNum(p.birth,CURDATE()) AS 'อายุปี',vpi.dateepi,h.hno AS 'เลขที่',vl.villno AS 'หมู่ที่',vpi.vaccinecode,vpi.lotno,vpi.datevacineexpire,cdg.files18epi AS 'รหัสส่งออก43 แฟ้ม'
FROM visitepi vpi INNER JOIN cdrug cdg ON vpi.vaccinecode = cdg.drugcode
INNER JOIN person p ON vpi.pcucodeperson = p.pcucodeperson AND vpi.pid=p.pid
INNER JOIN ctitle ct ON p.prename = ct.titlecode
INNER JOIN house h ON p.pcucodeperson = h.pcucode AND p.hcode = h.hcode
INNER JOIN village vl ON h.pcucode = vl.pcucode AND vl.villcode = h.villcode
WHERE vpi.dateepi BETWEEN '2019-10-01'AND CURDATE()
AND cdg.files18epi = '815' ORDER BY vl.villcode,h.hno ;
.............................................................................................................................................................
จะได้ ดังนี้ "ให้ดูที่รหัสส่งออก 43 แฟ้ม" ว่า ออก 815 มาทั้งหมด กีคน  จ้า

หากยังไม่ครบตามเป้าหมายก็ไปคีย์เพิ่มได้ ในกลุ่ม DM ,HT และ OLD ที่เหลือนะจ๊ะ
@ วิธีหา คนที่ยังไม่ฉีด FLU  ก็ตามนี้จ้า
scpt หาผู้ป่วยเรื้อรังที่ยังไม่ฉีด FLU
...........................................................................................................................................................
DROP TABLE IF EXISTS flu20361;
CREATE TABLE flu20361 AS select vt.pid,vt.visitno,vt.visitdate,cdg.files18epi FROM visit vt
INNER JOIN visitepi vpi ON vt.visitno=vpi.visitno INNER JOIN cdrug cdg ON vpi.vaccinecode = cdg.drugcode
WHERE vpi.dateepi BETWEEN'2019-10-01'AND CURDATE() AND cdg.files18epi = '815';
SELECT p.pid,p.idcard,ct.titlename,p.prename,p.fname,p.lname,h.hno AS 'เลขที่',Right(h.villcode,2) AS 'หมู่ที่'
FROM person p INNER JOIN ctitle ct ON p.prename=ct.titlecode
INNER JOIN personchronic pc ON p.pid = pc.pid and p.pcucodeperson = pc.pcucodeperson
INNER JOIN house h ON p.pcucodeperson = h.pcucode AND p.hcode = h.hcode
WHERE p.pid NOT IN (select flu20361.pid FROM flu20361) GROUP BY p.pid;
...........................................................................................................................................................
 และ วัคซีนไข้หวัดใหญ่นี้ เขาจะนับที่รหัส 815 เป็นสำคัญนะจะ๊..
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Qeury เพิ่ม  ในปี 2565 (เฉพาะผู้สูงอายุ)  ตามนี้
.......................

SELECT v1.pcucode,p1.pid,v1.visitno,p1.titlename,p1.fname,p1.lname,p1.idcard,p1.age,v1.dateepi,p1.hno,p1.moo,v1.vaccinecode,v1.lotno,v1.datevacineexpire,v1.code FROM (SELECT p.pid,ct.titlename,p.fname,p.lname,p.idcard,getAgeYearNum(p.birth,CURDATE()) AS 'age',h.hno,RIGHT(vl.villcode,2) AS moo FROM person p INNER JOIN ctitle ct ON p.prename = ct.titlecode INNER JOIN house h ON p.pcucodeperson = h.pcucode AND p.hcode = h.hcode INNER JOIN village vl ON h.pcucode = vl.pcucode AND vl.villcode = h.villcode WHERE getAgeYearNum(p.birth,CURDATE() ) BETWEEN '60'AND '100' AND p.typelive IN ('1','3') AND p.dischargetype = '9') AS p1 LEFT JOIN (SELECT vpi.pcucode,vpi.pid,vpi.visitno,vpi.dateepi,vpi.vaccinecode,vpi.lotno,vpi.datevacineexpire,cdg.files18epi AS 'code' FROM visitepi vpi  INNER JOIN cdrug cdg ON vpi.vaccinecode = cdg.drugcode WHERE vpi.dateepi BETWEEN '2021-04-01'AND CURDATE() AND cdg.files18epi = '815') AS v1 ON p1.pid = v1.pid

WHERE v1.vaccinecode IS NULL # ยังไม่ฉีด

 #WHERE v1.vaccinecode IS NOT NULL # ฉีดแล้ว

 GROUP BY p1.pid ORDER BY p1.moo,p1.hno; 

.........................................

หมายเหตุ : หากต้องการเฉพาะที่ยังไม่ฉีด ให้เอาเครื่องหมาย #  ออกจาก หน้า WHERE v1.vaccinecode IS NULL # ยังไม่ฉีด (บรรทัดที่ 3 จากด้านล่าง)

......................

สำหรับการคีย์ย้อนหลัง ไม่แนะนำนะจ๊ะ ไม่ถูกต้องและไม่เป็นผลดีต่อหน่วยงานของเราเลย สำคัญคือ ประชาชนไม่ได้อะไรด้วยจ้า..อย่าทำ  (คีย์เดินหน้าอย่างเดียวจ้า)
""""""""""""""""""""""""
เพิ่มเติม
การตรวจสอบวัน datevacineexpire เพี้ยน จาก  ค.ศ. เป็น พ.ศ.
ใช้ scpt ตามนี้
.........................................................
select  pcucodeperson,pid,vaccinecode,dateepi,datevacineexpire,
date_add(datevacineexpire, INTERVAL 543 YEAR) AS'dateที่น่าจะเป็น',lotno
from visitepi
WHERE YEAR(datevacineexpire) <= '1500'
#AND vaccinecode = 'FLU'
ORDER BY dateepi;
........................................................
(ตัวอย่าง)

หากมีรายชื่อโผล่มา และต้องการอัพคืน เป็น ค.ศ. ที่ถูกต้องเหมือนเดิม ให้ใช้ Scpt ตามนี้จ้า
.......................................................
UPDATE visitepi
SET datevacineexpire = date_add(datevacineexpire,INTERVAL 543 YEAR)
WHERE YEAR(datevacineexpire)<= '1500' AND datevacineexpire IS NOT NULL;
......................................................
หมายเหตุ : scpt นี้จะอัพเดด เฉพาะปีใน field :datevacineexpire  ที่มีค่า <= '1500' (เดือน และวัน เหมือนเดิม)

 """""""""""""""""""""""""""""""""""
สาเหตุปัญหา :น่าจะมาจาก ฐาน MYSql เอง  ส่วนวิธีแก้แบบถาวร คงต้องหาวิธีแก้กันต่อไปจ้า


EYB.....BYE

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

https://www.blogs

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