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

Prefetch WADO Bulkdata and Metadata

This use case specifies how one can enable pre-fetch of WADO objects' JPEG image data as well as metadata.

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
         Queue Name : Export2
         URI : wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]
         Archive Application Entity (AE) title : DCM4CHEE
         Exporter Description : Prefetch WADO jpeg and metadata
         Property : Cache-Control=no-cache
         Property : StorageID=wado-jpeg
         Property : StorageID.1=wado-json
         Property : Accept.1=application/json
         Property : URL.1=wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata
         Property : KeycloakClientID=wado-export
    

Using LDAP

Create a LDIF file (e.g.)

  • Upto archive version 5.23.1
     dn: dcmExporterID=WADO,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
     objectClass: dcmExporter
     dcmExporterID: WADO
     dcmQueueName: Export2
     dcmURI: wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]&contentType=image/jpeg
     dcmProperty: Cache-Control=no-cache
     dcmProperty: Accept.1=application/json
     dcmProperty: StorageID.1=wado-json
     dcmProperty: StorageID=wado-jpeg
     dcmProperty: URL.1=wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata
     dcmProperty: KeycloakClientID=wado-export
     dicomAETitle: DCM4CHEE
     dicomDescription: Prefetch WADO jpeg and 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/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3] or URL.1 : wado:https://localhost:8443/dcm4chee-arc/aets/DCM4CHEE/rs/studies/[0]/metadata

    • Brief Overview & Short Description of dcmURI parameters : To identify a DICOM Object, only one UID is required, because any UID is globally unique. However, the standard requires that the UID of the higher levels in the DICOM Information Model are specified (i.e., series and study), in order to support the use of DICOM devices that support only the baseline hierarchical (rather than extended relational) Query/Retrieve model, which requires the Study Instance UID and Series Instance UID to be defined when retrieving an SOP Instance.

      • studyUID - This parameter is REQUIRED. Should be the Study Instance UID.
      • seriesUID - This parameter is REQUIRED. Should be the Series Instance UID.
      • objectUID - This parameter is REQUIRED. Should be the SOP Instance UID.
      • frameNumber - This parameter is OPTIONAL. Specifies that the single frame with that number within a multi-frame image object shall be returned.
      • contentType - This parameter is OPTIONAL. Its value shall contain one or more media types.
    • One may optionally choose to return image heights and widths by using optional query parameters in the URL as

        dcmURI: wado:http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado?requestType=WADO&studyUID=[0]&seriesUID=[1]&objectUID=[2]&frameNumber=[3]&rows=64&columns=64&contentType=image/jpeg
      

      wherein :

      • rows : The value shall be expressed as an integer, representing the image height to be returned.
      • columns : The value shall be expressed as an integer, representing the image width to be returned.
    • Refer Storage w.r.t. property StorageID=wado-jpeg and StorageID.1=wado-json

  • Archive version 5.23.2 onwards
  • 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

    • Upto archive version 5.23.1
         Name : Cache WADO
         Entity : Series
         Exporter ID : WADO
         Export Delay : PT1M
    
    • Archive version 5.23.2 onwards
         Name : Cache WADO
         Entity : Series
         Exporter ID : WADO-JPEG
         Exporter ID : WADO-JSON
         Export Delay : PT1M
    

Using LDAP

Create a LDIF file (e.g.):

  • Upto archive version 5.23.1
      dn: cn=Cache WADO,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      objectClass: dcmExportRule
      cn: Cache WADO
      dcmEntity: Series
      dcmExporterID: WADO
      dcmDuration: PT1M
  • Archive version 5.23.2 onwards
      dn: cn=Cache WADO,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      objectClass: dcmExportRule
      cn: Cache WADO
      dcmEntity: Series
      dcmExporterID: WADO-JPEG
      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' JPEG image and 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** ⚠️