Mirth 欢笑中的聚合器模式

Mirth 欢笑中的聚合器模式,mirth,Mirth,我在欢笑中收到大量相关的HL7消息。它们包含一个ID,该ID对于所有相关的消息总是相同的,并且它们总是在一分钟内到达。可以同时接收多个批次。很难说批处理何时结束,但当一分钟内没有更多消息时,可以安全地假设批处理已完成 如何在Mirth中实现聚合器模式,使其在定义的时间间隔内未收到任何具有相同ID的新邮件后,继续读取和完成相关邮件并发送完成的邮件?您可以将所有传入邮件放到文件夹中,并将邮件ID存储在全局映射中。一旦新消息开始到达,且消息ID与映射中存储的消息ID不同(意味着启动下一个序列),则通过

我在欢笑中收到大量相关的HL7消息。它们包含一个ID,该ID对于所有相关的消息总是相同的,并且它们总是在一分钟内到达。可以同时接收多个批次。很难说批处理何时结束,但当一分钟内没有更多消息时,可以安全地假设批处理已完成


如何在Mirth中实现聚合器模式,使其在定义的时间间隔内未收到任何具有相同ID的新邮件后,继续读取和完成相关邮件并发送完成的邮件?

您可以将所有传入邮件放到文件夹中,并将邮件ID存储在全局映射中。一旦新消息开始到达,且消息ID与映射中存储的消息ID不同(意味着启动下一个序列),则通过发送需要查找的消息ID或以其他方式触发另一个通道。之后,用新序列的消息ID替换全局映射中的消息ID


如果这听起来太复杂,你也可以这样做,但第二个频道会不断扫描文件夹(文件阅读器),只抓取具有相同消息ID且比当前时间早一分钟的文件(在我看来这太模糊了).

我通过使用邮件中的ID(标识序列)作为文件名将所有邮件保存在文件夹中来实现这一点。每个新消息都会更新该文件。多个序列同时存在于同一文件夹中


下一个频道是使用一个简单的文件读取器,它只获取一分钟或更长时间的文件。

这只会在序列不混合的情况下起作用。但你的回答帮助我弄明白了。我建议你以正确的方式实现HL7延续协议。那个么序列是否混合就无关紧要了。顺便问一下,那是HL7的哪个版本?