dcm4che / dcm4chee-arc-light

DICOM Archive J2EE application
438 stars 241 forks source link

Enable coercing C_FIND_RSP dataset with attributes received from `leading-arc` using new archive attribute coercion #3814

Closed vrindanayak closed 2 years ago

vrindanayak commented 2 years ago

Describe the bug

Coercing of study attributes received from leading archive incorrectly applied to query keys of C-FIND request instead of C-FIND response dataset

To Reproduce

storescu -s "AccessionNumber=OB SR EXAM-new" -s PatientID=12345-HD11 -c DCM4CHEE2@localhost:21112 study.dcm

- Invoke study level C-FIND on local archive

findscu -b LEADING_ARC -c DCM4CHEE@localhost:11112 -r PatientID -r IssuerOfPatientID -r IssuerOfPatientIDQualifiersSequence -m StudyInstanceUID=1.2.840.113543.6.6.4.1.61567187113131110962211582791512183929288 -r AccessionNumber | grep -A15 "C-FIND-RSP Dataset:" 01:36:20.290 DEBUG - LEADING_ARC->DCM4CHEE(1) >> 1:C-FIND-RSP Dataset: (0008,0005) CS [ISO_IR 100] SpecificCharacterSet (0008,0050) SH [OB SR EXAM] AccessionNumber (0008,0052) CS [STUDY] QueryRetrieveLevel (0008,0054) AE [DCM4CHEE] RetrieveAETitle (0008,0056) CS [ONLINE] InstanceAvailability (0008,0201) SH [] TimezoneOffsetFromUTC (0010,0020) LO [P11] PatientID (0010,0021) LO [Site A] IssuerOfPatientID (0010,0024) SQ [1 Items] IssuerOfPatientIDQualifiersSequence

Item #1 (0040,0032) UT [1.2.40.0.13.1.1.999.111.1111] UniversalEntityID (0040,0033) CS [ISO] UniversalEntityIDType (0020,000D) UI [1.2.840.113543.6.6.4.1.615671871131311109622115827915121839292

01:36:20.291 INFO - LEADING_ARC->DCM4CHEE(1) >> 1:C-FIND-RSP[pcid=1, status=0H


**Expected Behavior**

To be similar as in Legacy archive attribute coercion
- Configuration

dn: cn=legacy-attr-coerce-c-find-rsp-role-scu-leading-arc,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org objectClass: dcmArchiveAttributeCoercion cn: legacy-attr-coerce-c-find-rsp-role-scu-leading-arc dcmDIMSE: C_FIND_RSP dicomTransferRole: SCU dcmLeadingCFindSCP: DCM4CHEE2 dcmProperty: SendingApplicationEntityTitle=LEADING_ARC_LGCY

- Store study with differing attributes to local and leading archives

storescu -s "AccessionNumber=OB SR EXAM" -s PatientID=P11 -s "IssuerOfPatientID=Site A" -s IssuerOfPatientIDQualifiersSequence.UniversalEntityID=1.2.40.0.13.1.1.999.111.1111 -s IssuerOfPatientIDQualifiersSequence.UniversalEntityIDType=ISO -c DCM4CHEE@localhost:11112 study.dcm

storescu -s "AccessionNumber=OB SR EXAM-new" -s PatientID=12345-HD11 -c DCM4CHEE2@localhost:21112 study.dcm

- Invoke study level C-FIND on local archive

findscu -b LEADING_ARC_LGCY -c DCM4CHEE@localhost:11112 -r PatientID -r IssuerOfPatientID -r IssuerOfPatientIDQualifiersSequence -m StudyInstanceUID=1.2.840.113543.6.6.4.1.61567187113131110962211582791512183929288 -r AccessionNumber | grep -A15 "C-FIND-RSP Dataset:" 01:40:11.536 DEBUG - LEADING_ARC_LGCY->DCM4CHEE(1) >> 1:C-FIND-RSP Dataset: (0008,0005) CS [ISO_IR 100] SpecificCharacterSet (0008,0050) SH [OB SR EXAM-new] AccessionNumber (0008,0052) CS [STUDY] QueryRetrieveLevel (0008,0054) AE [DCM4CHEE2] RetrieveAETitle (0008,0056) CS [ONLINE] InstanceAvailability (0008,0201) SH [] TimezoneOffsetFromUTC (0010,0020) LO [12345-HD11] PatientID (0010,0021) LO [Site A] IssuerOfPatientID (0010,0024) SQ [1 Items] IssuerOfPatientIDQualifiersSequence

Item #1 (0040,0032) UT [1.2.40.0.13.1.1.999.111.1111] UniversalEntityID (0040,0033) CS [ISO] UniversalEntityIDType (0020,000D) UI [1.2.840.113543.6.6.4.1.615671871131311109622115827915121839292

01:40:11.537 INFO - LEADING_ARC_LGCY->DCM4CHEE(1) >> 1:C-FIND-RSP[pcid=1, status=0H



Related #3473 
❏ | DIMSE | Role | SOP Class | URI scheme | Parameters 
-- | -- | -- | -- | -- | --
✅ | `C_FIND_RSP`<br>(QIDO)  | `SCU` | Comp. Query  | `leading-arc:<LEADING_ARC_AET>`
vrindanayak commented 2 years ago

Fixed by #3815 fix