Asynchronous 欢笑中处理异步ACK

Asynchronous 欢笑中处理异步ACK,asynchronous,mirth,Asynchronous,Mirth,我开发了一个“欢乐频道”,可以发送ORU信息。然后,ACK将异步发送回特定端口上的不同通道 为了能够在ACK中接收到AR或AE时重新发送ORU消息,我需要将此ORU存储在某个位置,以便在接收到ACK时访问它(记住它是异步的) 我正在想办法实现这一目标。我的想法是这样的: 发送ORU消息并将其存储在数据库中 在另一个通道中等待输入ACK 对于输入确认,请在数据库中查找相关的ORU,并根据确认是否为正,删除ORU或重新发送 如果你们中有人有这方面的经验,并能告诉我这是否是一个正确的方法,如果不是

我开发了一个“欢乐频道”,可以发送ORU信息。然后,ACK将异步发送回特定端口上的不同通道

为了能够在ACK中接收到AR或AE时重新发送ORU消息,我需要将此ORU存储在某个位置,以便在接收到ACK时访问它(记住它是异步的)

我正在想办法实现这一目标。我的想法是这样的:

  • 发送ORU消息并将其存储在数据库中
  • 在另一个通道中等待输入ACK
  • 对于输入确认,请在数据库中查找相关的ORU,并根据确认是否为正,删除ORU或重新发送
如果你们中有人有这方面的经验,并能告诉我这是否是一个正确的方法,如果不是,如何做,那就太好了。
如果想法是好的,我应该如何实施第三步?我已经试过使用一个频道,但无法重新发送ORU。

我认为您的方法是合理的。我们倾向于避免硬删除,而是在ACK(或NACK)消息到达时将消息标记为“已确认”。这使您能够查询ACK/NACK/NULL,并提供响应的历史记录

我们通过sampleId/时间戳跟踪我们的ORU,并记录messageID。messageID返回到ACK/NACK中,因此很容易匹配

您可能不想(自动)重新发送NACK消息,因为最初导致NACK的原因(如格式问题)不太可能通过简单的重新发送解决。相反,您可能希望NACK触发一个警报(如电子邮件)给某个可以进行修复并手动重新发送的组


您必须决定是否可以安全地重新发送丢失的“确认”,以及应该等待多长时间。这些决策更多的是商业决策,而不是技术决策。例如,您没有收到ACK/NACK,但这是因为网络打嗝、欢笑的问题,还是您的原始消息实际上没有通过?如果接收系统只接收1条消息,那么在重新发送那些没有收到ACK的消息之前,您需要一些协调方法。

问得好。我鼓励您将其添加到StackExchange针对it医疗保健的提案中:我该如何做?我已登录,但无法找到发布查询的方法