Dcm4chee does not receive messages in HL7.

1,221 views
Skip to first unread message

Ramon Ribeiro

unread,
Apr 3, 2017, 8:21:20 AM4/3/17
to dcm...@googlegroups.com
People, I need help!
I'm in a scenario where I get a message in .xml from RIS,
I convert the .xml to HL7 with Mirth and send it to Dcm4chee with TCP sender (MLLP) on port 2575 (default).
In Mirth the message goes with success(Attachments with the messages)
In Dcm4chee I've registered a "Worklist Provider" to fetch, but it gives a "Modality Worklist Query failed!" Message.



Thanks!
MIRTH.PNG
DCM4CHEE.PNG

fleetwoodfc

unread,
Apr 3, 2017, 11:28:12 AM4/3/17
to dcm4che
Can you further explain: "In Dcm4chee I've registered a "Worklist Provider". I believe you are using Mirth to provide HL7 ORM messages which makes it an 'Order Filler' actor (IHE). 
DCM4CHEE is the Worklist Provider (MWLFind SCP) and by default the AE Tile is DCM4CHEE - Set WorklistProviders to NONE

Ramon Ribeiro

unread,
Apr 3, 2017, 1:03:09 PM4/3/17
to dcm4che
I was doing it wrong then!
To get DCM4CHEE to fetch messages, would I have to put AeTitle in ReceivingApp and ReceivingFac?
For example:
"MSH|^~\&|SendingApp|SendingFac|ReceivingApp|ReceivingFac|"

The DCM4CHEE Logs folder lists the messages that are being sent from Mirth. Would you just read those messages now?

Ramon Ribeiro

unread,
Apr 3, 2017, 2:05:35 PM4/3/17
to dcm4che
Viewing the logs .. presents me this message:

2017-04-03 15:01:02,656 WARN  -> (TCPServer-2-1) [org.dcm4chex.archive.hl7.HL7ServerService] Processing HL7 failed:
org.dcm4chex.archive.hl7.HL7Exception: Illegal Order Control Code ORC-1:
at org.dcm4chex.archive.hl7.ORMService.toOp(ORMService.java:517)
at org.dcm4chex.archive.hl7.ORMService.toOp(ORMService.java:506)
at org.dcm4chex.archive.hl7.ORMService.process(ORMService.java:249)
at org.dcm4chex.archive.hl7.HL7ServerService.process(HL7ServerService.java:534)
at org.dcm4chex.archive.hl7.HL7ServerService.handle(HL7ServerService.java:506)
at org.dcm4cheri.server.ServerImpl.run(ServerImpl.java:288)
at org.dcm4cheri.util.LF_ThreadPool.join(LF_ThreadPool.java:174)
at org.dcm4cheri.util.LF_ThreadPool$1.run(LF_ThreadPool.java:221)
at java.lang.Thread.run(Thread.java:745)
2017-04-03 15:01:02,659 INFO  -> (TCPServer-2-1) [org.dcm4cheri.server.ServerImpl] finished - Socket[addr=192.168.0.200/192.168.0.200,port=54827,localport=2575]

fleetwoodfc

unread,
Apr 3, 2017, 5:06:53 PM4/3/17
to dcm4che
ORC-1 should have a valid control code e.g.  'NW' for New Order. 
By default dcm4chee expects an IHE compliant HL7 ORM message. If your message is not compliant then you will need to adjust the HL7 to DICOM mapping by modifying  orm2dcm.xsl.

e.g. (try and send this from Mirth).

