这是一篇开放获取的文章,根据创作共用署名许可协议(https://creativecommons.org/licenses/by/4.0/)的条款发布,允许在任何媒介上不受限制地使用、分发和复制,前提是正确引用了首次发表在JMIR医学信息学上的原创作品。必须包括完整的书目信息,https://medinform.www.mybigtv.com/上的原始出版物的链接,以及此版权和许可信息。
生物医学数据仓库(BDW)经常丢失或不确定,出院后的重要状态是BDW在医学研究中的核心价值。法国国家死亡率数据库(FNMD)提供每个死亡的公开提名记录。将大规模BDWs记录与FNMD进行匹配面临多个挑战:两个数据库之间缺乏唯一的公共标识符、名称随寿命变化、书写错误以及要计算的比较数量呈指数级增长。
我们的目标是开发一种新的BDW记录与FNMD匹配的算法,并评估其性能。
我们开发了一种基于高级数据清洗和命名系统知识以及Damerau-Levenshtein距离(DLD)的确定性算法。使用里尔、南特和雷恩三所大学医院的BDW数据独立评估了算法的性能。对2016年1月1日在世患者(即在此日期之前和之后至少有1次医院就诊的患者)进行特异性评估。对2001年1月1日至2020年12月31日期间死亡的患者进行了敏感性评估。将基于dld的算法与具有最小数据清理的直接匹配算法进行了比较。
综合所有中心,基于dld算法的灵敏度(93.3%,95% CI 92.8-93.9)比直接算法(82.7%,95% CI 81.8-83.6;
总体而言,使用dld算法的灵敏度/召回率比使用直接算法高11%。这表明了通过DLD使用高级数据清理和命名系统知识的重要性。可以发现组间敏感性在统计学上有显著差异,在进行分析时必须考虑到这一点,以避免差异偏差。我们的算法最初是为连接BDW和FNMD而设计的,可以用于匹配任何大规模的数据库。虽然使用名称的匹配操作被认为是敏感的计算操作,但这里发布的Inseehop包很容易在本地运行,从而有助于遵守网络安全本地框架。使用先进的确定性匹配算法,例如基于dld的算法,是结合开源外部数据来提高bdw使用价值的一个有深刻见解的例子。
生命状况是医学研究的重要信息。虽然来自生物医学数据仓库(BDW)记录分析的真实世界证据近年来越来越受欢迎[
法国从拿破仑时代继承了行政中央集权的悠久传统。当法国领土上的居民死亡时,法国市政厅必须向法国国家统计局(INSEE)发送一份死亡报告,并翻译成法国国家统计和经济研究所[
记录链接(也称为数据匹配或实体解析)是从一个或多个数据源中快速准确地识别与同一个体实体对应的记录的过程[
因此,很少有关于记录链接的计算性能,其准确性,及其决定因素的发表。摩尔等[
为了大规模更新FNMD BDW记录中的生命状态,我们开发了一种基于Damerau-Levenshtein距离(DLD)的确定性匹配算法,并将其与直接匹配算法进行了性能比较,以3家区域医院BDW为参考。
FNDM文件从国家开放数据网站[
法国的三所大学医院参与了这项研究:里尔、南特和雷恩。每家医院的BDW包含管理、临床、生物和药物数据。
里尔BDW于2021年6月1日提供了2008年1月1日至2021年6月1日期间至少住院1次的1,609,515名患者的重要状态信息。数据显示,1570320例(98%)患者存活,39195例(2%)患者死亡。
对于南特BDW,在2021年1月14日可获得2,035805名在过去20年内至少有1次医院就诊的患者的重要状态信息。数据显示,1,974,786例(97%)患者存活,61,019例(3%)死亡。
雷恩BDW于2021年1月4日提供了1,262,072名患者的重要状态信息。数据显示,12221817例(97%)患者存活,37986例(3%)死亡,346例无生命状态记录。
此后,从bdw提取的样本被称为“本地数据库”。
为了评估高级数据清洗和DLD使用所带来的性能增益,我们使用了一个简单的直接匹配算法作为参考。介绍了数据清洗的特点和所使用的算法
直接匹配算法从患者的名字和姓氏中去除重音,因为FNMD不使用重音。所有字母都转换成小写字母。如果两个记录具有完全相同的姓氏、名字、出生日期和性别,则在本地数据库和FNMD之间链接两个记录。选择的姓氏是出生时的姓氏,如果没有,则是现在的姓氏。
两个字符串之间的DLD是将字符串1转换为字符串2的必要操作的和,例如插入一个字符,删除一个字符,用另一个字符替换一个字符,或调换两个相邻字符[
我们计算了本地数据库和FNMD之间的距离,包括名字、姓氏、出生日期、性别和出生城市。对于性别,距离为0表示两个记录中的性别相同,距离为1表示两个记录之间不匹配。
该算法可以分为四个连续的步骤:清理数据、创建新变量、使用块技术验证对以及选择更相关的对。
在FNMD中,出生日期可以用缺少的日期和月份表示(如1956-00-00)。在这些情况下,算法自动将1月1日归属于日期,以获得有效的日期格式。如果出生日期无效,则将月份和日期颠倒并测试,然后选择1月1日。例如,日期1960-31-03无效(即,一年中没有31个月);但是,日期1960-03-31是有效的,所以选择了1960-03-31。另一个例子是日期1959-32-33:日期1959-32-33和1959-3-3 -32也是无效的;因此,日期1959-01-01被选定。
除字母以外的字符(例如,数字和特殊字符)已从本地数据库和FNMD中删除。所有字母都改为小写,重音被删除。
在本地数据库和FNMD中,对地区的提及都被压制了,只使用了出生城市。例如,“Paris, 13ème arrondissement”被改成了“Paris”。
在本地数据库中,创建了一个转换后的出生城市变量,其中缩写被转换为全文。例如,“St-Martin-sr-Ocre”被转换为“saintmartinsurocre”。
在FNMD中,变量fnmd_firstname_0是从名字的第一个元素创建的(例如,“pierre”来自“pierre - olivier”),变量fnmd_firstname_12是从名字和中间名的串联创建的(例如,“marieclaire”来自名字“Marie”和中间名“Claire”)。其他例子可在
为名字Damerau-Levenshtein距离(DLD)计算创建的与名字相关的数据示例。
原始数据来自FNMD一个 | 为名字DLD创建的数据b计算 | |||
第一个名字 | 第一个中ame | fnmd_firstname_0 | fnmd_firstname _1 | fnmd_firstname_12 |
琼 | N/Ac | 琼 | 琼 | 琼 |
玛丽 | 克莱尔 | 玛丽 | 玛丽 | marieclaire |
Pierre-Olivier | 基督教 | 皮埃尔 | pierreolivier | pierreolivierchristian |
Elon-Louis | N/A | 伦 | elonlouis | elonlouis |
一个法国国家死亡率数据库。
bDamerau-Levenshtein距离。
c不适用。
记录从本地数据库和FNMD匹配如果所有下列条件是有效的:(1)DLD的第一个名字是≤DLD最大的名字,(2)DLD的姓是DLD≤最大的姓氏,DLD(3)的出生日期≤最大DLD出生日期,(4)DLD的DLD性≤最大的性,和(4)的总额4之前DLD(即总DLD)≤DLD最大总数的。
为姓氏选择的DLD是(1)本地数据库中的出生姓氏和FNMD中的姓氏以及(2)本地数据库中的当前姓氏和FNMD中的姓氏中较短的DLD。
为第一个名字选择的DLD是(1)本地数据库中的第一个名字和fnmd_firstname_0,(2)本地数据库中的第一个名字和fnmd_firstname__1,以及(3)本地数据库中的第一个名字和fnmd_firstname_12之间的较短的DLD。
为出生城市名选择的DLD(更相关的配对选择选项)是(1)本地数据库中的原始出生城市和FNMD中的出生城市以及(2)本地数据库中的出生城市和FNMD中的出生城市转换后的出生城市中的较短的DLD。
在没有公共标识符的情况下匹配2个数据库(A和B)意味着计算AxB中每个元素的匹配或不匹配状态,称为一对[
基于Damerau-Levenshtein距离(DLD)的匹配算法的阻塞过程示例。
FNMD一个出生日期 | FNMD名/姓串联b | 本地数据库诞生日期 | 本地数据库名/姓连接b | 出生日期阻塞期间的比较 | 姓氏/姓氏连接阻塞期间的比较 |
1935-06-29 | louidefu | 1935-06-29 | louidefu | 是的 | 是的 |
1935-06-29 | louidefu | 1931-10-08 | maricall | 没有 | 没有 |
1935-06-29 | louidefu | 1940-26-11 | jeanpoku | 没有 | 没有 |
1935-06-29 | louidefu | 1956-23-12 | chardegu | 没有 | 没有 |
1956-12-18 | maricall | 1935-06-29 | louidefu | 没有 | 没有 |
1956-12-18 | maricall | 1931-10-08 | maricall | 没有 | 是的 |
1956-12-18 | maricall | 1940-26-11 | jeanpoku | 没有 | 没有 |
1956-12-18 | maricall | 1956-23-12 | chardegu | 没有 | 没有 |
1940-11-26 | jeanpoqu | 1935-06-29 | louidefu | 没有 | 没有 |
1940-11-26 | jeanpoqu | 1931-10-08 | maricall | 没有 | 没有 |
1940-11-26 | jeanpoqu | 1940-11-26 | jeanpoku | 是的 | 没有 |
1940-11-26 | jeanpoqu | 1956-23-12 | chardegu | 没有 | 没有 |
1940-11-26 | maricuri | 1935-06-29 | louidefu | 没有 | 没有 |
1940-11-26 | maricuri | 1931-10-08 | maricall | 没有 | 没有 |
1940-11-26 | maricuri | 1956-23-12 | chardegu | 没有 | 没有 |
1940-11-26 | maricuri | 1956-23-12 | chardegu | 没有 | 没有 |
一个法国国家死亡率数据库。
b名字的前四个字符和姓氏的前四个字符(如果有本姓,其他地方有现姓)的串联。
本地数据库中的一个患者可以与FNMD中的一条、一条或多条记录匹配。提出了一种算法
对于所有个体,提取了以下变量:出生姓氏、现姓氏、名、出生日期、性别、出生城市和国家、生命状况,如果存在,则死亡日期。
为了了解基于dld算法的最佳参数,我们从南特BDW随机选择了3600名患者,每层450人:(1)出生在法国(MBIF), 2001年至2020年死亡(已故MBIF)的男性。这些是2001年至2020年在BDW中登记死亡的MBIF;(2) 2016年1月1日在世MBIF(活MBIF)。这些是在2001年1月1日至2015年12月31日期间至少有1次医院接触的MBIF,以及2016年1月2日至2020年12月31日期间至少有一次医院接触的MBIF;(3) 2001年至2020年期间在法国出生并死亡的女性(已故法国女性);(4) 2016年1月1日在世的WBIF(活WBIF);(5) 2001年至2020年死亡的法国以外出生的男性(MBOF)(已故MBOF);(6) 2016年1月1日在世的MBOF(在世MBOF);2001年至2020年死亡的在法国以外出生的女性(WBOF);(7) 2016年1月1日在世的WBOF(活WBOF)。
对于基于DLD的算法,学习了最大DLD为2的名字,1的姓氏,1的出生日期,1的性别,2的总DLD。
为了评估基于dld和直接算法的特异性和敏感性,从3个bdw中随机抽取8000例患者样本。来自南特的样本不包含用于统计学习基于dld的算法参数(即最大dld)的患者。每个样本包含1000例死亡MBIF、1000例活MBIF、1000例死亡WBIF、1000例活WBIF、1000例死亡MBOF、1000例活MBOF、1000例死亡WBOF和1000例活WBOF。
最后,为了评估基于dld算法的低RAM需求和并行处理能力,从南特BDW随机提取了200万患者样本,从FNMD随机提取了1100万条记录(2001年至2020年之间)。
对来自每家医院的8000例患者进行了直接和dld算法的敏感性和特异性评估。对2001年1月1日至2020年12月31日之间死亡的患者进行了敏感性(或回忆)评估,并将其注册为每个BDW的金标准。如果患者与至少一个FNMD记录相关联,该算法就会将他们归类为死者。对2016年1月1日活着的患者(即2001年1月1日至2015年12月31日期间至少有一次住院经历的患者,以及2016年1月2日至2020年12月31日期间再次住院的患者)进行特异性评估。如果病人没有连接到FNMD,算法就会把病人归类为活着的。敏感性和特异性数据集中可能存在同一患者(例如,2017年5月13日死亡的患者)。这不是问题,因为为了评估特异性,我们只使用了2001年1月1日至2016年1月1日在FNMD中登记的死亡人数。为了评估敏感性,我们使用了2001年1月1日至2020年12月31日FNMD中登记的所有死亡病例。计算基于dld算法的每个最大总距离参数的特异性和敏感性,取值范围为0 ~ 5。
我们匹配算法的金标准是它在灵敏度和特异性评价方面都是可靠的。首先,它完全独立于FNMD。其次,医院数据库中的死亡状态是可靠的,因为出院时的生命状态是法国公共健康保险向医院支付住院费的必要信息。最后,特定时间的活着状态也是可靠的,因为它是在两次不同的遭遇之间搜索的。
采用分层抽样比例法计算全球绩效、每家医院的全球绩效、每个性别和每家医院的绩效、每个出生国家和每家医院的绩效。为了计算这些表现,我们需要这3个城市中出生在法国以外的患者的百分比。2012年法国全国人口普查数据[
我们开发了一个R包来在并行内核上运行,并根据要匹配的记录数量、可用内核数量和可用RAM,在默认情况下自动选择要使用的最有效的内核数量。使用的核数仍然符合参数。我们使用了“future”和“future”这两个词。一个pply” to enable Linux and Windows compatibility. We measured the execution time to successively match 200, 2000, 20,000, 200,000, and 2 million patients from the Nantes BDW with 11 million records from the FNDM. We tested various core numbers on 3 cores and 15 GB of RAM (1 core and 1 GB of RAM on the laptop used were left free for the operating system).
这3个bdw都事先获得了美国国家信息科学和自由委员会的授权。这些授权包括我们的算法提供的数据质量控制。
基于DLD (Damerau-Levenshtein distance)算法与直接匹配算法的全局性能比较。
匹配算法 | 样本容量,N | 灵敏度,% (95% CI) | 特异性,% (95% CI) |
基于距离的一个 | 21860 | 93.3 (92.8 - -93.9) | 99 (98.7 - -99.2) |
直接 | 21860 | 82.7 (81.8 - -83.6) | 99.9 (99.8 -100) |
|
N/Ab | <措施 | <措施 |
一个最大总距离:2。
bN/A:不适用。
基于DLD (Damerau-Levenshtein distance, DLD)算法与各大学医院直接匹配算法的全局性能比较。
大学医院 | 总样本n | 出生在法国以外的患者用于体重,% | Se一个‘b, % (95% ci) | Se直接c, % (95% ci) | SpdDld % (95% ci) | Sp直接,% (95% CI) |
南特 | Se: 3660 |
4.5 | 85.3 (83.8 - -86.8) | 74.6 (72.8 - -76.4) | 99.3 (99 - 99.7) | 99.9 (99.7 -100) |
雷恩 | Se: 2500 |
4.3 | 97.3 (96.7 - -97.9) | 86.0 (84.6 - -87.4) | 98.2 (97.7 - -98.8) | 100 (99.9 -100) |
里尔 | Se: 3700 |
8.4 | 97.3 (96.8 - -97.9) | 87.5 (86.2 - -88.8) | 99.4 (99 - 99.7) | 99.9 (99.8 -100) |
|
N/Ae | N/A | <措施 | <措施 | <措施 | . 01 |
一个Se:敏感性。
bDLD: Damerau-Levenshtein基于距离的匹配算法(使用最大总距离:2)。
cDirect:直接匹配算法。
dSp:特异性。
eN/A:不适用。
基于DLD (Damerau-Levenshtein distance)的性别与大学医院匹配算法性能研究。
大学医院 | 总样本 | Se一个女性,% (95% CI) | 男性,% (95% CI) |
|
Spb女性,% (95% CI) | Sp男性,% (95% CI) |
|
南特 | Se女人:1660年 |
83.6 (81.4 - -85.8) | 87 (85.1 -89) | .006 | 99.4 (99 - 99.9) | 99.2 (98.7 - -99.8) | .57 |
雷恩 | 女性:1300人 |
96 (94.9 - -97.1) | 98.6 (98.1 - -99.2) | <措施 | 98.6 (97.8 - -99.3) | 97.9 (97.0 - -98.8) | 点 |
里尔 | 女性:1700人 |
97.3 (96.5 - -98.1) | 97.3 (96.6 -98) | >。 | 99.6 (99.2 -100) | 99.1 (98.6 - -99.6) | 。08 |
一个Se:敏感性。
bSp:特异性。
最后,女性和在法国以外出生的人使用DLD的效率高于男性和在法国出生的人。在南特,最大DLD从0增加到2,MBIF的敏感性增加1.85%,MBOF的敏感性增加4.4%,WBIF的敏感性增加2.9%,WBOF的敏感性增加6.6%。基于DLD算法的每个性别、出生国家的性能以及最大总DLD可用于南特医院
关于有效(敏感性)和无效(特异性)对的每层性能和DLD重新划分的详细信息可用于南特医院
基于DLD (Damerau-Levenshtein distance, DLD)的出生国和大学医院匹配算法性能。
大学医院 | 样本大小 | Sea、bBIFc, % (95% ci) | SebBOOFd, % (95% ci) |
|
Sp海尔哥哥Bif, % (95% ci) | SpbBoof, % (95% ci) |
|
南特 | Se, BIF: 2000 |
85.8 (84.3 - -87.3) | 74.9 (72.8 -77) | <措施 | 99.3 (98.9 - -99.7) | 99.8 (99.6 -100) | 03 |
雷恩 | Se, BIF: 2000 |
97.8 (97.1 - -98.4) | 87.6 (84.7 - -90.5) | <措施 | 98.2 (97.6 - -98.7) | 99.8 (99.5 -100) | <措施 |
里尔 | Se, BIF: 2000 |
98.3 (97.7 - -98.9) | 86.8 (85.2 - -88.4) | <措施 | 99.4 (99 - 99.7) | 99.4 (90 - 99.7) | >。 |
一个Se:敏感性。
b使用的最大总距离:2
cBIF:法国出生患者。
dBOOF:法国出生的病人。
eSp:特异性。
在记录为生活在南特BDW的1,974,786例(97%)患者中,205,698例(10.4%)与FNMD相匹配。
记录为居住在南特生物医学数据仓库(BDW)并与法国国家死亡率数据库(FNMD)相连的患者的性别。
性 | 南特BDW的病人一个(N=205,698), N (%) |
女性 | 88090 (42.82) |
男人 | 117563 (57.15) |
未知的 | 45 (0.022) |
一个BDW:生物医学数据仓库。
记录为生活在南特生物医学数据仓库(BDW)并与法国国家死亡率数据库(FNMD)相关联的患者的死亡年龄。
变量 | 女性(N = 88090) | 男人(N = 117563) | 未知(N = 45) |
死亡年龄(年)中位数(IQR) | 82 (20) | 74 (21) | 69 (21) |
在我们的笔记本电脑上,将200名BDW患者与FNMD匹配的执行时间是3分钟,而将200万名BDW患者与FNMD匹配的执行时间是78小时。每个患者的执行时间随着患者总数的增加而减少。详情请参阅
DLD算法的R包,称为Inseehop,在GitLab上是开放访问的。
我们开发了一个大规模的基于dld的记录链接算法来匹配法国bdw患者与FNMD。然后,我们将该算法的性能与来自里尔、南特和雷恩bdw的3个样本的直接匹配算法进行了比较。
总体而言,基于dld算法的灵敏度/召回率比直接算法高约11%。这突出了通过DLD使用高级数据清理和命名系统知识的重要性。
此外,里尔和雷恩评价样本的敏感性比南特样本高约12%,这可能是由于BDW数据质量的差异或区域市政厅的死亡报告管理效率较低所致。因此,在可能的情况下,每个有兴趣重用我们算法的中心都应该计算自己的fnmd匹配性能评估。
在南特和雷恩样本中,女性的敏感性比男性低约3%。这可能是因为女性在婚后更有可能改变姓氏,而大多数男性不会;因此,女性的出生姓氏并不总是被登记。2020年Réferentiel d 'Identitovigilance法国国家身份监测指南[
在法国出生的人比在法国以外出生的人更敏感。这一结果是意料之中的,因为其他国家的政府在其公民在其领土上死亡时不会向INSEE提交死亡报告。另一种解释是,非法国患者的同一姓氏、名或中间名在法语中可能有多种翻译。
在进行分析时,必须考虑这些敏感性差异(性别、出生国家或医院),以避免组间的差异偏差。
最后,在基于DLD的算法中,增加最大总DLD减少了男性和女性以及在法国和国外出生的患者之间的表现差距,这有助于限制组间的差异偏见。性别、出生国家和医院的特异性均≥98%,大大降低了组间差异偏倚的风险。
阻塞出生日期,然后将名字的前4个字符和姓氏的前4个字符连接起来,将匹配200万名患者所需的时间从大约366年减少到78小时。但是,如果这两个阻塞标准不一致,则本地数据库的记录不能与FNMD的记录进行比较;它们只能在只有1不同或两者相等的情况下进行比较。
将基于dld的算法应用于南特BDW,发现20万名注册为活着的患者实际上与FNMD有关,这大约是最初注册为死亡的6万名患者的3倍。死亡的男性更多,而且年龄更小,这与本文前面讨论的实际人口统计数据一致。
在R软件中实现的并行核上运行的程序能够在15 GB RAM和3个核上运行来自南特BDW的200万名患者和来自FNMD的1100万名死者。更高性能的平台可以改善执行时间;我们的笔记本电脑并不理想,因为它的计算能力很低,并且在3核计算时出现过热问题。由于数据保存在医院的计算机上,不涉及外部服务,因此保密性是最佳的。此外,只需要流行的R包就可以运行它,这对于在自己的机器上缺乏管理员权限的用户很有用。
正如本文前面所描述的,我们的金标准在敏感性和特异性评估方面都是可靠的,因为(1)它完全独立于FNMD,(2)医院数据库中的死亡状态是可靠的,(3)在特定时间内的活着状态是在两次不同的相遇之间进行搜索的。在我们的样本中,一些患者的姓名、姓氏、出生日期或性别可能是不正确的,就像在每个数据库中一样。不过,这不是问题,因为我们的算法可以处理这类错误。
虽然我们的算法最初是为了将大规模BDW与大规模FNMD连接起来而设计的,但它也可以用于其他目的,例如将大型医院数据库与保险数据库进行匹配。
最初,评估每个中心绩效的预期样本量为8000。然而,在某些情况下,注册出生国的患者太少,以至于每个中心每层1000名患者,特别是WBOF。然而,样本量足以产生较小的置信区间和显著性
另一个限制是我们的方法,可能高估了敏感性。发生在医院内外并随后通报给医院的患者死亡不能代表所有死者。改善黄金标准的唯一方法是对每个患者的生命状况进行单独调查,如果没有大规模的大量资源,这是不可能的。
虽然使用名称的匹配操作是敏感的计算操作,但我们发布的Inseehop包很容易在本地运行,有助于符合本地网络安全框架。使用先进的确定性匹配算法,如基于dld的算法,是结合开源外部数据提高bdw使用价值的一个很有见地的例子。
数据清洗的特点和算法。
Damerau-Levenshtein距离。
为一条本地数据库记录选择最相关的FNMD记录,分三个连续步骤。
基于DLD的算法在南特的性别、出生国家和最大总DLD的性能。
重新划分不同的DLD对类型,最大总距离为5,用于南特样本灵敏度估计。
重新划分不同的DLD对类型,最大总距离为5,用于南特样本特异性估计。
总执行时间和每万例患者执行时间。
生物医学数据仓库
Damerau-Levenshtein距离
国家统计研究所Études Économiques
法国国家死亡率数据库
在法国出生的男人
在法国以外出生的男子
Système国家des Données de Santé
在法国出生的妇女
在法国以外出生的妇女
这项工作得到了由法国国家研究局(Agence National ale de la Recherche, ANR)资助的DELPHI - NExT集群的部分支持,并被纳入法国2030年计划,由Région Pays de la Loire和南特(Métropoles)提供。我们感谢David Lair, Romain Casey和Florance Molinié博士的建议。
没有宣布。