DRGS运用SQL数据库查询医院分解住院

42 篇文章 13 订阅
17 篇文章 32 订阅

利用其中的住院结算表,查询该医院分解住院情况。以下是查询方法步骤:

一、使用排名开窗函数,对每个患者当年住院情况进行分组,形成住院次数序号,并生成分解住院1表。

SQL语句:

select row_number() over(partition by 身份证号 order by 入院时间) 序号,姓名,身份证号,入院时间,出院时间

into 分解住院1  from 住院结算表  where year(入院时间)=2015 and 身份证号 is not null

查询结果如下:

二、利用分组函数查询出当年住院次数大于1次的患者情况,并生成分解住院2表。

SQL语句:

select 身份证号,count(*) 住院次数 into 分解住院2

from 住院结算表   where (year(入院时间)=2015 or year(出院时间)=2015) and 身份证号 is not null

group by 身份证号   having count(*)>1   order by 2 desc

查询结果如下:

 

三、通过关联身份证号对分解住院1、2表进行左连接,得到多次住院患者出入院情况,生成分解住院3表。

select b.* into 分解住院3

from dbo.分解住院2 a left join dbo.分解住院1 b on a.身份证号=b.身份证号

四、通过对分解住院3表进行自连接,查出多次住院患者连续两次住院时间间隔小于3天(分解住院间隔天数可根据实际情况自行设定)人员情况

SELECT a.*,b.*FROM 分解住院3 a left 分解住院3 b

on a.序号=b.序号+1 and a.身份证号=b.身份证号  where DATEDIFF(DAY,b.出院时间,a.入院时间)<3

通过上述四步可以方便直观的查出可能存在分解住院的患者情况,为下步核实提供可靠线索,提高了医院业务数据分析的效率。(陈略)

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值