BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: โรงพยาบาลอัมพวา ที่ มกราคม 19, 2011, 15:44:50 PM

หัวข้อ: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 19, 2011, 15:44:50 PM
ผมอยากจะกรุ๊บ pdx ให้เป็นกลุ่มๆ เช่นโรคเบาหวาน รหัส e101-e109 แล้วใช้โชว์เป็นกรุ็บๆ ว่ากรุ็บ นี้มีคนไข้กี่คน ทำได้ไหมครับ


select vn.pdx,i.name, k.department,count(op.vn) from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 20, 2011, 09:11:13 AM
ผมจะหาผลรวมของกรุ๊บ ในรูปครับ มันต้องเขียนยังไงครับท่านอาจาร์ย
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: niyomstd ที่ มกราคม 20, 2011, 09:21:15 AM
ลองดูนะครับ ตรงสีแดง
select vn.pdx,i.name, k.department,count(op.vn) as cc from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
order by cc desc
ตามนี้เลยครับ
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มกราคม 20, 2011, 09:24:24 AM
ลองดูนะครับ ตรงสีแดง
select vn.pdx,i.name, k.department,count(op.vn) as cc from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
order by cc desc
ตามนี้เลยครับ

รู้่สึก  จะต้องกำหนด group ของ pdx ด้วยอ่ะครับ..เพราะเอาทั้ง B0%,B1%,B2%,B5% = 1 GROUP
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: niyomstd ที่ มกราคม 20, 2011, 09:27:33 AM
ลองดูนะครับ ตรงสีแดง
select vn.pdx,i.name, k.department,count(op.vn) as cc from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
order by cc desc
ตามนี้เลยครับ

รู้่สึก  จะต้องกำหนด group ของ pdx ด้วยอ่ะครับ..เพราะเอาทั้ง B0%,B1%,B2%,B5% = 1 GROUP
น่าจะ group ด้วยนะครับ ไม่งั้นจะออกตาม pdx เท่านั้น ;D ;D ;D
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 20, 2011, 09:48:05 AM
ลองดูนะครับ ตรงสีแดง
select vn.pdx,i.name, k.department,count(op.vn) as cc from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
order by cc desc
ตามนี้เลยครับ

รู้่สึก  จะต้องกำหนด group ของ pdx ด้วยอ่ะครับ..เพราะเอาทั้ง B0%,B1%,B2%,B5% = 1 GROUP


คำสั่ง  GROUP เขียนยังไงอ่ะครับ  and  B0%,B1%,B2%,B5% = 1 GROUP เลยเหรอครับลองเขียนแล้วไม่ได้ครับ  แล้วเรียกโชว์ยังไงอ่ะครับ
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 20, 2011, 09:52:02 AM
ลองดูนะครับ ตรงสีแดง
select vn.pdx,i.name, k.department,count(op.vn) as cc from opdscreen   op
left  outer join  kskdepartment k on op.screen_dep = k.depcode
left  outer join vn_stat vn on op.vn = vn.vn
left outer join icd101 i on vn.pdx =i.code
where op.vstdate between '2007-10-01' and '2008-09-30'
and k.depcode in ('027')
group by vn.pdx
order by cc desc
ตามนี้เลยครับ

รู้่สึก  จะต้องกำหนด group ของ pdx ด้วยอ่ะครับ..เพราะเอาทั้ง B0%,B1%,B2%,B5% = 1 GROUP
น่าจะ group ด้วยนะครับ ไม่งั้นจะออกตาม pdx เท่านั้น ;D ;D ;D


ขอบคุณนะครับ
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 20, 2011, 11:11:24 AM
อันนี้ ยังแก้ไม่หายนะครับไม่ทราบวิธีการเขียนคำสั่งกรุ๊บ 

ผมมีอีกปัญหาครับ
select distinct pt.hn ,concat(pt.pname,pt.fname,'  ',pt.lname)as name ,vn.sex ,
lo.lab_items_name_ref, lo.lab_order_result,
lo1.lab_items_name_ref, lo1.lab_order_result,
lo2.lab_items_name_ref, lo2.lab_order_result,
lo3.lab_items_name_ref, lo3.lab_order_result,
ov.vstdate,op.bpd AS BP_hi,op.bps AS BP_down, op.bw,op.height,
op.bw/((op.height/100)*(op.height/100)) as BMI , vn.age_y ,cn.clinic,
op.fh ,op.sh
from vn_stat vn

left outer join patient pt on vn.hn = pt.hn
left outer join ovst ov on vn.hn = ov.hn
left outer join clinic cl on vn.pdx = cl.icd10
left outer join clinicmember cn on vn.hn = cn.hn
left outer join opdscreen op on vn.hn = op.hn
left outer join lab_head lh on vn.hn = lh.hn
left outer join lab_order lo on lh.lab_order_number = lo.lab_order_number
left outer join lab_order lo1 on lh.lab_order_number = lo1.lab_order_number
left outer join lab_order lo2 on lh.lab_order_number = lo2.lab_order_number
left outer join lab_order lo3 on lh.lab_order_number = lo3.lab_order_number
where vn.vstdate between '2010-11-1' and '2010-11-30'
and cn.clinic = '001'
and lo.lab_items_code = '39'
and lo1.lab_items_code = '296'
and lo2.lab_items_code = '127'
and lo3.lab_items_code = '397'

