AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 17328
Accepted
ScArcher2
ScArcher2
Asked: 2011-10-14 06:49:06 +0800 CST2011-10-14 06:49:06 +0800 CST 2011-10-14 06:49:06 +0800 CST

对于可靠的基于人口统计的患者匹配,推荐的最低匹配标准是什么?

  • 772

在根据人口统计数据匹配患者时,是否有关于应匹配哪些字段以使患者成为“同一患者”的建议?

我知道算法对于不同的实现会有所不同,我只是好奇是否有围绕这个过程的最佳实践或建议。

First Name
Last Name
Date of Birth
SSN
Address
City
State
Zip

ETC?

identity
  • 7 7 个回答
  • 2731 Views

7 个回答

  • Voted
  1. Best Answer
    Jaime de los Hoyos M.
    2011-10-14T07:09:15+08:002011-10-14T07:09:15+08:00

    Pablo Pazos是来自乌拉圭的一名 CS 工程师,他自 2006 年以来一直从事医疗保健 IT 领域的工作,并为该领域做出了一些巨大贡献,他在其中描述了一种用于执行此操作的算法。

    您可以通过翻译器运行这篇文章,但其要点是确定一个人身份的基本信息是他们的名字和姓氏(来自父亲和母亲)、性别和出生日期。有趣的是,他专门从他的身份匹配算法中排除了像 SSN 这样的身份号码,因为“任何类型的标识符都不是他身份的一部分”(不过我想这一点可能值得商榷)。此外,他排除了街道地址、电话号码等属性,因为它们与某人的身份并没有真正的关系,它们与“某人实际上是谁”无关。

    此外,他为之前的每个属性分配了不同的“权重”,如下所示:

    • 名字:17.5%
    • 中间名:17.5%
    • 姓氏(父亲):17.5%
    • 姓氏(母亲):17.5%
    • 性别:10%
    • 出生日期:20%

    通过在这些属性中的每一个上找到匹配,他描述了一种获得复合“一致性匹配指数”的方法,通过这种方法可以在记录之间进行比较。此外,通过使用Levenshtein 的 distance等算法,可以对名称属性进行“部分”匹配。

    好读,海事组织。对不起,它是西班牙语,但我希望我能够传达它的主要思想。

    • 20
  2. Lynn
    2011-10-19T20:24:47+08:002011-10-19T20:24:47+08:00

    没有单一的用于患者匹配的神奇算法,我怀疑永远不会有。

    首先,存在地区差异。正如 MMattoli 指出的那样,在美国城市医院运作良好的方法可能不适用于治疗土著人的澳大利亚农村诊所。

    此外,各个站点对容错有不同的看法。如果你只在你绝对确定的时候匹配,你会得到很多错过的匹配。这会导致重复的患者记录,从而产生一系列其他问题。大多数网站都愿意接受相当肯定,但如何确定才足够确定?问 10 个人,你会得到 12 个答案。

    因此,“最佳”算法将是可配置的,因此您的客户可以对其进行调整以满足他们的需求。

    在考虑匹配时,不同的字段提供不同程度的置信度。

    特定于医疗保健的标识符提供了最大的信心,因为它们的全部目的是唯一标识卫生系统中的人。医院通常会努力确保这些不会被重复。

    例子:

    • 国民健康 ID(例如英国 NHS 号码)
    • 医院分配的病历编号。

    取决于系统,其他患者标识符也可能提供高置信度。例如,军人身份证可能与军队医院非常相关。

    例子:

    • 军人身份证
    • 保险号
    • 社会安全号码(在美国,由于保险欺诈猖獗,社会安全号码通常不被认为是高可信度的匹配项。)

    在没有唯一标识符的情况下,必须求助于人口统计信息。不建议在任何一个领域进行匹配,但人口统计领域匹配越多,匹配就越有信心。

    关于一个人不经常改变的事情有利于匹配:

    • 姓名
    • 性别
    • 出生日期

    但在比赛中可以考虑更具延展性的信息来增强信心:

    • 地址
    • 电话号码
    • 电子邮件地址
    • 13
  3. Andy Judson
    2011-10-21T00:09:04+08:002011-10-21T00:09:04+08:00

    检查以前的姓氏也是值得的,因为这些姓氏经常发生变化。

    • 7
  4. Jamess
    2011-10-15T01:03:53+08:002011-10-15T01:03:53+08:00

    除了您的问题中给出的以下三个的明显组合

    First Name
    Last Name
    Date of Birth
    City
    State
    ZIP/Pin Code
    

    我会考虑添加phone number (Home and/or Cell)到列表中。如今,这很普遍,每个人都有一个唯一的号码,即使有时人们更换电话号码,大多数人都会记住旧电话号码,因此可以派上用场。

    我们发现地址经常受到多种拼写和多种呈现方式的影响,尤其是在印度等人们使用当地语言且患者管理软件“仍然”使用英语的国家。

    • 4
  5. bernd_k
    2011-10-21T03:08:50+08:002011-10-21T03:08:50+08:00

    记录中的性别似乎通常来自名字。当我们无法从名字中得出性别时,我看到外国人的性别差异增加。

    在德国,我们对包含“元音变音”的名称有一些进一步的变化,例如“äöü”,有时会被“ae oe ue”替换。

    • 3
  6. kishore
    2011-10-21T17:12:01+08:002011-10-21T17:12:01+08:00

    我的想法是按以下顺序1)。SSN、姓氏和名字的前 5 个字符 2)。SSN、出生日期和名字的前 5 个字符 3)。SSN、出生日期和姓氏 4)。SSN、性别、出生日期 5)。姓氏、名字的前 5 个字符、城市和 zip

    • 1
  7. HLGEM
    2012-05-03T07:23:52+08:002012-05-03T07:23:52+08:00

    这在美国是一个非常棘手的问题。姓名不是唯一的,而且在一个人的一生中经常会发生变化或以不同的方式呈现(例如 Rob 与 Robert),因此除非与一些更可靠的信息结合使用,否则它们永远不能用于识别患者。健康保险号码和提供者的变化更加频繁,并且对于多个家庭成员来说可能是相同的。SSN 据说是独一无二的,但它周围存在欺诈行为。与司机的执照号码相同,当然不是每个人都有。

    就个人而言,我会从保险单号和出生日期和姓名组合开始,然后是 ssn 和出生日期和姓名组合。我会检查地址和电话,以便在它们匹配时给我额外的保证,但如果它们不匹配,重量不会太大。另外,如果已知血型(我们都知道医院吸血鬼会采集血样),我会使用血型作为排除因素,因为这不会改变。由于名称变化问题,名称匹配必须是模糊匹配。如果名称置信度非常高(可能是输入 SSN 的拼写错误),其他事情通常应该首先寻找完全匹配的模糊匹配。

    • 1

相关问题

  • 为什么人们建议不要将名称“Id”用于标识列?

  • 具有共享标识字段的数据库模式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve