DICOM Basics using Java - Modality Performed Procedure Step (MPPS)
Introduction
This article is part of my series of articles on the DICOM standard. If you are totally new to DICOM, please have a quick look at my earlier article titled "Introduction to the DICOM Standard". In this tutorial, we will explore DICOM Modality Performed Procedure Step (MPPS), which works alongside Modality Worklist to provide complete workflow integration.
What is MPPS?
Modality Performed Procedure Step (MPPS) is a DICOM service that allows imaging modalities to report the status and results of performed procedures back to the Radiology Information System (RIS). While Modality Worklist provides scheduled procedure information to the modality, MPPS completes the loop by reporting what was actually performed.
The Theory Behind Procedure Step Management
MPPS implements a crucial concept in workflow management: bidirectional state synchronization between the planning system (RIS) and the execution system (modality). This goes far beyond simple status updates - it represents a complete reconciliation of scheduled versus performed work.
The Scheduled vs. Performed Divergence Problem
In clinical practice, what is actually performed often differs from what was scheduled:
- Protocol Changes: Radiologist requests additional sequences based on findings
- Partial Completions: Patient becomes claustrophobic, exam is discontinued
- Unscheduled Add-ons: Emergency procedure performed without prior scheduling
- Split Procedures: One scheduled procedure becomes multiple performed steps
- Dose Variations: Actual radiation exposure differs from planned
Without MPPS, the RIS maintains a fiction of what was "supposed to" happen, while the PACS contains the reality of what actually happened. This divergence creates problems for:
- Billing: Charges may not reflect actual work performed
- Quality Assurance: Protocol compliance cannot be verified
- Dose Tracking: Regulatory requirements for dose documentation are unmet
- Workflow Routing: Downstream systems don't know studies are ready
The State Machine Model
MPPS models each procedure step as a finite state machine with well-defined transitions:
The state machine is append-only after reaching a terminal state - once COMPLETED or DISCONTINUED, an MPPS cannot be modified. This immutability provides audit trail integrity for regulatory compliance.
Integration with IHE Scheduled Workflow
In the IHE Scheduled Workflow profile, MPPS serves as the critical "procedure completion" transaction. When the RIS receives an MPPS COMPLETED message, it can:
- Update the procedure status to "performed"
- Trigger billing processes with accurate procedure codes
- Send HL7 ORM (Order Message) to the ordering system
- Notify the PACS that images are ready for quality review
- Alert the reading worklist that the study is available for interpretation
Key benefits of MPPS:
- Real-time status updates - RIS knows immediately when a procedure starts and completes
- Billing accuracy - Actual procedures performed are reported, not just scheduled ones
- Workflow efficiency - Next steps (reading, reporting) can be triggered automatically
- Protocol tracking - Exact acquisition parameters and dose information are captured
- Exception handling - Discontinued or partially completed procedures are properly documented
MPPS Messages
MPPS is provided by the Modality Performed Procedure Step SOP Class (UID 1.2.840.10008.3.1.2.3.3) and uses the DICOM N-CREATE and N-SET operations:
N-CREATE (IN PROGRESS)
Sent when a procedure begins. Contains:
- Performed Procedure Step Status: "IN PROGRESS"
- Performed Station AE Title, Name, Location
- Performed Procedure Step Start Date/Time
- Referenced study/patient information
N-SET (COMPLETED or DISCONTINUED)
Sent when a procedure ends. Contains:
- Performed Procedure Step Status: "COMPLETED" or "DISCONTINUED"
- Performed Procedure Step End Date/Time
- Performed Series Sequence (what images were acquired)
- Performed Protocol Code Sequence
- Radiation dose information (if applicable)
Tools for Tutorial
- JDK 1.8 SDK or higher
- Eclipse or any other Java IDE
- Download the PixelMed library from here
- You can find the source code used in this tutorial on GitHub
“Efficiency is doing things right; effectiveness is doing the right things.” ~ Peter Drucker
MPPS Workflow
A typical MPPS workflow follows these steps:
- MWL Query - Modality queries for scheduled procedures
- Patient Selection - Technologist selects the procedure from worklist
- MPPS N-CREATE - Modality sends "IN PROGRESS" status when acquisition starts
- Image Acquisition - Images are acquired and stored
- MPPS N-SET - Modality sends "COMPLETED" status with acquired series information
Key MPPS Attributes
Performed Procedure Step Relationship Module:
- Scheduled Step Attribute Sequence (0040,0270)
- Patient Name, ID, Birth Date, Sex
- Referenced Patient Sequence (0008,1120)
Performed Procedure Step Information Module:
- Performed Station AE Title (0040,0241)
- Performed Station Name (0040,0242)
- Performed Location (0040,0243)
- Performed Procedure Step Start Date (0040,0244)
- Performed Procedure Step Start Time (0040,0245)
- Performed Procedure Step Status (0040,0252)
- Performed Procedure Step End Date (0040,0250)
- Performed Procedure Step End Time (0040,0251)
Image Acquisition Results Module:
- Performed Series Sequence (0040,0340)
- Series Instance UID
- Performing Physician's Name
- Protocol Name
- Referenced Image Sequence
Example: MPPS Message Structure
Here is an example of what an MPPS N-CREATE message might contain:
(0008,0016) SOP Class UID: 1.2.840.10008.3.1.2.3.3
(0008,0018) SOP Instance UID: 1.2.3.4.5.6.7.8.9
(0010,0010) Patient Name: DOE^JOHN
(0010,0020) Patient ID: 12345
(0040,0241) Performed Station AE Title: CT_SCANNER
(0040,0242) Performed Station Name: CT Room 1
(0040,0244) Performed Procedure Step Start Date: 20240115
(0040,0245) Performed Procedure Step Start Time: 093000
(0040,0252) Performed Procedure Step Status: IN PROGRESS
(0040,0253) Performed Procedure Step ID: PPS001
(0040,0254) Performed Procedure Step Description: CT CHEST WITH CONTRAST
(0040,0260) Performed Protocol Code Sequence:
(0008,0100) Code Value: CT001
(0008,0102) Coding Scheme Designator: LOCAL
(0008,0104) Code Meaning: CT Chest Protocol
(0040,0270) Scheduled Step Attributes Sequence:
(0008,0050) Accession Number: ACC001
(0040,0009) Scheduled Procedure Step ID: SPS001
MPPS and Radiation Dose Reporting
MPPS is particularly important for radiation dose management. For CT and other ionizing radiation modalities, MPPS can include:
- Total Number of Exposures
- CT Dose Information (CTDI, DLP)
- Exposure Dose Sequence
- Comments on Radiation Dose
This information is critical for:
- Regulatory compliance
- Dose tracking and optimization
- Patient safety monitoring
“What gets measured gets managed.” ~ Peter Drucker
MPPS Status Codes
The Performed Procedure Step Status attribute can have the following values:
- IN PROGRESS - Procedure has started but not completed
- COMPLETED - Procedure completed successfully
- DISCONTINUED - Procedure was stopped before completion
Note: Once an MPPS is marked as COMPLETED or DISCONTINUED, it cannot be modified further.
Integration with Other DICOM Services
MPPS works together with other DICOM services:
- MWL - Provides the scheduled procedure information
- Storage (C-STORE) - Sends acquired images to PACS
- Storage Commitment - Confirms images are safely stored
- IHE Profiles - MPPS is a key component of IHE Scheduled Workflow
Handling Exceptions
MPPS provides mechanisms for handling workflow exceptions:
Discontinued Procedures:
When a procedure cannot be completed:
- Send N-SET with status "DISCONTINUED"
- Include Discontinuation Reason Code Sequence
- Document any images that were acquired before discontinuation
Unscheduled Procedures:
For emergency or add-on procedures not in the worklist:
- Create MPPS without referencing scheduled step
- Populate patient information manually or from prior studies
Conclusion
MPPS completes the workflow integration between imaging modalities and hospital information systems. Combined with Modality Worklist, it provides a comprehensive solution for tracking scheduled versus performed procedures, capturing dose information, and enabling efficient downstream workflows. Understanding MPPS is essential for anyone involved in healthcare imaging system integration. In the next tutorial in this series, I will cover DICOM Print Management for sending medical images to film printers. See you then!