BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: narongchai ที่ มิถุนายน 27, 2008, 12:27:54 PM
-
ต้องขอรบบกวนอาจารย์ทั้งหลาย ผมลองใช้ลองใช้ tools >option>show SQL แกะรอย เพื่อที่จะเอารายละเอียดผู้ป่วยต่างๆทั้ง หลาย ก็ไม่สำเร็จ เป็นไฟล์ Exelมีฟิวด์ดังนี้
DateRec IDCard HN Title NPatient SPatient Birthday Age
Sex Weight High Effect No Moo Lane Road Address
Nation Occupation Death Cause DateDiag Chronic Code icd10
Diagnosis Remark
เพื่อนำเข้าโปรแกรม SurveillanceV2.21 ความหมาย
chronic(ถ้า DM=1, HT=2)
Code 1= ไม่มีภาวะแทรกซ้อน Code 5= ภาวะแทรกซ้อนหลอดเลือดแดง
Code 2= ภาวะแทรกซ้อนทางตา Code 6= ภาวะแทรกซ้อนต้องตัดอวัยวะ
Code 3= ภาวะแทรกซ้อนทางไต Code 7= ภาวะแทรกซ้อนหลายอย่าง
Code 4= ภาวะแทรกซ้อนทางระบบประสาท Code 8= ภาวะแทรกซ้อนอื่นๆ
icd10=E109 E119...... Diadnosis=(ตัวอย่างเช่น Essential (primary) hypertension
ส่วน DateRec,Cause , Remark ไม่ต้องก็ได้
และกรณี HT ต้องการเหมือนกันครับ
ที่ยกตัวอย่างมาเป็นความต้องการของโปรแกรมSurveillanceV2.21 ซึ่งผมจะแปลงที่หลังเอาเพื่อให้นำเข้าอีกที
ที่ต้องการเฉพาะต้องการรายละเอียดที่HOSxPได้กรอกลงไปที่ทะเบียนผู้ป่วยคลินิกพิเศษ เอาออกมาให้ครบเท่านั้นก็พอครับ ผมพยายามอยู่หลายทีก็ไม่รอดSQLอ่อนมาก จึงใคร่ของคำแนะนำจากอาจารย์ทั้งหลายอีกครั้งครับ
ผมว่าจะเป็นประโยชน์มากเพราะที่ยโสธรใช้HOSxPและโปรแกรมSurveillanceV2.21 ทั้งจังหวัด
ซึ่งไม่ค่อยเข้าใจเท่าไหร่ว่าทำไมต้องลงข้อมูลซ้ำซ้อนกันคือ ส่งออกจากHOSxP เพื่อนำเข้า SVL2.21
-
มีอยู่แล้วครับ ดาวโหลดได้จาก report browser ครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=5694.0
-
พอดีผมไปทดลองก๊อบมา รันดู รายละเอียดออกมาไม่ครบ เช่น โรคแทรกของเบาหวานและความดัน(สำคัญมาก SVLบังคับต้องลง) ที่สำคัญยอดผู้ป่วยที่ได้ไม่ตรงกับยอดในคลินิกเลยครับ มากกว่าบ้าง เช่น เบาหวาน ทำไงต่อดีครับ ....
-
รบกวนนะครับ.... ยังรอ อาจารย์ทุกท่านให้คำตอบอยู่
-
ไม่ตรงอยู่แล้วครับ เพราะดึงจาก diag ของแพทย์ที่ลงครับ ไม่ได้ดึงจากทะเบียนคลินิกพิเศษครับ
-
ผมลองใช้วิธีโบราณ โดยแกะรอย Show SQL มาประกอบว่า
ขั้นตอนแรก
select cm.hn,pt.cid,pt.pname,pt.fname,pt.lname,pt.birthday,pt.sex,pt.addrpart,
pt.moopart,pt.chwpart,pt.amppart,pt.tmbpart,
pt.clinic,pt.nationality,pt.occupation,pt.religion,
cm.lastvisit as lastvisitdate,cm.last_vn as vn ,
pttype.name as last_use_pttype_name,cm.note as note, cm.next_app_date as NextAppDate ,
ct.name as subtype_name , cs.clinic_member_status_name ,cm.period_begin_date ,
cm.number,cm.subtype,cm.new_case,
cm.send_to_pcu,pt.moopart,pt.deathday,cm.begin_year from clinicmember cm
left outer join patient pt on pt.hn=cm.hn
left outer join pttype on pttype.pttype=cm.pttype
left outer join clinic_member_status cs on cs.clinic_member_status_id = cm.clinic_member_status_id
left outer join clinic_subtype ct on ct.clinic = cm.clinic and ct.subtype = cm.subtype
where (cm.hn is not NULL) and cm.clinic = '001'
................................................................................................................................................
จะได้ผู้ป่วยคลินิก 001 (เบาหวาน)ออกมาครบจำนวน แต่ยังไม่ได้ ภาวะแทรกซ้อนมาด้วย ผมจึงหาวิธีมาได้ว่า
ขั้นตอน2
select distinct pt.hn,pt.cid,pt.pname,pt.fname,pt.lname,pt.birthday,pt.sex,pt.addrpart,
pt.moopart,concat(pt.chwpart,pt.amppart,pt.tmbpart) as
address,pt.nationality,pt.occupation ,
c.* ,m.name as cormobidity_name, l.name as clinic_name
from clinic_cormobidity_list c
left outer join clinic l on l.clinic = c.clinic
left outer join clinic_cormobidity m on m.clinic=c.clinic and m.cormobidity = c.cormobidity
left outer join patient pt on pt.hn=c.hn
where (c.hn is not NULL) and c.clinic = '001'
order by c.clinic,c.cormobidity
....................................................................................................................................................
ซึ่งจะได้รายละเอียดภาวะแทรกซ้อนคลินิก 001 (เบาหวาน)ออกมาครบ
ใช้ได้ทั้งคลินิกความดัน... เสร็จแล้ว exel Export ขั้นตอนแรกไป save as ไว้แล้วนำเอาขั้นที่สองมารวม
โดยcopyเอาขั้นตอนแรกที่ฟิวด์ตรงกันมาวางต่อที่ฟิวด์ชื่อเดียวกันในขั้นตอนสอง แล้วใช้อ็อบชั่นExelคัดHN
ที่ซ้ำออก เท่านี้แล้วcopyทั้งหมดไปวางที่ไฟล์ใหม่(หน้าใหม่)ผลที่ได้ครบตามSVL 2.2ต้องการ
..................................................................................................................................................
จากนั้นเราสร้างไฟล์ใหม่อีกครั้งนำชื่อฟิวด์(ก็อบเอามาจาก DATASET ในขั้นตอนนำเข้าของSVL2.2X)
จากนั้นเราก็copyเอาที่ละฟิวด์ที่เรากรองรวมเอาไว้(ขั้นตอน1+2)มาวางทับลงในฟิวด์ DATASET
และเปลี่ยนค่ารหัสต่างตามคำแนะนำของโปรแกรมSVL เช่น อาชีพ คลินิก code ภาวะแทรกซ้อน อื่นๆตาม
ต้องการ และลองนำเข้าได้ครับ
...ที่เล่ามา ถ้าเป็นไปนะครับได้อยากให้อาจารย์ทุกท่านเชื่อมสองขั้นตอนเข้าด้วยกันพร้อมแปลงค่าออกมาพร้อมนำเข้าได้เลยจะสะดวกมากกับคนที่ใช้โปรแกรมควบอย่างมาก (จนเดียวนี้ก็ยังไม่เข้าใจว่าทำต้องทำเพิ่มเพราะ
HOSxP เราก็มีพร้อมแล้ว) ที่สังเกตได้ในSVLจะกรองเอาเฉพาะผู้ป่วยในเขตเท่านี้น นอกเขตไม่รับ