考虑 HL7v2 消息中的以下 PV1 段。
PV1|1|E|MYLOC||||55555^Doctor^Doc^D^^Dr^^DOCT|||||||HO||||ER||BC|||||||||||||||||||VALUE||REG|||201406270627||||||||55555^Doctor^Secondary^H^^Dr^^DOCT2|
那里有 52 个字段。我们的 Meditech 系统总是在此接口上发送字段 52 (PV1_52_OtherHealthcareProvider),在此用 表示55555^Doctor^Secondary^H^^Dr^^DOCT2
。我已将其设置为启用允许尾随分隔符。如您所见,此段中有一个尾随分隔符,但它位于段中的最后一个字段之后,恰好包含上面显示的数据。
情况总是如此,Meditech 总是在这个接口上附加一个尾随分隔符。
其他段的最后一个字段中都没有数据,所以我们没有遇到过这个问题,尽管它们有尾随分隔符。在 PV1 段上,我们收到一个错误:
Error happened in body during parsing
Error # 1
Segment Id: PV1
Sequence Number: 1
Error Number: 100
Error Description: Segment sequence error (Unexpected end of message body found)
Encoding System: HL79999
事实证明这是由于尾随分隔符,因为手动删除分隔符并重新提交,错误不会发生。此外,如果我修改架构以添加一个虚拟(PV1_53_ExtraField) 字段,则允许该消息。
我的问题是:在这种情况下,允许尾随分隔符的预期行为是什么?它是否应该在所有情况下都允许尾随分隔符,还是仅适用于最终字段没有数据的段(即:段末尾的额外字段)?