web stats
DICOM send - Mirth Community

Go Back   Mirth Community > Mirth Connect > Support

Reply
 
Thread Tools Display Modes
  #1  
Old 04-15-2010, 04:35 PM
searad searad is offline
What's HL7?
 
Join Date: Apr 2010
Posts: 5
searad is on a distinguished road
Default DICOM send

I am trying to set up a channel to receive DICOM and create an HL7 message and forward the original image to another destination. The HL7 destination is working. Unfortunately the DICOM forwarding is not working. I am getting the following message. Not sure what I'm doing wrong

[2010-04-15 19:55:31,389] ERROR (org.mule.impl.DefaultComponentExceptionStrategy:9 5): Caught exception in Exception Strategy for: f03e97eb-261b-4417-8dad-0c9cc725c8b8: org.mule.umo.routing.RoutingException: Failed to route event via endpoint: null. Message payload is of type: com.webreach.mirth.model.MessageObject
org.mule.umo.routing.RoutingException: Failed to route event via endpoint: null. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:84)
at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:180)
at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:147)
at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:493)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:272)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:231)
at com.webreach.mirth.connectors.dimse.DICOMMessageRe ceiver$DcmRcv2.onCStoreRQ(DICOMMessageReceiver.jav a:195)
at com.webreach.mirth.connectors.dimse.DICOMMessageRe ceiver$DcmRcv2.cstore(DICOMMessageReceiver.java:21 6)
at org.dcm4che2.net.DicomServiceRegistry.process(Dico mServiceRegistry.java:238)
at org.dcm4che2.net.NetworkApplicationEntity.perform( NetworkApplicationEntity.java:1173)
at org.dcm4che2.net.Association.onDimseRQ(Association .java:917)
at org.dcm4che2.net.PDUDecoder.decodeDIMSE(PDUDecoder .java:530)
at org.dcm4che2.net.Association.onPDataTF(Association .java:894)
at org.dcm4che2.net.State$Sta6.receivedPDataTF(State. java:239)
at org.dcm4che2.net.Association.receivedPDataTF(Assoc iation.java:890)
at org.dcm4che2.net.PDUDecoder.nextPDU(PDUDecoder.jav a:231)
at org.dcm4che2.net.Association.run(Association.java: 801)
at java.lang.Thread.run(Unknown Source)Caused by: org.mule.umo.routing.CouldNotRouteOutboundMessageE xception: Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth .connectors.mllp.MllpConnector@b2ef6, endpointUri=mllp://10.1.10.21:6660, transformer=Transformer{name='f03e97eb-261b-4417-8dad-0c9cc725c8b8_destination_1_transformer', returnClass=false, returnClass=false, sourceTypes=[]}, name='_mllpEndpoint#234457549', type='sender', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon fig@2fd217, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:63)
at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
... 21 moreCaused by: org.mule.umo.provider.DispatchException: Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth .connectors.dimse.DICOMConnector@1571c03, endpointUri=dicom://10.200.20.96:104, transformer=Transformer{name='f03e97eb-261b-4417-8dad-0c9cc725c8b8_destination_2_transformer', returnClass=false, returnClass=false, sourceTypes=[]}, name='_dicomEndpoint#-702528624', type='sender', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon fig@1645096, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:180)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:52)
... 24 moreCaused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at org.dcm4che2.net.NetworkConnection.bind(NetworkCon nection.java:624)
at org.dcm4che2.tool.dcmsnd.DcmSnd.start(DcmSnd.java: 932)
at com.webreach.mirth.connectors.dimse.DICOMMessageDi spatcher.doSend(DICOMMessageDispatcher.java:145)
at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:167)
... 28 more
Attached Files
File Type: xml -DICOM.xml (46.7 KB, 43 views)

Last edited by searad; 04-15-2010 at 08:10 PM.
Reply With Quote
  #2  
Old 04-16-2010, 04:19 AM
searad searad is offline
What's HL7?
 
Join Date: Apr 2010
Posts: 5
searad is on a distinguished road
Default

I looked at the online reference guide for version 1.8. In the connector section, there is no mention of DICOM. Does anyone know where there is some documentation?
Reply With Quote
  #3  
Old 04-16-2010, 01:42 PM
bradd bradd is offline
Mirth Employee
 
Join Date: May 2009
Location: Irvine, CA
Posts: 133
bradd is on a distinguished road
Default

Set up a DICOM receiver channel on your Mirth box to test sending the DICOM messages to. It should give you a better idea if the problem is your DICOM sender or your receiving system. If you want to know more about our DICOM implementation check out dcm4che2.. it's what we use to send and receive.
Reply With Quote
  #4  
Old 04-16-2010, 05:25 PM
searad searad is offline
What's HL7?
 
Join Date: Apr 2010
Posts: 5
searad is on a distinguished road
Default

