DICOM Architecture Overview

Section 3 of 27
11% complete

DICOM follows a layered architecture similar to the OSI model, providing a structured approach to medical imaging communication.

Layered Model

DICOM Protocol Stacksaravanansubramanian.coman OSI-like layering that lets DICOM services ride on standard TCP/IPApplication Layer (DIMSE)defines service operations exchanged between peersC-STORE, C-FIND, C-MOVEC-GET, C-ECHO, N-servicesPresentation LayerTransfer Syntax and data encoding rulesJPEG, JPEG 2000, RLELittle/Big Endian, VRSession / Transport (Upper Layer Protocol)association negotiation and PDU framingA-ASSOCIATE, A-RELEASEPresentation ContextsNetwork Layerstandard reliable transportTCP/IPdefault port 104, TLS optional

Layer Details

LayerPurposeExamples
ApplicationDefine operationsC-STORE, C-FIND, C-MOVE, C-ECHO
PresentationEncode dataJPEG, JPEG2000, Little Endian
SessionManage connectionsAssociation negotiation
NetworkTransport dataTCP/IP, Port 104 (default)

Key Components

1. Information Object Definitions (IODs)

IODs define what information can be stored in a DICOM object. Think of them as templates:

CT Image IOD Structuresaravanansubramanian.coma stack of modules that compose one Information Object DefinitionPatient Modulewho the patient isPatient Name(0010,0010)Patient ID(0010,0020)Birth Date(0010,0030)Sex(0010,0040)Study Modulethe visit / exam contextStudy Inst. UID(0020,000D)Study Date(0008,0020)Description(0008,1030)Accession #(0008,0050)Series Moduleone acquisition runSeries Instance UID(0020,000E)Modality(0008,0060)Series Number(0020,0011)CT Image Modulethe pixels and their display metadataRows / Columns(0028,0010/0011)Pixel Data(7FE0,0010)Window C/W(0028,1050/1051)Slice Thickness(0018,0050)

Each IOD consists of modules, and each module contains attributes (tags).

2. Service-Object Pair (SOP) Classes

SOP Classes combine an IOD with DIMSE services to define what you can DO with an object:

SOP Class = IOD + DIMSE Servicessaravanansubramanian.comevery SOP Class pairs an information object with the operations you can perform on itIODwhat informationthe object holds+DIMSE Serviceswhat operationsare supported=SOP Classwhat you can DOwith the objectCT Image Storage SOP Classused by every CT scanner sending images to a PACSIODCT ImageServicesC-STORE, C-FIND, C-GET, C-MOVEMR Image Storage SOP Classsame shape as CT Storage, different IODIODMR ImageServicesC-STORE, C-FIND, C-GET, C-MOVEVerification SOP Classthe minimal SOP Class — no data payload, only a heartbeatIODNone (metadata only)ServicesC-ECHO

Common SOP Class UIDs:

SOP ClassUID
CT Image Storage1.2.840.10008.5.1.4.1.1.2
MR Image Storage1.2.840.10008.5.1.4.1.1.4
Secondary Capture1.2.840.10008.5.1.4.1.1.7
Verification1.2.840.10008.1.1

3. DIMSE Services

DIMSE (DICOM Message Service Element) defines the operations that can be performed:

DIMSE Service Categoriessaravanansubramanian.comthe operations DICOM devices can perform, split by the kind of IOD they act onComposite Serviceswork with composite IODs like whole images and studiesC-STOREsend DICOM objectsto storageC-FINDquery for DICOMobjectsC-GETretrieve objectsto requesterC-MOVEmove objects tothird partyC-ECHOverifyconnectivityTypical usemodality to PACS transfers, worklist and prior-exam queries, radiologist workstation retrieval,and simple connectivity checks between AE TitlesNormalized Serviceswork with normalized IODs — one attribute-managed object at a timeN-CREATEcreate amanaged objectN-SETmodify amanaged objectN-GETretrieveattributesN-DELETEdelete amanaged objectN-ACTIONperforman actionN-EVENTreport aneventTypical useModality Performed Procedure Step (MPPS), Print Management, Storage Commitment, and otherworkflow objects whose lifecycle needs create / update / notify semantics rather than bulk transferC-services move image blobs; N-services curate stateful workflow objects

4. Transfer Syntaxes

Transfer Syntaxes define how data is encoded at the binary level:

Transfer Syntax Components
==========================

Byte Ordering:
  - Little Endian (most common)
  - Big Endian (legacy)

Value Representation:
  - Explicit VR (recommended)
  - Implicit VR (legacy default)

Compression:
  - Uncompressed
  - JPEG Lossless
  - JPEG 2000
  - RLE

Common Transfer Syntax UIDs:

Transfer SyntaxUIDDescription
Implicit VR Little Endian1.2.840.10008.1.2Default (uncompressed)
Explicit VR Little Endian1.2.840.10008.1.2.1Recommended
JPEG Lossless1.2.840.10008.1.2.4.70Lossless compression
JPEG 2000 Lossless1.2.840.10008.1.2.4.90Modern lossless
JPEG 2000 Lossy1.2.840.10008.1.2.4.91High compression

5. Application Entities (AEs)

AEs are DICOM-enabled applications identified by:

Application Entity Configurationsaravanansubramanian.comevery DICOM node is uniquely addressed by AE Title + host + port + rolePACS_SERVERSCPAE TITLEPACS_SERVERIP ADDRESS192.168.1.100PORT104Server role - responds to requestsCT_SCANNER_1SCUAE TITLECT_SCANNER_1IP ADDRESS192.168.1.50PORT11112Client role - initiates requests

Key AE concepts:

  • AE Title: 16-character identifier (e.g., “MY_PACS”)
  • SCU (Service Class User): Client role, initiates requests
  • SCP (Service Class Provider): Server role, responds to requests
  • Association: Connection between two AEs

Architecture in Practice

DICOM Communication Flowsaravanansubramanian.comfour phases every DICOM conversation follows, from connect to releaseSCUService Class User (client)SCPService Class Provider (server)1. TCP connectSCU opens TCP socket to SCP host:port12. A-ASSOCIATE-RQpropose presentation contexts (SOP Class + Transfer Syntax)2A-ASSOCIATE-ACSCP accepts or rejects each proposed context33DIMSE operationsC-STORE, C-FIND, C-MOVE, N-CREATE… over accepted contextspayload encoded with the negotiated Transfer Syntax4. A-RELEASE-RQ / A-RELEASE-RPgraceful shutdown - both peers close the TCP connection44

This architecture ensures that DICOM devices can communicate effectively regardless of manufacturer, as long as they implement the same SOP Classes and support compatible Transfer Syntaxes.

Quiz: DICOM Architecture Overview

Question 1 of 4

What does IOD stand for in DICOM?