简体   繁体   English

如何获得Mirth Connect的HL7模板?

[英]How to get HL7 templates for Mirth Connect?

I'm new to this HL7 standard, but earlier I worked on NCPDP standard. 我是这个HL7标准的新手,但早些时候我曾在NCPDP标准上工作过。 Now I'm trying to explore Mirth Connect open source tool. 现在我正在尝试探索Mirth Connect开源工具。 When I'm trying to configure as per the documentation(User Guide) which is provided in http://www.mirthcorp.com/community/wiki/display/mirthuserguidev1r8p0/Message+Builder URL, but in this documentation it is mention to use HL7 template. 当我尝试按照http://www.mirthcorp.com/community/wiki/display/mirthuserguidev1r8p0/Message+Builder URL中提供的文档(用户指南)进行配置时,但在本文档中提到了使用HL7模板。 I don't where to get these templates. 我不知道在哪里获得这些模板。 Could you please help me. 请你帮助我好吗。

I searched in internet and some where forums I found following example template 我在互联网上搜索了一些我在以下示例模板后找到的论坛

MSH|^~\\&|MIRTH_1.7|DOMAIN|LABTEST||${date.get('yyyyMMddHHmm')}||ADT^A08|${UUID}|P|1.7|||AL|NE| MSH | ^〜\\&| MIRTH_1.7 | DOMAIN | LABTEST || $ {date.get( '为yyyymmddhhmm')} || ADT ^ A08 | $ {} UUID | P | 1.7 ||| AL | NE | EVN|A08|${date.get('yyyyMMddHHmm')}|||| EVN | A08 | $ {date.get( '为yyyymmddhhmm')} |||| PID|||${patno}||${family_name}^${first_name}^${middle_name}^^^^||${d_o_b}|${sex}|||${address1}^${address2}^${address3}^^^^||${phone}|${emp_phone}||${marital_status}|${religion}||||||||||| PID ||| $ {} patno || $ {} FAMILY_NAME ^ $ {} FIRST_NAME ^ $ {} middle_name ^^^^ || $ {d_o_b} | $ {}性||| $ {}地址1 ^ $ {地址2 } ^ $ {} 2地址^^^^ || $ {电话} | $ {} emp_phone || $ {MARITAL_STATUS} | $ {}宗教||||||||||| PV1|||||||||||||||||||||||||||||||||||||||||||||| PV1 ||||||||||||||||||||||||||||||||||||||||||||||

When I used this and try to run the channel I'm getting following exception in Events 当我使用它并尝试运行通道时,我在事件中遇到异常

java.sql.SQLException: ORA-00911: invalid character
 Query: SELECT PATIENTINFO.PATIENTID AS PATIENTINFO_PATIENTID, 
PATIENTINFO.FIRSTNAME AS PATIENTINFO_FIRSTNAME, 
PATIENTINFO.LASTNAME AS PATIENTINFO_LASTNAME 
FROM PATIENTINFO;

 Parameters: []
    at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:359)
    at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:240)
    at com.webreach.mirth.connectors.jdbc.JdbcMessageReceiver.getMessages(JdbcMessageReceiver.java:255)
    at org.mule.providers.TransactedPollingMessageReceiver$1.doInTransaction(TransactedPollingMessageReceiver.java:91)
    at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:72)
    at org.mule.providers.TransactedPollingMessageReceiver.poll(TransactedPollingMessageReceiver.java:104)
    at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:90)
    at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Unknown Source)

{}

and in Server Logs 并在服务器日志中

[2010-07-28 19:02:52,515]  FATAL (org.mule.impl.DefaultComponentExceptionStrategy:83): The Default Component Exception Strategy has been invoked but there is no current event on the context


[2010-07-28 19:02:52,515]  FATAL (org.mule.impl.DefaultComponentExceptionStrategy:84): The error is: ORA-00911: invalid character
 Query: SELECT PATIENTINFO.PATIENTID AS PATIENTINFO_PATIENTID, 
PATIENTINFO.FIRSTNAME AS PATIENTINFO_FIRSTNAME, 
PATIENTINFO.LASTNAME AS PATIENTINFO_LASTNAME 
FROM PATIENTINFO;

 Parameters: []
java.sql.SQLException: ORA-00911: invalid character
 Query: SELECT PATIENTINFO.PATIENTID AS PATIENTINFO_PATIENTID, 
PATIENTINFO.FIRSTNAME AS PATIENTINFO_FIRSTNAME, 
PATIENTINFO.LASTNAME AS PATIENTINFO_LASTNAME 
FROM PATIENTINFO;

 Parameters: []
    at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:359)
    at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:240)
    at com.webreach.mirth.connectors.jdbc.JdbcMessageReceiver.getMessages(JdbcMessageReceiver.java:255)
    at org.mule.providers.TransactedPollingMessageReceiver$1.doInTransaction(TransactedPollingMessageReceiver.java:91)
    at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:72)
    at org.mule.providers.TransactedPollingMessageReceiver.poll(TransactedPollingMessageReceiver.java:104)
    at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:90)
    at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Unknown Source)

Please help me in resolving this issue. 请帮我解决这个问题。

Thanks. 谢谢。 Student 学生

I'd ask your partner company for some samples, or search the Mirth forums to find a couple. 我会问你的合作伙伴公司一些样品,或者搜索Mirth论坛找一对。

The sample you have could be cleaned up. 您可以清理样品。 Replace the coded elements with "real" data. 用“真实”数据替换编码元素。 For example, {date.get('yyyyMMddHHmm')} should be replaced with a real date string, '2010-08-20'. 例如,{date.get('yyyyMMddHHmm')}应替换为实际日期字符串'2010-08-20'。

Also, I found that when pasting samples into the template box, I had to separate each segment (add crlf's inbetween). 另外,我发现当将样本粘贴到模板框中时,我必须将每个段分开(在中间添加crlf)。 So instead of MSH|...ADT|...PID|..., you get: 所以代替MSH | ... ADT | ... PID | ...,你得到:
MSH|... MSH | ...
ADT|... ADT | ...
PID|... PID | ...

Hope that helps. 希望有所帮助。

Exception is gone when I removed semicolon(;) at the end of the query(which came with auto generated query). 当我在查询结尾处删除分号(;)时(与自动生成的查询一起提供),异常消失了。

Regarding the templates I'm still not sure. 关于模板我还不确定。 I heard from someone that we have to create manually based on the HL7 standard. 我从某人那里听说我们必须根据HL7标准手动​​创建。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM