猿问

如何使用Mirth-Javascript删除HL7消息中的换行符?

HL7消息进入Mirth,并引发“处理”错误。Raw格式的消息的最底部是一个分行,与它上面的行分开。我必须每次手动更正此错误。我希望将Mirth-Javascript用作可以解决此问题的消息筛选器,以便所有内容都可以在没有人工干预的情况下流动。


消息片段下方触发错误。在此示例中,这是HL7消息的最后一行。


OBX|68|FT|PT6663&IMP^PET/CT Imaging Whole Body||


||||||F|||202254836969552|||

目前,我唯一的解决方法是打开HL7消息,然后手动转到换行符,并将其调至该片段一部分上方的行。


HL7消息应如下所示:


OBX|68|FT|PT1103&IMP^PET/CT Imaging Whole Body||||||||F|||20190327101958|||


幕布斯6054654
浏览 253回答 3
3回答

喵喔喔

我有类似的问题,即在段之间有空白行,我解决了这个问题:content = content.replace(/^\s*\n/gm, '');注意:这只会删除空白行。您仍然需要弄清楚如何获得当前行的下一行您可以尝试使用正则表达式来消除所有“ \ n”而不是任何段。

沧海一幻觉

根据您的问题,包含换行符的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\。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答