Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
vrindanayak opened this issue Oct 2, 2022 · 1 comment
Assignees
Labels
bug Something isn't working
Milestone

Comments

@vrindanayak
Copy link
Member

vrindanayak commented Oct 2, 2022

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

  • Start 2 archives acting as local and leading archives
  • Configure new archive attribute coercion on local archive as
dn: cn=new-attr-coerce-c-find-rsp-role-scu-leading-arc,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmArchiveAttributeCoercion2
cn: new-attr-coerce-c-find-rsp-role-scu-leading-arc
dcmDIMSE: C_FIND_RSP
dcmURI: leading-arc:DCM4CHEE2
dicomTransferRole: SCU
dcmProperty: SendingApplicationEntityTitle=LEADING_ARC
  • 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  -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
(QIDO)
SCU Comp. Query leading-arc:<LEADING_ARC_AET>
@vrindanayak vrindanayak added the bug Something isn't working label Oct 2, 2022
@vrindanayak vrindanayak added this to the 5.29.0 milestone Oct 2, 2022
@vrindanayak
Copy link
Member Author

Fixed by #3815 fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants