【问题标题】:Mirth Connect HTTP Listener Mapping Response ACK messageMirth Connect HTTP 侦听器映射响应 ACK 消息
【发布时间】:2013-03-11 06:52:49
【问题描述】:

我们正在尝试合并两个 Mirth 服务器。一台服务器(我们称之为服务器 1)保存所有记录,另一台服务器(服务器 2)从第一个服务器获取 HL7 消息并将消息写入数据库。

到目前为止,一切都很完美。但是服务器 1 在发送每个 HL7 消息后,等待 ACK 认为此事务已完成并从列表中发送另一条消息。

来自服务器 2(写入数据库)的成功状态包含 MySQL 响应,例如“成功:数据库写入成功。更新了 1 行。”。这不是服务器 1 所期望的。

因此,服务器 1 认为此 ACK 无效,产生错误“消息读取错误 - 将重试”并不断尝试再次发送相同的消息,导致服务器 2 在数据库。

我们正在使用 Mirth Connect HTTP 侦听器,但找不到任何解决方案将 ACK msg 发送到我们的第一台服务器与同屏 HTTP 侦听器。

有没有办法做到这一点?有什么建议吗?

真的需要帮助。

【问题讨论】:

  • 您对这个问题的描述难以阅读。让我直截了当地说:您在一台服务器上安装了 Mirth Connect,而在另一台服务器上安装了 MySQL? Mirth Connect 正在将 hl7 发送到 mysql 服务器?您说您正在尝试“合并”两台服务器 - 您的意思是您正在尝试“整合”两台服务器还是将两台服务器“合并”为一台?
  • 嗨 csj,我们修复了它。我们使用了 javascript writer 和 ACK map。问题是我们发送的 ACK 消息。我将在此处发布其他人可以使用的完整详细信息
  • 我很想看到完整的细节。老实说,我几乎不知道您的问题或解决方案是什么。

标签: hl7 mirth


【解决方案1】:

问题是您没有正确设置来自服务器 2 的响应,因此它只返回目标的响应。您可以在目标转换器上通过代码创建 ACK:

var ackMessage = ACKGenerator.generateAckResponse(connectorMessage.getRawData(), "AA", "Message Successfully Received");
responseMap.put("ackresp", ResponseFactory.getSentResponse(ackMessage));

然后在您的源连接器上选择“ackresp”作为响应。您的服务器 1 将收到该 ACK 而不是数据库写入的日志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多