Skip to content

Supplement MPPS Attributes

Vrinda edited this page Apr 19, 2023 · 2 revisions

Content

Overview

Modality Performed Procedure Steps sent from modalities to the archive may not contain certain DICOM attributes in it. Configure following coercion to supplement missing attributes information.

The attributes supplemented to the dataset are only present in the database.

Refer

This howto will provide configuration, test and verification steps for :

although the former is recommended. See Important Notes.

Additionally, refer Where to configure Archive Attribute Coercion rules

Common Configuration

In Configuration menu - Devices tab, add a device (eg. mppsscu) containing attributes to be supplemented which will be referenced by the archive device dcm4chee-arc

Using archive UI

Using Apache LDAP Directory Studio / ldif scripts

Create an LDIF file for following device and Import Configuration changes in LDAP

version: 1

dn: dicomDeviceName=mppsscu,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: add
dicomInstalled: TRUE
dicomIssuerOfPatientID: Site A&1.2.40.0.13.1.1.999.111.1111&ISO
dicomDeviceName: mppsscu
objectClass: dicomDevice
objectClass: dcmDevice
dicomPrimaryDeviceType: CT
dicomIssuerOfAdmissionID: Site A&1.2.40.0.13.1.1.999.111.1111&ISO
dicomIssuerOfAccessionNumber: Site A&1.2.40.0.13.1.1.999.111.1111&ISO

Coercion using New Archive Attribute Coercion

Configuration

Using archive UI

Using Apache LDAP Directory Studio / ldif scripts

Create an LDIF file for following coercion and Import Configuration changes in LDAP

version: 1

dn: cn=Supplement MPPS,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: add
dcmSOPClass: 1.2.840.10008.3.1.2.3.3
dcmDIMSE: N_CREATE_RQ
dicomTransferRole: SCU
dcmProperty: SendingApplicationEntityTitle=MPPSSCU
objectClass: dcmArchiveAttributeCoercion2
dcmSupplementFromDeviceReference: dicomDeviceName=mppsscu,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmURI: sup-from-dev:
cn: Supplement MPPS

Test

Send MPPS for a test study to archive using mppsscu tool.

mppsscu -s AdmissionID=ADM123 -s AccessionNumber=ACC123 -c DCM4CHEE@localhost:11112 ~/work/testdata/DICOM/modality/US/US2

Verification

In archive server log at $WILDFLY_HOME/standalone/log/server.log

22:35:49,092 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-1) Accept connection Socket[addr=/127.0.0.1,port=41549,localport=11112]
22:35:49,124 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) >> A-ASSOCIATE-RQ
22:35:49,125 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) << A-ASSOCIATE-AC
22:35:49,164 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) >> 1:N-CREATE-RQ[pcid=3
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:35:49,167 INFO  [org.dcm4chee.arc.coerce.impl.SupplementFromDeviceCoercionProcessor] (EE-ManagedExecutorService-default-Thread-14) Supplement MPPS from device: mppsscu using coercion ArchiveAttributeCoercion2[cn=Supplement MPPS, priority=0, DIMSE=N_CREATE_RQ, role=SCU, cuids=[1.2.840.10008.3.1.2.3.3], conditions={SendingApplicationEntityTitle=MPPSSCU}, uri=sup-from-dev:, description=null, onFailure=RETHROW, sufficient=false, attributeUpdatePolicy=MERGE, mergeAttributes=[], deviceCoercionParam=mppsscu, otherCoercionParams={}]
22:35:49,180 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4): Create Patient[pk=111, id=PatientID[pk=111, id=54321, issuer=Site A&1.2.40.0.13.1.1.999.111.1111&ISO], name=HD11^SAMPLE IMAGES]
22:35:49,311 INFO  [org.dcm4chee.arc.hl7.psu.HL7PSUScheduler] (EE-ManagedExecutorService-default-Thread-14) Missing MPPS attributes PlacerOrderNumberImagingServiceRequest and FillerOrderNumberImagingServiceRequest in ScheduledStepAttributesSequence
22:35:49,311 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) << 1:N-CREATE-RSP[pcid=3, status=0H
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.294807648384915830090954751481454189660 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:35:49,316 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) >> 2:N-SET-RQ[pcid=3
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.294807648384915830090954751481454189660 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:35:49,340 INFO  [org.dcm4chee.arc.hl7.psu.HL7PSUScheduler] (EE-ManagedExecutorService-default-Thread-14) Missing MPPS attributes PlacerOrderNumberImagingServiceRequest and FillerOrderNumberImagingServiceRequest in ScheduledStepAttributesSequence
22:35:49,340 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) << 2:N-SET-RSP[pcid=3, status=0H
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.294807648384915830090954751481454189660 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:35:49,342 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) >> A-RELEASE-RQ
22:35:49,342 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-14) DCM4CHEE<-MPPSSCU(4) << A-RELEASE-RP
22:35:49,393 INFO  [org.dcm4che3.net.Association] (EE-ManagedScheduledExecutorService-default-Thread-7) DCM4CHEE<-MPPSSCU(4): close Socket[addr=view-localhost/127.0.0.1,port=41549,localport=11112]

