อัพเดดสิทธิ Option JHCIS(2) + การจัดการ DBPOP (ทุกสิทธิ์) ที่ยังไม่ลงทะเบียน

JHCIS V 04/07/2559
อีก 1 option  ในการจัดการ person ของ jhcis
 เริ่มเลย
1.Login ด้วย ADM - MDA
จากนั้น เข้าเมนู "ข้อมูลพื้นฐาน" 
 และเลือกเมนู "ตรวจสอบรายชื่อสิทธิ"
2.จากนั้นจะได้ กรอบ เมนูตรวจสอบperson >> เลือกทุกหมู่ฯในเขต (1)...ดังนี้
:และ หากมีรายชื่อโผล่มา(2) แสดงว่า person ของท่านยังไม่เรียบร้อยจ๊ะ
หมายเหตุ : ให้ดูที่ช่อง(3) "เป็นสำคัญ" คือ รพสต.จะมีตัวเลข แค่ 4 หลัก เช่น 04506 แต่หายไป คือ เลขตัวแรก คือ เลข ศูนย์ "  ตรงนี้เกิดจากการอัพเดดJHCIS(1) วิธีแก้ไข 2 วิธีดังนี้

1ให้คลิ๊ก ที่ (4) "ปชก."
>>จากนั้นให้ไปอัพเดดสิทธิ จาก สปสช. (ผ่านเมนู) ตามรูปด้านล่าง เรียง (1)(2)(3)และ (4) ตามลำดับ
3.จากนั้น เข้าไปปรับtype ให้เป็นตามความจริง ว่า เป็นคนอยูกับเราหรืออยู่ที่อื่น ตามสิทธิและที่อยู่จริงครับ
หากคนไม่อยู่ก็ปรับ ที่อยู่ไปtype2 (ตามรูปด้านล่าง)
ส่วนคนใดตรวจสอบแล้วว่าเป็น "คนนอกเขต"ก็ต้องการปรับเป็น type4 โดยไปย้ายออกที่เมนูประชากร(อีกรอบ)>>>>(ตามนี้)
และ เลือกหมู่ บ้านเลขที่ ที่จะย้ายเข้า หรือย้ายออกหากเป็น type4  ก็หมู่ 0 และบ้านเลขที่ 0 ละครับ
 @@เป็นอันเสร็จ 
....................................................
วิธีที่2 คือ อัพเดดเฉพาะ hossub ให้เป็น เลข 5 หลักเหมือนเดิม 
ก่อนอื่น ใช้ scpt รันตรวจสอบ
หมายเหตุ :ที่ตำแหน่ง SET @hmain = '11013'; และ SET @hsub = '04506';>>ให้เปลี่ยนเป็นรหัส "แม่ค่ายและรหัสรพ.สต.ท่านให้ใช้ 4 หลัก (ตัดตัวแรกออก) นะจ๊ะ
................................................................................
SET @hmain = '11013'; #รหัส รพ.แม่ค่าย
SET @hsub = '4506'; #รหัส รพ.สต. 4 หลัก

SELECT
p.pcucodeperson,
p.pid,
p.prename,
p.fname,
p.lname,
p.birth,
p.sex,
p.idcard,
p.typelive,
p.hosmain,
p.hossub
FROM person p
WHERE p.hosmain = @hmain
AND p.hossub = @hsub
AND typelive IN ('1','3')
ORDER BY p.pid;
.................................................................................
จะได้ ประมาณนี้ 
.................................................................................
จากนั้นให้อัพเป็น 5 หลัก ตามนี้จ้า
scpt อัพเดด รหัส สถานบริการจาก 4หลัก เป็น 5 หลัก
หมายเหตุ: ที่ตำแหน่ง SET p.hossub = '04506' ให้ใส่ รหัส รพ.สต.5 หลักของท่าน
และที่ตำแหน่ง  p.hosmain = '11013' AND p.hossub = '4506' ให้ใส่รหัส รพ.แม่ค่าย และรหัสรพ.สต. 4 หลัก(ตัดตัวหน้า)
................................................................................
UPDATE person p
SET p.hossub = '04506'
WHERE p.hosmain = '11013' AND p.hossub = '4506'

AND typelive IN ('1','3');
................................................................................
จะได้


