BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: san_kk ที่ เมษายน 28, 2011, 13:59:08 PM
-
เมื่อวาน 27/4/54 สตง. เข้า รพ. ขอข้อมูลจำนวนคนไข้ที่นอนใน รพ.แต่ละวัน ตั้งแต่ปี 2550 - 2554
(เพื่อดูว่าแต่ละวัน รพ.ใช้เตียงเต็มหรือไม่)
รบกวนผู้รู้ขอคำสั่ง SQL หน่อยครับ
พยายามแล้วแต่ไม่สำเร็จ
ขอบคุณครับ
-
เมื่อวาน 27/4/54 สตง. เข้า รพ. ขอข้อมูลจำนวนคนไข้ที่นอนใน รพ.แต่ละวัน ตั้งแต่ปี 2550 - 2554
(เพื่อดูว่าแต่ละวัน รพ.ใช้เตียงเต็มหรือไม่)
รบกวนผู้รู้ขอคำสั่ง SQL หน่อยครับ
พยายามแล้วแต่ไม่สำเร็จ
ขอบคุณครับ
ลองดูแบบนี้ครับ... แก้ไขช่วงวันที่ที่ต้องการ ;D
select regdate,count(an)as cc
from ipt
where regdate between '2011-02-01' and '2011-02-28'
group by regdate
order by regdate
-
ขอบคุณครับ คุณ nuttavut
แต่ว่า
select regdate,count(an)as cc
from ipt
where regdate between '2011-02-01' and '2011-02-28'
group by regdate
order by regdate
จะนับเฉพาะที่ Admit ในวันที่นั้น ๆ ครับ
แต่ที่ สตง. ต้องการคือ ในวันที่นั้น ๆ มีคนไข้นอนรักษาอยู่กี่คนครับ
-
พอได้ไมครับ เคยเขียนคำสั่งไว้นานแล้ว :) :)
แต่พอนำ query นี้ไปใส่ใน report designer แล้วมัน error เหมือนจะไม่รองรับ syn tack นี้
8) 8) 8)
คงต้องใช้ ตัวแปร ใน report designer เข้าช่วย
-
ขอบคุณมากครับ คุณ redfireball
ลอง run ดูแล้วครับ
1. admit_today ตรงกับ ยอดในเมนูแสดงรายการผู้ป่วยที่ admit ในวัน ของ HOSxP
2. dch_ ตรงกับ ยอดในเมนูแสดงรายการผู้ป่วยที่ d/c ในวัน ของ HOSxP
3. admit_curr ไม่ตรงกับ ยอดในเมนูแสดงรายการผู้ป่วยที่กำลังถูก admit (ยังไม่ d/c) ณ วันที่ ...ของ HOSxP
เช่น วันที่ 1/03/2554 admit_today dch_ admit_curr
HOSxP =======> 41 23 107
Query =======> 41 23 128
-
จำนวนผู้ป่วยนอน ณ วัน$ocdate
$sql = "select count(an) as bed from ipt where regdate <= '".$ocdate."' and (dchdate > '".$ocdate."' or dchdate is null ) " ;
แต่ในทางเวชสถิติน่าจะรวมคนที่ Discharge มากกว่า 6 ชม.ด้วย(นับเพิ่มอีก 1วัน)
$sql = "select an from an_stat where dchdate = '".$ocdate."' and admdate > admdate_cut24 " ;
http://wb.srisangworn.go.th/qnet/index.php?option=com_occupycomp
-
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
-
จำนวนผู้ป่วยนอน ณ วัน$ocdate
$sql = "select count(an) as bed from ipt where regdate <= '".$ocdate."' and (dchdate > '".$ocdate."' or dchdate is null ) " ;
แต่ในทางเวชสถิติน่าจะรวมคนที่ Discharge มากกว่า 6 ชม.ด้วย(นับเพิ่มอีก 1วัน)
$sql = "select an from an_stat where dchdate = '".$ocdate."' and admdate > admdate_cut24 " ;
นำไปใช้ยังงัยครับ รบกวนหน่อยครับ
http://wb.srisangworn.go.th/qnet/index.php?option=com_occupycomp
สุดยอดครับ ! คุณ nummon เห็นแล้วอยากทำแบบนี้ แต่ความสามารถไม่ถึงครับ
-
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
ขอบคุณ อ.manoi มากครับ
แต่ว่า นำไปคำนวณอย่างไรให้ได้จำนวนคนไข้ที่นอนรักษาในแต่ละวัน ครับ
-
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
ลองเดาดูว่า admdate คือจำนวนวันที่ an นั้น admit
และ admit_hour คือ จำนวน ชม. ที่ an นั้น admit แต่ลองคูณดูแล้วมันไม่ตรงอ่ะครับ
รบกวน อ. ด้วยครับว่า admdate และ admit_hour หมายความว่าอย่างไรครับ
;D
-
select a.admdate
,(select count(*) from ipt where regdate=a.admdate) 'admit'
,(select count(*) from ipt where dchdate=a.admdate) 'dch'
,(select count(*) from ipt where regdate<=a.admdate and (dchdate>a.admdate or dchdate is null)) 'Stay'
from (select i.regdate 'admdate'
from ipt i
where i.regdate between '2011-1-1' and '2011-1-31'
group by i.regdate) a
-
ขอบคุณครับ woravet
run
select a.admdate
,(select count(*) from ipt where regdate=a.admdate) 'admit'
,(select count(*) from ipt where dchdate=a.admdate) 'dch'
,(select count(*) from ipt where regdate<=a.admdate and (dchdate>a.admdate or dchdate is null)) 'Stay'
from (select i.regdate 'admdate'
from ipt i
where i.regdate between '2011-1-1' and '2011-1-31'
group by i.regdate) a
ผลการ run
เช่น วันที่ 1/03/2554 admit_today dch_ admit_curr
HOSxP =======> 41 23 107
Query1 =======> 41 23 128
Query2 =======> 41 23 108
ครับ ใกล้เคียงที่สุด