แจ้งด่วน การบันทึกโปรแกรม 3 หมอ 
1.ช่องติ๊กกลุ่มติดสังคม กลุ่มติดบ้าน กลุ่มติดเตียง จะหมายถึง ผู้สูงอายุเท่านั้น นะจ๊ะ
2.ส่วนคนทั่วไป...ไม่ต้องติ๊กใน 3 กลุ่มนี้ นะค่ะ เพราะไม่มีผลต่อการพิมพ์โปรสการ์ด ..สำหรับผู้ที่หลงติ๊กไปแล้ว
เฉพาะช่อง กลุ่มติดสังคม และลงจำนวน ก็ไม่ต้องแก้ไขใดๆ ..จะแก้ไขเฉพาะที่
หลงไปติ๊กช่องกลุ่มติดบ้านและติดเตียงออก จ้า
link โปรแกรม คลิกบันทึก 3 หมอ
ตัวอย่างโปรแกรม
หน้าบันทึกข้อมูล
# ที่ต้องใช้งานจริงประมาณ 8 ส่วน ซึ่งจำเป็นต้องใช้ข้อมูล จากการสำรวจ และหรือจากฐานข้อมูลที่มีอยู่แล้วในหน่วยบริการ
คือ
1.กลุ่มคนทั่วไป แยก ติดสังคม ติดบ้าน ติดเตียง จากการกำหนดใน "ประชากร"
2.กลุ่มสูงอายุ แยก ติดสังคม ติดบ้าน ติดเตียง จากการกำหนดโดย specialpp หรือใน ปชก. (ก็ได้)
........................
2.กลุ่มสูงอายุ แยก ติดสังคม ติดบ้าน ติดเตียง จากการกำหนดโดย specialpp หรือใน ปชก. (ก็ได้)
........................
แต่เมื่อดูตามโปรแกรม จริงๆแล้วคือ การบันทึกที่
1.แยกผู้ติดบ้านติดเตียง ออกมา ก่อน (จะสูงอายุหรือไม่ ก็ให้แยกออกมาก่อน) จากนั้น
2.ที่เหลือคือ กลุ่มติดสังคม คือประชาชนทั่วไป ที่ไม่ป่วยนั่นเอง
ดังนั้นการดำเนินการ จึงใช้วิธีตามนี้
## เอาทั้ง 2กลุ่ม มากำหนดใน "ประชากร" (person)
โดยรันดูข้อมูลก่อน ตามนี้
................................................
โดยรันดูข้อมูลก่อน ตามนี้
................................................
SELECT * FROM (SELECT p.pid,p.idcard,c.titlename,p.fname,
p.lname,h.hno,RIGHT(h.villcode,2) AS 'moo',p.birth,getAgeYearNum(p.birth,CURDATE())AS 'age',
p.telephoneperson,h.hcode,CASE WHEN p.candobedhomesocial = '2' THEN 'ติดบ้าน'
WHEN p.candobedhomesocial = '3' THEN 'ติดเตียง' ELSE 'ติดสังคม' END AS 'level_bed'
FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode
INNER JOIN house h ON p.hcode = h.hcode WHERE p.candobedhomesocial is NOT NULL
AND p.dischargetype = '9' ORDER BY age)as p1
LEFT JOIN (SELECT h2.hcode,h2.pidvola AS 'vola_pid',p.fname AS v_name,p.lname AS v_sname,p.telephoneperson,p.mobile,right(h2.villcode,2) AS 'v_moo'
FROM house h2 INNER JOIN person p ON h2.pidvola = p.pid
WHERE Right(h2.villcode,2) <> '00') AS h1 ON p1.hcode = h1.hcode
LEFT JOIN
(SELECT p4.hcode,p4.pid,c.titlename,p4.fname,p4.lname,p4.familyposition FROM person p4
INNER JOIN ctitle c ON p4.prename = c.titlecode WHERE p4.familyposition = '1' AND p4.dischargetype = '9')
AS fp1 ON p1.hcode = fp1.hcode GROUP BY p1.pid ORDER BY p1.moo,p1.hno;
ORDER BY p1.moo;
.................................................
จะได้(Ex1.)หากข้อมูลไม่ขึ้น ไม่ครบ หรือไม่ตรง เช่น ติดบ้านติดเตียงไม่ขึ้น, อสม.ดูแลไม่ตรงตามบ้านที่ดูแล,ไม่มีเบอร์โทร จะทำอย่างไร?
................................................
แก้ไข 3 ส่วน คือ
1.สถานะ อสม.
ใช้ scpt ต่อไปนี้ รันดูก่อนว่ามีใครยังเป็น อสม.อยู่หรือออกแล้ว
................................
SELECT h.hcode,h.pidvola,p.fname,p.lname,h.hno,right(h.villcode,2) AS 'moo'
FROM house h
INNER JOIN person p ON h.pidvola = p.pid
WHERE h.pidvola IS NOT null
AND Right(h.villcode,2) <> '00'
#AND Right(h.villcode,2)= '02'
GROUP BY pidvola
ORDER BY moo;
.................................
หมาเหตุ : ควรรันดูเป็นหมู่ โดยเอาเครื่องหมาย # ออกและกำหนดหมู่ด้วยตัวเลข 2 หลัก ที่ท้ายบรรทัด
1.1 หากพบไม่ใช่ อสม. ควรไปกำหนดสถานะ อสม.ให้ตรง ใครลาออก ใครเข้าใหม่ ที่หัวข้อประชากร โดยเลือกจากรายชื่อที่รันได้
1.2.ไปกำหนด หลังคาเรือนที่ อสม.รับผิดชอบ ใน jhcis ที่โหมด "บ้าน และ....กำหนดแพทย์(หมอ)ประจำบ้าน...
1.3 เลือกหมู่และ เลือกแสดงบ้าน - ชุมชนในหมู่
2.กำหนดเตียงให้ผู้ป่วย และในผู้สูงอายุ
ให้กำหนดเฉพาะ ติดบ้านและติดเตียง ส่วนติดสังคม หรืออื่นๆ ไม่ต้องกำหนด ขั้นตอน ดังนี้
2.1ให้Down เวอร์ชั่นJHCIS เป็น ปี 2559 ( คลิก v.2.4.2-25-20161125 )
หมายเหตุ : >>หากคลิกแล้วไม่ดาวน์โหลด >>ให้คลิกขวาเลือกแท็บใหม่ จะดาวน์โหลดได้จ้า
2.2.extract ไปทับ J ตัวล่า ที่ Folder >> ่"C:\Program Files\JHCIS" และเลือก รัน ที่ v2.4.2-25-20161125
หมายเหตุ : หากไม่อยากทับตัวเก่า >> ให้ไปเปลี่ยนชื่อ j ตัวเก่าเป็น "JHCIS V.3" (จะไม่เสียเวลาดาวน์โหลดตัวล่ามาทับอีกรอบ >>เผื่ออยากใช้v.ล่า ..)
2.3.รัน JHCIS และเข้าโหลดประชากร/ข้อมูลพื้นฐาน >>ประชากร/ผู้ป่วย NCD /ผู้พิการ
2.4.เลือกรายชื่อ และกำหนดเตียง
3.จากนั้น ใช้ scpt รันตรวจสอบผู้สูงอายุหรือผู้ป่วย ติดบ้าน ติดเตียง ติดสังคม และ อสม.ที่ดูแลหลังคาเรือน พร้อมทั้ง หัวหน้าครอบครัว ตามนี้
.........................................
SELECT fp1.hcode,fp1.titlename AS 'นำหน้า',fp1.fname AS'ชื่อหน.ครอบครัว',fp1.lname AS'สกุลหน.',fp1.htel AS 'telหน.',p1.hno,p1.moo,
p1.age AS 'อายุผู้ป่วยorผู้สูงอายุ',p1.social AS 'ติดสังคม',p1.ban AS 'ติดบ้าน',p1.bad AS'ติดเตียง',p1.titlename AS 'คำนำ',p1.fname AS 'ชื่อผู้ป่วย or ผู้สูงอายุ',
p1.lname AS'สกุลผู้ป่วย or ผู้สูงอายุ',h1.titlename AS'นาม',h1.v_name AS'ชื่อ อสม.',h1.v_sname AS'สกุล อสม.',h1.Vtel AS 'telอสม.'
FROM (SELECT p.pid,p.idcard,c.titlename,p.fname,
p.lname,h.hno,RIGHT(h.villcode,2) AS 'moo',p.birth,getAgeYearNum(p.birth,CURDATE())AS 'age',h.hcode,
CASE WHEN p.candobedhomesocial = '2' THEN '/' ELSE '' END AS 'ban',
CASE WHEN p.candobedhomesocial = '3' THEN '/' ELSE '' END AS 'bad',
CASE WHEN p.candobedhomesocial NOT IN ('2','3') THEN '/' ELSE '' END AS 'social'
FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode
INNER JOIN house h ON p.hcode = h.hcode WHERE p.candobedhomesocial is NOT NULL
AND p.dischargetype = '9' ORDER BY age)as p1
LEFT JOIN (SELECT h2.hcode,h2.pidvola AS 'vola_pid',c2.titlename,p.fname AS v_name,p.lname AS v_sname,CASE WHEN p.telephoneperson IS NOT NULL
THEN p.telephoneperson WHEN p.mobile IS NOT NULL THEN p.mobile ELSE p.telephoneperson END AS 'Vtel',right(h2.villcode,2) AS 'v_moo'
FROM house h2 INNER JOIN person p ON h2.pidvola = p.pid INNER JOIN ctitle c2 ON p.prename = c2.titlecode
WHERE Right(h2.villcode,2) <> '00') AS h1 ON p1.hcode = h1.hcode
LEFT JOIN
(SELECT p4.hcode,p4.pid,c.titlename,p4.fname,p4.lname,p4.familyposition,CASE WHEN p4.telephoneperson IS NOT NULL
THEN p4.telephoneperson WHEN p4.mobile IS NOT NULL THEN p4.mobile ELSE p4.telephoneperson END AS 'htel' FROM person p4
INNER JOIN ctitle c ON p4.prename = c.titlecode WHERE p4.familyposition = '1' AND p4.dischargetype = '9')
AS fp1 ON p1.hcode = fp1.hcode GROUP BY p1.pid ORDER BY p1.moo,p1.hno;
..........................................
หมายเหตุ : ข้อมูลจะแบ่งเป็น 3 ส่วน คือ ส่วนหัวหน้าครอบครัว + เบอร์โทร ,ผู้ป่วย or ผู้สูงอายุ ,อสม. + เบอร์โทร
3.1 ทั้ง 3 ส่วน>> หากรันแล้ว รายชื่อ อสม.ไม่ขึ้นมา แสดงว่า หลังคาเรือนนั้น ยังไม่มี อสม.รับผิดชอบ >> ไปกำหนด อสม. ตามหัวข้อ 1.4 (ด้านบน)
3.2 หากข้อมูลส่วนหัวหน้าครอบครัวไม่ขึ้นมา ก็แสดงว่า
1).หลังคาเรือนนั้น ไม่ได้กำหนดหัวหน้าครอบครัวไว้ หรือ 2).หัวหน้าครอบครัวนั้นเสียชีวิต
>> สามารถรันตรวจสอบหัวหน้าครอบครัว ด้วย scpt ตามนี้
.........................................
SELECT h2.hcode,h2.hno,RIGHT(h2.villcode,2)AS'moo',CASE WHEN (h1.hcode IS NULL OR h1.hcode = '')
THEN 'no_หัวหน้า' ELSE '' END AS 'สถานะ '
FROM (SELECT h3.hcode,h3.hno,villcode FROM house h3 WHERE RIGHT(h3.villcode,2)<>'00') AS h2
LEFT JOIN (SELECT h.hcode FROM house h LEFT JOIN person p ON h.hcode = p.hcode
WHERE familyposition = '1' GROUP BY h.hcode ORDER BY h.hcode) AS h1 ON h2.hcode = h1.hcode
WHERE h1.hcode IS null;
.........................................
รายชื่อที่ได้ให้นำไปกำหนดหัวหน้าครอบครัว ที่ เมนู ประชากร โดยกำหนด หมู่และหลังคาเรือน แล้วเลือกคนที่จะเป็นหัวหน้าครอบครัว
4.หลังจากได้ข้อมูลในส่วน ที่ ผู้ป่วย or ผู้สูงอายุ ที่ติดบ้าน ติดเตียง แล้ว ที่เหลือ คือ ส่วนที่ติดสังคมทั้งหมด สามารถ รันตรวจสอบได้ ตาม scpt นี้
...........................................
SELECT fp1.hcode,fp1.titlename AS 'นำหน้า',fp1.fname AS'ชื่อหน.ครอบครัว',fp1.lname AS'สกุลหน.',fp1.htel AS 'telหน.',p1.hno,p1.moo,
p1.social AS 'ติดสังคม',p1.ban AS 'ติดบ้าน',p1.bad AS'ติดเตียง',COUNT(DISTINCT p1.pid) AS 'จำนวนคนครอบครัว',h1.titlename AS'นาม',h1.v_name AS'ชื่อ อสม.',
h1.v_sname AS'สกุล อสม.',h1.Vtel AS 'telอสม.' FROM (SELECT p.pid,p.idcard,c.titlename,p.fname,
p.lname,h.hno,RIGHT(h.villcode,2) AS 'moo',p.birth,getAgeYearNum(p.birth,CURDATE())AS 'age',
h.hcode,CASE WHEN p.candobedhomesocial = '2' THEN '/' ELSE '' END AS 'ban',
CASE WHEN p.candobedhomesocial = '3' THEN '/' ELSE '' END AS 'bad',
CASE WHEN (p.candobedhomesocial is NULL OR p.candobedhomesocial ='1') THEN '/' ELSE '' END AS 'social',p.candobedhomesocial
FROM person p INNER JOIN ctitle c ON p.prename = c.titlecode
INNER JOIN house h ON p.hcode = h.hcode WHERE (p.candobedhomesocial = '1' OR p.candobedhomesocial IS NULL OR p.candobedhomesocial = '')
AND p.dischargetype = '9' ORDER BY age)as p1 LEFT JOIN (SELECT h2.hcode,h2.pidvola AS 'vola_pid',c2.titlename,p.fname AS v_name,
p.lname AS v_sname,CASE WHEN p.telephoneperson IS NOT NULL
THEN p.telephoneperson WHEN p.mobile IS NOT NULL THEN p.mobile ELSE p.telephoneperson END AS 'Vtel',right(h2.villcode,2) AS 'v_moo'
FROM house h2 INNER JOIN person p ON h2.pidvola = p.pid INNER JOIN ctitle c2 ON p.prename = c2.titlecode
WHERE Right(h2.villcode,2) <> '00') AS h1 ON p1.hcode = h1.hcode LEFT JOIN (SELECT p4.hcode,p4.pid,c.titlename,p4.fname,p4.lname,
p4.familyposition,CASE WHEN p4.telephoneperson IS NOT NULL THEN p4.telephoneperson WHEN p4.mobile IS NOT NULL THEN p4.mobile
ELSE p4.telephoneperson END AS 'htel' FROM person p4 INNER JOIN ctitle c ON p4.prename = c.titlecode
WHERE p4.familyposition = '1' AND p4.dischargetype = '9') AS fp1 ON p1.hcode = fp1.hcode
WHERE p1.moo <> '00' GROUP BY fp1.hcode ORDER BY p1.moo,p1.hno;
........................................
ex
หมายเหตุ : หากจำนวนหลังคาเรือน น้อยกว่าความเป็นจริง แสดงว่าท่าน กำหนด "หัวหน้าครอบครัวไม่ครบทุกหลังคาเรือน" >> ให้ไปดำเนินการในหัวข้อ 3.2
@@@ เพิ่มเติม..เพื่อความปลอดภัย..ถือปฏิบัติโดยเคร่งครัด@@@
การดำเนินการใดๆ จากข้อ 1-3 ควรมีการ Back up jhcis database ไว้ด้วยทุกครั้ง
หรือย่างน้อย Save ตาราง person และตาราง house โดยการ Dump sql file เก็บไว้ในที่ที่ปลอดภัย
💗ปัญหาที่มากกว่านั้นคือ โปรแกรมที่ให้บันทึก ยังไม่สามารถ Import file excel เข้าไปได้โดย ตรง ก็คงต้องเหนื่อยหน่อยสำหรับ ผู้ที่มีมากกว่า
พันหลังคาเรือนขึ้นไป แต่อย่างน้อยก็จะเป็นการอัพข้อมูลของ อสม.ผู้ป่วยและที่สำคัญ เอา scpt ไปให้พี่น้อง อสม. ช่วยตามให้ได้จ้า
" ....ร่วมด้วยช่วยกัน...เพื่อของขวัญปีใหม่ 2564 for thailand2021...."
💗💗💖💖👯👯👯👯💖💖💗💗
ไม่มีความคิดเห็น:
แสดงความคิดเห็น