一种基于PSO算法优化的患者身份匹配方法与流程

文档序号:25222475发布日期:2021-05-28 14:24阅读:196来源:国知局
一种基于PSO算法优化的患者身份匹配方法与流程

本发明涉医疗信息技术领域,尤其涉及一种基于pso算法优化的患者身份匹配方法。



背景技术:

患者主索引(enterprisemasterpatientindex,empi)是二十世纪末出现的医疗信息化专业用语,简单来说,它是患者基本信息检索目录。其主要用途是在一个复杂的医疗体系内,通过唯一的患者标识将多个医疗信息系统有效地关联在一起。以实现各个系统之间的互联互通,保证对同一个患者,分布在不同系统中的个人信息采集的完整性和准确性。医疗信息系统中,患者标识信息一般包括:姓名、性别、民族、出生日期、身份证号码、联系电话、地址、医保卡卡号、就诊卡卡号。获取医院信息系统服务器上传的用户信息数据;其中,所述用户信息数据至少包括姓名、性别、民族、出生日期、身份证号码、联系电话、地址、医保卡卡号、就诊卡卡号;根据预先设置的第一字段值提取策略获取所述用户信息数据中对应的当前第一字段值,以当前第一字段值为检索条件获取对应的初次筛选后数据集合;其中,所述初次筛选后数据集合中包括若干条初次筛选后数据,每一初次筛选后数据中至少包括姓名、性别、出生日期、证件类型、证件号码、联系电话、地址;将所述用户信息数据按照预设的数据调整策略进行数据调整得到调整用户信息数据,获取所述调整用户信息数据与所述初次筛选后数据集合中各条初次筛选后数据的相似度,以获取对应的相似度集合;其中,所述数据调整策略用于对用户信息数据中的姓名、性别、出生日期、证件类型、证件号码、联系电话进行字符调整和矫正。empi本质上是一个数据整合系统,它把来自多个不同的系统中的病人标识统一成一个,实现对同一病人仅仅有一个标识对应,同一病人的信息也归并在同一个标识之下。这样就有效地解决了多系统中识别病人身份的问题。在识别中,经常面临的判断两条数据是否为同一个人的数据,医疗数据中,常常面临数据不全,或者偶尔有数据错误,为了判断该数据真正的主人,需要将两条数据进行相似度匹配,目前,主要根据各个字段,求出相应的相似度,然后人工确定各个字段的系数,进行加权求和,超过一定阈值up,就判定是同一个人的数据,低于另一个数字阈值low,就判定是不同人的数据,小于up大于low的分数,就交给人工审核。现有对求取相似度之后的权重系数一般采用人工进行确认,而人工确认权重系数往往存在个体的差异,因此不具备通用性,因此不是最优解。



技术实现要素:

本发明的目的在于提供一种基于pso算法优化的患者身份匹配方法,解决了样本数据计算量较大以及相似度的权重系数是人为确定而不是最优解的问题

本发明采用的技术方案如下:

一种基于pso算法优化的患者身份匹配方法,具体包括以下步骤:

s1:从医疗数据库中获取患者标识信息数据,整理所述的患者标识信息数据,将患者标识信息数据中高通用性且高饱和度的信息项进行组合,得到通用身份信息框架;

s2:对患者标识信息数据进行排序后进行分桶,逐条计算患者标识信息数据对应身份信息框架的信息项相似度;

s3:对身份信息框架的信息项相似度进行加权求和,得到患者身份信息的整体相似度;

s4:基于患者身份信息的整体相似度判断患者身份;

所述s2具体包括以下步骤:

s21:将患者标识信息数据根据分类条件依次进行排序;

s22:将分类条件相同的患者标识信息数据归位同一个桶;

s23:对位于同一分类条件的桶内的样本数据,进行桶内患者标识信息数据的两两对比,判断两条患者标识信息本数据的相似度;

s24:设定相似度阈值上限t,将两条患者标识信息数据对比相似度大于阈值t的数据对判定为同一个人的数据。

进一步地,所述分类条件包括姓名、身份证号码、电话号码,所述分类条件的执行顺序依次为姓名、身份证号码、电话号码。

进一步地,所述患者身份信息的整体相似度的公式为加权表达式:

sim(xi,yj)指患者身份源x中的第i条记录与患者身份源y中的第j条记录的相似度;sim(xik,yjk)指xi记录与yj记录的第k条信息项的相似度,ak指赋予第k条信息项的权重,满足0<ak<1。

进一步地,所述ak的确定过程包括适应度函数的确定以及利用pso算法进行优化。

进一步地,所述适应度函数的确定具体包括以下步骤:

a.数据准备,从数据集合里选择,准备正样本m组,每组数据有两条,为同一个人的数据,准备好负样本数据n组,每组两条,不为同一个人的数据;