group by op.hn

limit 10
  ถ้า  group by   รันไม่ไปเลย ครับ ค้าง ทั้งระบบเลย ครับ ควรทำอย่างไรดีครับ
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มกราคม 20, 2011, 12:02:46 PM
อันนี้ ยังแก้ไม่หายนะครับไม่ทราบวิธีการเขียนคำสั่งกรุ๊บ 

ผมมีอีกปัญหาครับ
select distinct pt.hn ,concat(pt.pname,pt.fname,'  ',pt.lname)as name ,vn.sex ,
lo.lab_items_name_ref, lo.lab_order_result,
lo1.lab_items_name_ref, lo1.lab_order_result,
lo2.lab_items_name_ref, lo2.lab_order_result,
lo3.lab_items_name_ref, lo3.lab_order_result,
ov.vstdate,op.bpd AS BP_hi,op.bps AS BP_down, op.bw,op.height,
op.bw/((op.height/100)*(op.height/100)) as BMI , vn.age_y ,cn.clinic,
op.fh ,op.sh
from vn_stat vn

left outer join patient pt on vn.hn = pt.hn
left outer join ovst ov on vn.hn = ov.hn
left outer join clinic cl on vn.pdx = cl.icd10
left outer join clinicmember cn on vn.hn = cn.hn
left outer join opdscreen op on vn.hn = op.hn
left outer join lab_head lh on vn.hn = lh.hn
left outer join lab_order lo on lh.lab_order_number = lo.lab_order_number
left outer join lab_order lo1 on lh.lab_order_number = lo1.lab_order_number
left outer join lab_order lo2 on lh.lab_order_number = lo2.lab_order_number
left outer join lab_order lo3 on lh.lab_order_number = lo3.lab_order_number
where vn.vstdate between '2010-11-1' and '2010-11-30'
and cn.clinic = '001'
and lo.lab_items_code = '39'
and lo1.lab_items_code = '296'
and lo2.lab_items_code = '127'
and lo3.lab_items_code = '397'

group by op.hn

limit 10
  ถ้า  group by   รันไม่ไปเลย ครับ ค้าง ทั้งระบบเลย ครับ ควรทำอย่างไรดีครับ

ลอง join icd101 ซ้อนกันหลาย ๆตารางครับ...loin ตัวเอง..แต่ว่าเปลี่ยนคำเรียกเป็น i1, i2, i3  โดยกำหนดเอาเลยว่า   ประมาณนี้

left outer join icd101 i1 on i1.code = v.pdx and i1.code in ("A010","A599")
left outer join icd101 i2 on i2.code = v.pdx and i2.code in ("b010","b599"))
left outer join icd101 i3 on i3.code = v.pdx and i3.code in ("C010","C599")
ประมาณครับ...
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: SIWIT ที่ มกราคม 20, 2011, 14:07:56 PM
ลองดูในนี้ได้มั้ยทำเป็น 10 อันดับกลุ่มโรคอะครับแต่ปรับเอานะครับ
หัวข้อ: Re: ขอความช่วยเหลือทีครับท่าน
เริ่มหัวข้อโดย: โรงพยาบาลอัมพวา ที่ มกราคม 20, 2011, 15:44:33 PM
ขอบคุณครับ ท่าน นี่ อีกตัว นะครับ คนละตัวกับ ตัวแรก

รันไม่ได้ครับ เวลารันแล้วเครื่องค้างระะบบค้างด้วยครับ

select distinct pt.hn ,concat(pt.pname,pt.fname,'  ',pt.lname)as name ,vn.sex ,
lo.lab_items_name_ref, lo.lab_order_result,
lo1.lab_items_name_ref, lo1.lab_order_result,
lo2.lab_items_name_ref, lo2.lab_order_result,
lo3.lab_items_name_ref, lo3.lab_order_result,
ov.vstdate,op.bpd AS BP_hi,op.bps AS BP_down, op.bw,op.height,
op.bw/((op.height/100)*(op.height/100)) as BMI , vn.age_y ,cn.clinic,
op.fh ,op.sh
from vn_stat vn

left outer join patient pt on vn.hn = pt.hn
left outer join ovst ov on vn.hn = ov.hn
left outer join clinic cl on vn.pdx = cl.icd10
left outer join clinicmember cn on vn.hn = cn.hn
left outer join opdscreen op on vn.hn = op.hn
left outer join lab_head lh on vn.hn = lh.hn
left outer join lab_order lo on lh.lab_order_number = lo.lab_order_number
left outer join lab_order lo1 on lh.lab_order_number = lo1.lab_order_number
left outer join lab_order lo2 on lh.lab_order_number = lo2.lab_order_number
left outer join lab_order lo3 on lh.lab_order_number = lo3.lab_order_number
where vn.vstdate between '2010-11-1' and '2010-11-30'
and cn.clinic = '001'
and lo.lab_items_code = '39'
and lo1.lab_items_code = '296'
and lo2.lab_items_code = '127'
and lo3.lab_items_code = '397'



limit 10


มีวีธีทำไหมครับไม่ให้มันค้างอ่ะครับท่าน