เนื่องจากหน่วยงาน OR ให้ผมช่วยเขียน report ที่จะใช้เป็นประจำเดือน
โดยมีการจำแนกแผนกและหาจำนวนผู้ป่วยในแต่ละแผนกนั้นๆ ดังนี้ครับ
1. ศัลยกรรมประสาท
2. ศัลยกรรมทรวงอก
3. ศัลยกรรมกระดูก
4. ศัลยกรรมตบแต่ง
5. ศัลยกรรมระบบปัสสาวะ
6. ศัลยกรรมทางสูติกรรม
7. ศัลยกรรมทางนรีเวช
8. ศัลยกรรมทางตา
9. ศัลยกรรมทาง หู คอ จมูก
10. ศัลยกรรมทั่วไป
แต่ด้วยในระบบมีการจำกัดแผนกจากทีมสารสนเทศ จัดให้มีรหัสแผนกตรงตามมาตราฐาน สปสช เมื่อปี 53
โดยมีรหัสแผนกตั้งแต่ 01 - 12 เท่านั้น
ดังนั้นผมจึงคิดว่าถ้าดึงจากแพทย์(เฉพาะทาง)ที่ทำการรักษาผู้ป่วยรายนั้นๆน่าจะสามารถทำได้
ขณะเดียวกันเมื่อเขียน code ออกมาแล้วยอดที่ได้กลับไม่ตรงกับยอดรวมในเดือนนั้นจึงขอรบกวนช่วยผมด้วยครับ
select opl.enter_date,sum(opa.doctor='0071')as sunnerve,
count(distinct(if(opa.doctor in ('0012','0025','0210','0317','1031'),opl.hn,0)))as sunaok,
count(distinct(if(opa.doctor in ('0036','0073','0919','0975','1065'),opl.hn,0)))as sunbone,
count(distinct(if(opa.doctor in ('0211','0061'),opl.hn,0)))as sunfurnished,
count(distinct(if(opa.doctor='0075',opl.hn,0)))as sunurine,
count(distinct(if(opa.doctor in ('0021','0033','0014','0064','0022') and opl.spclty='03',opl.hn,0)))as sunchildbirth,
count(distinct(if(opa.doctor in ('0021','0033','0014','0064','0022') and opl.spclty='04',opl.hn,0)))as sungynecology,
count(distinct(if(opa.doctor in ('0019','0015'),opl.hn,0)))as suneye,
count(distinct(if(opa.doctor in ('0211','0061'),opl.hn,0)))as sunent,
count(distinct(opl.hn))as allid
from operation_list opl
left outer join operation_detail opa on opa.operation_id=opl.operation_id
where opl.enter_date='2010-11-09'
group by opl.enter_date
ปล.จากcodeที่โพสเป็น codeที่ใช้ทดลองอยุ่นะครับ