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

相关推荐
PGCCC19 分钟前
【PGCCC】postgresql 缓存池并发设计
数据库·缓存·postgresql
小爬虫程序猿25 分钟前
如何利用Python解析API返回的数据结构?
数据结构·数据库·python
wowocpp1 小时前
查看 磁盘文件系统格式 linux ubuntu blkid ext4
linux·数据库·ubuntu
Ai 编码助手7 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员7 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle7 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻7 小时前
MySQL排序查询
数据库·mysql
萧鼎7 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^7 小时前
数据库连接池的创建
java·开发语言·数据库
荒川之神7 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle