我将 Mirth 与接收 HL7v2 消息的 LLP 侦听器一起使用。
客户希望我们收到 ACK 消息,因此我们选中了“Send ACK”单选按钮。唯一的问题是,在默认的 ACK 中,它将 MIRTH 放在 MSH-3.1 字段中。我需要将其更改为另一个值来说明它的来源。
这可能吗?
Mirth 有一个自定义 ack 的功能。我认为它没有记录在案,但他们的支持人员指示我们这样做。
在后处理器中:
var ackString = ""; //build a javascript string for your custom ack
var ackResponse = ResponseFactory.getSuccessReponse (ackString);
responseMap.put("Custom ACK", ackResponse);
Mirth 解析后处理器代码,并发现 reponseMap 代码。在源选项卡上,您现在可以选择“Respond from”,“Custom ACK”将作为一个选项出现在那里。
构建我的自定义 ack 的完整代码大约有 20 行。
我认为解决这个问题的唯一方法是使用“Send Ack”下的“Respond From”设置,并将“Destinations”下的第一个 Destination 设置为“Ack Sender”,然后从那里构建和发送 Ack。
如果您遇到这样的情况,您也可以使用此机制,如果您可以成功传递消息,则只应确认,在这种情况下,您将在发送消息的实际目的地之后放置“确认发件人”。然后,您的“Ack Sender”目的地必须根据成功交付构建 Ack 或 Nack。您可以通过以下方式检查上一个目的地的返回状态来检查:
var returnState = responseMap.get('DestinationName').toString();
if (returnState.substr(0,8) == 'SUCCESS:')
// Successful Delivery or Processing
else
// Failed Delivery or processing
如果您需要更多帮助,请告诉我...
弗兰斯