Prefetch QIDO Responses - dcm4che/dcm4chee-arc-light GitHub Wiki
Enable this feature to allow pre-fetching QIDO response for Search of Study's Series or Instances by a proxy server. The responses of the following QIDO services
may be cached to allow faster searching of series or instances of a study by viewer systems.
To simulate pre-fetching of QIDO responses locally, we shall configure storages to simulate storing of QIDO responses (normally stored at proxy server acting as cache).
For pre-fetching QIDO responses of above 3 services, we shall create
- 2 Export Rules : One referencing exporters for Series of Study and Instances of Study, and the export shall be done on Study level. The second export rule shall reference Instances of Series exporter and the export shall be done on series level.
- 3 exporters each for the 3 services
- 3 storage descriptors for storing responses of each of the 3 servcies.
- Go upto Child objects of archive device (
Menu -> Configuration -> Devices -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Child Objects
) and addExport Rule
,Export Descriptor
andStorage Descriptor
with values as shown in below ldif configuration. - On archive device level (
Menu -> Configuration -> Devices -> dcm4chee-arc -> Device Extension -> Archive Device Extension -> Attributes
), configure Qido ETag as true
Create a LDIF file (e.g.)
dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmQidoETag: TRUE
dn: cn=Forward to QIDO-JSON-InstancesOfSeries,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmExporterID: QIDO-JSON-InstancesOfSeries
dcmDuration: PT1M
dcmEntity: Series
dcmProperty: SendingApplicationEntityTitle=QIDO_JSON
objectClass: dcmExportRule
cn: Forward to QIDO-JSON-InstancesOfSeries
dn: cn=Forward to QIDO-JSON-Study-SeriesInstances,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmExporterID: QIDO-JSON-InstancesOfStudy
dcmExporterID: QIDO-JSON-SeriesOfStudy
dcmDuration: PT1M
dcmEntity: Study
dcmProperty: SendingApplicationEntityTitle=QIDO_JSON
objectClass: dcmExportRule
cn: Forward to QIDO-JSON-Study-SeriesInstances
dn: dcmExporterID=QIDO-JSON-SeriesOfStudy,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmExporterID: QIDO-JSON-SeriesOfStudy
dicomDescription: Export to QIDO-JSON-SeriesOfStudy
dcmQueueName: Export2
dcmProperty: QidoService=/studies/[0]/series
dcmProperty: Accept=application/json
dcmProperty: StorageID=qido-json-seriesOfStudy
objectClass: dcmExporter
dicomAETitle: DCM4CHEE
dcmURI: wado:DCM4CHEE
dn: dcmExporterID=QIDO-JSON-InstancesOfStudy,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmExporterID: QIDO-JSON-InstancesOfStudy
dcmQueueName: Export2
objectClass: dcmExporter
dicomAETitle: DCM4CHEE
dcmURI: wado:DCM4CHEE
dcmProperty: QidoService=/studies/[0]/instances
dcmProperty: Accept=application/json
dcmProperty: StorageID=qido-json-instancesOfStudy
dicomDescription: Export to QIDO-JSON-InstancesOfStudy
dn: dcmExporterID=QIDO-JSON-InstancesOfSeries,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmExporterID: QIDO-JSON-InstancesOfSeries
dcmQueueName: Export2
objectClass: dcmExporter
dicomAETitle: DCM4CHEE
dcmURI: wado:DCM4CHEE
dcmProperty: QidoService=/studies/[0]/series/[1]/instances
dcmProperty: Accept=application/json
dcmProperty: StorageID=qido-json-instancesOfSeries
dicomDescription: Export to QIDO-JSON-InstancesOfSeries
dn: dcmStorageID=qido-json-instancesOfSeries,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmProperty: pathFormat={0020000D}-{0020000E}.json
dcmProperty: checkMountFile=NO_MOUNT
objectClass: dcmStorage
dcmStorageID: qido-json-instancesOfSeries
dcmURI: ${jboss.server.data.url}/qido-instancesOfSeries/
dn: dcmStorageID=qido-json-seriesOfStudy,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmProperty: pathFormat={0020000D}.json
dcmProperty: checkMountFile=NO_MOUNT
objectClass: dcmStorage
dcmStorageID: qido-json-seriesOfStudy
dcmURI: ${jboss.server.data.url}/qido-seriesOfStudy/
dn: dcmStorageID=qido-json-instancesOfStudy,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmProperty: pathFormat={0020000D}.json
dcmProperty: checkMountFile=NO_MOUNT
objectClass: dcmStorage
dcmStorageID: qido-json-instancesOfStudy
dcmURI: ${jboss.server.data.url}/qido-instancesOfStudy/
and import it to the LDAP Server by using the ldapmodify command line utility.
Refer Export Rule, Exporter Descriptor and Storage Descriptor to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
-
Store study to archive using storescu tool.
-
Verify in
Monitoring - Export
that the export tasks are created and slated for schedule (i.e. status =TO SCHEDULE
) -
Once the export task polling interval and export delays are reached, verify that the json responses have been stored in the storages, and the export tasks are set to
COMPLETED