Prefetch WADO Metadata - dcm4che/dcm4chee-arc-light GitHub Wiki

Prefetch WADO Metadata

This use case specifies how one can enable only pre-fetch of metadata of objects.

Configuration

Exporter

Configure an Exporter as described below. Add an exporter descriptor by :

Using Archive UI

  • Go to Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects -> Exporter Descriptor (Add)

  • Configure following fields for the Export Descriptor

    • Upto archive version 5.23.1
         Exporter ID : WADO-JSON
         Queue Name : Export2
         URI : wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata
         Archive Application Entity (AE) title : DCM4CHEE
         Exporter Description : Prefetch WADO metadata
         Property : Accept=application/json
         Property : Cache-Control=no-cache
         Property : StorageID=wado-json
         Property : KeycloakClientID=wado-export
    
    • Archive version 5.23.2 onwards
         Exporter ID : WADO-JSON
         Queue Name : Export2
         URI : wado:DCM4CHEE
         Archive Application Entity (AE) title : DCM4CHEE
         Exporter Description : Prefetch WADO metadata
         Property : Accept=application/json
         Property : Cache-Control=no-cache
         Property : StorageID=wado-json
         Property : WadoService=/studies/[0]/metadata
    

Using LDAP

Create a LDIF file (e.g.)

  • Upto archive version 5.23.1
     dn: dcmExporterID=WADO-JSON,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     objectClass: dcmExporter
     dcmExporterID: WADO-JSON
     dcmQueueName: Export2
     dcmURI: wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata
     dcmProperty: Accept=application/json
     dcmProperty: Cache-Control=no-cache
     dcmProperty: StorageID=wado-json
     dcmProperty: KeycloakClientID=wado-export
     dicomAETitle: DCM4CHEE
     dicomDescription: Prefetch WADO metadata
  • Archive version 5.23.2 onwards
     dn: dcmExporterID=WADO-JSON,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     objectClass: dcmExporter
     dcmExporterID: WADO-JSON
     dcmQueueName: Export2
     dcmURI: wado:DCM4CHEE
     dcmProperty: Accept=application/json
     dcmProperty: Cache-Control=no-cache
     dcmProperty: StorageID=wado-json
     dcmProperty: WadoService=/studies/[0]/metadata
     dicomAETitle: DCM4CHEE
     dicomDescription: Prefetch WADO metadata

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

One may refer to Exporter Descriptor to understand the description of attributes.

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

Note : In the above configurations :

  • Upto archive version 5.23.1
    • Properties KeycloakClientID=wado-export is OPTIONAL. Refer Keycloak Client if the additional functionality provided by this property is required by your application.
    • One may choose to add additional optional properties TLSAllowAnyHostname and TLSDisableTrustManager with values as true or false (eg. Property : TLSAllowAnyHostname=true) if you choose to invoke WADO services over secured http. i.e. URI : wado:https://localhost:8443/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata
  • Archive version 5.23.2 onwards
  • Refer Storage w.r.t. property StorageID=wado-json
  • The HTTP header fields can be defined in dcmProperty.
    • Cache-Control=no-cache indicates that whenever there is change in study, the cache will be invalidated and WADO data should be reloaded again from archive.
    • Accept=application/json indicates that metadata response shall be in json format.

Export Rule

Configure an Export Rule as well if this prefetch shall be triggered on receive of studies by the archive. Add an export rule by :

Using Archive UI

  • Go to Configuration page -> Devices tab -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects -> Export Rule (Add)

  • Configure following fields for the Export Rule

      Name : Cache WADO JSON
      Entity : Series
      Exporter ID : WADO-JSON
      Export Delay : PT1M
    

Using LDAP

Create a LDIF file (e.g.):

     dn: cn=Cache WADO JSON,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     objectClass: dcmExportRule
     cn: Cache WADO JSON
     dcmEntity: Series
     dcmExporterID: WADO-JSON
     dcmDuration: PT1M

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

One may refer to Export Rule to understand the description of attributes.

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

Reasons as to why the pre-fetch of WADO objects' metadata is not done on :

  • STUDY level : When a new Series of the study is received, say after a day (for eg. Structured Reports), then for the whole study the pre-fetch is done again.
  • INSTANCE level : To avoid costly database operations.
⚠️ **GitHub.com Fallback** ⚠️