ผู้เขียน หัวข้อ: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน  (อ่าน 17405 ครั้ง)

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

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« เมื่อ: เมษายน 28, 2011, 13:59:08 PM »
0
เมื่อวาน 27/4/54 สตง. เข้า รพ. ขอข้อมูลจำนวนคนไข้ที่นอนใน รพ.แต่ละวัน ตั้งแต่ปี 2550 - 2554
(เพื่อดูว่าแต่ละวัน รพ.ใช้เตียงเต็มหรือไม่)
รบกวนผู้รู้ขอคำสั่ง SQL หน่อยครับ
พยายามแล้วแต่ไม่สำเร็จ
ขอบคุณครับ
...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ

ออฟไลน์ nuttavut

  • Hero Member
  • *****
  • กระทู้: 2,634
  • Boom-Beam
  • Respect: +15
    • ดูรายละเอียด
    • โรงพยาบาลวิเชียรบุรี
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #1 เมื่อ: เมษายน 28, 2011, 14:25:08 PM »
0
เมื่อวาน 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

..Wichianburi Hospital  Phetchabun ..
Mr.Nuttavut   System Admin,Programer
Master:: HP DL380 G7 RAM 24GB Raid5 CentOS5.2  Percona 5.1.45
Slave::HP ProLiant ML150G3 Xeon Raid1  CentOS5.2   ,Percona 5.1.45
HOSxP 3.55.7.14, LIS (iLab),PACS
Tel. 0-5692-8169 ต่อ 180  | รพ. ขนาด 150+ เตียง |17 สอ. HOSxP_PCU |BMS Datacenter 18 node |
WWW : http://wichianhos.thaieasydns.com
|..ดูแลห่วงใย ใส่ใจบริการ รักษาได้มาตรฐาน พัฒนางานสู่ความเป็นเลิศ ..|   PDS Project  |  การนำเข้า Script คลิก

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #2 เมื่อ: เมษายน 28, 2011, 14:41:25 PM »
0
ขอบคุณครับ คุณ  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 ในวันที่นั้น ๆ ครับ
แต่ที่ สตง. ต้องการคือ ในวันที่นั้น ๆ มีคนไข้นอนรักษาอยู่กี่คนครับ
...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ

ออฟไลน์ redfireball

  • Full Member
  • ***
  • กระทู้: 219
  • คุณแม่ขอร้อง..ร้อง....
  • Respect: +4
    • ดูรายละเอียด
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #3 เมื่อ: เมษายน 28, 2011, 15:42:04 PM »
0
พอได้ไมครับ เคยเขียนคำสั่งไว้นานแล้ว  :) :)
แต่พอนำ query นี้ไปใส่ใน report designer แล้วมัน error เหมือนจะไม่รองรับ syn tack นี้
 8) 8) 8)
คงต้องใช้ ตัวแปร ใน  report designer เข้าช่วย
โรงพยาบาลสังคม
SANGKHOM HOSPITAL
30 เตียง อ.สังคม จ.หนองคาย
http://www.sangkhomhospital.com
ขึ้นระบบ 5 ธ.ค. 51

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #4 เมื่อ: เมษายน 28, 2011, 16:28:04 PM »
0
ขอบคุณมากครับ คุณ 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

...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ

ออฟไลน์ nummon

  • Full Member
  • ***
  • กระทู้: 107
  • Respect: 0
    • ดูรายละเอียด
    • SrisangwornSukhothai Hospital
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #5 เมื่อ: เมษายน 28, 2011, 18:06:19 PM »
0
จำนวนผู้ป่วยนอน ณ วัน$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
<a href=http://www.srisangworn.go.th>โรงพยาบาลศรีสังวรสุโขทัย</a>
Hosxp : 3.54.2.15
SERVER :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.1   Mysql  5.1.23-rc
SLAVE-I :  Xeon 3.4    Ram 4G   HD 120 GB OS : Linux CENOS 5.2   Mysql  5.1.45 (Mysql Replication)
เริ่ม  4 สิงหาคม 2549  ขึ้นระบบ : อ.ชัยพร และ ทีม BMS

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #6 เมื่อ: เมษายน 28, 2011, 19:09:56 PM »
0
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #7 เมื่อ: เมษายน 29, 2011, 09:07:18 AM »
0
อ้างถึง
จำนวนผู้ป่วยนอน ณ วัน$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 เห็นแล้วอยากทำแบบนี้ แต่ความสามารถไม่ถึงครับ
...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #8 เมื่อ: เมษายน 29, 2011, 09:10:53 AM »
0
อ้างถึง
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ
ขอบคุณ อ.manoi มากครับ
แต่ว่า นำไปคำนวณอย่างไรให้ได้จำนวนคนไข้ที่นอนรักษาในแต่ละวัน ครับ
...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ

ออฟไลน์ เข้ม

  • Hero Member
  • *****
  • กระทู้: 2,805
  • Respect: +4
    • ดูรายละเอียด
    • phichit hospital
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #9 เมื่อ: เมษายน 29, 2011, 10:02:30 AM »
0
ดูรายการผู้ป่วยค้าง Ward ย้อนหลังได้ที่ตาราง ipt_ward_stat ครับ

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

 ;D
« แก้ไขครั้งสุดท้าย: เมษายน 29, 2011, 10:13:59 AM โดย เข้ม »
Phichit Hospital
HOSxP 3.61.10.31 on FreeBSD 9.2
By BMS - Dec 26, 2007

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 414
  • Respect: +12
    • ดูรายละเอียด
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #10 เมื่อ: เมษายน 29, 2011, 12:33:05 PM »
0
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

รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ san_kk

  • Jr. Member
  • **
  • กระทู้: 90
  • Respect: 0
    • ดูรายละเอียด
    • http://www.khukhan.go.th
Re: SQL จำนวนคนไข้ที่นอนใน รพ.แต่ละวัน
« ตอบกลับ #11 เมื่อ: เมษายน 29, 2011, 13:41:31 PM »
0
ขอบคุณครับ 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

ครับ ใกล้เคียงที่สุด
...Khukhan...Hospital...Sisaket...
HOSxP : 3.56.2.26 Oracle 6.0 MySQL 5.5.11-55
Mr.sanan Thiantong
san_exp@hotmail.com
ขึ้นระบบ : 2549 =>อ.สุชัย
Refresh  : 2551 =>BMS
HOSxP หนึ่งเดียวในจังหวัดศรีสะเกษ