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

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值