java - 将 OML_O33 消息上的多个 ORC OBR 重复处理为 OML_O33_ORDER 实例
问题描述
我正在使用 Java HAPI v2.3 生成 OML_O33(用于 IHE LAB-63 配置文件)HL7 v25 消息。消息应支持多个 ORDER 组(即消息配置文件),但由于 ORDER 和 ORDER_PRIOR 组中 ORC/OBR 序列的定义不明确,当解析扁平 HL7 字符串时,解析器无法识别 ORDER 组的多个实例,无法识别它们作为 ORDER_PRIOR 组。
我使用 OML_O33 类正确建模,对于单个 OML_O33_SPECIMEN 组,已添加多个 OML_O33_ORDER 组。
OML_O33 omlO33;
...
omlO33.getSPECIMENAll().size() // displays 1
omlO33.getSPECIMEN(0).getORDERAll().size() // displays 2
消息按预期正确序列化为 HL7 字符串,例如:
MSH|^~\&|System Test|System Test|LIS Test|LIS Test|20190911105010.527+0200||OML^O33^OML_O33|2787136c-8885-4f7c-a0bb-8190b5c73ff1|D|2.5
PID|||patientIdFoo123^^^N/A||surnameFoo123^nameFoo123||20190911|M||||||||||accountNumberFoo123^^^N/A
SPM|1|barcodeFoo0||specimenFoo123|||||||||||||20190911105010.555+0200||||||||||0^REF1230
ORC|SC|bbc4bdaa-25bc-426f-830c-0737af9ecdb8||pgnFoo123||||||||doctorIdFoo^doctorSurnameFoo^doctorNameFoo
OBR||bbc4bdaa-25bc-426f-830c-0737af9ecdb8||orderIdFoo0^orderDescriptionFoo0||||||phlebotomistFoo123||||||doctorIdFoo^doctorSurnameFoo^doctorNameFoo|||||||||S
ORC|SC|8fa86d07-4f8d-4cda-ac64-3f58a5ab6acf||pgnFoo123||||||||doctorIdFoo^doctorSurnameFoo^doctorNameFoo
OBR||8fa86d07-4f8d-4cda-ac64-3f58a5ab6acf||orderIdFoo1^orderDescriptionFoo1||||||phlebotomistFoo123||||||doctorIdFoo^doctorSurnameFoo^doctorNameFoo|||||||||S
消息通过Gazelle IHE 验证器,但当转换为字符串并“返回”解析(使用标准 PipeParser 和库提供的 DefaultHapiContext)时,它会被重新解释为单个 ORDER 组和 ORDER_PRIOR 组。
OML_O33 omlO33;
...
omlO33.getSPECIMENAll().size() // displays 1
omlO33.getSPECIMEN(0).getORDERAll().size() // displays 1
omlO33.getSPECIMEN(0).getORDER(0).getOBSERVATION_REQUEST().getPRIOR_RESULTAll().size() . // displays 1
我希望看到 2 个 ORDER 组,根本没有 ORDER_PRIOR 组。
如果我添加一个 FT1 空段来“打破”歧义,则会正确解析消息(2 个 ORDER 组而不是 1 个),但此解决方案在我的系统中是不可接受的。
我宁愿避免使用 Terser 访问 ORC/OBR 段实例,而是依赖模型表示。
解决方案
推荐阅读
- http - 拒绝执行脚本,因为它的 MIME 类型 (...) 和严格的 MIME 类型 (...)
- spring - Spring Boot 和 Angular 5 在同一个存储库中,Travis 可以工作吗?
- powershell - 从在 Webjob 中运行的 Powershell 写入 App Insights
- git - 基于存储库中主文件的示例文件的 Git 工作流程
- social-tables - V4 Api 创建的事件在应用程序中不可用
- sms - 使用 AWS SNS 发送短信
- android - 离子在设备上运行应用程序
- java - 如何制作对象的深层副本,该对象在java中的对象内部具有其类型的引用
- excel - 试图从网站抓取网页到 excel,然后转换成 word doc
- r - 尝试在 R 中重新创建特定类型的数据透视表