Thanks for the suggestion. I set up the other channel and it received the DICOM images. This time it didn't even try to send to the other channel. It may be user error. I don't know. I made sure the ports and AE title were correct and different. Do you know if the Validation process in MIRTH does a DICOM verification too?






010-04-16 20:43:50,233] ERROR (org.mule.impl.DefaultComponentExceptionStrategy:9 5): Caught exception in Exception Strategy for: 2147affd-37ba-4002-9d42-d01b4b753331: org.mule.umo.routing.RoutingException: Failed to route event via endpoint: null. Message payload is of type: com.webreach.mirth.model.MessageObject
org.mule.umo.routing.RoutingException: Failed to route event via endpoint: null. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:84)
at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:180)
at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:147)
at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:493)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:272)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:231)
at com.webreach.mirth.connectors.dimse.DICOMMessageRe ceiver$DcmRcv2.onCStoreRQ(DICOMMessageReceiver.jav a:195)
at com.webreach.mirth.connectors.dimse.DICOMMessageRe ceiver$DcmRcv2.cstore(DICOMMessageReceiver.java:21 6)
at org.dcm4che2.net.DicomServiceRegistry.process(Dico mServiceRegistry.java:238)
at org.dcm4che2.net.NetworkApplicationEntity.perform( NetworkApplicationEntity.java:1173)
at org.dcm4che2.net.Association.onDimseRQ(Association .java:917)
at org.dcm4che2.net.PDUDecoder.decodeDIMSE(PDUDecoder .java:530)
at org.dcm4che2.net.Association.onPDataTF(Association .java:894)
at org.dcm4che2.net.State$Sta6.receivedPDataTF(State. java:239)
at org.dcm4che2.net.Association.receivedPDataTF(Assoc iation.java:890)
at org.dcm4che2.net.PDUDecoder.nextPDU(PDUDecoder.jav a:231)
at org.dcm4che2.net.Association.run(Association.java: 801)
at java.lang.Thread.run(Unknown Source)Caused by: org.mule.umo.routing.CouldNotRouteOutboundMessageE xception: Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth .connectors.dimse.DICOMConnector@12d2d5b, endpointUri=dicom://10.1.10.103:4006, transformer=Transformer{name='2147affd-37ba-4002-9d42-d01b4b753331_destination_1_transformer', returnClass=false, returnClass=false, sourceTypes=[]}, name='_dicomEndpoint#1188936246', type='sender', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon fig@51d69e, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:63)
at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
... 21 moreCaused by: org.mule.umo.provider.DispatchException: Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth .connectors.dimse.DICOMConnector@12d2d5b, endpointUri=dicom://10.1.10.103:4006, transformer=Transformer{name='2147affd-37ba-4002-9d42-d01b4b753331_destination_1_transformer', returnClass=false, returnClass=false, sourceTypes=[]}, name='_dicomEndpoint#1188936246', type='sender', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon fig@51d69e, filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: com.webreach.mirth.model.MessageObject
at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:180)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:45)
... 24 moreCaused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at org.dcm4che2.net.NetworkConnection.bind(NetworkCon nection.java:624)
at org.dcm4che2.tool.dcmsnd.DcmSnd.start(DcmSnd.java: 932)
at com.webreach.mirth.connectors.dimse.DICOMMessageDi spatcher.doSend(DICOMMessageDispatcher.java:145)
at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:167)
... 28 more
Reply With Quote
  #5  
Old 04-19-2010, 01:23 PM
bradd bradd is offline
Mirth Employee
 
Join Date: May 2009
Location: Irvine, CA
Posts: 133
bradd is on a distinguished road
Default

hmm, I'm pretty sure our DICOM library (dcm4che2) does some validation. Can you attach a screenshot of how you set up your DICOM destination?

If you feel up to it you can download dcm4che2 and set up a receiving server and a sender to see if it is the library or Mirth. It's not too difficult if you have the extra time. It's all command line stuff, no gui.
Reply With Quote
  #6  
Old 04-19-2010, 01:35 PM
dans dans is offline
Mirth Employee
 
Join Date: Apr 2007
Location: Irvine, CA
Posts: 590
dans is an unknown quantity at this point
Default

Seems like you have some port conflicts:
java.net.BindException: Address already in use: JVM_Bind

Make sure you don't have two listening channels that are listening on the same port.
__________________
Daniel Svanstedt
Software Engineer
Mirth Corporation

Want professional services, support, and enterprise or virtual appliances? It's all available from the Mirth Corporation:
Mirth Support | Mirth Training | Mirth Appliances | Online Training | Developer Q&A

Don't forget, Mirth Support gives you access to all of our online training videos, and silver support gives you access to developer Q&As!
Reply With Quote
  #7  
Old 04-23-2010, 04:09 PM
searad searad is offline
What's HL7?
 
Join Date: Apr 2010
Posts: 5
searad is on a distinguished road
Default

thanks guys, I figured it out. I set the Local host port the same as the incoming port. This cause the issue. I made sure they're different and it works.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 01:02 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Mirth Corporation