SQL SERVER游标在社保审计中的作用

2014-12-17 03:03唐义龙
审计与理财 2014年11期
关键词:农合明细表合作医疗

唐义龙

在社保资金审计中,通过对新型农村合作医疗基金补偿情况进行审计分析发现过这样的问题:部分参保人员在不同医疗机构的住院时间重叠,部分医疗机构尤其是乡镇卫生院的日均住院人数过大。这些问题都直接导致了新型农村合作医疗基金的浪费,甚至可能存在骗取新农合基金的违法违规行为,严重违反了《卫生部财政部关于进一步加强新型农村合作医疗基金管理的意见》的规定。

图1

上图是某县2012年新型农村合作医疗基金补偿情况明细表中摘选出的部分数据,表中的付某花在2012年的7月1日至2012年的7月10日在M镇卫生院住院治疗,同时又于2012年的6月30日至2012年的7月13日在YT市人民医院住院治疗,通过调取存放在某县农医中心的基金补偿原始凭证我们发现在2012的年7月1日至10日这10天里,付某花在两家医院均同时产生了床位费和医药费支出,基本上可以肯定至少有1家医院的住院记录存在作假行为。如何在大量的基金补偿数据中找出这种矛盾的住院补偿记录来呢?我认为SQL SERVER的游标是个不错的选择。思路是这样的,如果能把每条补偿记录中的住院期间,每日都生成一行新的数据,其中包括农合证号、姓名、就诊机构、住院日期这四个字段,然后以农合证号、姓名、住院日期进行分组计数,计数结果大于1的就是存在问题的对象。

具体步骤如下:

第一步:在原始补偿记录表的基础上生成一张包含农合证号、姓名、入院日期、出院日期、入院天数、诊断名称、就诊机构等字段的新表“Z县2012年新农合基金补偿明细表”(如图2所示)。语句如下:

SELECT [农合证号],[姓名],[入院日期],[出院日期],datediff (d,入院日期,出院日期) as 入院天数,[诊断名称],[就诊机构] into [Z县2012年新农合基金补偿明细表] FROM [Z县2012年新型农村合作医疗基金补偿明细表]

图2

第二步:使用SQL SERVER的游标对“Z县2012年新农合基金补偿明细表”进行数据提取,打印出包含农合证号、姓名、就诊机构、住院日期等信息的数据表(如图3所示)。语句如下(注意将字符变量应定义为定长字符型,以便进行分列):

DECLARE @nhzh CHAR(18),@xm CHAR(8),@jzjg CHAR(20),

@ryrq DATE,@RYTS INT

DECLARE C01 CURSOR FOR

SELECT [农合证号],[姓名],[就诊机构],[入院日期],[入院天数] FROM [Z县2012年新农合基金补偿明细表]

PRINT ' 农合证号 姓名 就诊机构 住院日期'

OPEN C01

FETCH NEXT FROM C01 INTO @nhzh,@xm,@jzjg,@ryrq,@ryts

WHILE @@FETCH_STATUS=0

BEGIN

declare @I INT

SET @I=0

while @I<=@ryts

BEGIN

PRINT @nhzh+@xm+@jzjg+cast(DATEADD(D,@I,@ryrq) as char(10))

SET @I=@I+1

END

FETCH NEXT FROM C01 INTO @nhzh,@xm,@jzjg,@ryrq,@ryts

END

CLOSE C01

DEALLOCATE C01

图3

第三步:将通过SQL SERVER的游标打印出的数据,导出到EXCEL表中,并使用EXCEL的“数据——分列——固定长度”功能将数据处理成包含农合证号、姓名、就诊机构、住院日期等四个字段的新表“住院信息明细表”(与图3相似),并将该表导回SQL SERVER数据库中。

第四步:查找出同一人同一天在多个医疗机构住院的记录,并生成“住院日期疑点表”(如图4所示)。语句如下:

SELECT 农合证号,姓名,住院日期,就诊机构

INTO 住院日期疑点表

FROM 住院信息明细表

WHERE ((住院信息明细表.农合证号) In (SELECT [农合证号] FROM [住院信息明细表] As Tmp GROUP BY [农合证号],[姓名],[住院日期] HAVING Count(*)>1 And [姓名]=[住院信息明细表].[姓名] And [住院日期]=[住院信息明细表].[住院日期]))

ORDER BY 姓名, 农合证号,住院日期;

图4

从图4可以看出,付某花等人均存在同一天的时间里同时在多家医疗机构就诊的情况,其真实性值得进一步进行调查核实。

第五步:按医疗机构分组汇总出每天住院的人数,并生成“各医疗机构每日住院人数情况表”(如图5所示)。语句如下:

SELECT [就诊机构],[住院日期],count([住院日期]) as 住院人数

INTO 各医疗机构每日住院人数情况表

FROM [住院信息明细表]

group by [就诊机构],[住院日期]

order by [就诊机构],[住院日期]

图5

从图5可以看出,M镇卫生院从7月1日至7月5日每天住院人数均有2人,这与摘选的数据所反映的情况一致。在审计实践中,曾经发现过部分卫生院多日的住院人数均高于床位数,实地调查时确鲜有住院患者,这表明存在弄虚作假骗取新型农村合作医疗基金的可能性。

第四步和第五步的数据分析都是在第二步使用SQL SERVER的游标对“Z县2012年新农合基金补偿明细表”进行数据提取的基础上完成的,可见游标在审计实务中可以发挥重要的作用。

(作者单位:资溪县审计局)

猜你喜欢
农合明细表合作医疗
论我国农民合作经济组织发展的法律困境及其出路
修订《中华人民共和国企业所得税年度纳税申报表(A类,2017年版)》部分表单样式及填报说明的公告国家税务总局公告2018年第57号
关于加强新型农村合作医疗内部控制工作的思考
基层供销社与乡镇农合联融合发展研究
关于湖北省新型农村合作医疗“直补”现状、策略分析及改革新路径解析
泰国农合部今年将用胶434 t
浙江省兰溪农合行:“四个突破”引领银行理财业务快速发展
2011年十家拍卖公司秋拍1000万元以上成交拍品前50名明细表
新型农村合作医疗管理机构的法律规制