出院患者占用总床日数、普通床位、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.床位数 )

相关推荐
bin91532 分钟前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
Miqiuha10 分钟前
lock_guard和unique_lock学习总结
java·数据库·学习
一 乐1 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
Java探秘者5 小时前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2301_786964365 小时前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
阿维的博客日记6 小时前
图文并茂解释水平分表,垂直分表,水平分库,垂直分库
数据库·分库分表
wrx繁星点点7 小时前
事务的四大特性(ACID)
java·开发语言·数据库
小小娥子7 小时前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK7 小时前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
-XWB-8 小时前
【MySQL】数据目录迁移
数据库·mysql