Proxy query requests to another Archive - dcm4che/dcm4chee-arc-light GitHub Wiki
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 query DCM4CHEE long term archive they will receive updated attributes of patient/study objects.
This can be achieved either using one of the following 2 ways :
Using a coercion rule to coerce attributes from leading archive is useful for C-FIND requests as well as QIDO-RS services.
However, note that if one or more patient attributes for the study also differ on the two archives, when the coercion is applied (either triggered by C-FIND or by QIDO) the patient record attributes will also reflect that from the leading archive ONLY for study C-FIND responses / Studies tab whereas for patient level queries the attributes SHALL NOT be reflected from the leading archive in the patient C-FIND responses / Patients tab.
-
Go to
Menu -> Configuration -> Devices -> dcm4chee-arc -> Extensions -> Archive Device Extension -> Child Objects. -
Add an
Attribute Coercionwith following values andSave:Name : Coerce C-FIND from Leading Archive DIMSE : C_FIND_RSP DICOM Transfer Role : SCU Leading C-FIND SCP : <C-FIND-SCP-AET>Replace
<C-FIND-SCP-AET>withe the AET of the archive acting as leading archive. Optional values likeConditionsetc. may be added as required.
One may either
-
create a LDIF file (e.g.):
version: 1 dn: cn=Coerce C-FIND from Leading Archive,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org dcmDIMSE: C_FIND_RSP dcmLeadingCFindSCP: C-FIND-SCP-AET dicomTransferRole: SCU objectClass: dcmArchiveAttributeCoercion cn: Coerce C-FIND from Leading Archiveand 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.
One may refer to Archive Attribute Coercion to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
-
Ensure the study is available on your archive as well as on the archive which acts as a Leading Archive.
-
Ensure one (or more) attribute(s) have different values on the two archives.
-
Use findscu which implements a C-FIND SCU to get the result from Leading Archive. (In below example, we assume
AccessionNumberis different on two archives and want to receive correctPatientNamefrom Leading Archive)findscu -c DCM4CHEE@localhost:11112 -m StudyInstanceUID=<StudyInstanceUID> -r AccessionNumberReplace
<StudyInstanceUID>with required value.
- Ensure the study is available on your archive as well as on the archive which acts as a Leading Archive.
- Ensure one (or more) attribute(s) have different values on the two archives.
- On
Navigation page -> Studies tab, select theWeb Applicationof the external archive and do a Study query to see the result shows attribute(s) from the Leading Archive.
- Go to
Menu -> Configuration -> Devices -> dcm4chee-arc -> Extensions -> Archive Device Extension -> Attributes. - Add C-FIND SCP AE Title for
Spanning C-Find SCPfield. As per one's requirement, selectSpanning C-Find SCP Policy. If needed, selectSpanning C-Find SCP Retrieve AE TitleandSave. - Also it is advisable to set value for the field
Query Max Number Of Resultsto avoidOutOfMemoryErrorswhich may occur for unlimited C-FIND requests.
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: dcmSpanningCFindSCP dcmSpanningCFindSCP: LEADING_C_FIND_SCP - dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmSpanningCFindSCPPolicy dcmSpanningCFindSCPPolicy: MERGE - dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmQueryMaxNumberOfResults dcmQueryMaxNumberOfResults: 100 -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.
One may refer to Archive Device and Archive Attribute Coercion to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
-
Ensure the study or patient is available on your archive as well as on the archive which acts as a Leading Archive.
-
Ensure one (or more) attribute(s) have different values on the two archives.
-
Use findscu which implements a C-FIND SCU to get the result from Leading Archive. (In below example, we assume
PatientNameis different on two archives and want to receive correctPatientNamefrom Leading Archive)findscu -c DCM4CHEE@localhost:11112 -m PatientID=<PatientID> -r PatientName -M PatientRoot -L PATIENTReplace
<PatientID>with required value.
- Ensure the study or patient is available on your archive as well as on the archive which acts as a Leading Archive.
- Ensure one (or more) attribute(s) have different values on the two archives.
- On Studies page, select the Web Application of the external archive and do a Study/Patient query to see the result shows attribute(s) from the Leading Archive.