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 Coercion
with 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 likeConditions
etc. 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 Archive
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 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
AccessionNumber
is different on two archives and want to receive correctPatientName
from Leading Archive)findscu -c DCM4CHEE@localhost:11112 -m StudyInstanceUID=<StudyInstanceUID> -r AccessionNumber
Replace
<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 Application
of 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 SCP
field. As per one's requirement, selectSpanning C-Find SCP Policy
. If needed, selectSpanning C-Find SCP Retrieve AE Title
andSave
. - Also it is advisable to set value for the field
Query Max Number Of Results
to avoidOutOfMemoryErrors
which 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
PatientName
is different on two archives and want to receive correctPatientName
from Leading Archive)findscu -c DCM4CHEE@localhost:11112 -m PatientID=<PatientID> -r PatientName -M PatientRoot -L PATIENT
Replace
<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.