In archive UI

Coercion Configuration using Legacy Archive Attribute Coercion

Using archive UI

Using Apache LDAP Directory Studio / ldif scripts

Create an LDIF file for following coercion and Import Configuration changes in LDAP

version: 1

dn: cn=Supplement MPPS Legacy,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
changetype: add
dcmSOPClass: 1.2.840.10008.3.1.2.3.3
dcmDIMSE: N_CREATE_RQ
dicomTransferRole: SCU
dcmProperty: SendingApplicationEntityTitle=MPPSSCU_LEGACY
objectClass: dcmArchiveAttributeCoercion
dcmSupplementFromDeviceReference: dicomDeviceName=mppsscu,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
cn: Supplement MPPS Legacy

Test

Send MPPS for a test study to archive using mppsscu tool.

mppsscu -b MPPSSCU_LEGACY -s AdmissionID=ADM456 -s AccessionNumber=ACC456 -c DCM4CHEE@localhost:11112 ~/work/testdata/DICOM/modality/US/US2

Verification

In archive server log at $WILDFLY_HOME/standalone/log/server.log

22:54:14,763 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-1) Accept connection Socket[addr=/127.0.0.1,port=60187,localport=11112]
22:54:14,803 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) >> A-ASSOCIATE-RQ
22:54:14,803 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) << A-ASSOCIATE-AC
22:54:14,842 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) >> 1:N-CREATE-RQ[pcid=3
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:54:14,846 INFO  [org.dcm4chee.arc.conf.ArchiveAttributeCoercion] (EE-ManagedExecutorService-default-Thread-6) Merge attributes using coercion [cn=Supplement MPPS Legacy]
22:54:14,846 INFO  [org.dcm4chee.arc.mima.SupplementAssigningAuthorities] (EE-ManagedExecutorService-default-Thread-6) Supplement entity MPPS by coercion org.dcm4chee.arc.mima.SupplementAssigningAuthorities@6e7220cd
22:54:14,847 INFO  [org.dcm4chee.arc.mima.SupplementAssigningAuthorities] (EE-ManagedExecutorService-default-Thread-6) Supplement MPPS from device: mppsscu
22:54:14,856 INFO  [org.dcm4chee.arc.patient.impl.PatientServiceEJB] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5): Create Patient[pk=112, id=PatientID[pk=112, id=12345-HD11, issuer=Site A&1.2.40.0.13.1.1.999.111.1111&ISO], name=OBSR^WITH MEAS]
22:54:14,912 INFO  [org.dcm4chee.arc.hl7.psu.HL7PSUScheduler] (EE-ManagedExecutorService-default-Thread-6) Missing MPPS attributes PlacerOrderNumberImagingServiceRequest and FillerOrderNumberImagingServiceRequest in ScheduledStepAttributesSequence
22:54:14,912 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) << 1:N-CREATE-RSP[pcid=3, status=0H
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.339840634831976707832339207510081003134 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:54:14,917 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) >> 2:N-SET-RQ[pcid=3
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.339840634831976707832339207510081003134 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:54:14,935 INFO  [org.dcm4chee.arc.hl7.psu.HL7PSUScheduler] (EE-ManagedExecutorService-default-Thread-6) Missing MPPS attributes PlacerOrderNumberImagingServiceRequest and FillerOrderNumberImagingServiceRequest in ScheduledStepAttributesSequence
22:54:14,935 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) << 2:N-SET-RSP[pcid=3, status=0H
  cuid=1.2.840.10008.3.1.2.3.3 - Modality Performed Procedure Step SOP Class
  iuid=2.25.339840634831976707832339207510081003134 - ?
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
22:54:14,937 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) >> A-RELEASE-RQ
22:54:14,937 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-6) DCM4CHEE<-MPPSSCU_LEGACY(5) << A-RELEASE-RP
22:54:14,987 INFO  [org.dcm4che3.net.Association] (EE-ManagedScheduledExecutorService-default-Thread-2) DCM4CHEE<-MPPSSCU_LEGACY(5): close Socket[addr=view-localhost/127.0.0.1,port=60187,localport=11112]

In archive UI

Clone this wiki locally