DICOM Attribute

Performed Procedure Step ID (0040,0253)

Keyword
PerformedProcedureStepID
VR
SH
VM
1

Attribute Metadata

This attribute is part of the current DICOM Standard. Its value representation is SH with multiplicity 1.

This attribute uses the SH Value Representation. Multiplicity 1 governs how many values may be encoded.

Integration Notes

Real-world integration guidance for engineers implementing this attribute in Mirth Connect, FHIR gateways, HL7 v2 bridges, and cloud DICOM services. Authoritative source data where available; reference examples and operational notes where they add value.

FHIR Mapping

No direct FHIR ImagingStudy mapping published for this attribute. Some tags map indirectly via the Patient, Endpoint, or ImagingSelection resources — Phase 2b will expand coverage to those.

HL7 v2 Equivalent

No standard HL7 v2 equivalent published for this attribute. Imaging-only attributes (Image Pixel data, technical acquisition parameters, modality-specific values) typically have no HL7 v2 carrier.

Cloud DICOM Support

AWS HealthImaging, Azure DICOM, and GCP Healthcare DICOM coverage rolls out by attribute. The QIDO-RS matching keys + Patient/Study/Series core (~50 attributes) are documented; lower-traffic attributes will be added as Saga teams encounter them in production.

Real-World Sample Values

No representative sample value available — this attribute isn't present in the de-identified pydicom fixture set. Add a fixture covering this attribute to expand coverage.

Mirth Connect Example

Performed Procedure Step ID — link MPPS to Requested Procedure — When MPPS arrives (N-CREATE / N-SET), ties back to the original Requested Proced

When MPPS arrives (N-CREATE / N-SET), ties back to the original Requested Procedure via (0040,0253) PerformedProcedureStepID. RIS needs this link to reconcile scheduled vs performed.

// (0040,0253) Performed Procedure Step ID — SH, links MPPS N-message to the RIS procedure
var ppsid = String(msg.dataset.attr.(@tag == '00400253').value).trim();
if (!ppsid) { logger.warn('MPPS received without PerformedProcedureStepID — cannot reconcile'); return; }
// Look up the original requested procedure (stored in DB at schedule time)
var ctx = new JavaScriptContextFactory().call(new org.mozilla.javascript.ContextAction() {});
var rpIdQuery = "SELECT requested_procedure_id FROM ris_schedule WHERE performed_step_id = ? LIMIT 1";
var rpId = DatabaseConnectionFactory.createDatabaseConnection('jdbc:postgresql://...', 'user', 'pass').executeCachedQuery(rpIdQuery, [ppsid]).next() ? resultSet.getString(1) : null;
if (rpId) {
  tmp.dataset.attr.(@tag == '00401001').value = rpId; // Requested Procedure ID
  channelMap.put('mpps_reconciled', 'true');
} else {
  channelMap.put('mpps_unmatched', ppsid);
  router.routeMessageByChannelName('MPPS_Manual_Review', message.getRawData());
}

Reference only — validate before production. Snippets are starting points, not turnkey solutions. Always test against your channel's specific message structure and your facility's interface specification. See Mirth Connect User Guide + NEMA PS3.6 + your vendor conformance statement for authoritative specification.

Common Operational Errors

Operational error patterns for the most-queried tags will be added as coverage expands.

DICOM Integration Services

Saga IT builds production DICOM integrations across Mirth Connect, FHIR gateways, and cloud imaging platforms. If you're working with PerformedProcedureStepID or the broader (0040,0253) context: