Proxy retrieve requests to another Archive - dcm4che/dcm4chee-arc-light GitHub Wiki

Proxy Retrieve

Configuration

To configure proxy retrieve requests to another archive, add new attributes on device level and on application entity level in 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.

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

Go to the Control tab on Configuration page in archive UI and reload the configuration.

Cache Retrieve

Configuration

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

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

Go to the Control tab on Configuration page in archive UI and reload the configuration.

Verification

Required dcm4che Tools

  • storescu simulating the external object source (e.g. modality) STORESCU, from which objects are being 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 Remote Application Entity

  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
    
⚠️ **GitHub.com Fallback** ⚠️