BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: winfast01 ที่ ตุลาคม 04, 2009, 14:20:48 PM

หัวข้อ: ช่วยดึงรายงานเบาหวานที่คับ มือใหม่
เริ่มหัวข้อโดย: winfast01 ที่ ตุลาคม 04, 2009, 14:20:48 PM
คือว่าจะดึงรายงาน จำนวนผู้ป่วยเบาหวาน(E11%) ที่ได้รับการวินิจฉัย HT(I10) ที่ได้ยา ccbช่วยดูให้ที่คับว่าต้องแก้ตัวไหน คือเวลาดึงออกมามันมีคนป่วยเป็น E11% อย่างเดียวไม่มีI10 กับ I10 อย่างเดียวไม่มีE11%ออกมาด้วยอะคับ ไม่รู้จะทำยังไงดี ช่วยแนะนำนะคับ



select o.icode
from vn_stat v
left outer join opitemrece o on v.hn=o.hn
left outer join patient p on p.hn=o.hn
left outer join drugitems d on d.icode=o.icode
WHERE o.icode IN ('1481003','1491003','1491004','10000204')
AND(v.pdx='E11%' and v.dx0 like'I10' or v.dx1 like 'I10' or v.dx2 like 'I10'
or v.dx3 like 'I10' or v.dx4 like 'I10' or v.dx5 like 'I10'and v.pdx='I10'
or v.dx0 like'E11%' or v.dx1 like 'E11%' or v.dx2 like 'E11%' or v.dx3 like 'E11%'
or v.dx4 like 'E11%' or v.dx5 like 'E11%')
and v.vstdate between '2009-04-01' and '2009-06-30'
group by v.hn


คือเวลาดึงออกมามันมีคนป่วยเป็น E11% อย่างเดียวไม่มีI10 กับ I10 อย่างเดียวไม่มีE11%ออกมาด้วยอะคับ ไม่รู้จะทำยังไงดี ช่วยแนะนำนะคับ

ขอบคุณมากคับบบบ
หัวข้อ: Re: ช่วยดึงรายงานเบาหวานที่คับ มือใหม่
เริ่มหัวข้อโดย: Tharuea_Hos ที่ ตุลาคม 04, 2009, 15:57:24 PM
ลองเปลี่ยนตารางการดึงโรค จาก vn_stat มาเป็น ovstdiag น่าจะง่ายกว่านะครับ แล้วเลือเป็น diagtype 1 ประมาณนี้
หัวข้อ: Re: ช่วยดึงรายงานเบาหวานที่คับ มือใหม่
เริ่มหัวข้อโดย: anutta ที่ ตุลาคม 04, 2009, 20:27:43 PM
น่าจะประมาณนี้ครับ ใส่ วงเล็บให้ถูกน่าจะพอได้นะครับ
select o.icode,v.*
from vn_stat v
left outer join opitemrece o on v.vn=o.vn
left outer join patient p on p.hn=o.hn
left outer join drugitems d on d.icode=o.icode
WHERE (v.pdx='E11%' and (v.dx0 like'I10' or v.dx1 like 'I10' or v.dx2 like 'I10'
or v.dx3 like 'I10' or v.dx4 like 'I10' or v.dx5 like 'I10')) or (v.pdx='I10'
and(v.dx0 like'E11%' or v.dx1 like 'E11%' or v.dx2 like 'E11%' or v.dx3 like 'E11%'
or v.dx4 like 'E11%' or v.dx5 like 'E11%'))
and v.vstdate between '2009-01-01' and '2009-06-30'
หัวข้อ: Re: ช่วยดึงรายงานเบาหวานที่คับ มือใหม่
เริ่มหัวข้อโดย: woravet ที่ ตุลาคม 05, 2009, 10:04:23 AM
select o.vn,o.hn,p.pname,p.fname,p.lname
,v.pdx,v.dx0,v.dx1,v.dx2,v.dx3,v.dx4,v.dx5
from ovst o
left join ovstdiag o1 on o1.vn=o.vn
left join ovstdiag o2 on o2.vn=o1.vn
left join vn_stat v on o.vn=v.vn
left join patient p on o.hn=p.hn
left join opitemrece o3 on o.vn=o3.vn
where o.vstdate between '2009-1-1' and '2009-1-31'
and o1.icd10 between 'e10' and 'e1499'
and o2.icd10 between 'i10' and 'i1599'
and o3.icode IN ('1481003','1491003','1491004','10000204')
group by o.vn
ประมาณนี้รึป่าว? ผป.ที่ได้รับการวินิจฉัยเป็น DM และ HT และรับยาตามรหัสดังกล่าว ในช่วงเวลาที่กำหนด
หัวข้อ: Re: ช่วยดึงรายงานเบาหวานที่คับ มือใหม่
เริ่มหัวข้อโดย: winfast01 ที่ ตุลาคม 05, 2009, 15:59:46 PM
select o.vn,o.hn,p.pname,p.fname,p.lname
,v.pdx,v.dx0,v.dx1,v.dx2,v.dx3,v.dx4,v.dx5
from ovst o
left join ovstdiag o1 on o1.vn=o.vn
left join ovstdiag o2 on o2.vn=o1.vn
left join vn_stat v on o.vn=v.vn
left join patient p on o.hn=p.hn
left join opitemrece o3 on o.vn=o3.vn
where o.vstdate between '2009-1-1' and '2009-1-31'
and o1.icd10 between 'e10' and 'e1499'
and o2.icd10 between 'i10' and 'i1599'
and o3.icode IN ('1481003','1491003','1491004','10000204')
group by o.vn
ประมาณนี้รึป่าว? ผป.ที่ได้รับการวินิจฉัยเป็น DM และ HT และรับยาตามรหัสดังกล่าว ในช่วงเวลาที่กำหนด

เดี๋ยวจะไปลองดูคับ ขอบคุณ woravet กับคุณ anutta  มากนะคับที่ให้คำแนะนำ