BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: san_kk ที่ เมษายน 28, 2011, 13:59:08 PM

หัวข้อ: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 28, 2011, 13:59:08 PM
เมื่อวาน 27/4/54 สตง. เข้า รพ. ขอข้อมูลจำนวนคนไข้ที่นอนใน รพ.แต่ละวัน ตั้งแต่ปี 2550 - 2554
(เพื่อดูว่าแต่ละวัน รพ.ใช้เตียงเต็มหรือไม่)
รบกวนผู้รู้ขอคำสั่ง SQL หน่อยครับ
พยายามแล้วแต่ไม่สำเร็จ
ขอบคุณครับ
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: nuttavut ที่ เมษายน 28, 2011, 14:25:08 PM
เมื่อวาน 27/4/54 สตง. เข้า รพ. ขอข้อมูลจำนวนคนไข้ที่นอนใน รพ.แต่ละวัน ตั้งแต่ปี 2550 - 2554
(เพื่อดูว่าแต่ละวัน รพ.ใช้เตียงเต็มหรือไม่)
รบกวนผู้รู้ขอคำสั่ง SQL หน่อยครับ
พยายามแล้วแต่ไม่สำเร็จ
ขอบคุณครับ

ลองดูแบบนี้ครับ... แก้ไขช่วงวันที่ที่ต้องการ  ;D

โค๊ด: [Select]
select regdate,count(an)as cc
from ipt
where  regdate between '2011-02-01' and '2011-02-28'
group by regdate
order by  regdate

หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 28, 2011, 14:41:25 PM
ขอบคุณครับ คุณ  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 ในวันที่นั้น ๆ ครับ
แต่ที่ สตง. ต้องการคือ ในวันที่นั้น ๆ มีคนไข้นอนรักษาอยู่กี่คนครับ
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: redfireball ที่ เมษายน 28, 2011, 15:42:04 PM
พอได้ไมครับ เคยเขียนคำสั่งไว้นานแล้ว  :) :)
แต่พอนำ query นี้ไปใส่ใน report designer แล้วมัน error เหมือนจะไม่รองรับ syn tack นี้
 8) 8) 8)
คงต้องใช้ ตัวแปร ใน  report designer เข้าช่วย
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 28, 2011, 16:28:04 PM
ขอบคุณมากครับ คุณ 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

หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: nummon ที่ เมษายน 28, 2011, 18:06:19 PM
จำนวนผู้ป่วยนอน ณ วัน$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
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: manoi ที่ เมษายน 28, 2011, 19:09:56 PM
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 29, 2011, 09:07:18 AM
อ้างถึง
จำนวนผู้ป่วยนอน ณ วัน$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 เห็นแล้วอยากทำแบบนี้ แต่ความสามารถไม่ถึงครับ
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 29, 2011, 09:10:53 AM
อ้างถึง
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
ขอบคุณ อ.manoi มากครับ
แต่ว่า นำไปคำนวณอย่างไรให้ได้จำนวนคนไข้ที่นอนรักษาในแต่ละวัน ครับ
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: เข้ม ที่ เมษายน 29, 2011, 10:02:30 AM
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ

ลองเดาดูว่า admdate คือจำนวนวันที่ an นั้น admit
และ admit_hour คือ จำนวน ชม. ที่ an นั้น admit   แต่ลองคูณดูแล้วมันไม่ตรงอ่ะครับ
รบกวน อ. ด้วยครับว่า admdate และ admit_hour หมายความว่าอย่างไรครับ

 ;D
หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: woravet ที่ เมษายน 29, 2011, 12:33:05 PM
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

หัวข้อ: Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
เริ่มหัวข้อโดย: san_kk ที่ เมษายน 29, 2011, 13:41:31 PM
ขอบคุณครับ 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

ครับ ใกล้เคียงที่สุด