出院患者占用总床日数、普通床位、ICU床位、专科ICU床位使用率

----出院患者占用总床日数、普通床位使用率、ICU床位使用率、专科ICU床位使用率

select m.名称 科室,m.出院占用总床日,round(m1.总住院日/(n.现有床位数*m.时间范围天数)*100,1)||'%' 床位使用率 from (

select 名称,当前病区id,

count(主页id) as 总计,

sum(出院占用床日) As 出院占用总床日,

trunc( /*B1*/TO_DATE('2024-03-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/) -

trunc( /*B0*/TO_DATE('2024-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/) + 1 as 时间范围天数

from (select V_病区id as 当前病区id,

null as 主页ID,

V_天数 As 出院占用床日

from table(ZL_WBY_Pak_Get病人住院天数.Zl_Wby_Fun病人住院天数( /*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS') /*E0*/, /*B1*/ TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS') /*E1*/))

union all

select 当前病区id, 主页ID, 0 As 出院占用床日

from 病案主页

where 出院日期 between /*B0*/

TO_DATE('2024-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/

and /*B1*/

TO_DATE('2024-03-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/

and 病人id || 主页id not in ('8810961', '10464982')),

部门表

where 当前病区id = id

group by 当前病区id,名称) m,

(select 当前病区id,nvl(sum(decode(to_date(出院日期, 'yyyy-mm-dd') -

to_date(入院日期, 'yyyy-mm-dd'),

0,

1,

to_date(出院日期, 'yyyy-mm-dd') -

to_date(入院日期, 'yyyy-mm-dd'))),0)as 总住院日

from (select 病人id,

主页id,当前病区id,

case

when 入院日期 <

/*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/ then

to_char(/*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/,

'yyyy-mm-dd')

else

to_char(入院日期, 'yyyy-mm-dd')

end as 入院日期,

case

when nvl(出院日期, sysdate) >

/*B1*/TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/ then

to_char(/*B1*/TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/,

'yyyy-mm-dd')

else

to_char(出院日期, 'yyyy-mm-dd')

end as 出院日期

from 病案主页

where 入院日期 <

/*B1*/TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and nvl(出院日期, sysdate) >

/*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and 出院病床 is not null and 病人id||主页id not in ('8810961' ,'10464982')

and 主页id <> 0)

group by 当前病区id) m1,

(

select 病区id, 床位数 as 现有床位数

from 床位状况记录_统计

where 病区id not in

(select id

from 部门表

where 建档时间 > /*B1*/

TO_DATE('2024-03-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/

or 撤档时间 < /*B0*/

TO_DATE('2024-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/

)

) n

where m.当前病区id=n.病区id

and m.当前病区id=m1.当前病区id

union all

select 科室,天数,round(天数/(床位数*时间范围天数)*100,2)||'%' 床位使用率 from(

select 'NICU' 科室,

decode(sum(trunc(t.出科时间)-trunc(t.入科时间)),0,1,sum(trunc(t.出科时间)-trunc(t.入科时间))) 天数,

trunc( /*B1*/TO_DATE('2024-03-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/) -

trunc( /*B0*/TO_DATE('2024-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/) + 1 as 时间范围天数,t1.床位数

from (select h.住院号,

h.姓名,

m.病人id,

m.主页id,

n.终止时间 入科时间,

(select 名称 from 部门表 where id = n.科室id) 转入前科室,

(select 名称 from 部门表 where id = m.科室id) 入科,

m.床号,

m.终止时间 出科时间,

LEAD(m.科室id) OVER(PARTITION BY m.病人id, m.主页id ORDER BY n.终止时间) 转出后科室

from (select x.*,

RANK() OVER(PARTITION BY x.病人id, x.主页id ORDER BY rownum) as 序号

from (select q.病人id,

q.主页id,

a.开始原因,

科室id,

床号,

终止时间,

终止原因

from 病案主页 q, 病人变动记录 a

where (开始原因 = 1 or 终止原因 in (1, 3))

and q.病人id = a.病人id

and q.主页id = a.主页id

and a.附加床位<>1

and q.出院日期 between

/*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/ and /*B1*/TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

And q.出院科室id is not null

order by 开始时间, 开始原因) x) m,

(select x.*,

RANK() OVER(PARTITION BY x.病人id, x.主页id ORDER BY rownum) + 1 as 序号

from (select q.病人id,

q.主页id,

a.开始原因,

科室id,

终止时间,

终止原因

from 病案主页 q, 病人变动记录 a

where (开始原因 = 1 or 终止原因 in (1, 3))

and q.病人id = a.病人id

and q.主页id = a.主页id

and a.附加床位<>1

and q.出院日期 between /*B0*/TO_DATE('2024-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/ and /*B1*/TO_DATE('2024-03-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

And q.出院科室id is not null

order by 开始时间, 开始原因) x) n,

病案主页 h

where m.序号 = n.序号

and m.病人id = n.病人id

and m.主页id = n.主页id

and m.病人id = h.病人id

and m.主页id = h.主页id) t,

(select count(*) 床位数 from 床位状况记录 where 病区id=255 and 床号 between 60 and 70 and 状态<>'修缮'

) t1

where t.入科 = '儿二科'

and 床号 between 60 and 70

group by t1.床位数 )

相关推荐
萧曵 丶12 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
胡斌附体15 分钟前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置
moon66sun25 分钟前
开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
数据库·esb
TDengine (老段)43 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
DarkAthena1 小时前
【GaussDB】深度解析:创建存储过程卡死且无法Kill会话的疑难排查
数据库·gaussdb
Gauss松鼠会1 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说1 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
Java初学者小白2 小时前
秋招Day15 - Redis - 缓存设计
java·数据库·redis·缓存
绅士玖3 小时前
前端数据存储总结:Cookie、localStorage、sessionStorage与IndexedDB的使用与区别
前端·javascript·数据库
RainbowSea3 小时前
15. MySQL 多版本并发控制
java·sql·mysql