ผู้เขียน หัวข้อ: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ  (อ่าน 6458 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ vinaisena

  • Hero Member
  • *****
  • กระทู้: 615
  • งานสนุกทุกอย่างก็สุข
  • Respect: 0
    • ดูรายละเอียด
    • http://www.senahosp.net
select pt.*,ov.*
from an_stat ov ,patient pt ,ipt ovst
where ov.an=ovst.an and ov.dchdate between "2009-10-01" and  "2010-09-30" and ov.hn=pt.hn
 and ov.age_y>= 0
 and ov.age_y<= 200

จากคำสั่งนี้ เราจะหาว่า โรคใดบ้าง 10 อันดับที่มี op1='9672' หรือ '9671' จะเพิ่มเติมคำสั่งอะไรบ้างครับ ท่านอาจารย์
vinai supopoj
เจ้าพนักงานเวชสถิติ รุ่น 12
รพ.เสนา จ.พระนครศรีอยุธยา 180 เตียง
เริ่มระบบ OPD กุมภาพันธ์ 2551
เริ่มระบบ IPD 15 ธันวาคม 2551
ทีม อ.นาจ อ.กัมพล
server IBM x Series 3400 Intel Xeon Quad-Core E5430 2.66 GHz/1333 MHZ RAID 0 RAM 9 GB HD 146 GB
Master database 3.54.7.30
Hosxp 3. 54.8.8 เครื่องที่ผมทำงานอยู่
นอกนั้น หลากหลาย เก่าสุด 52.11.11 LAB
ใช้งานเต็มที่ 60+ Station
Cent OS 5.2
ทำ server image work แล้ว อยู่ๆ ก็เดี๊ยงอีกมีปัญหาตอนไฟกระชาก ให้ Server image ล่ม restart ใหม่ แล้ว server วิ่งหา Imge server ไม่เจอะ หน้างานที่ถ่ายรูปห้องบัตร ถ่ายรูปไม่ได้

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #1 เมื่อ: พฤษภาคม 10, 2011, 09:35:40 AM »
0
น่าจะเอา iptdiag มาอีกสักตารางครับ...เอาเป็น where ov.an in (select an from iptdiag where icd10  in ("9672,"9671"))
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 414
  • Respect: +12
    • ดูรายละเอียด
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #2 เมื่อ: พฤษภาคม 10, 2011, 09:47:59 AM »
0
select a.pdx,count(*) cc
from an_stat a
left join iptoprt iop on iop.an=a.an
where a.dchdate between '2009-10-01' and '2010-09-30'
and iop.icd9 in ('9672','9671')
group by a.pdx
order by cc desc
limit 10
ประมาณนี้มั๊ยคับ
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #3 เมื่อ: พฤษภาคม 10, 2011, 12:29:24 PM »
0
select a.pdx,count(*) cc
from an_stat a
left join iptoprt iop on iop.an=a.an
where a.dchdate between '2009-10-01' and '2010-09-30'
and iop.icd9 in ('9672','9671')
group by a.pdx
order by cc desc
limit 10
ประมาณนี้มั๊ยคับ
ข้อสังเกตุของการใช้ SQL แบบนี้ คือ order by cc desc limit 10 แล้วถ้า cc ที่อันดับ 11 มันมีค่าเท่ากัน กับอันดับที่ 10 มันก็หายไปสิครับ

ผมสมมุติตัวอย่างข้อมูลนะครับที่พอเราจัดเรียงตาม cc แล้วได้ออกมาแบบนี้
pdx   name   cases
H259   Senile cataract, unspecified   10
J459   Asthma, unspecified   10
D569   Thalassaemia, unspecified   10
H813   Other peripheral vertigo   8
N10   Acute tubulo-interstitial nephritis   6
C189   Malignant neoplasm of colon, unspecified   6
L89   Decubitus ulcer   6
F209   Schizophrenia, unspecified   6
P599   Neonatal jaundice, unspecified   6
K922   Gastrointestinal haemorrhage, unspecified   6
I48   Atrial fibrillation and flutter   6
D619   Aplastic anaemia, unspecified   5
I471   Supraventricular tachycardia   5
K291   Other acute gastritis   5

ถ้ากำหนด limit 10 จะเหลือแค่
pdx   name   cases
H259   Senile cataract, unspecified   10
J459   Asthma, unspecified   10
D569   Thalassaemia, unspecified   10
H813   Other peripheral vertigo   8
N10   Acute tubulo-interstitial nephritis   6
C189   Malignant neoplasm of colon, unspecified   6
L89   Decubitus ulcer   6
F209   Schizophrenia, unspecified   6
P599   Neonatal jaundice, unspecified   6
K922   Gastrointestinal haemorrhage, unspecified   6
ใช่ไหมครับ

แล้ว I48   Atrial fibrillation and flutter   6 ก็น้อยใจแย่สิครับ นับได้ 6 เหมือนกัน แต่ไม่ได้อยู่ใน list

ซึ่งถ้าสรุปจากตัวอย่างที่ผมให้มาแล้ว จะได้แบบนี้ครับ
อันดับ 1 มี count เป็น 10 มี 3 โรค H259, J459, D569
อันดับ 2 มี count เป็น 8 มี 1 โรค H813
อันดับ 3 มี count เป็น 6 มี 7 โรค N10, C189, L89, F209, P599, K922, I48
อันดับ 4 มี count เป็น 5 มี 3 โรค D619, I471, K291

ลองหาแนวทางแก้ไขนะครับ

อ้อ...อันนี้ไม่เกี่ยวกับการใส่ท่อช่วยหายใจนะครับ ;D ;D ;D ;D
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ vinaisena

  • Hero Member
  • *****
  • กระทู้: 615
  • งานสนุกทุกอย่างก็สุข
  • Respect: 0
    • ดูรายละเอียด
    • http://www.senahosp.net
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #4 เมื่อ: พฤษภาคม 10, 2011, 13:17:58 PM »
0
คำสั่งนี้ เป็นโรคที่พบบ่อย 20 อันดับ
ที่มีการใช้เครื่องช่วยหายใจ
รวมถึงมีการรวมวันนอน รพ.ด้วย
ฝาก อ.ช่วยตรวจสอบด้วยครับ

select v.pdx,count(v.pdx) as pdx_count, i.name as icdname,sum(v.admdate)
from an_stat v
left outer join icd101 i on i.code=v.pdx
left join iptoprt iop on iop.an=v.an
where v.dchdate between "2010-10-01" and "2011-03-31" and v.pdx is not null and v.pdx<>""
and iop.icd9 in ('9672','9671')
group by v.pdx,i.name
order by pdx_count desc
limit 20
vinai supopoj
เจ้าพนักงานเวชสถิติ รุ่น 12
รพ.เสนา จ.พระนครศรีอยุธยา 180 เตียง
เริ่มระบบ OPD กุมภาพันธ์ 2551
เริ่มระบบ IPD 15 ธันวาคม 2551
ทีม อ.นาจ อ.กัมพล
server IBM x Series 3400 Intel Xeon Quad-Core E5430 2.66 GHz/1333 MHZ RAID 0 RAM 9 GB HD 146 GB
Master database 3.54.7.30
Hosxp 3. 54.8.8 เครื่องที่ผมทำงานอยู่
นอกนั้น หลากหลาย เก่าสุด 52.11.11 LAB
ใช้งานเต็มที่ 60+ Station
Cent OS 5.2
ทำ server image work แล้ว อยู่ๆ ก็เดี๊ยงอีกมีปัญหาตอนไฟกระชาก ให้ Server image ล่ม restart ใหม่ แล้ว server วิ่งหา Imge server ไม่เจอะ หน้างานที่ถ่ายรูปห้องบัตร ถ่ายรูปไม่ได้

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #5 เมื่อ: พฤษภาคม 10, 2011, 13:28:56 PM »
0
คำสั่งนี้ เป็นโรคที่พบบ่อย 20 อันดับ
ที่มีการใช้เครื่องช่วยหายใจ
รวมถึงมีการรวมวันนอน รพ.ด้วย
ฝาก อ.ช่วยตรวจสอบด้วยครับ

select v.pdx,count(v.pdx) as pdx_count, i.name as icdname,sum(v.admdate)
from an_stat v
left outer join icd101 i on i.code=v.pdx
left join iptoprt iop on iop.an=v.an
where v.dchdate between "2010-10-01" and "2011-03-31" and v.pdx is not null and v.pdx<>""
and iop.icd9 in ('9672','9671')
group by v.pdx,i.name
order by pdx_count desc
limit 20
ถ้ามองผ่าน ๆ ก็ใช้ได้ครับ เพราะ limit 20 มันย่อมเอาข้อมูล 20 รายการแรกมาแสดงตามที่เราเรียงอยู่แล้ว
คำถามเดิมครับ หากลำดับที่ 21, 22 , .... มีจำนวน count(pdx) เท่ากับลำดับที่ 20 มันมิเสียใจแย่เหรอครับ ควรจะติดอันดับด้วยนะ
ลองเปลี่ยน sql อีกนิดครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ vinaisena

  • Hero Member
  • *****
  • กระทู้: 615
  • งานสนุกทุกอย่างก็สุข
  • Respect: 0
    • ดูรายละเอียด
    • http://www.senahosp.net
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #6 เมื่อ: พฤษภาคม 10, 2011, 13:52:18 PM »
0
นึกไม่ออก ครับ อาจารย์ บอกใบ้หน่อยซิ
vinai supopoj
เจ้าพนักงานเวชสถิติ รุ่น 12
รพ.เสนา จ.พระนครศรีอยุธยา 180 เตียง
เริ่มระบบ OPD กุมภาพันธ์ 2551
เริ่มระบบ IPD 15 ธันวาคม 2551
ทีม อ.นาจ อ.กัมพล
server IBM x Series 3400 Intel Xeon Quad-Core E5430 2.66 GHz/1333 MHZ RAID 0 RAM 9 GB HD 146 GB
Master database 3.54.7.30
Hosxp 3. 54.8.8 เครื่องที่ผมทำงานอยู่
นอกนั้น หลากหลาย เก่าสุด 52.11.11 LAB
ใช้งานเต็มที่ 60+ Station
Cent OS 5.2
ทำ server image work แล้ว อยู่ๆ ก็เดี๊ยงอีกมีปัญหาตอนไฟกระชาก ให้ Server image ล่ม restart ใหม่ แล้ว server วิ่งหา Imge server ไม่เจอะ หน้างานที่ถ่ายรูปห้องบัตร ถ่ายรูปไม่ได้

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: คำสั่งหาโรคที่พบบ่อบที่มีการใส่ท่อช่วยหายใจ
« ตอบกลับ #7 เมื่อ: พฤษภาคม 10, 2011, 22:31:14 PM »
0
ใช้ concept เดียวกับ http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=20695.msg179052#msg179052 ครับ

คือ ผมจะ count มาก่อนว่า 20 อันดับแรกเนี่ยมีความถี่เท่าไร แล้วค่อยเอาความถี่ 20 อันดับนี้มาหาอีกทีว่ามีโรคอะไรบ้าง
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)