Network
DICOM Service Classes
A DICOM service class is a contract. It says "if you're an SCP (Service Class Provider) for me, here's exactly what you must accept, how you must respond, and what errors you may return." The handful of service classes below cover the vast majority of clinical traffic; the long tail handles structured reports, print management, and vendor-specific workflows.
Verification — C-ECHO
The simplest service. C-ECHO is DICOM's ping: the SCU sends a command with no payload, the SCP responds. If it works, association negotiation succeeded and the pipe is open. Always run C-ECHO before troubleshooting any more complex service.
# DCMTK echoscu
echoscu -v -aec REMOTE_PACS -aet MY_AET remote.pacs.example 11112 Storage — C-STORE
The workhorse. The SCU pushes a DICOM object (an image, an SR, a waveform) to the SCP. Used by modalities sending to PACS, by routers forwarding studies, by anonymization proxies, by the last leg of a C-MOVE. Status 0000 means success; any other status code means some flavor of failure.
Query — C-FIND
C-FIND asks "show me studies matching this criteria." The SCU sends an identifier (a Data Set with match keys), the SCP returns zero or more responses, each a Data Set matching the query. The query can be at Patient, Study, Series, or Image level, each with its own SOP Class UID and its own set of valid match keys.
Common match keys at Study level: Patient ID, Study Date, Accession Number, Modalities in Study, Study Description, Referring Physician.
Retrieve — C-MOVE vs C-GET
Two different answers to the same question: "send me these studies."
- C-MOVE — SCU says "send study X to AE Title Y." SCP opens a new association to Y and C-STOREs the images there. Y must be pre-configured on the SCP as an allowed destination.
- C-GET — SCU says "send study X back over this association." Simpler — no second connection to configure, friendlier through firewalls — but requires the SCP to support it, which many older PACS don't.
C-MOVE firewall pain: the PACS opens a new TCP connection to the destination, typically using the destination's configured inbound port. Firewall rules must allow PACS → Destination on that port, which is backwards from how most network teams think about it. If a C-MOVE returns success but no images arrive, check the destination's side of the firewall.
Deep-dive with examples: Query / Retrieve →
Modality Worklist — C-FIND on a different SOP Class
MWL (Modality Worklist Management) is just C-FIND with SOP Class UID 1.2.840.10008.5.1.4.31. The SCU (a modality) queries the SCP (usually the RIS or PACS) for its scheduled work and gets back a list of Scheduled Procedure Steps — patient name, MRN, accession number, study description, scheduled start time. Without MWL, the tech has to type patient details in by hand, which is where 80% of patient-ID typos originate.
MPPS — Modality Performed Procedure Step
MPPS (N-CREATE / N-SET) lets a modality report to the RIS that it has started, continued, or completed a procedure. It is the billing trigger in most radiology workflows — not that your RIS will tell you this; you'll discover it the first time an MPPS outage results in claims not being dropped.
Storage Commitment
An asynchronous confirmation that a prior C-STORE was durably persisted. The SCU (the sender) asks the SCP (the PACS) "please confirm you have stored these SOP Instances." The SCP replies with N-EVENT-REPORT once it has committed the study to stable storage. Enterprise modalities use this to know when it's safe to delete local copies.
The long tail
Not all DICOM traffic is image movement. Other service classes in the standard:
- Print Management (N-CREATE Film Session / Film Box / Image Box — yes, people still print)
- Display System Management (queries + sets calibration)
- Application Event Logging
- Instance Availability Notification
- Non-Patient Object Storage (hanging protocols, color palettes, CT protocols)
- Unified Worklist and Procedure Step (Supplement 96 — the modern replacement for MWL + MPPS, slow adoption)
Explore further
- Concepts
Query / Retrieve deep-dive
C-FIND match key semantics, C-MOVE destination configuration, C-GET vs C-MOVE decision tree.
- Reference
SOP Classes
All 320 SOP classes with their UIDs and information object definitions.
- Concepts
Conformance Statements
What a conformance statement tells you about which services a device actually supports.