How to proxy retrieve requests to another Archive

vrindanayak edited this page Oct 11, 2016 · 13 revisions
Clone this wiki locally

Proxy Retrieve

retrieve-proxy.puml

Configuration : Proxy Retrieve

To configure proxy retrieve requests to another archive, you have to add new attributes on device level and on application entity level in your LDAP configuration using the New Attribute function (or Ctrl+Shift++) of Apache Directory Studio

  • on Device / Application Entity level : The dcmFallbackCMoveSCP attribute is created and set to QRSCP. This acts like a archive. The MOVESCU requests are forwarded to QRSCP when no study with study-uid is present on DCM4CHEE.
  • on Application Entity level : The dcmOtherAETitle is set to QRSCP as it will act like a mirror of archive and achieve transparency. When client side sends requests to QRSCP, internally these requests are forwarded to the archive i.e DCM4CHEE. In this way, transparency and proxy retrieval is achieved, as client side has no knowledge that internally it is connecting to DCM4CHEE archive through QRSCP.

You may either

  • create a LDIF file (e.g.):

       version: 1
       dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmFallbackCMoveSCP
       dcmFallbackCMoveSCP: QRSCP
       -
    
       dn: dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmOtherAETitle
       dcmOtherAETitle: QRSCP
       -
    

    and import it to the LDAP Server by using the ldapmodify command line utility.

  • or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Device Level (e.g.: dicomDeviceName=dcm4chee-arc) or on Application Entity Level (e.g: dicomAETitle=DCM4CHEE) of the Archive Configuration.

One may refer to Archive Device and Network AE to understand the description of attributes.

Cache Retrieve

retrieve-cache.puml

Configuration : Cache Retrieve

To configure cache retrieve requests, you have to add new attribute on device / application entity level in your LDAP configuration using the New Attribute function (or Ctrl+Shift++) of Apache Directory Studio

You may either

  • create a LDIF file (e.g.):

       version: 1
       dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmFallbackCMoveSCP
       dcmFallbackCMoveSCP: QRSCP
       -
    
       dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmFallbackCMoveSCPDestination
       dcmFallbackCMoveSCPDestination: DCM4CHEE
       -
    
       dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmFallbackCMoveSCPRetries
       dcmFallbackCMoveSCPRetries: 10
       -
    
       dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
       changetype: modify
       add: dcmFallbackCMoveSCPStudyOlderThan
       dcmFallbackCMoveSCPStudyOlderThan: 20000101
       -
    

    and import it to the LDAP Server by using the ldapmodify command line utility.

  • or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Device Level (e.g.: dicomDeviceName=dcm4chee-arc) or on Application Entity Level (e.g: dicomAETitle=DCM4CHEE) of the Archive Configuration.

One may refer to Archive Device to understand the description of attributes.

Verification

Required dcm4che Tools

  • storescu simulating the external object source (e.g. modality) STORESCU, from which objects are getting received
  • storescp simulating the external object destination (e.g. workstation) STORESCP, to which received objects are forwarded
  • dcmqrscp implements a simple image archive
  • movescu implements both an SCU for the Query/Retrieve Service Class and an SCP for the Storage Service Class

Procedure

Remote application entities STORESCP and DCM4CHEE needs to be configured. STORESCP and DCM4CHEE acts a destination for MOVESCU requests. Refer How to configure remote Application Entities

  1. Modify the $(DCM4CHEE_HOME)/etc/dcmqrscp/ae.properties file to add below entries
    STORESCP=hostname:port
    DCM4CHEE=hostname:11112
    Then start the dcmqrscp tool listening on 11112 as shown below
    dcmqrscp -b DCMQRSCP:11112 --dicomdir /media/cdrom/DICOMDIR
    Below is a snippet of the same

       13:07:18,499 INFO  - Start TCP Listener on 0.0.0.0/0.0.0.0:11112
    
  2. Store the images to dcmqrscp using STORESCU tool as shown below
    storescu -c DCMQRSCP@hostname:11112 /image.dcm
    Below is a snippet of Request - Response logs

       13:10:41,374 INFO  - STORESCU->DCMQRSCP(1) << 1:C-STORE-RQ[pcid=7, prior=0
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
       13:10:41,444 INFO  - STORESCU->DCMQRSCP(1) >> 1:C-STORE-RSP[pcid=7, status=0H
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
  3. When the image is being received on the dcmqrscp side, the snippet of Request - Response logs on dcmqrscp side is shown below

       13:10:41,391 INFO  - DCMQRSCP<-STORESCU(1) >> 1:C-STORE-RQ[pcid=7, prior=0
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
       13:10:41,443 INFO  - DCMQRSCP<-STORESCU(1) << 1:C-STORE-RSP[pcid=7, status=0H
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
  4. Start storescp using STORESCP tool as shown below
    storescp -b STORESCP:port`
    Below is a snippet of the same

       13:18:59,776 INFO  - Start TCP Listener on 0.0.0.0/0.0.0.0:104
    
  5. Retrieve the image using MOVESCU tool and move it to STORESCP destination
    movescu -c DCMQRSCP@hostname:11112 -m StudyInstanceUID=1.2.3.4 --dest STORESCP
    Below is a snippet of Request - Response logs

       13:28:27,686 INFO  - MOVESCU->DCMQRSCP(1) << 1:C-MOVE-RQ[pcid=1, prior=0
         cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
         tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
    
       13:28:27,747 INFO  - MOVESCU->DCMQRSCP(1) >> 1:C-MOVE-RSP[pcid=1, completed=1, failed=0, warning=0, status=0H
         cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE
         tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
    
  6. Snippet of Request - Response logs on dcmqrscp side is shown below

       13:28:27,728 INFO  - DCMQRSCP->STORESCP(2) << 1:C-STORE-RQ[pcid=1, prior=0
         orig=MOVESCU >> 1:C-MOVE-RQ
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
       13:28:27,731 INFO  - DCMQRSCP->STORESCP(2) >> 1:C-STORE-RSP[pcid=1, status=0H
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
  7. Snippet of Request - Response logs on storescp side is shown below

       13:28:27,730 INFO  - STORESCP<-DCMQRSCP(2) >> 1:C-STORE-RQ[pcid=1, prior=0
         orig=MOVESCU >> 1:C-MOVE-RQ
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
    
       13:28:27,730 INFO  - STORESCP<-DCMQRSCP(2) << 1:C-STORE-RSP[pcid=1, status=0H
         cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage
         iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ?
         tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression