利用SQL语句发现新农保业务中违规问题,本文主要内容关键词为:语句论文,发现论文,业务论文,新农论文,SQL论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
2009年9月,国务院下发指导意见,在全国320个县(区、市、旗)开展新型农村社会养老保险(简称新农保)制度的试点工作;2010年底扩展到838个县(市、区、旗),占全国区县的四成。试点工作开展以来,农村老人按月领取养老金,增加了家庭收入,减轻子女的养老负担,促进农村家庭和睦,取得很好效果,受到农民群众的普遍欢迎。但审计人员也注意到,新农保试点初期还缺乏完善的规章制度和操作规范,加上经办机构审核把关不严,存在不符合条件农民违规参保和重复参保、重复领取养老金等问题。由于新农保参保对象众多,仅A省9个试点县就有59.61万参保人,而审计组仅8人,传统手工审计方法难以逐一核查。为此,审计组决定创新审计方法,从外部信息着手,利用SQL语句筛选新农保业务中违规参保和重复参保等问题。
一、审计思路:将新农保内部经办数据与公安、社保等外部数据进行比对,实现新农保审计的全覆盖
通过将新农保经办机构的参保数据、养老金发放数据与公安户籍数据、城镇养老保险参保数据进行比对,筛选出非农户籍农民参保问题和参保人重复参保问题。将新农保经办银行养老金发放数据通过自连接进行比对,筛选出重复发放养老金问题。
二、审计实施:利用SQL语句筛选相关数据
(一)数据准备阶段。
到新农保经办机构、公安、经办银行和社保局分别下载农民户籍数据、新农保参保数据、养老金发放数据和城镇养老保险数据,其中农民户籍数据、城镇养老保险数据、养老金发放数据为文本格式,新农保参保数据为EXCEL格式。因户籍数据为省级集中,新农保参保数据、养老金发放数据和城镇养老保险数据为县级集中,审计组向省公安厅户籍管理部门提出下载A县农村户籍数据的需求,字段有“姓名”、“身份证号”和“户别”;向A县社保局提出下载城镇养老保险数据的需求,字段有“姓名”、“身份证号”和“参保登记日期”;向A县农保中心提出下载新农保参保情况数据的需求,字段有“所属区、乡镇、村、屯”、“姓名”、“性别”、“身份证号码”、“出生年月”、“缴费档次”、“补贴”、“参保时间”和“备注”;向A县经办银行提出下载养老金发放数据的需求,字段有“新农保编号”、“姓名”、“身份证号”、“领取月份”和“养老金发放额”。下载后数据分别形成“A县农村户籍表”、“A县城镇养老保险参保情况表”、“A县新农保参保情况表”和“A县养老金发放表”4张表。
利用SQL server“数据转换服务导入/导出向导”将上述4张表导入到SQL数据库中,为下步数据分析做准备。
(二)数据分析阶段。
1.违规参保和违规发放养老金问题。
根据国务院《关于开展新型农村社会养老保险试点的指导意见》,新农保参保条件为“年满16周岁(不含在校学生)、未参加城镇职工基本养老保险的农村居民”。审计组将“A县农村户籍表”、“A县城镇养老保险参保情况表”、“A县新农保参保情况表”和“A县养老金发放表”通过“身份证号码”进行关联,筛选出非农户籍人员参加新农保、参保人重复参保、不符合条件人员参保和向非农户籍人员发放养老金的问题。
(1)筛选经办机构为非农户籍人员办理新农保的数据。将“A县农村户籍表”与“A县新农保参保情况表”通过“身份证号码”字段进行关联,筛选出已纳入新农保参保范围的非农户籍人员,SQL语句为:select a.户别,b.*from A县农村户籍表a join A县新农保参保情况表bon a.身份证号码=b.身份证号码where a.户别like′非农业家庭户′。经计算机筛选后,发现A县将1516位非农户籍人员纳入新农保的参保范围。
(2)筛选参保人重复参保的数据。将“A县城镇养老保险参保情况表”与“A县新农保参保情况表”通过“身份证号码”字段进行关联,筛选出既参加城镇养老保险又参加新农保的人员,SQL语句如下:select a.*,b.参保登记日期城镇参保登记日期from A县新农保参保情况表a join A县城镇养老保险参保情况表b on a.身份证号码=b.身份证号码。经计算机筛选后,发现A县有1208位参保人重复参保。
(3)筛选经办机构为不满16周岁人员办理新农保的数据。审计时间为2010年5月末,利用datediff函数,对“A县新农保参保情况表”中设定检索条件为“datediff(month,出生年月,′2010-05-31′)<192”,筛选出不满16周岁参加新农保的人员,SQL语句如下:select*from A县新农保参保情况表where datediff(month,出生年月,′2010-05-31′)<192。经计算机筛选后,发现A县为6位不满16周岁人员办理新农保。
(4)筛选向非农户籍人员发放养老金的数据。将“A县养老金发放表”分别与“A县农村户籍表”、“A县城镇养老保险参保情况表”进行关联,筛选出非农户籍人员、已参加城镇养老保险人员领取养老金的数据,SQL语句如下:select a.户别,b.*from A县农村户籍表a join A县养老金发放表b on a.身份证号码=b.身份证号码where a.户别like′非农业家庭户′。select b.*from A县城镇养老保险参保情况表a join A县养老金发放表b on a.身份证号码=b.身份证号码。经计算机筛选后,发现A县向710位非农户籍人员发放养老金15.62万元,向128位已参加城镇养老保险人员发放养老金7.36万元。
(5)筛选经办机构向未满60周岁人员发放养老金的数据。国务院《关于开展新型农村社会养老保险试点的指导意见》规定“年满60周岁、未享受城镇职工基本养老保险待遇的农村有户籍的老年人,可以按月领取养老金”,将“A县新农保参保情况表”与“A县养老金发放表”进行关联,假定审计时间为2010年5月末,设定检索条件为“datediff(month,出生年月,′2010-05-31′)<720”,筛选出未满60周岁领取养老金的参保人员,SQL语句如下:select b.新农保编号,b.姓名,b.身份证号,b.领取月份,b.养老金发放额,a.出生年月from A县新农保参保情况表a join A县养老金发放表b on a.身份证号码=b.身份证号码where datediff(month,出生年月,′2010-05-31′)<720。经计算机筛选后,发现A县向3位未满60周岁人员发放养老金825元。
2.参保人信息管理不规范问题。
审计组在审前调查中了解到,由于某省新农保信息系统本地化开发工作滞后,各试点县未及时部署新农保信息系统,A县经办机构采用手工录入EXCEL表的方式管理参保人信息,缺少信息的自动识别和纠错功能,造成参保人信息管理不规范。为反映这方面问题,提高审计效率,审计组利用SQL语句对“A县新农保参保情况表”和“A县养老金发放表”进行检索。
(1)筛选符合养老金领取条件人员未及时纳入养老金发放范围的问题。按每月情况查询,SQL语句如下:
一是查询1月末满60周岁人员(1950年1月份出生)。select*from A县新农保参保情况表where datediff(month,出生日期,′2010-01-31′)>=720 and身份证号码not in(select身份证号码from A县养老金发放表where发放月份=2)
二是查询2月末满60周岁人员(1950年2月份出生)。select*from A县新农保参保情况表where datediff(month,出生日期,′2010-02-28′)>=720 and身份证号码not in(select身份证号码from A县养老金发放表where发放月份=3)
三是查询3月末满60周岁人员(1950年3月份出生)。select*from A县新农保参保情况表where datediff(month,出生日期,′2010-03-31′)>=720 and身份证号码not in(select身份证号码from A县养老金发放表where发放月份=4)
四是查询4月末满60周岁人员(1950年4月份出生)。select*from A县新农保参保情况表where datediff(month,出生日期,′2010-04-30′)>=720 and身份证号码not in(select身份证号码from A县养老金发放表where发放月份=5)
经计算机筛选后,发现A县未及时将1031位满60周岁人员纳入养老金发放范围,少发放养老金14.16万元。
(2)利用自连接,筛选因数据录入重复导致多发放养老金的问题,SQL语句如下:select*from A县养老金发放表ajoin A县养老金发放表b on a.身份证号码=b.身份证号码where a.发放月份=b.发放月份and a.新农保编号<>b.新农保编号。经计算机筛选后,发现A县向103位养老金领取人员重复发放养老金3.39万元。
(三)问题数据核查取证阶段。
数据分析阶段完成后,审计组调阅参保人档案资料进一步核查取证,并将上述问题向A县有关部门征求意见,迅速完成A县新农保业务的审计。