ผมลองใช้วิธีโบราณ โดยแกะรอย 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จะกรองเอาเฉพาะผู้ป่วยในเขตเท่านี้น นอกเขตไม่รับ