BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Knott ที่ พฤศจิกายน 25, 2009, 09:28:56 AM
-
ผมอยากได้ script ย้ายประชากรที่อยู่นอกเขตทั้งหมดใน patient ไป Person ครับ เพราะเวลาส่งออก 4 แฟ้ม ตรง field HID ว่าง หากเป็นประชากรนอกเขตที่ไม่ได้ย้ายไป person รบกวนท่านอาจารย์ทั้งหลายช่วยหน่อยครับ
-
มาช่วยดันกระทู้ครับ
ตอนนี้ยังไม่แน่ใจเรื่องบัญชี 1 เลยครับ
สรุปคือ บัญชี 1 นอกเขต ต้องย้าย patient นอกเขตทั้งหมดมาใส่หรือเปล่า
เพราะพบปัญหาเวลาส่งออก 4 แฟ้ม จะมี warning คือ
ไม่มี cid link ไปยัง person ไม่สามารถส่งออกได้ (เช็คเลขบัตรประชาชนหมดแล้วครับ)
รบกวนอาจารย์ทั้งหลายช่วยตอบด้วยนะครับ
-
ระบบ hosxp PCU มีอยู่ว่า เวลาส่งออกข้อมูล 18 รึ 4 แฟ้ม ข้อมูลบริการ แฟ้ม service เป็น HN แต่ต้องลิ้งค์ HN ของ pateint ไปยัง HN ของ person จึงจะส่งออกข้อมูลมาได้..หากไม่มีข้อมูลใน Person จะทำให้มีปัญหา หา PID ไม่พบครับ..
-
ฝากคนไปแจ้งที่ โคราชแล้วกัน
;D
-
ระบบ hosxp PCU มีอยู่ว่า เวลาส่งออกข้อมูล 18 รึ 4 แฟ้ม ข้อมูลบริการ แฟ้ม service เป็น HN แต่ต้องลิ้งค์ HN ของ pateint ไปยัง HN ของ person จึงจะส่งออกข้อมูลมาได้..หากไม่มีข้อมูลใน Person จะทำให้มีปัญหา หา PID ไม่พบครับ..
ใช่ครับแต่ปัญหาของผม คือ pcu อยู่นอก รพ. ทำให้ฐานประชากร person ใน รพ.ไม่มี ก็เลยต้องเอาของ pcu มาอัพเดทให้ รพ.ตลอด และ ประชากรนอกเขต ของ รพ.กับ pcu ก็ต่างกัน ส่วนห้องบัตรลงข้อมูลแต่ patient อย่างเดียว ไม่ได้ลง person ก็เลยอยากหา script เพื่อช่วยห้องบัตรโอนข้อมูลผู้ป่วย นอกเขต จาก patient > person ครับ พอจะมีใหมครับ รบกวนท่านอาจารย์ทั้งหลายชี้แนะด้วยครับ
-
อยากรู้ด้วยคนคับ เพราะตอนนี้เวลาส่ง 43 แฟ้ม ในส่วนของแฟ้ม address เป็นค่าว่าง ต้องนำข้อมูลที่อยู่จากแฟ้ม ทีอยู่ จาก ตาราง patient ที่อยู่นอกเขต มาใส่ในตารางที่ิอยู่นอกเขตของตาราง person หมู่บ้านที่ 0
เพราะข้อมูลมีเยอะมากจะกรอกก้อคงไม่ไหว รบกวนอาจารย์ช่วยตอบหน่อยนะ คับ
-
;D ผมทำนานแล้ว แต่ลืม หลักการ person อยู่หมู่ 0 หรือสถานะ ไม่มีชื่อแต่มาอาศัยอยู่ จะนำที่อยู่จาก patient ไปลงใน person_address ครับ 55
-
ขอคำแนะนำเรื่องย้ายอัตโนมัติ หน่อยค่ะ เจอปัญหาเหมือนกันค่ะ
-
ขอคำแนะนำเรื่องย้ายอัตโนมัติ หน่อยค่ะ เจอปัญหาเหมือนกันค่ะ
น่าจะเป็นแบบอัตโนมือ มากกว่าครับ เพราะตอนนี้ระบบยังไม่ได้ทำ เพราะดูจาก Logic ในการส่งข้อมูลทุกแฟ้ม ทุกเรคคอร์ดจะมีฟิวล์ pid หรือ cid เป็นตัวเชื่อมข้อมูลระหว่างแฟ้ม ถ้าขาดไปก็ถือว่า error ดังนั้น ตอนนี้ที่ผมใช้อยู่คือ SuperP2P ของน้องเจมส์ แห่งนครศรีธรรมราช ตามเมนูนี้ ครับ ลองดูครับ
-
;D ผมทำนานแล้ว แต่ลืม หลักการ person อยู่หมู่ 0 หรือสถานะ ไม่มีชื่อแต่มาอาศัยอยู่ จะนำที่อยู่จาก patient ไปลงใน person_address ครับ 55
ลองใช้ script นี้ ใส่ไปก่อนก็ได้ครับ (ทดสอบกับ ฐาน ทดสอบก่อนนะครับ ....ก่อนใช้งานจริง.)
ผมใช้วิธี เคลีย ข้อมูลเก่าออกก่อน แล้ว ใช้ script Dump เข้าไปหมดเลย
INSERT ignore INTO person_address (person_address_id,person_id,addrpart,moopart,road,chwpart,amppart,tmbpart)
select (select max(person_address_id)+1 from person_address),p.person_id,pt.addrpart,pt.moopart,pt.road,pt.chwpart,pt.amppart,pt.tmbpart
from patient pt ,person p
where pt.cid =p.cid
and p.village_id=1
and p.cid is not null
and (p.cid <> '1111111111111' and p.cid <> '2222222222222' and p.cid <> '3333333333333' and
p.cid <> '4444444444444' and p.cid <> '5555555555555' and p.cid <> '6666666666666' and
p.cid <> '7777777777777' and p.cid <> '8888888888888' and p.cid <> '9999999999999' and
p.cid <> '0000000000000')
-
;D เพิ่มเติมให้อีกนิดครับ จึงจะพอใช้ได้ แต่มันเข้าทีละเรคคอร์ด
INSERT ignore INTO person_address (person_address_id,person_id,addrpart,moopart,road,chwpart,amppart,tmbpart)
select (select max(person_address_id)+1 from person_address),p.person_id,pt.addrpart,pt.moopart,pt.road,pt.chwpart,pt.amppart,pt.tmbpart
from patient pt ,person p
where pt.cid =p.cid and p.person_id not in(SELECT person_id FROM person_address)
and p.village_id=1
and p.cid is not null
and (p.cid <> '1111111111111' and p.cid <> '2222222222222' and p.cid <> '3333333333333' and
p.cid <> '4444444444444' and p.cid <> '5555555555555' and p.cid <> '6666666666666' and
p.cid <> '7777777777777' and p.cid <> '8888888888888' and p.cid <> '9999999999999' and
p.cid <> '0000000000000')
-
;D เพิ่มเติมให้อีกนิดครับ จึงจะพอใช้ได้ แต่มันเข้าทีละเรคคอร์ด
INSERT ignore INTO person_address (person_address_id,person_id,addrpart,moopart,road,chwpart,amppart,tmbpart)
select (select max(person_address_id)+1 from person_address),p.person_id,pt.addrpart,pt.moopart,pt.road,pt.chwpart,pt.amppart,pt.tmbpart
from patient pt ,person p
where pt.cid =p.cid and p.person_id not in(SELECT person_id FROM person_address)
and p.village_id=1
and p.cid is not null
and (p.cid <> '1111111111111' and p.cid <> '2222222222222' and p.cid <> '3333333333333' and
p.cid <> '4444444444444' and p.cid <> '5555555555555' and p.cid <> '6666666666666' and
p.cid <> '7777777777777' and p.cid <> '8888888888888' and p.cid <> '9999999999999' and
p.cid <> '0000000000000')
ผมลืมบอกไปว่า ผมใช้วิธี เคลีย ข้อมูลเก่าออกก่อน แล้ว ใช้ script Dump เข้าไปหมดเลย
-
??? ผมเคลียร์ออกแล้ว ก็ยังเข้าทีละ เรคคอร์ด หรือผมทำไม่ถูกครับ