如何使用 addForcedEncode 写入 MSH 和 MSA 消息的所有字段(甚至为空)

How can I use addForcedEncode to write all fields (even empty) of MSH and MSA messages

我需要响应一个系统,该系统需要所有字段的消息,即使它们的 ID 为空。

我想我必须使用 Parser.Configuration.addForcedEncode 但我不知道如何添加规则(路径)来表示 "write all fields of the MSH and MSA messages"。

现在,当我发送回复时,我得到了这个:

MSH|^~\&|||Dazerolab|ViLMA Box|20160202110346||ACK^R01|4|P|2.3.1||||0||ASCII
MSA|AA|4|Message accepted|||0

我想得到这个:

MSH|^~\&|||Dazerolab|ViLMA Box|20160202110346||ACK^R01|4|P|2.3.1||||0||ASCII|||
MSA|AA|4|Message accepted|||0|

你能帮帮我吗?

谢谢

我是这样解决这个问题的

    mContext = new DefaultHapiContext();
    mContext.getParserConfiguration().addForcedEncode("MSH-21");
    mContext.getParserConfiguration().addForcedEncode("MSA-7");