และเมื่อกลับไปดู ในjhcis ก็จะเหลือเฉพาะ ที่เราต้องอัพเอง ตามนี้จ้า


สรุปคือ  ในเมนูนี้จะตรงข้าม กับ DBPOP เนื่องจาก
1.DBPOP คือ คนที่ขึ้นทะเบียนกับสถานบริการของเรา...แต่ที่อยู่(type) กลับไม่อยู่กับเรา (ไม่ใช่ type1,3 นั่นเอง)
2.ส่วนเมนู Jhcisนี้..จะเป็นคนที่ขึ้น type 1,3 (ที่อยู่ในเครื่องเราอยู่แล้ว....แต่สิทธิ กลับไม่อยู่กับเรา
##เอาเป็นว่า...นอกจากท่านจะแก้ไขใน DBPOP ให้ตรงแล้ว เมนูนี้ก็ต้องมาแก้ด้วยนะครับ..จึงจะทำให้person ของท่าน 100% จริงๆ##
...................................................................
ส่วนการแก้ไข ใน DBPOP ก็ยังเหมือนเดิมนะครับ ซึ่งหลักใหญ่ๆในการแก้ไข คือ
1.นำรายชื่อ ในDBPOP ทั้งหมดมา "ขึ้นทะเบียน(เพิ่มชื่อ) ในJHCIS" (จะรู้หรือไม่รู้จักก็ตาม)
2.ตรวจสอบที่อยู่ว่า..อยู่กับเราหรือย้ายไปทำงานที่อื่นแล้ว
3.ปรับ type ให้ตรงตามความเป็นจริง
  .....วิธีปรับ type ปชก. หากอยู่ในพื้นที่ เป็นtype 1,3 แต่ไม่อยู่ฯ ให้เป็น type 2 
4.สุดท้าย อย่าลืมส่งออก person ทั้งหมด เข้า HDC อีกรอบนะจ๊ะ  (ตามนี้)
 .........................
ส่วนท่านใดที่ ถนัดในการใช้ scpt sql ตามด้านล่างนะครับ
..................................
ร้อยละการบันทึกข้อมูลในแฟ้ม Person เทียบกับ DBPOP (ทุกสิทธิ์)
หลักสำคัญ คือ ให้นำรายชื่อที่มีดังกล่าว print out แล้วส่งให้ หมู่บ้าน/ชุมชน สำรวจ ว่าบุคคลดังกล่าว ยังอยู่ในพื้นที่ที่เรารับผิดชอบหรือไม่

ปัญหา คือ
1.รายชื่อ PERSON ดังกล่าว เป็นรายชื่อ ที่มีอยู่ในฐาน JHCIS หรือยังและมีจำนวนเท่าใด
(จากการตรวจสอบเบื้องต้น พบว่า มีรายชื่ออยู่แล้ว แต่ไม่ใช่type 1,3 แค่นั้นเอง)
2.แล้วส่วนที่ยังไม่ลงทะเบียนจริงๆ เหลือกี่คน จะได้ตามมาลงทะเบียนให้ครบ ตามกำหนด Goal sitting ของจังหวัด ต่อไป

การจัดการ
1.นำรายชื่อ person จาก " DBPOP (ทุกสิทธิ์)" ออกมาเก็บเป็นExcel แล้วนำกลับเข้าไปที่ฐาน JHCIS
2.ใช้ Scpt รันตรวจสอบข้อมูล ...

 ขั้นตอน ดังนี้
1.เข้า QCdata   copy ข้อมูล "ร้อยละการบันทึกข้อมูลในแฟ้ม Person เทียบกับ DBPOP (ทุกสิทธิ์)"

และ

และ เมื่อเข้ามาถึงระดับตาราง ให้คลุมดำทั้งหมด (กดShift+ลูกศรลง) จากนั้น กด Ctrl+C เพื่อ copy

และเปิด Excel (หน้าว่างๆ) จากนั้น กด Ctrl+V  เพื่อ pate  จากนั้น ให้เปลี่ยนชื่อSheet ที่ด้านล่าง ให้เป็น "111dbpop" หรือชื่อตามต้องการแต่ควรมีตัวเลขด้านหน้า..เพื่อป้องกันความซ้ำซ้อนกับ Table ใน JHCIS


และ Save เป็น "สมุดงาน1" เก็บไว้ที่ Desktop ก็น่าจะเสร็จสิ้นการเตรียมฐานข้อมูล "ก่อนนำเข้า JHCIS"

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

ข้อปฏิบัติ ก่อนดำเนินการใดๆ ในฐานข้อมูล JHCIS
1.ให้ดำเนินการในเครื่อง note book นะครับ และที่สำคัญ ให้ Back  up ข้อมูล ในserver ไว้ก่อนทุกครั้ง 
2.ให้ตัดระบบInternet เครื่อง note booke 
3.การดำเนินการใดๆควรได้รับอนุญาตจากผู้มีอำนาจ ในหน่วยงานของท่านก่อนเสมอ
4.หากเกิดความผิดพลาดใดๆ ท่านต้องเป็นผู้รับผิดชอบต่อเหตุการณ์ที่กระทำลงไป

เริ่มเลย
1.เปิดฐานข้อมูล JHCIS ขึ้นมา (ในNote book) และนำเข้า (Import Wizard)

 และ เลือกจาก " EXcelfiles(2007) or later(*.xlsx)"

และ คลิก ตามหมายเลข (1)-(5) ตามลำดับ
และ จากนั้น ให้ Next >>>Next >>> Start>>> Close  เป็นอันจบ  และเมื่อไปดูใน ฐานข้อมูลส่วน Table จะมีตารางเพิ่มมาคือ ตาราง "111dbpop"

2.scpt รันตรวจสอบข้อมูล จำนวน  3 ชุด ประกอบด้วย
 ....................................................................................................................................

2.1 scptชุดที่ 1

 ตรวจสอบ คนที่ยังไม่ขึ้นทะเบียนสิทธิ ใน JHCIS หมายถึง คนที่ยังไม่มีรายชื่อในแฟ้ม person ของเราเลย  ..ก็เอาตัวนี้ไปรันดู
...................................................................................................................................
SELECT *
FROM 111dbpop
WHERE 111dbpop.pid not IN (SELECT person.idcard FROM person);
...................................................................................................................................
จะ ได้ ดังรูปด้านล่างนี้.. ซึ่งรายชื่อที่ได้นี้จะจัดการได้วิธีเดียวคือ print ออกมาแล้วส่งไปสำรวจในชุมชนว่ามีตัวตนจริงหรือไม่ จากนั้น นำกลับมาลงทะเบียน ในJHCIS และกำหนด type ตามความเป็นจริง
..................................................................................................................................

..................................................................................................................................
2.2 scpt ชุดที่ 2 
ตรวจสอบ personที่เคยมารับบริการในรอบปีที่ผ่านมา (เอาไว้พิจารณาว่าน่าจะเป็น type1) เพราะพึ่งเคยมารับบริการ..
....................................................................................................................................
SELECT
111dbpop.pid,
111dbpop.title,
111dbpop.fname,
111dbpop.lname,
111dbpop.birthdate,
111dbpop.sex,
111dbpop.ampur,
111dbpop.tambon,
111dbpop.village AS 'หมู่จากDBPOP',
111dbpop.old AS 'อายุ',
person.typelive,
MAX(visit.visitdate) as รับบริการล่าสุด,
substr(house.villcode,7,2) AS 'หมู่ในjhcis',
house.hno AS 'บ้านเลขที่'
FROM 111dbpop
INNER JOIN person ON 111dbpop.pid = person.idcard
inner JOIN visit ON person.pid = visit.pid AND person.pcucodeperson = visit.pcucodeperson
INNER JOIN house ON person.hcode = house.hcode
WHERE visit.visitdate >= '2015-10-01'
GROUP BY person.pid
ORDER BY MAX(visit.visitdate) DESC;
....................................................................................................................................
จะได้ดังรูป....และจุดที่ต้องสังเกตคือ หมายเลข(1) และ (2) ว่า...เป็นคนที่มีบ้านเลขที่อยู่ในเขต พท.เรา และ ต้องไม่ใช่หมู่ '0' หรือ '00'


เมื่อพิจารณา ตามความเป็นจริง.. ก็น่าจะอนุมาณ ได้ว่า ในรอบ 1 ปี ที่ผ่านมา คนดังกล่าวน่าจะยังอยู่ในพื้นที่ และเป็นคนที่เราน่าจะรู้จักดี.(ถึงมีรายงานการมารับริการ)..เราก็น่าจะให้คนดังกล่าวเป็น type1 ที่เหลือค่อยปรับเป็นtype2  ครับ
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
สำหรับ scpt อัพเดด " คนที่เคยรับบริการใน 1 ปีที่ผ่านมาเป็น type 1 " ก็ตามนี้
.......................................
UPDATE person
INNER JOIN 111dbpop ON person.idcard = 111dbpop.pid
INNER JOIN house ON person.hcode = house.hcode
INNER JOIN visit ON person.pid = visit.pid AND person.pcucodeperson = visit.pcucodeperson
SET typelive = '1'
WHERE typelive = '4'
AND 111dbpop.pid = person.idcard
AND substr(house.villcode,7,2)<> '00'
AND house.hno <> '0'
AND visit.visitdate >= '2015-10-01';
........................................
หมายเหตุ: scpt นี้ จะอัพเดด เฉพาะ type 4 เป็น type1 และ จะต้องเป็นคนที่มีบ้านเลขที่หมู่ที่ในเขต รวมถึงเคยมารับบริการในรอบปีที่ผ่านมา
................................................................................................................................
2.3 scptชุดที่ 3
ตรวจสอบ ข้อมูล DBPOP ที่ซ้ำซ้อนกับ JHCIS อยู่แล้ว แต่ ไม่ใช่ type1,3..ตามนี้
................................................................................................................................
 SELECT
111dbpop.pid,
111dbpop.title,
111dbpop.fname,
111dbpop.lname,
111dbpop.birthdate,
111dbpop.sex,
111dbpop.ampur,
111dbpop.tambon,
111dbpop.village AS 'หมู่จากDBPOP',
111dbpop.old AS 'อายุ',
person.typelive,
substr(house.villcode,7,2) AS 'หมู่ในjhcis',
house.hno AS 'บ้านเลขที่'
FROM 111dbpop
INNER JOIN person ON 111dbpop.pid = person.idcard
INNER JOIN house ON person.hcode = house.hcode
GROUP BY person.pid
ORDER BY person.pid DESC;
...............................................................................................................................
และจะได้ ตามนี้

...............................................................................................................................
ให้ตรวจสอบ ตรงหมายเลข (1) ว่าเป็นtype2,4 หรือไม่ แต่ถ้าเป็น type1 ตรงหมายเลข (2) และ (3)ก็น่าจะมี บ้านเลที่ หมู่ที่ (ที่ไม่ใช่ '0'หรือ '00' )
การจัดการ....สำหรับบุคลที่เหลือเหล่านี้ ก็ไม่ต้องคิดอะไรมากครับเพราะเราสำรวจแล้วแต่ไม่พบหรือ หาจนเหนื่อยแล้วก็ไม่มีตัวตน สืบค้นไม่ได้ ก็คงต้องยอมรับสภาพ ให้ปรับเป็น type 2 นั่นเอง
.........................................................
สำหรับ scpt อัพเดด ส่วนที่เหลือ ให้เป็น type2 ตามนี้
..................................................................................................................................
UPDATE person INNER JOIN 111dbpop ON person.idcard = 111dbpop.pid
SET person.typelive = 2
WHERE person.typelive = 4;
..................................................................................................................................
หมายเหตุ scpt นี้ 1.จะอัพเฉพาะ type4 ให้เป็น type2
2.ส่วนที่เป็นtype อื่นๆ ไม่อัพให้นะครับ เพราะถือว่าถูกต้องอยู่แล้ว ...ตามนี้

 >>>>>หลังจากนั้นให้ใช้ Scpt ชุดที่ 3 มารันดูอีกรอบ จะได้ ตามนี้<<<<

ให้สังเกตที่ช่อง หมายเลข(1) คือ type จะเป็น 2 ทั้งหมด

Note :   ในการดำเนินการ ใดๆ แนะนำให้จัดการตามลำดับที่เขียนมานะครับ จะได้ไม่มีปัญหาภายหลังจ้า

.....................................................finish.................................................................





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

https://www.blogs

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