Hello,
I'm rather new using DMC4CHEE and I'm struggling to connect my modalities.
I need to store all images of my modalities into DCM4CHEE storage.
So I've installed successfully the DCM4CHEE-ARC 4. I can get images using a DICOM viewer/client (ONIS 2.5), browse int o the imported studies/patients/series, ...
But to do such operations, I have had to import manually (using the upload tab in the web interface) some DICOM objects.
Now I want to connect my modalities directly with the storage, so that I can store produced images into DCM4CHEE and search/browse for patients, studies;..
I want this to be automatic.
So I've configured my CT-scan (called CT01) using the following ldif file :
dn: dicomAETitle=CT01,cn=Unique AE Titles Registry,cn=DICOM Configuration,dc=chh,dc=fr
objectClass: dicomUniqueAETitle
dicomAETitle: CT01
dn: dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
objectClass: dicomDevice
dicomDeviceName: CT01
dicomInstalled: TRUE
dn: cn=dicom,dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
objectClass: dicomNetworkConnection
cn: dicom
dicomHostname: 102.1.88.3
dicomPort: 104
dn: cn=dicom-tls,dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
cn: dicom-tls
objectClass: dicomNetworkConnection
dicomHostname: 102.1.88.3
dicomPort: 2763
dicomTLSCipherSuite: TLS_RSA_WITH_AES_128_CBC_SHA
dicomTLSCipherSuite: SSL_RSA_WITH_3DES_EDE_CBC_SHA
dn: dicomAETitle=CT01,dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
objectClass: dicomNetworkAE
dicomAETitle: CT01
dicomNetworkConnectionReference: cn=dicom,dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
dicomNetworkConnectionReference: cn=dicom-tls,dicomDeviceName=CT01,cn=Devices,cn=DICOM Configuration,dc=chh,dc=fr
dicomAssociationInitiator: TRUE
dicomAssociationAcceptor: TRUE
But it doesn't seem to work. i have a "forbidden" dialog ine the web interface and the following error in JBOSS AS7 logs :
16:27:28,493 INFO [org.dcm4chee.archive.resteasy.LogInterceptor] (http-/102.1.4.101:8080-1)
nu...@102.1.37.37:58182 << org.dcm4chee.archive.qido.QidoRS.searchForStudiesJSON: status=403
16:27:36,205 INFO [org.dcm4chee.archive.resteasy.LogInterceptor] (http-/102.1.4.101:8080-1)
nu...@102.1.37.37:58182 >> org.dcm4chee.archive.qido.QidoRS.searchForStudiesJSON: GET
http://102.1.4.101:8080/dcm4chee-arc/rs/qido/CT01/studies?includefield=all&offset=0&orderby=-StudyDate,-StudyTime&limit=50 cookie=[__utma=13443895.1606619475.1393252525.1393930131.1393930131.8; __utmz=13443895.1393252525.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=13443895]
connection=[keep-alive]
accept-language=[fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3]
host=[
102.1.4.101:8080]
accept=[application/json]
user-agent=[Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0]
referer=[
http://102.1.4.101:8080/dcm4chee-arc/browse.html]
accept-encoding=[gzip, deflate]
16:27:36,206 SEVERE [org.jboss.resteasy.core.SynchronousDispatcher] (http-/102.1.4.101:8080-1) failed to execute: javax.ws.rs.WebApplicationException
at org.dcm4chee.archive.qido.QidoRS.init(QidoRS.java:334) [classes:]
at org.dcm4chee.archive.qido.QidoRS.search(QidoRS.java:288) [classes:]
at org.dcm4chee.archive.qido.QidoRS.searchForStudiesJSON(QidoRS.java:205) [classes:]
at org.dcm4chee.archive.qido.QidoRS$Proxy$_$$_WeldClientProxy.searchForStudiesJSON(QidoRS$Proxy$_$$_WeldClientProxy.java) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
I thought this would be enough to query the series from this modality. Is this right ?
If not, what should I do ?
Maybe I misunderstood the cinematic between DICOM modalities and storages, and it is the CT scan that must send DICOM objects to the storage.
Should I automate the DICOM object retrieval every x minutes and store them into the storage to be sure i get all objects ?
Thanks in advance for your help
Lionel
PS : I speak french