2

我可以使用 mirth connect 来存储数百万条 HL7v2 消息(管道分隔)并在以后由我们的第三方软件应用程序以编程方式查询它们吗?

最好的方法是什么?mirth 的 REST API 是否能够有效地查询其消息存储?

不幸的是,我需要一个正在运行的 mirth connect 实例来根据第 368 页的手册浏览 REST API 文档。(如果不需要运行 mirth 实例来浏览 REST API 的文档,我就不会问了那个问题。互联网上有没有可用的 mirth connect 实例可以玩?或者有人会那么好心地为那个问题发布相关的 REST API 文档吗?

到目前为止,这些是我想出的场景:

在此处输入图像描述

4

2 回答 2

4

Mirth 是集成引擎,它的优势在于处理消息。浏览历史消息有时会很困难或很慢,这取决于通道的存储设置以及在处理过程中您是否注意提取其他信息以存储在“自定义元数据”字段中。自定义元数据字段默认是没有索引的,但是你可以自己添加(mirth支持几个后端数据库,包括postgres、mysql、oracle和mssql。)搜索邮件内容基本上就是做全文搜索和扫描. 除了您创建的自定义元数据之外,用于减少扫描时间的过滤器选项主要与消息属性(收到的日期时间、状态等)有关,而不是与内容有关。

因此,对于您建议的用例,我不会推荐它。

但是,Mirth 绝对可以用于将您的消息(从文件或实时批处理)转换为 xml,该 xml 可以放入设计用于处理和查询大量 xml 文档的数据库中。我假设当您说 HL7 时,您的意思是 HL7v2 的 ER7(管道分隔)格式。Mirth 自动将这些类型的消息转换为 xml,因为它们在处理过程中被作为 xml 处理。您可以轻松地创建一个新的父节点,将转换后的 xml 和原始消息字符串都保存为子节点。

如果您选择的数据库具有 JDBC 驱动程序、Java SDK 或 HTTP/REST API,则 mirth 可能会在处理消息时直接为您插入转换后的消息。

于 2019-01-17T03:02:21.797 回答
1

这里有两个误解:

  • HL7v2 消息由放置者(发送者)端的真实事件触发,称为触发事件。它期望通过确认消息、回复查询响应等方式在填充者(接收者)端发生一些活动。即,HL7v2 支持系统之间的数据流。

  • Mirth Connect 是 HL7 接口引擎,旨在将一种格式的输入源(例如 ER7 格式的 HL7v2)转换为另一种格式的输出源(可能是另一个 HL7v2、XML 或数据库等)。除了出于审计目的而配置的消息部分之外,它不存储任何内容。

现在,要实现您概述的解决方案,Mirth Connect 或任何其他转换机制必须实现两个流程:接收、转换(如果需要)和存储传入消息;提供一个接口来查询这些消息。

这显然可以通过 Mirth Connect 完成,但如果 Mirth 能够存储数百万条记录,您最初的问题是不正确的。事实上,建议尽可能少地保留消息以加快 Mirth 处理(根据配置,每个处理的消息都会多次存储在 Mirth 内部数据库中)。因此,所有转换后的消息都将完全按照您的图表所示进入外部公共或私人消息存储。

于 2019-01-17T16:01:02.587 回答