问题标签 [mirth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6848 浏览

shortcuts - 如何在 Mirth 中加载静态数据,避免多次往返数据库

Mirth是帮助医疗保健应用程序 HL7 消息集成的代理。

我的问题是,每次您想要查找 HL7 中包含的某些数据时,您都可以省去访问自己的数据存储区的麻烦。

场景:对于频道收到的每条消息,我想找到设施的助记符/代码/ID,并获取设施的全名。不幸的是,我不能要求 HL7 消息的发件人在消息中为我发送它。所以我必须编写自己的数据库访问代码来调用存储过程,传入 ID,并接收全名。

关于如何在 Mirth 中创建数据缓存以便您可以从任何通道、源、目标、转换器或过滤器访问查找的任何想法?

0 投票
1 回答
3709 浏览

mirth - 欢乐:在同一通道中的目的地之间共享 SOAP 响应

考虑一个 Mirth 频道有一个或多个目的地的场景。在这种情况下,有 4 个目的地。

通道的 Source Type 是 LLP Listener,传入数据类型为 HL7 v2.x。

该频道的目的地如下:

  1. 文件写入器 - 将消息写入磁盘。实际上,这只是出于开发目的。
  2. Javascript Writer - 将消息写入数据库。获取主键。将该键放在 ChannelMap 上以供将来的目的地使用。
  3. SOAP Sender - 调用 Web 服务并接收响应。通话流畅。
  4. Javascript Writer - 从上面的 SOAP Sender 获取响应,并将其写入数据库,将答案与来自第一个目标的主键相关联。

一项挑战是从 SOAP Sender Destination 获取 SOAP 响应,并将其保存在某个位置以供第四个目标使用。SOAP Sender 允许您将 SOAP 响应发送到另一个通道,但我需要在下一个目标中使用它。我必须能够在同一个频道中接收它。

问题:如何将来自第三个目的地的 XML SOAP 结果保存/发送到第四个目的地?

0 投票
3 回答
19112 浏览

java - Mirth: calling an SSL SOAP web service with a client certificate

The scenario is around calling an external SSL SOAP web service from within Mirth. The web service is requires an SSL/TLS connection along with a client certificate.

The intention is to use the built-in SOAP Sender Destination to call the remote secure web service, and somehow include that client certificate.

I understand that you first need to install that client certificate into the Java runtime. This may be within the Java runtime's certificate store or the Jetty certstore.

The platform:

  • Windows 2003 SP2
  • Mirth 1.8
  • Java jre1.5.0_09

Question: what configuration steps (Mirth, JRE certificate stores, etc.) would you suggest to successfully have a Mirth SOAP Sender include a client certificate (*.cer) when calling a web service secured by SSL?

0 投票
2 回答
4694 浏览

hl7 - Mirth:与频道源类型不同的入站消息模板

问题是入站消息模板预期的类型与我想要指定或使用的类型不同。要求是有一个 SINGLE 通道将 HL7 v2 转换为 v3,调用 Web 服务,然后转换 SOAP 生成的 XML,并将其转换为 HL7 v2.x 并将其发送回原始调用者。这必须异步完成

设置: 考虑 Mirth 频道中的情况:

  • 源是 LLP 侦听器。类型为 HL7 v2.x。发件人是 HCIS(医疗保健信息系统)。
  • 源变压器,与手头的问题无关。
  • 4 个目的地(按顺序):

    • Javascript Writer - 调用代码模板来做一些数据库工作。
    • SOAP Sender - 调用返回 HL7 v3 的 Web 服务。
    • Javascript Writer - 包含少数调用代码模板的 Transformers DB 编写器。问题就在这里。
    • Javascript Writer - 再次调用代码模板。
  • PostProcessor 生成自定义确认以发送回 HCIS。

问题: 入站消息模板需要 HL7 v2.x,因为它从源继承数据类型。我需要将 HL7 v3 模板映射到出站消息模板。出站模板工作正常,因为它没有绑定到任何东西。

我已经在另一个使用 HL7 v3 作为传入数据类型的通道中测试了这个设置,它运行良好。

问题: 如何强制 Mirth 将我的入站消息模板识别为 HL7 v3,而不是继承通道的传入数据类型?

0 投票
1 回答
1043 浏览

hl7 - Mirth:动态确定调用哪个 SOAP 方法

考虑一个带有 SOAP Sender 目的地的 Mirth 通道。WSDL 已成功加载并且有不止一种方法可用。每种方法将采用不同数量的参数。示例方法:

  • AddPerson()
  • UpdatePerson()
  • DeletePerson()
  • MergePerson()
  • UnmergePerson()

给定一组 HL7 消息事件类型,即

  • A28 = 添加人员
  • A31 = 更新人员
  • A29 = 删除人员
  • ETC

问题:您将如何在 Mirth 中设置一个目标以让变量的值确定调用哪个 SOAP 方法?

它不一定是 SOAP Sender。可以是任何类型。

0 投票
3 回答
25667 浏览

javascript - 使用 Javascript/E4X 计算 XML 片段中的节点数

考虑这个问题:

使用 Javascript/E4X,在非浏览器使用场景(Javascript HL7 集成引擎)中,有一个变量保存一个 XML 片段,该片段可能有多个重复节点。

问题:如何获取 Javascript/E4X 中宠物节点的数量?

编辑:为了澄清,这个问题应该围绕E4X (ECMAScript for XML)。向那些在没有此信息的情况下回答的人道歉。我应该事先研究并发布此信息。

0 投票
4 回答
1646 浏览

javascript - JavaScript / Rhino:我可以在 E4X 查询中使用正则表达式来仅选择某些节点吗?

我正在研究 Rhino (Mirth),我必须处理/解析具有以下结构的 XML:

我只想获取所有“foo”节点,尽可能避免使用循环。我一直在尝试类似的东西:

以及同一行的一些变体,但它似乎不起作用。是否有任何 E4X 语法/方法来完成这项工作?我已经在谷歌上搜索了一段时间,并且我已经阅读了 ECMAS 文档,但我无法完成这项工作。

提前致谢!

0 投票
3 回答
7735 浏览

mirth - Mirth: 如何从文件阅读器通道获取源文件目录

我有一个文件阅读器通道来获取一个 xml 文档。默认情况下,文件阅读器通道会填充通道映射中的“originalFilename”,它只给了我文件的名称,而不是完整的路径。有没有办法获得完整的路径,而不必硬编码?

0 投票
3 回答
2118 浏览

javascript - 使用 Javascript E4X 选择性地重命名 XML 标记

我正在使用 javascript 在非浏览器上下文(无 DOM)中操作 XML,并且正在寻找 E4X 表达式来重命名标签列表。对于任何给定的标签,我不一定提前知道它叫什么,我只想在它包含给定子字符串的情况下重命名它。

作为我非常人为的例子,我可能有:

我想把 XML 变成:

但是,标签可能更多或更少,我不会提前知道它们的全名是什么。如果它们包含给定的子字符串,我只会重命名它们(在我的示例中,子字符串是“Jill”)。

0 投票
2 回答
4237 浏览

e4x - 欢乐:用 XML 对象中的内容覆盖 msg 对象

任务是将 XML 对象从 Channel-A 发送到 Channel-B

渠道沟通的步骤:

  • 在 Channel-B 的源转换器中,提取 HL7v2 内容
  • 用提取的内容覆盖 Channel-B 中的当前 msg 对象
  • 继续在其他通道-B 源变压器中,并期望msg['PID']['PID.5']正常参考。

好消息是我可以将 HL7v2 的“有效负载”提取到一个变量中。问题或困难在于重置msg对象或任何其他能够按预期引用 HL7 属性的对象。

当我用 . 创建一个新变量时SerializerFactory.getHL7Serializer,它会用标签<HL7Message>.

替代文字 链接到全尺寸图像

问题:您对如何覆盖 msg 对象有任何建议吗?

我怎样才能开始这样引用味精:

msg['PID']['PID.5']

现在的情况

  • 接收通道的输入类型是 XML
  • 需要从该 XML 对象中提取所有属性;ID 是稍后在目标中使用的数据库 PK。