Skip to content

Proxy query retrieve requests to another Archive

Vrinda edited this page Mar 27, 2023 · 1 revision

Brief Description

This feature can be enabled for the case wherein DCM4CHEE archive acts as a long term archive and there also exists a 'Leading' archive which receives the regular DICOM/HL7 updates but doesn't forward the same to the long term archive. By enabling this feature, when the workstation/viewers do a query/retrieve to DCM4CHEE long term archive they will receive updated attributes of patient/study objects.

Configuration

Using Archive UI

  1. Go to Menu->Configuration, then on Devices page, Edit the dcm4chee-arc device. Go to Extensions and
    Edit extension of Archive Device.
  2. Enter values in fields Leading C-Find SCP Query Cache Stale Timeout and Leading C-Find SCP Query Cache Size as required by one's application needs and Save.
  3. Next go to the archive device extension's Child Objects and use + to add an Archive Attribute Coercion. Enter values in fields Name, DIMSE and DICOM Transfer Role and any other optional fields and Save.

Using LDAP

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: dcmLeadingCFindSCPQueryCacheStaleTimeout
      dcmLeadingCFindSCPQueryCacheStaleTimeout: PT5M
      -
      
      dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      changetype: modify
      add: dcmLeadingCFindSCPQueryCacheSize
      dcmLeadingCFindSCPQueryCacheSize: 50
      -
    
      dn: cn=Leading DCMQRSCP,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      objectClass: dcmArchiveAttributeCoercion
      cn: Leading DCMQRSCP
      dcmDIMSE: C_STORE_RQ
      dicomTransferRole: SCP
      dcmProperty: ReceivingApplicationEntityTitle=STORESCP
      dcmLeadingCFindSCP: 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) of the Archive Configuration.

Note that if dcmLeadingCFindSCPQueryCacheSize attribute is set to 0, then one must set dcmLeadingCFindSCPQueryCacheStaleTimeout to avoid out of memory issues.

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

Refer ISO-8601 Duration format for more know-how on Durations.

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

Testing

Required dcm4che Tools

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

Steps

  1. Start dcmqrscp tool to act as leading archive and feed the tool with a study using movescu

          dcmqrscp -b QRSCP:11113 --dicomdir \tmp\DICOMDIR
    
  2. Start storescp tool to act as viewer/worklist station, which should eventually receive updated patient/study object from dcmqrscp

          storescp -b STORESCP:11115
    
  3. Modify patient/study attribute of original patient/study using archive UI (after it has been sent to the QRSCP). Now using movescu store the study/patient on STORESCP destination. The original study/patient should be received on STORESCP.

           movescu -c DCM4CHEE@localhost:11112 -m StudyInstanceUID=1.2.3.4.5 --dest STORESCP
    
Clone this wiki locally