MSH|^~\&|MESA_OF|XYZ_RADIOLOGY|MESA_IM|XYZ_IMAGE_M ANAGER|||ORM^O01|100112|P|2.3.1|||||| ||
PID|||M4000^^^ADT1||KING^MARTIN||19450804|M||WH|82 0 JORIE BLVD^^CHICAGO^IL^60523|||||||20-98-4000|||||||||||||||||||||
PV1||E|ED||||1234^WEAVER^TIMOTHY^P^^DR|5101^NELL^F REDERICK^P^^DR|||||||||||V100^^^ADT1|||||||||||||| |||||||||||200008201100|||||||V|
ORC|NW|A100Z^MESA_ORDPLC|B100Z^MESA_ORDFIL||SC||1^ once^^^^S||200008161510|^ROSEWOOD^RANDOLPH||7101^E STRADA^JAIME^P^^DR||(314)555-1212|200008161510||922229-10^IHE-RAD^IHE-CODE-231||
OBR|1|A100Z^MESA_ORDPLC|B100Z^MESA_ORDFIL|P1^Proce dure 1^ERL_MESA^X1_A1^SP Action Item X1_A1^DSS_MESA|||||||||xxx||Radiology^^^^R|7101^ES TRADA^JAIME^P^^DR||XR999999|RP123456|SPS123456|||| MR|||1^once^^^^S|||WALK|||||||||||A|||RP_X1^RP Action Item RP_X1^DSS_MESA
ZDS|1.2.1^100^Application^DICOM

Ramon Ribeiro

unread,
Apr 4, 2017, 10:01:51 AM4/4/17
to dcm...@googlegroups.com
My message is:
MSH|^~\&|SendingApp|SendingFac|ReceivingApp|ReceivingFac|20131209125504||ORM^O01^ORM_O01|WS_UID|P|2.3||||||8859/1
PID|1||PATIENT_ID||PATIENT_NAME||19850330|M|||||^^^pacient...@provedor.com.br 
ORC|||ACCESSIONNUMBER||SC||^^^20131209131006 
OBR|||ACCESSIONNUMBER|001^NOMEPROCEDIMENTO||||||||||||00001^MEDICOSOLICITANTE|||||||||||^^^20131209131006||||||||||||||Y

Would it be mandatory to add PV1 and ZDS?

Ramon Ribeiro

unread,
Apr 5, 2017, 1:37:28 PM4/5/17
to dcm4che
I have a HL7 message, but the data is by default yyyy/mm/dd .. here we get from HIS / RIS dd/mm/yyyy!

Can I change the default and leave the HIS/RIS standard?

Thank you!

Ramon Ribeiro

unread,
Apr 5, 2017, 9:37:45 PM4/5/17
to dcm...@googlegroups.com
Consegui resolver meu problema, caso alguém tenha o mesmo problema que eu, irei postar a solução!

- Primeiro eu estava tento um erro onde estava tentando buscar as mensagens no Mirth.. o que está errado! Minhas mensagens estavam indo para o DCM4CHEE, mas ele não conseguia ler, porque minha mensagem estava mau traduzida.
Após a resposta do fleetwoodfc, me explicando e mandando um template de uma mensagem HL7 ORM^O01 pronta, eu refiz minhas traduções no Mirth.
Onde vi que a parte do ORC estava errada anteriormente.. Isso irá fazer muita diferença na mensagem:
         
         ORC|NW||||SC||||||||||||||
onde NW --> irá criar um novo item Worklist..
onde SC --> irá mostrar o status.

- Depois disso só tive um problema com as datas, pois o DCM4CHEE lê as datas yyyy/mm/dd .. meu HIS/RIS me dá dd/mm/yyyy.. Foi alterado no HIS/RIS para me entregar yyyy/mm/dd.

Agora estou recebendo minhas mensagens normalmente..
Obrigado pela resposta fleetwoodfc!!

Ramon Ribeiro

unread,
Apr 5, 2017, 9:44:42 PM4/5/17
to dcm4che
I was able to solve my problem, in case someone has the same problem that I, I will post the solution!

- First I was trying a mistake where I was trying to get the messages in the Mirth .. what is wrong! My messages were going to DCM4CHEE but he could not read because my message was bad translated.
After the reply from fleetwoodfc, explaining to me and sending a template of an HL7 ORM ^ O01 message ready, I have re-translated my translations into Mirth.
Where I saw that part of the ORC was wrong before .. This will make a lot of difference in the message:
         
          ORC | NW |||| SC ||||||||||||||
Where NW -> will create a new Worklist item.
Where SC -> will show the status.

- After that I only had a problem with the dates, as the DCM4CHEE reads the dates yyyy/mm/dd .. my HIS/RIS gives me dd/mm/yyyy .. It was altered in HIS/RIS to deliver yyyy/mm/dd.

Now I'm getting my messages normally ..
Thanks for the reply fleetwoodfc !!
Reply all
Reply to author
Forward
0 new messages