3 回答
TA贡献1735条经验 获得超5个赞
我有类似的问题,即在段之间有空白行,我解决了这个问题:
content = content.replace(/^\s*\n/gm, '');
注意:这只会删除空白行。您仍然需要弄清楚如何获得当前行的下一行
您可以尝试使用正则表达式来消除所有“ \ n”而不是任何段。
TA贡献1824条经验 获得超5个赞
根据您的问题,包含换行符的HL7字段应包含OBX(5,1)观察值。
观察值可能包含换行符作为数据的一部分。默认情况下,换行符(<CR>或ASCII 13)是分段分隔符。如果将其作为数据的一部分接收,则在解析消息时会出现问题。这是您在问题中提到的问题的根本原因。
段分隔符不可协商。它始终是回车符。我已经在此答案中对此进行了更详细的解释。
理想情况下,在构建HL7消息时,应将这些换行符替换为其转义序列。我在这里的较早答案之一已经给出了有关它的更多详细信息。
因此,您的入站邮件
OBX|68|FT|PT6663&IMP^PET/CT Imaging Whole Body||
||||||F|||202254836969552|||
应该是
OBX|68|FT|PT6663&IMP^PET/CT Imaging Whole Body||\X0D\\X0D\||||||F|||202254836969552|||
关于您如何使用Mirth / Javascript执行此操作的实际问题,在您的特定用例中应该不需要。在将消息发送给Mirth之前,应完成此转换。因此,向您发送此消息的人应该像这样构建它。
在UI上实际显示观察值时,您再次需要执行相反的过程。
编辑:
如果换行符不同于<CR>(ASCII 13),则应在中替换相应的十六进制\X0D\。
添加回答
举报