标识符的校验位无效:创建新患者时?

时间:2016-07-18 14:23:07

标签: openmrs

我已覆盖现有的患者登记表格并成功呈现Xform患者登记[Reference]

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

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

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

  • 姓氏:患者

  • 名字:一个

  • DOB:30/12/2000
  • 标识符:10005C
  • 性别:M
  • 位置:未知位置
  • 标识符类型:旧标识号其他

其他标识符

  • 标识符标识符:10005G
  • 标识符类型:OpenMrs ID Identifer
  • 位置:未知位置

请帮助解决问题。

1 个答案:

答案 0 :(得分:1)

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

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