周五的时候,接到临床医生的一个电话,“王老师您好,我们主任想跟您要点数据:每个月按医生姓名统计出院患者人次、平均住院日及收治亚专业患者数量及比例。”
收到数据申请后,我第一时间做了一个分析:首先,这个数据,我们目前系统里面没有现成的报表可供查询,只能从我自建的病案首页数据库调取;其次,本次申请中主要涉及三方面数据,①每个医生收治患者数,②每个医生收治患者的平均住院日,③每个医生收治专业病种内的患者数量及百分比。
需求整理好了,下一步就是着手处理数据了。等等,等等……有点不对劲,每个月都要一次数据,总不至于我每个月都用excel计算一次吧,我不太喜欢。虽然这个需求目前仅仅是一个科室的,但不排除以后其他科室也想用啊,我准备用数据库做,并且将SQL语句集成到我自编的系统中去,方便查询。
昨天我也做了量个简单的SQL的例子,今天这个活,要在昨天数据的基础上,做点处理。
第一步,计算每个医生的出院患者数及平均住院日
Select 住院医师,COUNT(*) AS 出院人次,AVG(住院天数) as 平均住院日
from ba 'ba为病案首页表的名称,下同
where 出院科室=’科室名称’ and 出院日期 between ‘开始时间’ and ‘结束时间’
第二步,计算每个医生收治的专业病种内的患者人次。
select 住院医师,COUNT(*) AS 专业病种数
from zybz '专业病种表
where 出院科室='科室名称' and 出院日期 between ‘开始时间’ and ‘结束时间’
其实这一个步骤我写的比较简单,实际上,这个还是比较复杂的,我还专门做了字典,但是在这里不打算太详细讲解,简单说点,便于理解。后续会详细讲解,敬请关注。
第三步,将前两步的数据合并,整合成新表。第一步的表格新命名为A,第二步的表格新命名为B,连接起来就可以了。
select a.住院医师,a.出院人次,a.平均住院日,b.专业病种数,b.专业病种数/a.出院人次*100 as 专业病种百分比 from
(Select 住院医师,COUNT(*) AS 出院人次,AVG(住院天数) as 平均住院日
From ba
Where 出院科室=’科室名称’
and 出院日期 between ‘开始时间’ and ‘结束时间’) a,
(select 住院医师,COUNT(*) AS 专业病种数
FROM zybz
where 出院科室='科室名称' and
出院日期 between ‘开始时间’ and ‘结束时间’) b
where a.住院医师=b.住院医师
order by a.住院医师
把语句挂在程序中,以后就可以直接从程序中直接调取数据库中的数据,一次开发,后续使用特别方便。
领取专属 10元无门槛券
私享最新 技术干货