我能否使用mirth connect存储数百万条HL7v2消息(以竖线分隔),并在稍后的时间由我们的第三方软件应用程序以编程方式查询它们?
做到这一点的最佳方法是什么? mirth的REST API是否能够有效查询其消息存储库?
不幸的是,我需要一个运行的mirth连接实例来根据第368页上的manual浏览REST API文档。(如果不需要具有运行的mirth实例来浏览文档我不会问这个问题的REST API。互联网上是否有一个欢乐的连接实例可供使用?还是有人会为这个问题发布相关的REST API文档?)< / p>
到目前为止,以下是我提出的方案:
答案 0 :(得分:3)
Mirth是集成引擎,其优势在于处理消息。浏览历史消息有时可能很困难,也可能很慢,具体取决于通道的存储设置以及您是否在处理过程中小心拉出其他信息以存储在“自定义元数据”字段中。自定义元数据字段默认情况下未编入索引,但您可以添加自己的字段(mirth支持多个后端数据库,包括postgres,mysql,oracle和mssql。)搜索消息内容基本上涉及到全文搜索和扫描。 。除了您创建的自定义元数据以外,用于减少扫描时间的筛选器选项主要与邮件属性(接收的日期时间,状态等)有关,而与邮件的内容无关。
因此,我不会在您建议的用例中推荐它。
但是,Mirth无疑可以用于将您的消息(从文件或实时发送的消息)转换为xml,可以将其放入旨在处理和查询大量xml文档的数据库中。我认为当您说HL7时,是指HL7v2的ER7(管道分隔)格式。对于处理过程中作为xml处理的这些类型的消息,Mirth会自动将其转换为xml。您可以轻松地创建一个新的父节点,该节点将转换后的xml和原始消息字符串都作为子节点保存。
如果您选择的数据库具有JDBC驱动程序,Java SDK或HTTP / REST API,则mirth在处理转换后的消息时可能会直接为您插入转换后的消息。
答案 1 :(得分:1)
这里有两个误解:
HL7v2消息由位于放置者(发送者)一侧的真实事件(称为触发事件)触发。它希望通过确认消息,以查询响应进行回复等方式在填充程序(接收方)上发生一些活动。即,HL7v2支持系统之间的数据流。
Mirth Connect是HL7接口引擎,旨在将一种格式(例如ER7格式的HL7v2)的传入提要转换为另一种格式(可以是另一种HL7v2,XML或数据库等)的传出提要。 。除了已配置的部分消息以外,它不存储任何内容以用于审核。
现在,要实现您概述的解决方案,Mirth Connect或任何其他转换机制必须实现两个流程:接收,必要时进行转换以及存储传入消息;提供查询这些消息的接口。
这显然可以通过Mirth Connect来完成,但是您最初的问题是Mirth是否能够存储数百万条记录是不正确的。实际上,建议保留尽可能少的消息以加快Mirth处理(根据配置,每条处理过的消息会多次存储在Mirth内部数据库中)。因此,所有转换后的消息都将完全按照图中所示进入外部公共或私有消息存储。