如何在 Mirth 中加载静态数据,避免多次往返数据库
Mirth 是一个帮助医疗保健应用程序 HL7 消息集成的代理。
我的问题是,每次您想要查找 HL7 中包含的某些数据时,您都可以省去访问自己的数据存储的麻烦。
设想: 对于通道收到的每条消息,我想找到该设施的助记符/代码/ID 并获取该设施的全名。 不幸的是,我无法要求 HL7 消息的发送者将其在消息中一起发送给我。 所以我必须编写自己的数据库访问代码来调用存储过程,传入 ID 并接收全名。
关于如何在 Mirth 中创建数据缓存以便您可以从任何通道、源、目标、转换器或过滤器访问查找,您有什么想法吗?
Mirth is a broker to help with healthcare application HL7 message integration.
My question is about saving yourself the trouble of hitting your own datastore everytime you want to do a lookup on some data contained within the HL7.
Scenario:
for each message received by the channel, I want to find the facility's mnemonic/code/ID and get the full name of the facility. Unfortunately I cannot ask the sender of the HL7 message to send it along in the message for me. So I have to write my own DB access code to call a stored procedure, pass in the ID, and receive the full name.
Any idea on how to create a cache of data in Mirth so that you can access the lookup from any channel, source, destination, transformer or filter?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在我们的例子中,我们必须从数据库加载查找值,我们按如下方式解决了这个问题:
注意:在我们的例子中,每个键可以有两个与之关联的值。 如果我们不使用两者,我们只需在数据库查询中将第二个设置为 null。
要加载全局地图,请将其放入频道的部署脚本中(根据需要自定义):
为了访问这些值,您可以使用以下函数作为全局模板。
用于访问这些值的代码示例:
您的里程可能会有所不同......但这对我们来说到目前为止一直有效。
谢谢,
弗朗斯·德·韦特
In our case, where we had to load lookup values from a database, we solved this as follows:
Note: In our case, each key could have two values associated with it. If we did not use both we just set the second to null in the query from the database.
To load the global map place this in your deploy script of your channel (customize as needed):
In order to access these values you use the following function as a global template.
A sample of code to access the values:
Your mileage may vary ... but this has worked for us up to now.
Thanks,
Frans de Wet
您可以尝试编写具有两个函数的全局脚本:
1)使用您要查找的数据填充Java哈希表或类似的构造
2)使用您传入的参数作为哈希表的键,并返回相应哈希表中包含的数据到这个键。
在 Mirth 中使用 Java 的链接 (链接)
You could try writing a global script with two functions:
1) Populate a Java hastable or similar construct with the data you are looking for
2) Use the parameter you pass in as the key to the hashtable and return the data contained in the hashtable corresponding to this key.
Link to using Java in Mirth (link)