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