Modality workflowworklist, MPPS and storage commitment

This is the DICOM life of one exam: the scanner asks which patients are scheduled, tells everyone when it starts and ends, sends the images and gets a promise that they are safely stored. It is the DICOM half of the IHE Scheduled Workflow.

  • DICOM
  • Internal action
  • Dashed = reply
DICOM modality workflow sequenceA scheduled order is available in the RIS worklist. The modality queries the worklist with C-FIND, the technologist selects the patient, the modality sends MPPS N-CREATE in progress, stores the images with C-STORE, sends MPPS N-SET completed, requests storage commitment with N-ACTION and the PACS answers with N-EVENT-REPORT.ModalitySCU for all stepsRIS / worklistMWL SCP, order fillerPACSStorage / MPPS / commit SCPSchedule the examorder + accession number1C-FIND-RQ (MWL)2C-FIND-RSP (list)3Select and start examcopy order data to images4N-CREATE (MPPS IN PROGRESS)5C-STORE-RQ + images6N-SET (MPPS COMPLETED)7N-ACTION (commit request)8Verify archiveall listed instances stored?9N-EVENT-REPORT (result)10

Tip: click an arrow or box in the diagram to jump to that step. Time flows top to bottom.

Step 1 of 10

An order becomes a worklist entry

Key detail

What happens

A referring system sends an order to the RIS, as an HL7 ORM (or OMG in the HL7 v2.5.1 option of IHE). The RIS gives it an accession number, schedules a procedure step on a modality and stores it where the worklist service can read it.

Why it is needed

Worklist is the single source of truth about who is scheduled. Without it the technologist types the patient data by hand, and typing errors are the biggest cause of mismatched studies.

Technical details

  • HL7 ORM^O01 (or OMG^O19 in the IHE v2.5.1 option) in from the order placer
  • Accession number (0008,0050) created by the order filler
  • Scheduled Procedure Step: station, modality, date and time
  • Requested Procedure ID, Study Instance UID generated or reserved

All steps at a glance

Glossary

SCU
Service Class User. The side that asks for a service, such as a scanner that wants to store images.
SCP
Service Class Provider. The side that provides the service, such as a PACS that stores images.
Modality Worklist (MWL)
A DICOM service where the modality asks the RIS which patients and procedures are scheduled for it, with a C-FIND.
MPPS
Modality Performed Procedure Step. A DICOM object, created with N-CREATE and updated with N-SET, that reports the start and the end of an exam.
Storage Commitment
A service in which the modality asks a PACS to confirm that listed images are safely stored, with N-ACTION and N-EVENT-REPORT.
DIMSE-N
The "normalized" services: N-CREATE, N-SET, N-GET, N-ACTION, N-DELETE and N-EVENT-REPORT. They work on a managed object, unlike the C- services.
Accession number
The unique ID of one imaging request. It links an image study to its order and report.

Summary

  • Worklist is a C-FIND on SOP Class 1.2.840.10008.5.1.4.31. It gives the modality the patient and order data so nobody has to type it.
  • MPPS is N-CREATE (IN PROGRESS) then N-SET (COMPLETED or DISCONTINUED). It tells RIS and PACS what the modality did.
  • The images travel with C-STORE. The PACS matches them with the order through StudyInstanceUID and AccessionNumber.
  • Storage Commitment is N-ACTION from the modality and N-EVENT-REPORT from the PACS. It means "safely stored", which is stronger than a C-STORE success.
  • Most failed exams with the wrong patient or accession number come from skipping the worklist: the data was typed, not selected.

