select o.名称,
nvl(sum(a.原有人数), 0) as 原有人数,
nvl(sum(b.现有人数), 0) as 现有人数,
nvl(sum(c.入院人数), 0) as 入院人数,
nvl(sum(d.转入人数), 0) as 转入人数,
nvl(sum(e.死亡人数), 0) as 死亡人数,
nvl(sum(f.出院人数), 0) as 出院人数,
nvl(sum(g.转出人数), 0) as 转出人数,
nvl(sum(h.病危人数), 0) as 病危人数,
nvl(sum(i.病重人数), 0) as 病重人数,
nvl(sum(j.出院者床日数), 0) as 出院者床日数,
nvl(sum(s.住院天数), 0) as 总住院天数,
nvl(sum(k.门入符合人数), 0) as 门入符合人数,
nvl(sum(n.出入符合人数), 0) as 出入符合人数,
nvl(sum(l.抢救次数), 0) as 抢救次数,
nvl(sum(m.成功次数), 0) as 成功次数,
nvl(sum(q.治愈人数), 0) as 治愈,
nvl(sum(q.好转人数), 0) as 好转,
nvl(sum(q.未愈人数), 0) as 未愈,
nvl(sum(q.死亡人数), 0) as 死亡,
nvl(sum(o.实有床位), 0) as 实有床位,
nvl( decode (sum(o.实有床位),0,0,(sum(s.住院天数) /
(sum(o.实有床位) *
decode((Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/)),
0,
1,
(Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/))+1)))),0) as 床位利用率,
nvl(sum(f.出院人数) / decode(sum(o.实有床位), 0, 1, sum(o.实有床位)),0) as 床位转次数,
nvl(sum(k.门入符合人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 门入符合诊断率,
nvl(sum(j.出院者床日数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)) ,0)as 平均住院日,
nvl(sum(s.住院天数) / decode(sum(o.实有床位), 0, 1, sum(o.实有床位)),0) as 平均床工作日l,
nvl( sum(h.病危人数) / decode(sum(s.住院天数), 0, 1, sum(s.住院天数)),0) as 病危占比,
nvl(sum(i.病重人数) / decode(sum(s.住院天数), 0, 1, sum(s.住院天数)),0) as 病重占比,
nvl(sum(m.成功次数) / decode(sum(l.抢救次数), 0, 1, sum(l.抢救次数)),0) as 救活率,
nvl( sum(e.死亡人数) / decode(sum(l.抢救次数), 0, 1, sum(l.抢救次数)),0) as 死亡率一,
nvl(sum(q.治愈人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 治愈率,
nvl( sum(q.好转人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 好转率,
nvl( sum(q.未愈人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 未愈率,
nvl(sum(q.死亡人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 死亡率二,
nvl(sum(n.出入符合人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 出入符合诊断率
from (select id,
名称,
decode(a.id,
179,
10,
853,
25,
1074,
12,
206,
25,
187,
20,
208,
25,0) as 实有床位
from 部门表 a, 部门性质说明 b, (select distinct c.科室id from 病区科室对应 c) c
where a.id = b.部门id
and b.工作性质 = '临床'
and a.id=c.科室id) o,
(Select 出院科室id, count(*) as 原有人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
b.科室id as 出院科室id
From 病案主页 A,
病人变动记录 B,
(Select 病人ID, 主页ID, Max(开始时间) As 开始时间
From 病人变动记录
Where 开始时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
Group By 病人ID, 主页ID) C
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
And B.病人id = C.病人id
And B.主页ID = C.主页ID
And B.开始时间 = C.开始时间
-- And B.病区id=n_wardid
And (A.出院日期 Is null or
A.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
)
And A.入科时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0)
group by 出院科室id) a,
--现有人数
(Select 出院科室id,
count(*) as 现有人数,
sum(总住院天数) as 总住院天数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
decode((Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc(入院日期)),
0,
1,
(Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc(入院日期))) as 总住院天数
From 病案主页 A,
病人变动记录 B,
(Select 病人ID, 主页ID, Max(开始时间) As 开始时间
From 病人变动记录
Where 开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
Group By 病人ID, 主页ID) C
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
And B.病人id = C.病人id
And B.主页ID = C.主页ID
And B.开始时间 = C.开始时间
-- And B.病区id=n_wardid
And (A.出院日期 Is null or
A.出院日期 >= /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
And A.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0)
group by 出院科室id) b,
--入院人数
(Select 出院科室id, count(*) as 入院人数
From (Select Distinct B.病人id As Pid,
B.主页id As Pvid,
a.科室id as 出院科室id
From 病人变动记录 A, 病案主页 B
Where a.病人id = b.病人id
And a.主页id = b.主页id
--And a.病区id + 0 = n_wardid
And Nvl(A.附加床位, 0) = 0
And a.开始原因 = 2
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 出院科室id) c,
--转入人数,转病区
(Select 科室id, Count(*) as 转入人数
From (Select Distinct D.病人id As Pid, D.主页id As Pvid, a.科室id
From 病人变动记录 A, 病人变动记录 B, 病案主页 D
Where a.病人id = b.病人id
And a.主页id = b.主页id
And a.病人id = d.病人id
And a.主页id = d.主页id
And a.开始时间 = b.终止时间
And a.开始原因 in (3, 15)
-- And a.病区id + 0 = n_wardid
And Nvl(A.附加床位, 0) = 0
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 科室id) d,
--死亡人数
(Select 出院科室id, Count(*) as 死亡人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
--And a.当前病区id + 0 = n_wardid
and a.出院方式 = '死亡')
group by 出院科室id) e,
--出院人数
(Select 出院科室id, count(*) as 出院人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
-- And a.当前病区id + 0 = n_wardid
--and a.出院方式 <> '死亡'
)
group by 出院科室id) f,
--转出人数,转病区
(Select 科室id, count(*) as 转出人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, a.科室id
From 病人变动记录 A, 病人变动记录 B
Where a.病人id = b.病人id
And a.主页id = b.主页id
And a.开始时间 = b.终止时间
And a.开始原因 in (3, 15)
And Nvl(B.附加床位, 0) = 0
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 科室id) g,
--危重人数
(Select 科室id, count(*) as 病危人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, b.科室id
From 病案主页 A,
病人变动记录 B
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
-- And B.病人id = C.病人id
-- And B.主页ID = C.主页ID
-- And B.开始时间 = C.开始时间
and b.开始原因=13
-- And B.病区id=n_wardi
and b.开始时间>/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and b.开始时间</*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0
And B.病情 = '危')
group by 科室id) h,
(Select 科室id, count(*) as 病重人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, b.科室id
From 病案主页 A,
病人变动记录 B
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
--And B.病人id = C.病人id
--And B.主页ID = C.主页ID
-- And B.开始时间 = C.开始时间
and b.开始原因=13
--And B.病区id=n_wardid
and b.开始时间>/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and b.开始时间</*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0
And B.病情 = '重')
group by 科室id) i,
(Select 出院科室id, sum(住院天数) as 出院者床日数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
a.住院天数
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
-- And a.当前病区id + 0 = n_wardid
)
group by 出院科室id) j,
(Select 出院科室id,count(*) as 总住院天数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A,住院费用记录 b
Where b.发生时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And b.发生时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.病人id=b.病人id
and a.主页id=b.主页id
and b.记录状态=1
and b.收费细目id=37
-- And a.当前病区id + 0 = n_wardid
)
group by 出院科室id) r,
(select a.出院科室id, count(*) as 门入符合人数
from 诊断符合情况 t, 病案主页 a
where t.符合类型 = 7
and t.符合情况 = 1
and a.病人id = t.病人id
and a.主页id = t.主页id
and a.出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id) k,
(select 出院科室id, count(*) as 抢救次数
from 病案主页
where 抢救次数 > 0
and 出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by 出院科室id) l,
(select 出院科室id, count(*) as 成功次数
from 病案主页
where 成功次数 > 0
and 出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by 出院科室id) m,
(select a.出院科室id, count(*) as 出入符合人数
from 诊断符合情况 t, 病案主页 a
where t.符合类型 = 2
and t.符合情况 = 1
and a.病人id = t.病人id
and a.主页id = t.主页id
and a.出院日期 between /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id) n,
(Select 出院科室id,
sum(decode(出院情况, '治愈', 1, 0)) as 治愈人数,
sum(decode(出院情况, '好转', 1, 0)) as 好转人数,
sum(decode(出院情况, '未愈', 1, 0)) as 未愈人数,
sum(decode(出院情况, '死亡', 1, 0)) as 死亡人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
p.出院情况
From 病案主页 A,
(select 病人id, 主页id, 出院情况
from 病人诊断记录 p
where 记录来源 = 3
and 诊断类型 = 3
and 诊断次序 = 1
and 编码序号 = 1) p
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.病人id = p.病人id
and a.主页id = p.主页id
)
group by 出院科室id) q,
(
select 出院科室id,sum(住院天数) as 住院天数 from (
select a.出院科室id,
sum(decode(trunc(a.出院日期) - trunc(a.入科时间),
0,
1,
trunc(a.出院日期 - trunc(a.入科时间)))) as 住院天数
from 病案主页 a
where a.入科时间 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.出院日期 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(a.入科时间),
0,
1,
trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(a.入科时间))) as 住院天数
from 病案主页 a
where a.入科时间 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and (a.出院日期 > /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
or a.出院日期 is null)
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/),
0,
1,
trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/))) as 住院天数
from 病案主页 a
where a.入科时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and (a.出院日期 > /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
or a.出院日期 is null)
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(a.出院日期) - trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/),
0,
1,
trunc(a.出院日期 - trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/)))) as 住院天数
from 病案主页 a
where a.入科时间 </*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id)
group by 出院科室id) s
where o.id = a.出院科室id(+)
and o.id = b.出院科室id(+)
and o.id = c.出院科室id(+)
and o.id = d.科室id(+)
and o.id = e.出院科室id(+)
and o.id = f.出院科室id(+)
and o.id = g.科室id(+)
and o.id = h.科室id(+)
and o.id = i.科室id(+)
and o.id = j.出院科室id(+)
and o.id = k.出院科室id(+)
and o.id = l.出院科室id(+)
and o.id = m.出院科室id(+)
and o.id = n.出院科室id(+)
and o.id = q.出院科室id(+)
and o.id=r.出院科室id(+)
and o.id=s.出院科室id(+)
group by o.名称
union all
select '全院' as 名称,
nvl(sum(a.原有人数), 0) as 原有人数,
nvl(sum(b.现有人数), 0) as 现有人数,
nvl(sum(c.入院人数), 0) as 入院人数,
nvl(sum(d.转入人数), 0) as 转入人数,
nvl(sum(e.死亡人数), 0) as 死亡人数,
nvl(sum(f.出院人数), 0) as 出院人数,
nvl(sum(g.转出人数), 0) as 转出人数,
nvl(sum(h.病危人数), 0) as 病危人数,
nvl(sum(i.病重人数), 0) as 病重人数,
nvl(sum(j.出院者床日数), 0) as 出院者床日数,
nvl(sum(s.住院天数), 0) as 总住院天数,
nvl(sum(k.门入符合人数), 0) as 门入符合人数,
nvl(sum(n.出入符合人数), 0) as 出入符合人数,
nvl(sum(l.抢救次数), 0) as 抢救次数,
nvl(sum(m.成功次数), 0) as 成功次数,
nvl(sum(q.治愈人数), 0) as 治愈,
nvl(sum(q.好转人数), 0) as 好转,
nvl(sum(q.未愈人数), 0) as 未愈,
nvl(sum(q.死亡人数), 0) as 死亡,
nvl(sum(o.实有床位), 0) as 实有床位,
nvl(decode(sum(o.实有床位),0,0,( sum(s.住院天数) /
(sum(o.实有床位) *
decode((Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/)),
0,
1,
(Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/))+1)))),0) as 床位利用率,
nvl(sum(f.出院人数) / decode(sum(o.实有床位), 0, 1, sum(o.实有床位)),0) as 床位转次数,
nvl(sum(k.门入符合人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 门入符合诊断率,
nvl(sum(j.出院者床日数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)) ,0)as 平均住院日,
nvl(sum(s.住院天数) / decode(sum(o.实有床位), 0, 1, sum(o.实有床位)),0) as 平均床工作日l,
nvl( sum(h.病危人数) / decode(sum(s.住院天数), 0, 1, sum(s.住院天数)),0) as 病危占比,
nvl(sum(i.病重人数) / decode(sum(s.住院天数), 0, 1, sum(s.住院天数)),0) as 病重占比,
nvl(sum(m.成功次数) / decode(sum(l.抢救次数), 0, 1, sum(l.抢救次数)),0) as 救活率,
nvl( sum(e.死亡人数) / decode(sum(l.抢救次数), 0, 1, sum(l.抢救次数)),0) as 死亡率一,
nvl(sum(q.治愈人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 治愈率,
nvl( sum(q.好转人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 好转率,
nvl( sum(q.未愈人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 未愈率,
nvl(sum(q.死亡人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 死亡率二,
nvl(sum(n.出入符合人数) / decode(sum(f.出院人数), 0, 1, sum(f.出院人数)),0) as 出入符合诊断率
from (select id,
名称,
decode(a.id,
179,
10,
853,
25,
1074,
12,
206,
25,
187,
20,
208,
25,0) as 实有床位
from 部门表 a, 部门性质说明 b, (select distinct c.科室id from 病区科室对应 c) c
where a.id = b.部门id
and b.工作性质 = '临床'
and a.id=c.科室id) o,
(Select 出院科室id, count(*) as 原有人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
b.科室id as 出院科室id
From 病案主页 A,
病人变动记录 B,
(Select 病人ID, 主页ID, Max(开始时间) As 开始时间
From 病人变动记录
Where 开始时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
Group By 病人ID, 主页ID) C
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
And B.病人id = C.病人id
And B.主页ID = C.主页ID
And B.开始时间 = C.开始时间
-- And B.病区id=n_wardid
And (A.出院日期 Is null or
A.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
)
And A.入科时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0)
group by 出院科室id) a,
--现有人数
(Select 出院科室id,
count(*) as 现有人数,
sum(总住院天数) as 总住院天数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
decode((Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc(入院日期)),
0,
1,
(Trunc( /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
Trunc(入院日期))) as 总住院天数
From 病案主页 A,
病人变动记录 B,
(Select 病人ID, 主页ID, Max(开始时间) As 开始时间
From 病人变动记录
Where 开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
Group By 病人ID, 主页ID) C
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
And B.病人id = C.病人id
And B.主页ID = C.主页ID
And B.开始时间 = C.开始时间
-- And B.病区id=n_wardid
And (A.出院日期 Is null or
A.出院日期 >= /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
And A.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0)
group by 出院科室id) b,
--入院人数
(Select 出院科室id, count(*) as 入院人数
From (Select Distinct B.病人id As Pid,
B.主页id As Pvid,
a.科室id as 出院科室id
From 病人变动记录 A, 病案主页 B
Where a.病人id = b.病人id
And a.主页id = b.主页id
--And a.病区id + 0 = n_wardid
And Nvl(A.附加床位, 0) = 0
And a.开始原因 = 2
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 出院科室id) c,
--转入人数,转病区
(Select 科室id, Count(*) as 转入人数
From (Select Distinct D.病人id As Pid, D.主页id As Pvid, a.科室id
From 病人变动记录 A, 病人变动记录 B, 病案主页 D
Where a.病人id = b.病人id
And a.主页id = b.主页id
And a.病人id = d.病人id
And a.主页id = d.主页id
And a.开始时间 = b.终止时间
And a.开始原因 in (3, 15)
-- And a.病区id + 0 = n_wardid
And Nvl(A.附加床位, 0) = 0
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 科室id) d,
--死亡人数
(Select 出院科室id, Count(*) as 死亡人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
--And a.当前病区id + 0 = n_wardid
and a.出院方式 = '死亡')
group by 出院科室id) e,
--出院人数
(Select 出院科室id, count(*) as 出院人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
-- And a.当前病区id + 0 = n_wardid
--and a.出院方式 <> '死亡'
)
group by 出院科室id) f,
--转出人数,转病区
(Select 科室id, count(*) as 转出人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, a.科室id
From 病人变动记录 A, 病人变动记录 B
Where a.病人id = b.病人id
And a.主页id = b.主页id
And a.开始时间 = b.终止时间
And a.开始原因 in (3, 15)
And Nvl(B.附加床位, 0) = 0
And a.开始时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.开始时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
)
group by 科室id) g,
--危重人数
(Select 科室id, count(*) as 病危人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, b.科室id
From 病案主页 A,
病人变动记录 B
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
-- And B.病人id = C.病人id
-- And B.主页ID = C.主页ID
--And B.开始时间 = C.开始时间
and b.开始原因=13
-- And B.病区id=n_wardi
and b.开始时间>/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and b.开始时间</*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0
And B.病情 = '危')
group by 科室id) h,
(Select 科室id, count(*) as 病重人数
From (Select Distinct A.病人id As Pid, A.主页id As Pvid, b.科室id
From 病案主页 A,
病人变动记录 B
Where A.病人id = B.病人id
And A.主页ID = B.主页ID
-- And B.病人id = C.病人id
--And B.主页ID = C.主页ID
--And B.开始时间 = C.开始时间
and b.开始原因=13
--And B.病区id=n_wardid
and b.开始时间>/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and b.开始时间</*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
And Nvl(A.状态, 0) <> 1
And Nvl(B.附加床位, 0) = 0
And B.病情 = '重')
group by 科室id) i,
(Select 出院科室id, sum(住院天数) as 出院者床日数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
a.住院天数
From 病案主页 A
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
-- And a.当前病区id + 0 = n_wardid
)
group by 出院科室id) j,
(Select 出院科室id,count(*) as 总住院天数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id
From 病案主页 A,住院费用记录 b
Where b.发生时间 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And b.发生时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.病人id=b.病人id
and a.主页id=b.主页id
and b.记录状态=1
and b.收费细目id=37
-- And a.当前病区id + 0 = n_wardid
)
group by 出院科室id) r,
(select a.出院科室id, count(*) as 门入符合人数
from 诊断符合情况 t, 病案主页 a
where t.符合类型 = 7
and t.符合情况 = 1
and a.病人id = t.病人id
and a.主页id = t.主页id
and a.出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id) k,
(select 出院科室id, count(*) as 抢救次数
from 病案主页
where 抢救次数 > 0
and 出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by 出院科室id) l,
(select 出院科室id, count(*) as 成功次数
from 病案主页
where 成功次数 > 0
and 出院日期 between
/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by 出院科室id) m,
(select a.出院科室id, count(*) as 出入符合人数
from 诊断符合情况 t, 病案主页 a
where t.符合类型 = 2
and t.符合情况 = 1
and a.病人id = t.病人id
and a.主页id = t.主页id
and a.出院日期 between /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id) n,
(Select 出院科室id,
sum(decode(出院情况, '治愈', 1, 0)) as 治愈人数,
sum(decode(出院情况, '好转', 1, 0)) as 好转人数,
sum(decode(出院情况, '未愈', 1, 0)) as 未愈人数,
sum(decode(出院情况, '死亡', 1, 0)) as 死亡人数
From (Select Distinct A.病人id As Pid,
A.主页id As Pvid,
a.出院科室id,
p.出院情况
From 病案主页 A,
(select 病人id, 主页id, 出院情况
from 病人诊断记录 p
where 记录来源 = 3
and 诊断类型 = 3
and 诊断次序 = 1
and 编码序号 = 1) p
Where a.出院日期 >= /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
And a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.病人id = p.病人id
and a.主页id = p.主页id
)
group by 出院科室id) q,
(select 出院科室id,sum(住院天数) as 住院天数 from (
select a.出院科室id,
sum(decode(trunc(a.出院日期) - trunc(a.入科时间),
0,
1,
trunc(a.出院日期 - trunc(a.入科时间)))) as 住院天数
from 病案主页 a
where a.入科时间 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and a.出院日期 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(a.入科时间),
0,
1,
trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(a.入科时间))) as 住院天数
from 病案主页 a
where a.入科时间 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.入科时间 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
and (a.出院日期 > /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
or a.出院日期 is null)
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc( /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/),
0,
1,
trunc(/*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/) -
trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/))) as 住院天数
from 病案主页 a
where a.入科时间 < /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and (a.出院日期 > /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
or a.出院日期 is null)
group by a.出院科室id
union all
select a.出院科室id,
sum(decode(trunc(a.出院日期) - trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/),
0,
1,
trunc(a.出院日期 - trunc(/*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/)))) as 住院天数
from 病案主页 a
where a.入科时间 </*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 > /*B0*/TO_DATE('2023-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/
and a.出院日期 < /*B1*/TO_DATE('2023-10-31 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/
group by a.出院科室id)
group by 出院科室id) s
where o.id = a.出院科室id(+)
and o.id = b.出院科室id(+)
and o.id = c.出院科室id(+)
and o.id = d.科室id(+)
and o.id = e.出院科室id(+)
and o.id = f.出院科室id(+)
and o.id = g.科室id(+)
and o.id = h.科室id(+)
and o.id = i.科室id(+)
and o.id = j.出院科室id(+)
and o.id = k.出院科室id(+)
and o.id = l.出院科室id(+)
and o.id = m.出院科室id(+)
and o.id = n.出院科室id(+)
and o.id = q.出院科室id(+)
and o.id=r.出院科室id(+)
and o.id=s.出院科室id(+)
--group by o.名称