医保欺诈行为的主动发现数学建模.docx
《医保欺诈行为的主动发现数学建模.docx》由会员分享,可在线阅读,更多相关《医保欺诈行为的主动发现数学建模.docx(17页珍藏版)》请在冰豆网上搜索。
![医保欺诈行为的主动发现数学建模.docx](https://file1.bdocx.com/fileroot1/2023-5/29/3baf539d-54d1-426e-8cae-b3a7fc1df4e4/3baf539d-54d1-426e-8cae-b3a7fc1df4e41.gif)
医保欺诈行为的主动发现数学建模
医保欺诈行为的主动发现
摘要
本文从病人和医生两个角度分析可能存在的骗保行为。
从病人的角度分析,病人的医保费用与参保人的年龄、看病次数具有一定的相关联性。
首先建立年龄与医保费用关系模型,模型如下:
y=87.732e0.2247X,
R2=0.9908
(0-49岁)
y=93X2-1242.8X+4434.1,
R2=0.9806
(>50岁)
{
第一个公式是病人的前五个年龄段与医保费用的模型,第二个公式是后五个年龄段与医保费用的模型。
两个R2非常接近1,拟合程度较好。
根据模型公式计算出拟合后的不同年龄段的医保支付平均费用,然后与原始数据进行配对T-检验,两组数据是否存在显著性差异,经验证不存在显著差异。
因此,由拟合的两个公式算出的费用,再根据病人年龄判断所属的年龄段,如果超过该年龄段的医保支付平均费用,说明该病人可能存在骗保行为。
随后,建立了病人就诊次数模型。
该模型主要通过stata软件进行编程。
与处方量相关的变量有就诊ID、病人ID以及就诊日期三个变量。
并以7天为分界线对病人的看病次数进行统计分析,每次开处方为1张,7天内开处方2张以上的列为可能具有欺诈行为,这又从另一方面反映出医生对同一病人所开出的处方量,有助于推断医生的欺诈行为。
医生欺诈的手段主要有加大开处方量以及增加处方费用上。
由于从病人角度和从医生角度建立的模型相互关联,因此,同一模型可从不同角度说明病人的欺诈行为以及医生的欺诈行为。
首先,病人就诊次数模型可以说明如果对于同一个病人,医生开具的处方量不同,若在7天内对同一个病人的所开的处方量超过2张(包含2张),则该医生有骗保嫌疑。
在单张处方费用模型中,主要涉及的变量有“就诊ID”、“下医嘱医生”以及“费用”,该模型主要通过excel对涉及的变量数据进行筛选,结果是医生开处方的费用越高,其骗保嫌疑越大。
因此,要结合模型三、四决定医生的骗保行为。
关键词:
医保欺诈T检验主动发现数学模型
1问题的提出
医疗保险欺诈,是指公民、法人或者其他组织在参加医疗保险、缴纳医疗保险费、享受医疗保险待遇过程中,故意捏造事实、弄虚作假、隐瞒真实情况等造成医疗保险基金损失的行为。
骗保人进行医保欺诈时通常使用的手段,一是拿着别人的医保卡配药,二是在不同的医院和医生处重复配药。
下面这些情况都有可能是医保欺诈:
单张处方药费特别高,一张卡在一定时间内反复多次拿药等。
请根据附件中的数据,找出可能的欺诈记录。
1、根据附件中的资料,确定可能存在欺诈的影响因素,并给出可能出现欺诈的情况分析。
2、建立不同种欺诈情况下的模型分析与判别,并对你的模型有效进行欺诈识别进行检验。
2问题的分析
从附件中发现,本题带有较多的数据表,首先从病人的角度分析可能的骗保行为,通过分析数据表发现,病人的医保费用与参保人的年龄、看病次数具有一定的相关联性,可以先用excel对相关数据进行预处理,然后,根据结果和用excel绘制的各种图表进一步分析,建立模型,求解出年龄与医保费用、以及看病次数与医保费用之间的关系。
其次,从医生的角度分析,可能的骗保行为,通过分析数据表发现,医生可以通过增加开处方的量、增加单张处方的费用来推动骗保行为,因此,在该层面,主要通过分析医生对单个病人所开出的处方量以及单张处方的费用来分析医生的骗保行为,数据的处理方法与辨别病人骗保数据的处理方法相同。
3基本假设
(1)假设数据的不完全分析,即抽取的样本可以代表整个样本库,对于模型的构建不会产生较大的影响;
(2)假设所给出的数据具有合理性,数据间具有相关性。
(3)假设不同人群间统济,即进行统一管理和具有统一待遇水平;
(4)假设医保支付费用与病人年龄、一定时间与处方次数有关;
(5)假设一天内病人就诊一次,医生给同一病人开一张处方;
4定义符号说明
id-就诊ID
v2-病人ID
v3-就诊日期
v4下医嘱医生
tag1-就诊次数
diff-就诊时间间隔
tag2-就诊时间间隔是否超过七天
tag-过度列
5骗保行为模型的分析和建立
5.1病人的年龄与医保费用模型(模型一)
5.1.1模型建立
假设处在同一年龄段的病人的身体状况基本相同,且医疗花费基本相同,可以通过医保支付费用与年龄之间建立联系。
如果病人的医保支付费用超过该年龄段的平均花费,说明可能存在骗保行为。
为了减少误差,我们组根据病人年龄以及费用数据进行分析,发现小于等于49岁的病人花费的费用明显少于50岁之后的病人,我们推断,以50岁为分界线,病人的身体状况存在明显的差异,所进行的诊疗不同,50岁以上的病人的药费和诊疗费会明显高于50岁以下的病人,因此要分为两部分进行分析建模,否则会存在很大的误差。
为了研究医保支付费用与年龄的关系,对附件1、2、3所给数据进行分析,根据出生日期计算出年龄,需要注意的是是按费用发生时的时刻计算年龄。
然后根据病人ID号对不同表中的年龄、医保支付费用、性别、就诊号等进行匹配。
使用SPSS将年龄分成十个阶段:
0到9岁、10到19岁、20到29岁、30到39岁、40到49岁、50到59岁、60到69岁、70到79岁、80到89岁、90岁以上分别用“1、2、3、4、5、6、7、8、9、10”表示各年龄段。
如果设置信区间为向上浮动5%,则可以算出平均费用置信区间的上限(由于费用越少越好,区间的下限无意义)。
在EXCEL表中使用分类汇总操作,计算出各阶段医保支付费用平均值及平均费用置信区间的上限。
如下表5-1:
年龄段
医保支付平均费用
置信区间的上限
1
114.50
120.23
2
133.14
139.79
3
165.99
174.29
4
216.47
227.30
5
276.25
290.06
6
301.08
316.14
7
325.17
341.43
8
489.51
513.98
9
687.77
722.16
10
1,345.90
1413.19
表5-1不同年龄段的医保支付平均费用及其上限
由表5-1可知,年龄与医保支付平均费用之间并不是一直存在简单的线性函数关系。
通过网络资料查阅我们发现回归分析法是在掌握大量观察数据的基础上,利用数理统计方法建立因变量与自变量之间的回归关系函数表达式(称回归方程式)。
通过观测散点走势来确定拟合函数,利用散点但又不拘泥于散点。
该方法与我们的数据分析非常相似,因此我们决定采用回归分析法对数据进行建模。
又由于第十个年龄段的散点与曲线不相拟合,因此十个年龄段无法用一条回归曲线准确表示。
前五个年龄段和后五个年龄段分别拟合出一条曲线。
根据散点的趋势(图5-1)可以看出年龄与医保支付平均费用之间存在非线性关系,通过添加趋势线得到指数曲线关系图5-2。
图5-1前五个年龄段的医保支付平均费用的回归曲线
图5-2后五个年龄段的医保支付平均费用的回归曲线
得到的回归模型为
y=87.732e0.2247X,
R2=0.9908
(0-49岁)
y=93X2-1242.8X+4434.1,
R2=0.9806
(>50岁)
{
由于R值越接近1,说明回归曲线对观测值的拟合程度越好;图5-1中得到R2=0.9908,图5-2中得到R2=0.9806,可以判断拟合程度较好。
根据拟合的公式y=87.732e0.2247X和y=93X2-1242.8X+4434.1重新计算出年龄段和医保支付平均费用,如果设置信区间为向上浮动5%,则可以算出平均费用置信区间的上限(由于费用越少越好,区间的下限无意义)。
如表5-2所示。
年龄段
拟合后的医保费用
置信区间的上限
1
109.84
115.33
2
137.51
144.38
3
172.15
180.76
4
215.53
226.30
5
269.83
283.32
6
325.30
341.57
7
291.50
306.08
8
443.70
465.89
9
781.90
821.00
10
1306.10
1371.41
表5-2根据拟合曲线得到的年龄段与医保支付平均费用
由表5-2可知,根据病人年龄判断所属的年龄段,如果超过该年龄段的医保支付平均费用的置信区间的上限,说明该病人可能存在骗保行为。
最后,使用MySQL数据库对上述筛选过程进行编程。
将excel表格导入MySQL数据库,然后编写查询语句,得出筛选结果,如图5-4。
图5-4筛选结果
MySQL数据库中输入的查询语句如下:
SELECTidAS编号,costAS花费,ageAS年龄,sexAS性别
FROMinfra_date
WHEREageBETWEEN0AND9ANDcost>115.33
ORageBETWEEN10AND19ANDcost>144.38
ORageBETWEEN20AND29ANDcost>180.76
ORageBETWEEN30AND39ANDcost>226.30
ORageBETWEEN40AND49ANDcost>283.32
ORageBETWEEN50AND59ANDcost>341.57
ORageBETWEEN60AND69ANDcost>306.08
ORageBETWEEN70AND79ANDcost>465.89
ORageBETWEEN80AND89ANDcost>821.00
ORageBETWEEN90AND99ANDcost>1371.41;
5.1.2对模型一的检验——T检验
从模型一抽取的一万条样本之后,再抽取一千条样本用于检验模型一中的医保支付平均费用是否具有统计学意义。
根据抽取的一千条数据进行汇总,同样得到不同年龄段的医保支付平均费用。
检验两组数据是否存在显著性差异。
原始医保费用
拟合后的医保费用
114.50
109.84
133.14
137.51
165.99
172.15
216.47
215.53
276.25
269.83
301.08
325.30
325.17
291.50
489.51
443.70
687.77
781.90
1,345.90
1306.10
首先,分别把这两组数据分别设为x和y,打开SPSS,点击左下角的VariableView选项卡,在Name列那里的第一行输y,第二行输x,返回DataView选项卡,输入对应的数据然后,进行数据分析(配对样本T检验),在输出窗口中看到输出结果,如图5-5所示,然后看最右边的x对应的Sig值,若sig=0.985比之前所设定的a=0.05大(a值也就是显著性水平),则认为这两组数不存在显著性差异。
说明模型中的平均值具有统计学意义。
图5-5模型一T检验结果
由病人的年龄与医保费用模型以及后续进行的检验可知,病人的年龄与医保费用之间存在指数或一元二次回归的关系,要证明病人是否具有骗保嫌疑,只需根据病人的年龄所属年龄段带入上述模型公式,若病人的实际花费超出公式得出结果的105%,则该病人具有骗保的嫌疑。
但是,不能完全确定病人是否一定骗保,还需要根据病人看病次数模型进行分析。
5.2病人看病次数与看病日期之间的模型建立(模型二)
(1)根据国家《处方药管理办法》第十九条规定,医生所开的一般处方的用量为7天,因此,以7天为分界线对病人的看病次数进行统计分析,每次开处方为1张,7天内开处方2张以上的列为可能具有欺诈行为,这又从另一方面反映出医生对同一病人所开出的处方量,有助于推断医生的欺诈行为。
与处方量相关的变量有就诊ID、病人ID以及就诊日期三个变量。
病人ID即为医保卡上存有的号码,不随着就诊日期的变化而变化,即就诊一次病人ID号码重复一次,就诊ID是病人每次看病医院系统自动分配的号码,随着就诊日期的变化而变化,即每次就诊时其就诊ID变更一次。
但是,附表2.2中出现的就诊ID号码重复次数代表单张处方上药品的数量,因此,病人ID重复数量更能代表病人的就诊次数,即“病人ID”出现的次数即为病人在一定时期内看病次数,其看病时间间隔即为获得处方的时间间隔。
(2)数据的预处理。
从2.2费用明细表中选取前10000条记录中的就诊ID号、病人ID号、医嘱日期这三个变量。
首先从这10000条记录中删除就诊ID号重复的记录,剩余7341条记录。
然后对剩余的记录执行开始菜单下的“条件格式”命令,选择“新建规则”项,在“选择规则类型”中选择“仅对唯一值或重复值设置格式”,在“编辑规则说明”中勾选“重复”,接下来设定所要选取的记录的格式,这里我们选择将其标红。
点击“确定”之后就可以选出就诊ID号不同而病人ID号相同的记录。
(3)数据应用stata软件进行分析,把“就诊ID”、“病人ID”以及“就诊时间”单独摘录出来形成“看病次数.excel”表,在excel表格中把就诊日期准化为数值型,并保存为“csv”格式,然后在stata软件中执行以下程序:
编程一
clearall
insheetusing"C:
\Users\Administrator\Desktop\建模\2015研究生数学建模试题\编程数据\看病次数.csv"
duplicatestv2,g(tag)
dropiftag==0
generatetag1=tag+1
gsortv2v3
sortv2
byv2:
gendiff=v3[_n]–v3[_n-1]
generatetag2=diff<=7
结果如下图:
图5-6运行编程一后结果图
图5-6中,从左至右表头分别为就诊ID、病人ID(v2)、就诊日期(v3)、就诊次数(tag1)、就诊时间间隔(diff)、就诊时间间隔是否超过七天(tag2,1代表不超过7天,0代表超过7天,在同一病人ID号下,同时出现0表示就诊间隔超过七天,其余为就诊时间间隔不超过七天),tag列是过度列,没有实际含义。
图5-6中,“病人ID(v2)”仍然呈重复状态,没有剔除重复项,“就诊时间间隔是否超过七天(tag2)”以代码“1”、“0”的形式呈现,在同一病人ID号下,不易分清就诊时间间隔是否超过七天,因此,需要以更直观的形式展现病人ID号所对应的就诊次数之间的时间间隔是否超过七天。
为达上述目的,启动编程二,剔除病人ID号重复项,并在病人ID下标出就诊时间间隔是否超过七天。
经过以上分析,可知,上述数据中,有用变量为“病人ID”、“就诊次数(tag1)”、“就诊时间间隔是否超过七天(tag2)”。
因此,复制到excel表“看病次数2”之中,并保存为“csv”格式。
在stata中导入“看病次数2.csv”,运行编程二。
编程二
clearall
insheetusing"C:
\Users\Administrator\Desktop\建模\2015研究生数学建模试题\编程数据\看病次数2.csv"
bysv2:
replacetag2=tag2[_N]
duplicatesdropv2tag2,force
结果如下图:
图5-7运行编程二后结果图
由图5-7可很直观地看出,每个病人ID(v2)就诊的次数以及就诊相邻两次就诊时间间隔是否在在7天内。
若病人在连续7天内所开处方量超过2张(包括两张),则该病人具有一定的骗保嫌疑。
但是,单凭该数据并不能确定病人是否一定骗保以及骗保嫌疑的可能性有多大,必须联合病人年龄与医保费用模型进行判定。
如果某病人的医保费用超出由病人的年龄与医保费用模型计算出的费用,并且在连续7天内,其处方量超出2个,则该病人具有重大的骗保嫌疑,需要引起重视并对其进行实际调查。
5.3病人单张处方费用模型建立(模型三)
医生的欺诈行为与单张处方的费用相关,若单张处方费用超过病人所在年龄段的平均费用(即模型一),则该医生存在骗保的嫌疑。
与单张处方付费用有关的变量包括就诊ID、下医嘱医生以及处方费用。
数据处理:
依据病人ID号先对2.2费用明细表进行排序,选取前10000条记录和就诊ID号、病人ID号、费用及下医嘱医生号变量复制到另外一张表进行操作。
对该部分数据进行分类汇总,选择“数据”菜单下的“分类汇总”命令,首先以就诊ID号为分类字段,对与之相对应的费用进行求和汇总,该步骤完成后,选择表右侧的2级分类,只显示汇总之后的数据,对该部分数据进行“定位条件”操作,选择“可见单元格”,之后选择复制,将该汇总后的数据粘贴到新的工作表中。
其次是对下医嘱医生号进行汇总,以就诊ID号为“分类字段”,汇总方式为“平均值”,汇总项为“下医嘱医生”,替换之前的汇总并执行。
同理,将汇总之后的数据对应地粘贴到新工作表“医嘱-费用”之中,并在“医嘱-费用”之中对费用进行降序列中。
这样就得到了每个医生号所对应的单张处方的费用。
图5-8医嘱-费用对照表
单张处方费用是否超出一般处方费用标准,需要医疗机构对各种病种的基本花费进行核算,得出基本的花费额,如果根据以上排查,发现某病人的单张处方费用超出基本的费用,则开处方的医生存在过度医疗的嫌疑以及骗保的嫌疑。
由于缺乏数据不完整,该模型只是根据一定的方式对单张处方费用进行筛查,并无具体可控的数据模型或编程供重复使用。
倘若给出具体的基本医疗费用,则可根据excel中的“筛选”工具对超出基本医疗费用的病人以及下医嘱医生进行筛选,得到肯能具有骗保嫌疑的数据。
5.4病人开处方数量筛选模型(模型四)
但根据医生开具的单张处方的费用并不能确定医生骗保嫌疑的可能性,还必须根据建立另一模型,判断在7天内医生对同一个病人开出的处方量的多少,来增大医生的骗保的可能性推断,减少判断误差。
从2.2费用明细表中选取10074条完整记录,并选出就诊ID、病人ID、下医嘱医生和医嘱日期这4个变量。
根据就诊ID对病人ID、下医嘱医生和医嘱日期进行分类汇总,“分类字段”为就诊ID,“汇总方式”选“平均值”,“汇总选项”为病人ID、下医嘱医生和医嘱日期,根据这些条件对该10074条记录进行汇总,再将汇总结果复制粘贴到表A中,与之前的费用汇总相匹配,就得出了每张处方费用汇总之后的数据,结果如下图。
该模型只能筛选出同一个医生对同一个病人所开出的处方量,如果处方量在7天内(一般处方的用药量)超过2张(包括2张),则该医生具有骗保的嫌疑。
该模型不能准确的判断出医生是否具有很大骗保行为的可能性,还必须与“病人单张处方费用模型”共同使用,如果医生给病人开出的处方中单张处方超出基本费用,则该医生具有很大的骗保嫌疑,需要特别重视并进行实际调查。
6模型综合分析
6.1病人医保欺诈行为分析
由模型一知,根据回归公式
y=87.732e0.2247X,
R2=0.9908
(0-49岁)
y=93X2-1242.8X+4434.1,
R2=0.9806
(>50岁)
{
已知病人的年龄段,可知病人正常的医保费用,若医保费用高于105%y(y值向上浮动5%)则可能存在医保欺诈行为,该病人就要被列入怀疑对象。
倘若按照模式二对病人的处方量进行核查,发现该病人在7天内的所持有的处方量超过2张(包含2张),则该病人就要被列入重点怀疑对象,需要对其进行后续实质性审查。
模型一与模型二的不足分析:
模型一与模型二的建立都是基于所选取的10000个样本,模型分析本身存在不可避免的误差,必须联合使用才能确定病人的是否具有较大的骗保嫌疑。
6.2医生医保欺诈行为分析
医生欺诈的手段主要有加大开处方量以及增加处方费用上。
由在单张处方费用模型中,医生开处方的费用越高,其骗保嫌疑越大。
由模型四可知,如果对于同一个病人,医生开具的处方量不同,若在7天内对同一个病人的所开的处方量超过2张(包含2张),则该医生有骗保嫌疑,因此,要结合模型二、三决定医生的骗保行为。
具体操作为,
(1)下医嘱医生代码——病人就诊ID——费用,
(2)病人ID——处方量——处方间隔期。
若
(1)
(2)均符合,该医生的骗保嫌疑很大,需要对其进行后续实质性审查。
模型三与模型四不足分析:
模型三、四均没有建立准确的数字模型,只能通过软件操作筛选符合要求的信息,进行判断时需要逐条核对,工作量大,不利于对大数据的分析与筛选。
参考文献
[1]李亚子,尤斌.医疗保险骗保特征分析[J].中国社会保障,2015,02:
76-79.
[2]王蔚臆.医保欺诈的成因及其监管探析[J].管理观察,2014,08:
164-166.
[3]张新民.社会医疗保险欺诈法律责任制度研究[J].西南民族大学学报(人文社会科学版),2014,01:
90-95.
[4]MarkM.Meerschaert《数学建模方法与分析》(第2版)[M].北京.机械工业出版社.
[5]彭黎.神经网络算法在新农合医疗保险欺诈风险预警中的应用[D].湖南大学,2014.
[6]刘诗韵,冯泽永.“三无”医院骗保问题解析及防范[J].医学与哲学(A),2014,04:
39-42.