The 10 steps in plain text

  1. An order becomes a worklist entry

    A referring system sends an order to the RIS, as an HL7 ORM (or OMG in the HL7 v2.5.1 option of IHE). The RIS gives it an accession number, schedules a procedure step on a modality and stores it where the worklist service can read it.

    Why: Worklist is the single source of truth about who is scheduled. Without it the technologist types the patient data by hand, and typing errors are the biggest cause of mismatched studies.

  2. C-FIND on the Modality Worklist

    The modality sends a C-FIND using the Modality Worklist SOP Class. The matching keys usually say "my modality, my AE title, today", and the return keys list all the patient and order attributes that the modality needs.

    Why: The modality only shows the exams meant for it, so the technologist picks from a short list instead of searching the whole hospital.

  3. C-FIND-RSP: the worklist

    The worklist SCP answers with one pending response per scheduled exam, each carrying the patient and order data, and ends with a success response. This is the same C-FIND mechanism as the query lesson.

    Why: The attributes are exactly what the modality must put in every image it makes, so images and order match from the first byte.

  4. The technologist selects the patient

    The technologist picks the patient on the console. The modality copies the worklist attributes, including the Study Instance UID and accession number, into the images it will create.

    Why: If the technologist types the patient instead of selecting it, the images carry different identifiers than the order, and they land in the PACS as an unmatched study.

  5. MPPS N-CREATE: IN PROGRESS

    The modality creates a Modality Performed Procedure Step object on the MPPS SCP. It references the scheduled step it is performing and records the start time, the status and the station.

    Why: This tells the rest of the hospital that the exam really began. The RIS can change the order status from scheduled to in progress, and the PACS can expect images for this study.

  6. C-STORE: send the images

    The modality stores every image of the exam in the PACS. Each C-STORE gets its own response.

    Why: This is the actual image delivery. Because the order attributes were copied from the worklist, the PACS can file the study under the right patient and accession number without any manual work.

  7. MPPS N-SET: COMPLETED

    When the exam ends, the modality updates the same MPPS object with N-SET. It sets the status to COMPLETED (or DISCONTINUED if the exam was stopped) and lists the series and images it made.

    Why: The PACS can check that it received everything the modality says it produced. The RIS can mark the order complete, which for example lets the reading workflow start.

  8. Storage Commitment N-ACTION

    The modality sends the list of SOP Class and SOP Instance UIDs it just stored and asks the PACS to commit to keeping them.

    Why: A C-STORE success only says "received". Storage commitment says "safely stored", and it is the signal that lets the modality delete its own local copy.

  9. The PACS makes sure the images are safe

    The PACS checks every listed instance against its archive. Depending on the product, this can include waiting for a copy to a second site or tape.

    Why: The promise is only worth as much as the check behind it. This is why the response can come minutes after the request.

  10. N-EVENT-REPORT: committed

    The PACS sends the result as an N-EVENT-REPORT with the same Transaction UID. It must be able to send it on a different association than the N-ACTION, and the modality must be able to receive it there. It may try the same association, but the modality is free to release it first.

    Why: On success the modality may remove its local images. On failure it knows exactly which images to send again, and no image is lost silently.

Common questions

What is the DICOM Modality Worklist?

A service that lets a modality query the RIS (the Worklist SCP) with a C-FIND to get the scheduled patients and procedures for its station. It uses the Modality Worklist SOP Class 1.2.840.10008.5.1.4.31 and returns patient, order and study attributes, including the accession number and Study Instance UID.

What is MPPS and why does it matter?

Modality Performed Procedure Step reports from the modality what was done: when the exam started, when it ended or was stopped, and which series and images were made. The RIS uses it to update the order status, and the PACS uses it to check that all images arrived and to start routing and reading workflows.

What is the difference between C-STORE success and Storage Commitment?

C-STORE success (0000) means the PACS received the image and handled it. Storage Commitment is an explicit, separate promise that the images are stored safely and can be deleted from the modality. It uses N-ACTION from the modality and N-EVENT-REPORT from the PACS.

Why is the worklist query returning nothing?

Usually a matching key does not fit: the Scheduled Station AE Title or Modality does not match what the RIS has for the order, the date is not today, or the worklist provider does not know the calling AE title. Compare what the modality sends in the C-FIND with the order in the RIS.

Why does the PACS need to open a connection to the modality?

For the N-EVENT-REPORT of storage commitment. If the modality closed the association, the PACS opens a new one (as SCU of the commitment SOP Class) to the modality's configured AE title, IP address and port. Allow that in the firewall and configure the modality as a destination on the PACS.

Is MPPS sent to the RIS or to the PACS?

It depends on the site. In IHE Scheduled Workflow the modality sends MPPS to the Image Manager (the PACS), which relays it to the Order Filler (the RIS). Many modalities can send it to both. Check the conformance statement of the modality for the AEs it can send to.

Try it yourself

← All lessons