以后每个月都想要的数据,我就一次搞定

周五的时候,接到临床医生的一个电话,“王老师您好,我们主任想跟您要点数据:每个月按医生姓名统计出院患者人次、平均住院日及收治亚专业患者数量及比例。”

收到数据申请后,我第一时间做了一个分析:首先,这个数据,我们目前系统里面没有现成的报表可供查询,只能从我自建的病案首页数据库调取;其次,本次申请中主要涉及三方面数据,①每个医生收治患者数,②每个医生收治患者的平均住院日,③每个医生收治专业病种内的患者数量及百分比。

需求整理好了,下一步就是着手处理数据了。等等,等等……有点不对劲,每个月都要一次数据,总不至于我每个月都用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.住院医师

把语句挂在程序中,以后就可以直接从程序中直接调取数据库中的数据,一次开发,后续使用特别方便。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181208G1BX8F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券