民政局低保五保人员不合规享受情况的计算机审计方法
城乡低保是为给家庭人均收入低于当地最低生活保障标准的城乡居民给予的差额救助,以保证该家庭成员基本生活所需。而五保是对丧失劳动能力和生活没有依靠的老、弱、孤、寡、残的农民实行保吃、保穿、保住、保医、保葬的一种社会救助制度。然而由于民政、残联、公安、房产、银行、公积金管理中心、编办等涉及居民的养老、医保、城乡低保、死亡人口、房产、车辆、住房公积金、财供人员等信息未有效互联互通,所以致使一些不合规人员享受五保低保。
审计准备
下达审计通知书后,审计人员从民政局低保股取得城乡低保人员信息,从民政局社会福利事业股取得五保人员信息,从卫生局疾控中心取得全区死亡人口数据信息,从公安局取得车辆登记信息。
数据规范化整理
将这些基础信息中的身份证号码转换18位,SQL语句如下:
CREATE FUNCTION ID15TO18 (@id15 char(15))
RETURNS CHAR(18) AS
BEGIN
DECLARE @ID18 CHAR(18)
DECLARE @S1 AS INTEGER
DECLARE @S2 AS INTEGER
DECLARE @S3 AS INTEGER
DECLARE @S4 AS INTEGER
DECLARE @S5 AS INTEGER
DECLARE @S6 AS INTEGER
DECLARE @S7 AS INTEGER
DECLARE @S8 AS INTEGER
DECLARE @S9 AS INTEGER
DECLARE @S10 AS INTEGER
DECLARE @S11 AS INTEGER
DECLARE @S12 AS INTEGER
DECLARE @S13 AS INTEGER
DECLARE @S14 AS INTEGER
DECLARE @S15 AS INTEGER
DECLARE @S16 AS INTEGER
DECLARE @S17 AS INTEGER
DECLARE @S18 AS INTEGER
SET @S1 = SUBSTRING(@ID15,1,1)
SET @S2 = SUBSTRING(@ID15,2,1)
SET @S3 = SUBSTRING(@ID15,3,1)
SET @S4 = SUBSTRING(@ID15,4,1)
SET @S5 = SUBSTRING(@ID15,5,1)
SET @S6 = SUBSTRING(@ID15,6,1)
SET @S7 = 1
SET @S8 = 9
SET @S9 = SUBSTRING(@ID15,7,1)
SET @S10 = SUBSTRING(@ID15,8,1)
SET @S11 = SUBSTRING(@ID15,9,1)
SET @S12 = SUBSTRING(@ID15,10,1)
SET @S13 = SUBSTRING(@ID15,11,1)
SET @S14 = SUBSTRING(@ID15,12,1)
SET @S15 = SUBSTRING(@ID15,13,1)
SET @S16 = SUBSTRING(@ID15,14,1)
SET @S17 = SUBSTRING(@ID15,15,1)
SET @S18 = ( (@S1*7) + (@S2*9) + (@S3*10) + (@S4*5) + (@S5*8) +
(@S6*4) + (@S7*2) + (@S8*1) + (@S9*6) + (@S10*3) +
(@S11*7) + (@S12*9) + (@S13*10) + (@S14*5) + (@S15*8) +
(@S16*4) + (@S17*2) ) % 11
SET @ID18 = SUBSTRING(@ID15,1,6) + '19' + SUBSTRING(@ID15,7,9) +
CASE
WHEN @S18 = 0 THEN '1'
WHEN @S18 = 1 THEN '0'
WHEN @S18 = 2 THEN 'X'
WHEN @S18 = 3 THEN '9'
WHEN @S18 = 4 THEN '8'
WHEN @S18 = 5 THEN '7'
WHEN @S18 = 6 THEN '6'
WHEN @S18 = 7 THEN '5'
WHEN @S18 = 8 THEN '4'
WHEN @S18 = 9 THEN '3'
WHEN @S18 = 10 THEN '2'
END
RETURN @ID18
END
GO
update 低保人员信息表 set 身份证号码 = dbo.ID15TO18(身份证号码)
update 五保人员信息表 set 身份证号码 = dbo.ID15TO18(身份证号码)
update 死亡人员信息表 set 身份证号码 = dbo.ID15TO18(身份证号码)
update 车辆所有信息表 set 身份证号码 = dbo.ID15TO18(身份证号码)
去除姓名字段中的空格SQL语句:
update 低保人员信息表 set 姓名 = replace(姓名,' ','')
update 五保人员信息表 set 姓名 = replace(姓名,' ','')
update 死亡人员信息表 set 姓名 = replace(姓名,' ','')
update 车辆所有信息表 set 所有人姓名 = replace(姓名,' ','')
审计步骤:
1、审查是否有已死亡的低保人员、五保人员:
将低保人员信息表、五保人员信息表与取得的死亡人员信息表的姓名、身份证号码字段进行关联性查询,看是否有已死亡的低保人员和五保人员,在查询时要注意时间点选取,即查询审计年度之前既已死亡的人员。相关SQL语句如下:
--查询已死亡仍领取补助低保人员
select 低保证号,a.身份证号码,a.姓名,户保障金额,享受保障类别,享受保障人数,家庭地址,死亡时间,死亡原因
from 低保人员信息表 a,死亡人员信息表 b
where a.身份证号码=b.证件号码 and a.姓名=b.姓名 and left(住址,6)=substring(生前详细地址,10,6) and 死亡时间<'2014-01-01'
go
--查询已死亡仍领取补助的五保人员
select a.身份证号码,a.姓名,,家庭地址,供养方式,补助金额,死亡时间,死亡原因
from 五保人员信息表 a,死亡人员信息表 b
where a.身份证号码=b.证件号码 and a.姓名=b.姓名 and left(住址,6)=substring(生前详细地址,10,6) and 死亡时间<'2014-01-01'
go
2、查询拥有机动车辆的低保人员和五保人员
将低保人员信息表、五保人员信息表与取得的车辆登记信息表的姓名、身份证号码字段进行关联性查询,看是否拥有机动车辆的低保人员和五保人员,在查询时要注意时间点选取,即查询审计年度之前获得车辆的人员。相关SQL语句如下:
--查询拥有机动车辆低保人员
select a.身份证号码,a.姓名,户保障金额,享受保障类别,享受保障人数,家庭地址,获得时间,车辆型号
from 低保人员信息表 a,车辆所有信息表 b
where a.身份证号码=b.证件号码 and a.姓名=b.所有人姓名 and 获得时间<'2014-01-01'
go
--查询拥有机动车辆五保人员
select a.身份证号码,a.姓名,供养方式,补助金额,,家庭地址,获得时间,车辆型号
from 五保人员信息表 a,车辆所有信息表 b
where a.身份证号码=b.证件号码 and a.姓名=b.所有人姓名 and 获得时间<'2014-01-01'
go
根据查询结果,对相关不合规人员向相关部门进一步核实疑点,调查取证,落实责任。
通过这次审计,有以下的体会:一是数据收集时要多做调查了解。一般认为死亡人口数据通过公安局采集比较准确,通过调查了解得知,公安局的死亡人口信息主要来自民政局的殡改办,而殡改办的数据主要来自辖区内的殡仪馆,并不掌握在其他地方殡仪馆火化的死亡人口信息,而事实上卫生局下属的疾控中心对死因调查统计出来死亡人口信息相对来说最为准确;二是对进行关联性分析的关键字段要规范化处理好。如身份证号码字段要注意是否规范的15位或18位,而且相比较的两个表要保持一致。姓名字段要去除空格或其他无效字符。可以适当多增加关联字段增加准确性,如地址、农户编码等;三是要注意查询时的时间节点的选择。基层机关对低保或者五保人员信息的审核发放有的按年,有的按季度或者按月进行的,所以在进行关联性分析的时候要注意对审计年度内最早的一次审核的时间节点比较;四是对违规金额的确定。在确定已死亡低保人员的违规金额的时候,要注意低保补助一般是以户为单位进行审核发放的,表中一般反映的是户主的信息,户主死亡后其家庭若符合低保条件的仍可享受低保,只是应该相应的减少享受人员并及时的更改低保信息中的户主信息,所以在统计定性违规金额的时候要根据审核结果科学确定。