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\。
添加回答
舉報