BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: โรงพยาบาลอัมพวา ที่ พฤษภาคม 04, 2009, 14:07:14 PM
-
อยากได้รายงานเกี่ยวกับโรค เหล่านี้ ว่าใช้ยาที่ในรูปว่าใช้ยาไปเท่าไร ระบุจำนวนวันได้พอดีผมเพิ่งมาเปงadmin ทำReport ยังไม่ได้อ่ะครับ โรคเป็นICD10 อ่ะครับ
รหัสโรค w0099 , w9999 , A09 , J069 , J039 , J00(ศูนย์,ศูนย์),J029
-
ลองใช้ opd custom search น่าจะได้ครับ
-
โทษทีครับ มันอยู่ ตรงไหน อ่ะครับ opd custom search หาไม่เจอครับ รายงาน รพ. ผมไม่มีด้วยอ่ะครับ
-
;D ;D ;D ;D
-
opd custom search เกือบใช้ได้ อ่ะครับ แต่ที่อยากได้ สมมุติว่า A09 ใช้ ยาที่ระบุไว้ อะไรมั่ง และ กี่เม็ด อ่ะครับ
-
ลองทำรายงานดูเองน่าจะได้นะครับ ตามนี้
1. คำสั่งหลักของรายงาน
select * from drugitems
2. วาง Variable ลงไป 1 ตัว เขียน Calculation ดังนี้
Value := GetSQLIntegerDATA('select sum(o.qty) from opitemrece o,drugitems d,ovst v,ovstdiag g '+
' where o.vn = v.vn and v.vn = g.vn and o.icode = d.icode '+
' and d.icode = "'+ppdbpipeline['icode']+'" '+
' and o.vstdate between "2008-01-01" and "2008-01-31"
' and g.icd10 in ("W0099" ,"W9999" , "A09" , "J069" , "J039" , "J00","J09") ') +
GetSQLIntegerDATA('select sum(o.qty) from opitemrece o,drugitems d,ipt v,iptdiag g '+
' where o.an = v.an and v.an = g.an and o.icode = d.icode '+
' and d.icode = "'+ppdbpipeline['icode']+'" '+
' and o.rxdate between "2008-01-01" and "2008-01-31"
' and g.icd10 in ("W0099" ,"W9999" , "A09" , "J069" , "J039" , "J00","J09") ') ;
3. วาง Variable อีก 11 ตัว เปลี่ยนช่วงวันที่ให้ตรงกับ column ในเดือน นั้นๆ ครับ
-
ขอบคุณนะครับท่าน แต่ ใช้ไม่ได้ ครับ ผม เป็นadmin มา4-5 เดือน ไม่มีความรู้ ด้านรายงานเลยทำไม่เป็นด้วยอ่ะครับ ลองแล้วแต่ไม่รู้ จาไปเรียนที่ไหน ที่ต้องการ ตามไฟล์ที่แนบมาอ่ะครับ
-
ทำไม่ได้เลยครับ ท่าน ส่ง วันจันทร์ นี้ ด้วย งิงิ
-
คำสั่ง SQL
select d.icode,d.name as drug,d.units,d.strength
,sum(if(o2.icd10='w0099',o1.qty,0)) as 'W0099'
,sum(if(o2.icd10='w9999',o1.qty,0)) as 'W9999'
,sum(if(o2.icd10='a09',o1.qty,0)) as 'A09'
,sum(if(o2.icd10='j039',o1.qty,0)) as 'J039'
,sum(if(o2.icd10='j069',o1.qty,0)) as 'J069'
,sum(if(o2.icd10='j00',o1.qty,0)) as 'J00'
,sum(if(o2.icd10='j029',o1.qty,0)) as 'j029'
from drugitems d
left join opitemrece o1 on o1.icode=d.icode
left join ovstdiag o2 on o1.vn=o2.vn
where o1.vstdate between '2009-1-1' and '2009-1-31'
group by d.icode
order by d.name
แบบนี้ไวมั๊ย เปลี่ยนช่วงเดือนเอาหล่ะกันคับ
-
ได้ครับขอบคุณครับ แต่ผมเข้าใจผิด รหัส w0099 w9999 ห้องยาเอา w0099-w9999 เลยอ่ะครับ รวม ก็ 9900 บรรทัดมีวิธีทำสั้นๆๆไหม ครับ
-
จาเอารหัส w0099-w9999 ทำงี้ ถูกไหมครับ
select d.icode,d.name as drug,d.units,d.strength
,sum(if(o2.icd10='between = w0099-w9999',o1.qty,0)) as 'between =W0099-w9999'
,sum(if(o2.icd10='w9999',o1.qty,0)) as 'W9999'
,sum(if(o2.icd10='a09',o1.qty,0)) as 'A09'
,sum(if(o2.icd10='j039',o1.qty,0)) as 'J039'
,sum(if(o2.icd10='j069',o1.qty,0)) as 'J069'
,sum(if(o2.icd10='j00',o1.qty,0)) as 'J00'
,sum(if(o2.icd10='j029',o1.qty,0)) as 'j029'
from drugitems d
left join opitemrece o1 on o1.icode=d.icode
left join ovstdiag o2 on o1.vn=o2.vn
where o1.vstdate between '2009-1-1' and '2009-1-31'
group by d.icode
order by d.name
-
select d.icode,d.name as drug,d.units,d.strength
,sum(if(o2.icd10 between 'w00' and 'w9999',o1.qty,0) as 'Code=W',sum(if(o2.icd10='w9999',o1.qty,0)) as 'W9999'
,sum(if(o2.icd10='a09',o1.qty,0)) as 'A09'
,sum(if(o2.icd10='j039',o1.qty,0)) as 'J039'
,sum(if(o2.icd10='j069',o1.qty,0)) as 'J069'
,sum(if(o2.icd10='j00',o1.qty,0)) as 'J00'
,sum(if(o2.icd10='j029',o1.qty,0)) as 'j029'
from drugitems d
left join opitemrece o1 on o1.icode=d.icode
left join ovstdiag o2 on o1.vn=o2.vn
where o1.vstdate between '2009-1-1' and '2009-1-31'
group by d.icode
order by d.name
-
เอาใหม่
select d.icode,d.name as drug,d.units,d.strength
,sum(if(o2.icd10 between 'w00' and 'w9999',o1.qty,0) as 'Code=W'
,sum(if(o2.icd10='a09',o1.qty,0)) as 'A09'
,sum(if(o2.icd10='j039',o1.qty,0)) as 'J039'
,sum(if(o2.icd10='j069',o1.qty,0)) as 'J069'
,sum(if(o2.icd10='j00',o1.qty,0)) as 'J00'
,sum(if(o2.icd10='j029',o1.qty,0)) as 'j029'
from drugitems d
left join opitemrece o1 on o1.icode=d.icode
left join ovstdiag o2 on o1.vn=o2.vn
where o1.vstdate between '2009-1-1' and '2009-1-31'
group by d.icode
order by d.name
-
run ไม่ด้ครับ ท่านแก้ต้องไหนบอกทีครับ
-
select d.icode,d.name as drug,d.units,d.strength
,sum(if(o2.icd10 between 'w00' and 'w9999',o1.qty,0)) as 'Code_W'
,sum(if(o2.icd10='a09',o1.qty,0)) as 'A09'
,sum(if(o2.icd10='j039',o1.qty,0)) as 'J039'
,sum(if(o2.icd10='j069',o1.qty,0)) as 'J069'
,sum(if(o2.icd10='j00',o1.qty,0)) as 'J00'
,sum(if(o2.icd10='j029',o1.qty,0)) as 'j029'
from drugitems d
left join opitemrece o1 on o1.icode=d.icode
left join ovstdiag o2 on o1.vn=o2.vn
where o1.vstdate between '2009-1-1' and '2009-1-31'
group by d.icode
order by d.name
ตก ) ไปตัวหนึ่ง
-
ขอบพระคุณท่านเป็นอย่างสูง ใช่ได้ครับ