用于唯一识别人的逻辑

时间:2012-12-26 08:43:20

标签: database database-design unique

我正在研究将在国家层面实施的医疗php应用程序。 它将被多家医院使用,患者记录将被集中,即每家医院都将访问并将患者记录添加到同一数据库中。

我希望病人只有1条记录而没有任何重复。简单地说,没有医院可以再次进入同一患者的第二条记录,但为了使其成为可能,我需要知道我们应该使用哪种标准,这些标准将在患者的整个生命周期内保持固定。我脑子里只有2个,即姓名和出生日期。

还有哪些其他标准?我不想使用手机号码和电话号码等。而且婴儿不能拥有它。我需要为每位患者提供独特的标准。

请告诉我您的建议或其他更好的方法来实现此功能?

4 个答案:

答案 0 :(得分:0)

您需要使用一些全国范围的ID。像护照号码或健康保险号码。

答案 1 :(得分:0)

可以尝试名称,出生日期,血型,出生地等的组合。

答案 2 :(得分:0)

社会保险号码与国家。

答案 3 :(得分:0)

我会采取行动,因为我参与了一些数据匹配和验证,尽管不是专门针对医疗行业。你没有指定一个特定的国家,只是提到了亚洲,所以我将使用我的祖国澳大利亚的一个例子,因为我熟悉规则,我相信这同样适用于许多亚洲国家:

  • 我们有一个独特的Medicare号码用于医疗保健,但它不是强制性的,而免费/折扣护理意味着我希望99%以上的人会有一个你不能依赖它。

  • 还有一个税号,即使你也不是强制性的 工作和从未找到工作的人通常不会有工作。

  • 您可能正在与非居民的外国人打交道。

  • 驾驶执照当然不是强制要求获得医疗保健的。

  • 拥有“无固定地址”是完全合法的。此外,有些人会骗人接受治疗和重复吸毒等。更不用说很多人经常搬家了。

  • 在婚姻/离婚的情况下更改姓名是常见的,除非完成 出于非法目的,有人可以因为他们而改变他们的名字 不喜欢他们原来的。更不用说人们对Jim和James这样的各种事情使用常见的替代品。

  • 在大型数据集中输入错误非常常见。

简而言之,我认为你所要求的“完美”计划是不可能的。您可以做的最好的是应用加权规则来查找可能的重复项。例如,出生日期/出生日期是不太可能但可能发生的事件,因此向数据输入操作员显示警告它可能是重复的,并让他们看到可能重复的详细信息。即使像驱动程序许可证号码应该是唯一的,也可能表明原始条目只有数据输入错误,而不是新的副本。

根据我的经验,最好的事情是一份报告,其中列出了必须由链上方某人审核的可能重复项,并为他们提供了合并重复项的简单选项。然后你就可以开始使用更模糊的正则表达式,这些表达式会抛出一些误报,当人类审阅它们时可以将其解雇。您还可以随时修改模型以获得最佳匹配结果。