b.输入一个ak,对m组数据,求出每组数据的第一条和第二条的相似度out,

对于m组数据,给定一个阈值t,如果out>t,则计数为1,如果out<t,则计数为0,计算出m组数据中,各组数据的out>t的个数r1;

c.对于n组数据,求出每组数据的第一条和第二条的相似度out,如果out<t,则计数为1,如果out>t,则计数为0,计算出n组数据中,各组数据的out<t的个数r2;

d.确定适应度函数:

f=(r1/m)*w+(r2/n)*(1-w)(7)

目标函数为:

max(f)(8)。

进一步地,所述适应度函数(7)当中,0<w<1,w控制对敏感度和特异性的重要程度,w设置为0.5,则敏感度和特异性重要程度相同。

进一步地,所述w设置为0,只看重特异性,w设置为1,则只看中敏感度。

进一步地,所述利用pso算法进行优化具体包括以下步骤:

e.初始化一群微粒,群体规模为n,包括随机位置和速度,每个粒子的初始位置为公式(2)中的ak;

f.采用公式(7)评价每个微粒的适应度;

g.对每个微粒,将其适应值与其经过的最好位置pbest作比较,如果当前适应值优于最好位置pbest,则将当前适应值作为当前的最好位置pbest;

h.对每个微粒,将其适应值与其经过的最好位置gbest作比较,如果当前适应值优于最好位置gbest,则将当前适应值作为当前的最好位置gbest;

i.根据公式调整微粒速度和位置;

vi=vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

xi=xi+vi

j.未达到结束条件则返回f;

k.到达结束条件,最后求得的gbest为ak的最优取值。

发明的有益效果是:

1.本发明一种基于pso算法优化的患者身份匹配方法,本发明基于各个字段相似度加权求和判断中,权重系数是根据训练样本训练而成,而不是人为决定,大大的减少了人工的工作量,并且提高了数据处理效率,而且降低了人工成本。

附图说明

图1是本发明一种基于pso算法优化的患者身份匹配方法的整体流程示意图;

图2是本发明m组数据相似度大于阈值t的数据个数r1的确定流程示意图;

图3是本发明n组数据相似度小于阈值t的数据个数r2的确定流程示意图;

图4是本发明基于pso算法优化ak的具体流程示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

实施例1

医疗信息系统中,患者标识信息一般包括:姓名、性别、民族、出生日期、身份证号码、联系电话、地址、医保卡卡号、就诊卡卡号。获取医院信息系统服务器上传的用户信息数据;其中,所述用户信息数据至少包括姓名、性别、民族、出生日期、身份证号码、联系电话、地址、医保卡卡号、就诊卡卡号;根据预先设置的第一字段值提取策略获取所述用户信息数据中对应的当前第一字段值,以当前第一字段值为检索条件获取对应的初次筛选后数据集合;其中,所述初次筛选后数据集合中包括若干条初次筛选后数据,每一初次筛选后数据中至少包括姓名、性别、出生日期、证件类型、证件号码、联系电话、地址;将所述用户信息数据按照预设的数据调整策略进行数据调整得到调整用户信息数据,获取所述调整用户信息数据与所述初次筛选后数据集合中各条初次筛选后数据的相似度,以获取对应的相似度集合;其中,所述数据调整策略用于对用户信息数据中的姓名、性别、出生日期、证件类型、证件号码、联系电话进行字符调整和矫正。如图1所示的一种基于pso算法优化的患者身份匹配方法的流程示意图。

s1:从医疗数据库中获取患者标识信息数据,整理所述的患者标识信息数据,确定患者标识符域中通用性较高且饱和度较高的信息项进行组合,得到通用的身份信息框架;

整理以上所述的患者标识信息,确定一些各标识符域中普遍存在且饱和度较高的信息项组合作为通用的身份信息框架(如姓名+性别+出生日期),

s2:对患者标识信息数据进行排序后进行分桶,逐条计算患者标识信息数据对应身份信息框架的信息项相似度;

s3:对身份信息框架的信息项相似度进行加权求和,得到患者身份信息的整体相似度;

s4:基于患者身份信息的整体相似度判断患者身份。

所述s2具体包括以下步骤:

s21:将患者标识信息数据根据分类条件依次进行排序;

s22:将分类条件相同的患者标识信息数据归位同一个桶;

s23:对位于同一分类条件的桶内的样本数据,进行桶内患者标识信息数据的两两对比,判断两条患者标识信息本数据的相似度;

s24:设定相似度阈值上限t,将两条样本数据对比相似度大于阈值t的数据对判定为同一个人的数据。

正样本数据对模拟真实医疗数据库,对数据库中的m条样本数据集合,首先将样本数据中的所有字段信息完全一模一样的数据进行整合,并且字段信息填写不完全的,该字段需要被置空。

根据姓名中进行排序,进行分桶处理,具体步骤如下:

1)将m条数据样本数据,根据姓名排序;

2)将姓名相同的数据归位同一个桶;

3)对位于同一姓名组的桶内的样本数据,进行桶内样本数据的两两对比,判断两条样本数据的相似度;

4)设定相似度阈值t,将两条样本数据对比相似度大于阈值t的数据对判定为同一个人的数据。

比如一个桶总共有n条数据需要治理,那么就计算其中1条和其他(n-1条)数据的相似度{s(1),s(2),s(3),s(4)........s(n-1)},这个集合里面,超过阈值t的数据对,则认为是同一个人的,低于阈值t的数据对,则认为是不同人的。

然后根据身份证信息进行排序,进行分桶处理,具体步骤如下:

1)将m条数据样本数据,根据身份证排序;

2)将身份证相同的数据归位同一个桶;

3)对位于同一身份证组的桶内的样本数据,进行桶内样本数据的两两对比,判断两条样本数据的相似度;

4)设定相似度阈值t,将两条样本数据对比相似度大于阈值t的数据对判定为同一个人的数据。

再次,对数据根据电话号码进行排序,进行分桶处理,具体步骤如下:

1)将m条数据样本数据,根据电话号码进行排序;

2)将身份证相同的数据归位同一个桶

3)对位于同一身份证组的桶内的样本数据,进行桶内样本数据的两两对比,判断两条样本数据的相似度;

4)设定相似度阈值t,将两条样本数据对比相似度大于阈值t的数据对判定为同一个人的数据。

通过对样本数据依次基于排序进行分桶操作处理,能够有效的将数据的计算量从o(n)降低到m·log(n)。

实施例2

患者身份信息的匹配程度可以由各个字段信息匹配程度的加权和来反映。公式为加权表达式:

其中sim(xi,yj)指患者身份源x中的第i条记录与患者身份源y中的第j条记录的相似度;sim(xik,yjk)指xi记录与yj记录的第k条信息项的相似度,ak指赋予第k条信息项的权重,必须满足0<ak<1。

字符串间的相似程度通常可以用相似性度量(similaritymeasurement)、距离度量(distancemeasurement)、编辑距离(editdistance)和最长公共子序列(lcs,longestcommonsubsequence)来反映。其中编辑距离包括:欧几里得距离,曼哈顿距离等。

表1正样本数据对

表2负样本数据对

本算法采用pso算法对ak进行计算,而不是人工手动确定。

第一步,首先确定目标函数:

首先从真实数据集合里选择,准备好正样本m组,每组数据有2条,是同一个人的,如表一,正样本数据对,(1a,1b),(2a,2b),(3a,3b)...(ma,mb)。选择好n组数据,每组2条,不是同一个人的,如表二负样本数据对,(1a,1b),(2a,2b),(3a,3b)...(na,nb)。

如图2所示的m组数据相似度大于阈值t的数据个数r1的确定流程,

假如输入一个ak,对m组数据,求出每组数据的第一条和第二条的相似度out,

对于每组数据,给定一个阈值t,如果out>t,则计数为1,如果out<t,则计数为0,也就是计算出,m组数据中,各组数据的out>t的个数r1。

同样的,如图3所示的n组数据相似度小于阈值t的数据个数r2的确定流程对于n组,给出每组数据的out,如果out<t,则计数为1,如果out>t,则计数为0,计算出,n组数据中out<t的个数r2。

最后得到适应度函数:

f=(r1/m)*w+(r2/n)*(1-w)(7)

公式(7)当中,0<w<1,w用于控制对敏感度和特异性的重要程度,如果w设置为0.5,那么敏感度和特异性同样重要。如果设置为0,则看着特异性,如果设置为1,则只看中敏感度。

目标函数为:

max(f)(8)

第二步,利用pso算法进行求解,其具体流程如下:

1)初始化一群微粒(群体规模为n),包括随机位置和速度,每个粒子的初始位置就是公式(2)中的ak;

2)采用公式(7)f=(r1/m)*w+(r2/n)*(1-w)评价每个微粒的适应度;

3)对每个微粒,将其适应值与其经过的最好位置pbest作比较,如果较好,则将其作为当前的最好位置pbest;

4)对每个微粒,将其适应值与其经过的最好位置gbest作比较,如果较好,则将其作为当前的最好位置gbest;

5)根据以下公式调整微粒速度和位置;

vi=vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

xi=xi+vi

6)判断是否达到迭代终止条件,迭代终止条件根据具体问题一般选为最大迭代次数kkk或(和)微粒群迄今为止搜索到的最优位置满足预定最小适应阈值。未达到结束条件则转第2)步。

第三步,最后迭代完成后求的的gbest就是ak的最优取值,并基于公式(1)去判断两条数据是否为同一个人的数据。

以上所述,仅为本发明的优选实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1