【问题标题】:Mirth Changing Default ACK Field Value更改默认 ACK 字段值的欢乐
【发布时间】:2010-12-28 18:22:19
【问题描述】:

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

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

这可能吗?

【问题讨论】:

    标签: hl7 mirth


    【解决方案1】:

    Mirth 有一个自定义 ack 的功能。我认为它没有记录在案,但他们的支持人员指示我们这样做。

    在后处理器中:

    var ackString = ""; //build a javascript string for your custom ack
    var ackResponse = ResponseFactory.getSuccessReponse (ackString);
    responseMap.put("Custom ACK", ackResponse);
    

    Mirth 解析后处理器代码,并发现响应映射代码。在源选项卡上,您现在可以选择“Respond from”,“Custom ACK”将作为一个选项出现在那里。

    构建我的自定义 ack 的完整代码大约 20 行。

    【讨论】:

    • 我希望我以前还在为我的客户工作时看到过这个。出于某种原因,它从来没有给我发过电子邮件。谢谢,这对我的下一次 HL7 部署可能会派上用场。
    • 我会提到一个警告(希望这次您会收到通知)。如果您使用代码模板来封装任何功能,请注意将响应对象放入响应映射的代码行必须直接写入后处理器。如果它位于从后处理器调用的代码模板中,那么这个技巧将不起作用。
    【解决方案2】:

    我认为解决此问题的唯一方法是使用“Send Ack”下的“Respond From”设置,并将“Destination”下的第一个 Destination 设置为“Ack Sender”,然后构建并发送 Ack from那里。

    如果您遇到这样的情况,您也可以使用此机制,即只有在您能够成功传递消息时才应该确认,在这种情况下,您可以将“确认发件人”放置在您的实际目的地之后发送消息。然后,您的“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
    

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

    弗兰斯

    【讨论】:

    • 弗兰斯感谢您的帮助。此后,我们从 Symphonia 转移到了我基于 Perl HL7 Toolkit 创建的更易于管理的自制解决方案。对我们的需求来说,欢乐太难以管理和太慢了。一个很好的例子是创建一个简单的自定义 ACK 是多么困难,我可以在 1 行 perl 中完成它,而不是一个完整的 javascript 脚本来执行这个简单的操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2019-07-05
    • 2013-02-25
    相关资源
    最近更新 更多