เรียนถามท่านทั้งหลาย ที่ใช้ SQL ดึงข้อมูลเพื่อรายงานผลต่างๆ+รายงานย่อยๆ
ตัวอย่างเช่น 10 อันดับโรค ปี 2552 OPD/IPD
ผมใช้ตาราง vn_stat + ovstdiag + icd101 ในการหาอันดับโรคดังกล่าว
เช่นเดียวกันกับผู้ป่วยใน an_stat + iptdiag + icd101
select odx.icd10,ic.name,count(distinct(ov.hn))as thn,count(ov.hn)as tthn
from vn_stat ov
left outer join ovstdiag odx on odx.vn=ov.vn
left outer join icd101 ic on ic.code=odx.icd10
where ov.vstdate between '2008-10-01' and '2009-09-30'
limit 10
จาก code SQL ดังกล่าว
อยากทราบว่าพอจะมีความเสถียรบ้างมัยครับหรือผมผิดตรงไหน เพราะในการใช้ดึงข้อมูลในครั้งแรกยังไม่มีการแก้ไขข้อมูลไดๆหลังจากที่มีการแก้ไขแล้วดึกข้อมูลอีกครั้งจึงพบว่ามีการเปลี่ยนแปลงอยู่บ้าง
อีกตัวอย่างนะครับ ยอดผู้มารับบริการที่ รพ.
แบ่งเป็น จำนวนคน และ จำนวนครั้ง
select count(distinct(hn)as thn,count(hn)as tthn
from vn_stat
where vstdate between '2008-10-01' and '2009-09-30'
จาก code SQL ดังกล่าว ผมควรจะใช้ ตาราง ovst หรือ vn_stat ดีครับ
ปล.ตามความเข้าใจนะครับ
OPD
ovst = ตารางบันทึกการส่งตรวจ
vn_stat = ตารางบันทึกกิจกรรมห้องตรวจต่างๆ
ovstdiag = ตารางบันทึกผลวินิจฉัยรวมจาก vn_stat (pdx,dx0,dx1,dx2,dx3,dx4,dx5)
IPD
ipt = ตารางบันทึกการรับเข้ารักษาใน รพ.
an_stat = ตารางบันทึกกิจกรรมผู้ป่วยใน
iptdiag = ตารางบันทึกผลวินิจฉัยรวมจาก an_stat (pdx,dx0,dx1,dx2,dx3,dx4,dx5)