1

我已经覆盖了现有的 Patient Registration 表格,并从成功[Reference]呈现 Xform Patient Registration 。

当我创建一个新患者时,我收到以下错误

“Patient#null 验证失败,原因是:标识符的校验位无效:10005G”。

我为患者创建提供了以下信息

  • 姓氏: 病人

  • 给定名称:一个

  • 出生日期:30/12/2000
  • 标识符:10005C
  • 性别:M
  • 地点:未知地点
  • 标识类型:旧标识号 其他

其他标识符

  • 标识符标识符:10005G
  • 标识符类型:OpenMrs ID 标识符
  • 地点:未知地点

一些请帮助如何解决这个问题。

4

1 回答 1

1

OpenMRS 使用修改后的 Luhn 算法来计算校验位,其中标识符中的最后一个字符是根据前面的字符计算的。校验位允许对手动输入的标识符进行自我验证(信用卡行业也使用这种方法)。用于新标识符类型的默认算法是Luhn Mod-30 Check Digit Validator。此 Mod-30 算法将字符集“0123456789ACDEFGHJKLMNPRTUVWXY”用于标识符和校验数字中的字符(避免可能与数字或其他字母混淆的字母:B、I、O、Q、S 和 Z)。

据推测,此算法正在应用于您提供的标识符。“10005”的正确 Mod-30 校验位是“K”(不是“C”或“G”)。这可能就是您收到错误的原因。用于验证标识符的算法(如果有)取决于患者标识符类型,因此您可以通过查看系统中定义的患者标识符类型来确定系统上正在使用哪些算法。

于 2016-07-20T13:58:38.690 回答