سؤال

I'm new to this HL7 standard, but earlier I worked on NCPDP standard. Now I'm trying to explore Mirth Connect open source tool. 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. 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| 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||||||||||||||||||||||||||||||||||||||||||||||

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

هل كانت مفيدة؟

المحلول 2

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.

نصائح أخرى

I'd ask your partner company for some samples, or search the Mirth forums to find a couple.

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'.

Also, I found that when pasting samples into the template box, I had to separate each segment (add crlf's inbetween). So instead of MSH|...ADT|...PID|..., you get:
MSH|...
ADT|...
PID|...

Hope that helps.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top