2

我将 Mirth 与接收 HL7v2 消息的 LLP 侦听器一起使用。

客户希望我们收到 ACK 消息,因此我们选中了“Send ACK”单选按钮。唯一的问题是,在默认的 ACK 中,它将 MIRTH 放在 MSH-3.1 字段中。我需要将其更改为另一个值来说明它的来源。

这可能吗?

4

2 回答 2

6

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 行。

于 2011-03-09T18:48:25.930 回答
2

我认为解决这个问题的唯一方法是使用“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

如果您需要更多帮助,请告诉我...

弗兰斯

于 2011-01-11T22:25:28.630 回答