1、1某市医疗保险资金专项审计案例在对某地区 2015 年至 2016 年度医疗保险资金缴存、管理和使用进行审计的过程中,审计组结合实际情况,不仅编制计算机审计模块对医保局的医疗保险电子数据业务进行审计,利用取得的电子数据记录,充分延伸该地区定点医院,核实相关住院、门诊等收费情况,取得了较好的效果。审计组根据社保资金相关数据库,编写 sql 语句,进行查询、分析等,发现了“定点医疗机构分解住院,为 9家医院多支付医保基金” 、 “定点医疗机构违规收吸氧费” 、“医保局未按规定执行监护病房床位费诊疗项目支付比例,造成患者多负担监床位费”等问题,具体程序如下:(一)分解住院 Sql 语句-建立2015
2、年度住院结算单视图V1(2016年度以此类推)create view V1 asselect distinct * from dbo.YB_YYZYJSD2015 where year(入院时间)= 2015 and 身份证号 is not null- (一 )、使用排名开窗函数,对每个患者当年住院情况进行分组,形成住院次数序号,并生成“分解住院111”表。(共检索出34852 条记录)select distinct row_number( ) over(partition by 身份证号 order by 入院时间) 序号,姓名,身份证号,入院时间,出院时间, 医院名称 ,医生姓名,出院病种
3、编码,出院病种名称,总费用into 分解住院111from V12where year(入院时间)=2015 and 身份证号 is not null(二) 利用分组函数查询出当年住院次数大于次的患者情况,并生成“ 分解住院222“表(共检索出8311 条记录)。select 身份证号, count(*) 住院次数into 分解住院222from V1where 身份证号 is not nullgroup by 身份证号having count(*)1order by 2 desc-(三)、通过关联身份证号对分解住院111、分解住院222表进行左连接,得到多次住院患者出入院情况,生成分解住院3
4、33表。( 共检索出5483条记录)select distinct b.*into 分解住院from dbo.分解住院 a left join dbo.分解住院 b on a.身份证号= b.身份证号order by 身份证号-(四)、通过对分解住院表进行自连接,-查出多次住院患者连续两次或两次以上住院时间间隔小于3 天(分解住院间隔天数可根据实际情况自行设定天)人员情况(共检索出240条记录)SELECT distinct a.*, b.序号 as 序号,b .姓名 as 姓名,b. 身份证号 as 身份证号,b.入院时间 as 入院时间,b.出院时间 as 出院时间,b.出院病种名称 as
5、 出院病种名称,b .医院名称 as 医院名称,b .总费用 as 总费用into 分解住院疑点表 FROM 分解住院 a left join 分解住院 b on a.序号=b. 序号+1 and a.身份证号= b.身份证号 and a.出院病种编码= b.出院病种编码 and a.医院名称=b.医院名称where DATEDIFF(DAY,b.出院时间,a .入院时间)=2015 and year(费用时间) 1 and 统筹支付 0 and 是否结算特征 = 1 group by b.所属地区代码, b.单据号,姓名, 身份证号,单位名称,b .医院名称,b. 住院序号,项目名称,出院时
6、间,入院时间having sum(数量)/(datediff( day,入院时间,出院时间) 5 order by b.医院名称, sum(数量) desc, sum(a.总费用) desc2、筛选某次住院期间,某地区 2015 年度氧气吸入、间断吸氧的违规记录select *,(datediff(day,入院时间,出院时间) as 住院天数,总数量/(datediff(day,入院时间,出院时间) as 每天吸氧时间 from 诊疗次数异常表 where 医院名称 =%某市%医院% and 总数量/(datediff (day,入院时间,出院时间)24 and (项目名称=氧气吸入 or 项
7、目名称= 间断吸氧)order by 项目名称, 总数量/(datediff(day ,入院时间,出院时间) desc(三)患者多负担监护病房床位费 Sql 语句。(一)2015年诊疗项目多报销额情况查询-诊疗项目明细表(1343693条)Select distinct a.单位名称,a .姓名 ,a.身份证号, a.入院时间,a.出院时间,a.出院病种名称,b.*into 住院项目费明细from dbo.YB_YYZYJSD2015 a join dbo.YB_ZYYLFMX001 b on a.单据号=b.单据号 and a.所属地区代码 =b.所属地区代码 join dbo.YB_CBR
8、YXX2016 c on a.身份证号=c.身份证号where c.所属地区代码= 620499 and year(b.费用时间)=2015 and year(b.费用时间)b.自付比例4-3.利用上一步生成的中间表 住院报销比例与规定不符计算并统计出每种诊疗项目实际报销医疗费金额、应报销医疗费金额及两者差额(9条)select 项目名称 ,SUM(医保范围费用)实际报销,SUM(总费用*(1- cast( 诊疗项目三项目目录表中自付比例 as decimal(8,3)应报销,(SUM(医保范围费用)-SUM (总费用*(1- cast(诊疗项目三项目目录表中自付比例 as decimal(8
9、,3)差额into dbo.诊疗项目不同比例差价表from 住院报销比例与规定不符的医院和记录group by 项目名称-按医院、病人分组计算(1250条)select distinct 医院名称, 姓名,身份证号,SUM(医保范围费用)实际报销,SUM( 总费用*(1-cast(诊疗项目三项目目录表中自付比例 as decimal(8,3)应报销,(SUM(医保范围费用)-SUM (总费用*(1- cast(诊疗项目三项目目录表中自付比例 as decimal(8,3)差额 from 住院报销比例与规定不符的医院和记录group by 医院名称, 姓名,身份证号order by 医院名称,
10、姓名,身份证号-4.利用上一步生成的中间表计算出医保中心多报销医疗费总额及少报销医疗费总额( 多报销额元,少报销.24 元)-Sql语句如下:select sum(case when 差额 0 then 差额 end)医保中心多报销额 ,sum(case when 差额 0 then abs(差额) end)医保中心少报销额from dbo.诊疗项目不同比例差价表(四)生育保险参保时间少于 365 天,且支付生育保险 Sql语句。-1、将个人信息表和个人参保信息表连接,个人编号链接查出身份证号,筛选出参加生育保险人员。select x.RYBH,x.DWBH,x.XM,x.XB,x.HKXZ,x.HKSZDZ,x.ZJZL,x.ZJHM,x.CSRQ,c.GRJFZT,c.KSRQ,c.ZZRQ,c.XZLX-into sybxsfzfrom dbo.SJ_GRXX x join dbo.SJ_GRCBXX c on x.rybh=c.rybhwhere c.XZLX=51-2、身份证号链接,生育时间与参保时间差不大于365天的记录(共39 条记录) 5select d.*,s.KSRQfrom dbo.sybxsfz s join dbo.sydy d on s.ZJHM=d.身份证号码where datediff(D,s.ksrq,d.生育时间)=365