HL7v2中空重复字段是否需移除?技术问询
HL7v2重复字段中空重复项的处理规则
HL7v2的官方规范明确要求:重复字段里的空重复项,不管是仅用分隔符占位的空值,还是显式写了空字符串""的,都应该直接移除。
原因很简单:HL7v2里的重复分隔符(比如示例里的~)是用来分隔有实际业务意义的重复项的,空重复项既没有携带有效信息,还会给解析增加冗余,甚至可能导致下游解析器出错——毕竟大部分HL7解析工具都会默认忽略这类空占位,或者把连续的分隔符当成一个来处理。
拿你给出的示例来看:
PID|||A123456789^^^555^PI||Data^Test^^^Mr||19500101|M|||123 Test Road^Testington^^^AA1 2AA||~07778895566|||M|||||||||||||""|||
这里PID.13是支持重复的电话号码字段,当前写法里~前面是空占位(首个重复项为空),处理时应该把这个空项删掉,最终PID.13只保留有效内容07778895566就行。
当然也有极端情况:如果业务逻辑里要求固定顺序的重复字段必须用空项来表示某个位置的状态(比如第一个位置留空代表“主号码未设置”),这种情况可以用显式的""占位,但这属于特殊场景,而且必须提前和上下游系统约定好。但绝大多数常规场景下,空重复项都没有存在的必要,直接清理掉就对了。
内容的提问来源于stack exchange,提问作者user3778581
相关产品推荐
相关产品推荐

