【审计实务】基于大数据思维的医院收费审计思路与技巧
来源:山东省审计厅网站,转载用作学习,如有问题,请及时联系我们。另转载请注明来源!
随着药品零差率等一系列医改举措的持续推进,当前各医院的药占比等指标持续下降,收入结构也随之发生变化,医疗服务收费较以前增幅较大。本文以某公立医院数据为例,介绍医院收费的审计思路和技巧,以期对大数据审计工作起到借鉴作用。
某公立医院现有HIS系统、电子病历系统、重症管理系统、影像管理系统等20多个前台业务系统,各系统之间互相关联又各有侧重,整合性较差,无统一的集成平台进行综合管理。经研究,审计组决定绕过前台纷繁复杂的业务系统,直接采集后台数据库数据130多G,经过数据整理、标准化,最终形成了230多张标准表,以此为基础进行各项数据的分析、筛查。
01 整合数据,提高后期处理效能
因部分重要信息分散在“住院记帐项目”、“项目定义表”、“病人住院信息表”等表格中,每个表格数据量较大(比如“住院记帐项目”表内多达8800多万条记录),为提高运行效率,通过表连接将部分数据进行整合,生成“规划表_住院人员各医疗项目按天汇总”表备用。
SELECT a.住院流水号,a.项目编码,b.项目名称,cast(记帐日期 as date) 记帐日期,基本单位单价,SUM(基本数量) 总数量,SUM(总金额) 总金额,SUM(实收金额) 实收总额,[病人姓名],[住院号],[床位编码],[当前发生费用总额],[病人付款方式类型编码(付款人)],[病人需要自行承担的金额],[通知出院日期],[入院日期],[出院日期],[性别],[年龄],[定额结算疾病编码],[临床路径名称],[身份证件类型],[身份证件号码]
into [规划表_住院人员各医疗项目按天汇总]
FROM [住院记帐项目] a
left join [项目定义表] b on a.项目编码=b.项目编码
left join [病人住院信息表] c on a.住院流水号=c.住院流水号
where year(记帐日期 ) between 2016 and 2017 anda.病人结算号 is not null
group by a.住院流水号,a.项目编码,b.项目名称,基本单位单价,cast(记帐日期 as date),[病人姓名], [住院号],[床位编码],[当前发生费用总额],[病人付款方式类型编码(付款人)],[病人需要自行承担的金额],[通知出院日期],[入院日期],[出院日期],[性别],[年龄],[定额结算疾病编码],[临床路径名称],[身份证件类型],[身份证件号码]
02 查处重复收费审计思路与技巧
根据《*市医疗机构医疗服务价格(修订本)》规定,层流病房、监护病房、非普通病房床位费含取暖费、降温费,不再单独收取。根据上述规定,查询该医院是否存在违规收取取暖费、降温费的情况。
第一步,查询所有既收取床位费又收取降温费、取暖费的记录。
select a.*,b.项目编码 取暖降温项目编码,b.项目名称 取暖降温项目名称 ,b.基本单位单价,b.实收总额,b.记帐日期
into [疑点表_非普通病房收取取暖费降温费]
from(SELECT 住院流水号 ,项目编码 ,项目名称,基本单位单价,记帐日期
FROM [规划表_住院人员各医疗项目按天汇总]
where 项目名称 like '%床位%' ) a
left join
(SELECT 住院流水号 ,项目编码 ,项目名称,基本单位单价,实收总额,记帐日期
FROM [规划表_住院人员各医疗项目按天汇总]
where 项目名称 like '%降温费%' or 项目名称 like '%取暖费%') b
on a.住院流水号=b.住院流水号
and cast(a.记帐日期 as date)=cast(b.记帐日期 as DATE)
where b.住院流水号 is not null
order by a.住院流水号
第二步,因2017年11月1日之前,医院尚存有普通病房(床位费为30元/天),按规定除床位费外可再收取降温费、取暖费,所以从上述查询结果中删除2017年11月1日之前床位费单价小于30元的记录,剩余记录即为非普通病房违规收取取暖费、降温费。
delete from [疑点表_非普通病房收取取暖费降温费]
where cast(记帐日期 as date)<'2017-11-01'and 基本单位单价 <=30
03 查处过头收费审计思路与技巧
《*市医疗机构医疗服务价格(修订本)》规定,住院诊查费、护理费、床位费天数按计入不计出办法计算。根据上述规定,查询该医院是否存在收取患者护理费、床位费等部分项目医疗费用时,未按规定计费的情况。
第一步,查询出2016年至2017年间对每个患者按“天”或“日”收费的项目的总数量,减去实际住院天数,筛选出余额大于零的记录,生成“疑点表_多记按天收费的项目汇总”表。
select a.[住院流水号],a.[病人姓名],[项目编码],[项目名称],[基本单位单价],总数量,总金额,实收总额,b.入院日期,b.出院日期,DATEDIFF(DAY,b.入院日期,b.出院日期) 住院天数,cast(总数量-DATEDIFF(DAY,b.入院日期,b.出院日期) as int) 计费次数减住院天数,cast(总数量-DATEDIFF(DAY,b.入院日期,b.出院日期) as int)*cast(基本单位单价 as numeric(18,2) ) 按住院天数算多收金额
into 疑点表_多记按天收费的项目汇总
from (SELECT [住院流水号],a.[项目编码],a.[项目名称],[基本单位单价],sum([总数量])总数量,sum([总金额]) 总金额,sum([实收总额]) 实收总额,[病人姓名]
FROM [规划表_住院人员各医疗项目汇总] a left join [项目定义表_Dict_Item]b
on a.项目编码=b.项目编码
where (项目包装单位 like'%天%' or 项目包装单位 like '%日%') and b.项目包装单位 not like'%次%' and b.项目包装单位 not like '%半%' and b.项目名称 is notnull
group by 住院流水号,a.项目编码,a.项目名称,[基本单位单价],[病人姓名]) a
left join [病人住院信息表_Pati_In_Visit] b on a.住院流水号=b.住院流水号
where b.出院日期 is not null
and 总数量-DATEDIFF(DAY,b.入院日期,b.出院日期) >0)
and year(入院日期) in (2016,2017)
order by 总数量-DATEDIFF(DAY,b.入院日期,b.出院日期) desc
第二步,将上述表格与“规划表_住院人员各医疗项目汇总”关联,进一步查询多收费的项目费用明细情况。
SELECT a.[住院流水号],a.[项目编码],[项目名称],[基本单位单价],[包装单位数量],[总数量],[总金额],[实收总额],[病人姓名],[住院号],[当前发生费用总额],[病人付款方式类型编码(付款人)],[病人需要自行承担的金额],[入院日期],[出院日期],[性别],[年龄],[定额结算疾病编码],[接诊医师],[临床路径名称],[身份证件类型],[身份证件号码]
Into 疑点表_多记按天收费的项目明细
FROM [规划表_住院人员各医疗项目汇总] a
left join (SELECT distinct 住院流水号,项目编码
FROM [疑点表_多记按天收费的项目数量汇总]) b
on a.住院流水号=b.住院流水号 and a.项目编码=b.项目编码
where b.项目编码 is not null
04 查处超标准收费审计思路与技巧
《*市医疗机构医疗服务价格(修订本)》规定,持续低流量吸氧按60元/天计算,持续高流量吸氧按120元/天计算;间断吸氧按小时计算,低流量间断吸氧每天不超过60元;高流量给氧每小时加收4元,间断吸氧每天不超过120元。按照上述规定,在该医院的住院患者记录中,按照高流量吸氧、低流量吸氧,分别查询每日吸氧费超过120元、60元的记录,审查该医院是否存在超标准收取吸氧费的情况。
SELECT [住院流水号],[项目编码],[项目名称],[基本单位单价],[包装单位数量],[总数量],[总金额],[实收总额]
,case when 项目名称 like '%高%' then'超120的标准'
else '超60的标准' end 分析超标准类型
,DATEDIFF(day,[入院日期],[出院日期]) 住院天数
,round([总金额]/DATEDIFF(day,[入院日期],[出院日期]),2) 平均每天吸氧费
,case when 项目名称 like '%高%' then (round([总金额]/DATEDIFF(day,[入院日期],[出院日期]),2)-120)*DATEDIFF(day,[入院日期],[出院日期])
else (round([总金额]/DATEDIFF(day,[入院日期],[出院日期]),2)-60)*DATEDIFF(day,[入院日期],[出院日期]) end 多收金额,[病人姓名], [病人编码],[住院号],[入院日期],[出院日期],[当前发生费用总额],[病人付款方式类型编码(付款人)] ,[性别],[年龄],[定额结算疾病编码],[临床路径名称],[身份证件类型],[身份证件号码]
into [疑点表_氧气吸入每日收费超标新]
FROM [规划表_住院人员各医疗项目汇总]
where 项目名称 like '%氧气吸入%'
and DATEDIFF(day,[入院日期],[出院日期]) <>0
and(([总金额]/DATEDIFF(day,[入院日期],[出院日期]) >60 and 项目名称 like '%低%') or([总金额]/DATEDIFF(day,[入院日期],[出院日期]) >120 and 项目名称 like '%高%'))(威海市审计局 李娜 李凯)