3

我是这个 HL7 标准的新手,但之前我从事过 NCPDP 标准。现在我正在尝试探索 Mirth Connect 开源工具。当我尝试按照http://www.mirthcorp.com/community/wiki/display/mirthuserguidev1r8p0/Message+Builder URL 中提供的文档(用户指南)进行配置时,但在本文档中提到了使用 HL7 模板。我不知道从哪里得到这些模板。请你帮助我好吗。

我在互联网和一些论坛中搜索了以下示例模板

MSH|^~\&|MIRTH_1.7|DOMAIN|LABTEST||${date.get('yyyyMMddHHmm')}||ADT^A08|${UUID}|P|1.7|||AL|NE| 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}||||||||||| PV1||||||||||||||||||||||||||||||||||||||||||||

当我使用它并尝试运行频道时,我在事件中遇到异常

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)

{}

并在服务器日志中

[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)

请帮我解决这个问题。

谢谢。学生

4

2 回答 2

2

我会向您的合作伙伴公司索取一些样品,或者在 Mirth 论坛中搜索一些样品。

你的样品可以清理干净。用“真实”数据替换编码元素。例如,{date.get('yyyyMMddHHmm')} 应替换为真实的日期字符串“2010-08-20”。

另外,我发现在将样本粘贴到模板框中时,我必须将每个片段分开(在中间添加 crlf)。因此,您得到的不是 MSH|...ADT|...PID|...,而是:
MSH|...
ADT|...
PID|...

希望有帮助。

于 2010-08-20T19:31:26.793 回答
-1

当我在查询(自动生成的查询附带)末尾删除分号(;)时,异常消失了。

关于模板我仍然不确定。我从某人那里听说我们必须根据 HL7 标准手动创建。

于 2010-08-11T11:41:14.600 回答