The ROOT is the overall data model, and there are two main roots in DICOM, STUDY and PATIENT. A third root model also exists called PATIENTSTUDY but it was very rarely used in DICOM and is now officially retired.

Within each root structure, operations (find or GET or MOVE) are done at a particular LEVEL. The allowed combinations are:

PATIENT Root

Allows operations at these levels:

  • PATIENT
  • STUDY
  • SERIES
  • IMAGE

STUDY Root

Allows these levels:

  • STUDY
  • SERIES
  • IMAGE

PATIENT/STUDY Only Root

Has 2 levels:

  • PATIENT
  • STUDY

This is a degenerate version of the PATIENT root, so although whole patient record or whole studies can be retrieved, no querying or retrieval selection at series or instance level is allowed. It offers no advantages over patient root, and was merely a means for older implementations to claim conformance, but it has now been completely retired from the DICOM standard.

Note: There are several currently available commercial implementations which claim to support PATIENT root (and therefore negotiate the PATIENT root SOP class), but in reality only support the functionality of the PATIENT/STUDY root SOP class. Some even admit this in their conformance statements (without realising that series and image level support is not optional in the PATIENT root model) 

Use of the Level Attribute

The Level is defined by Dicom attribute 0008,0052. However even when this is SERIES or IMAGE you still use STUDY or PATIENT for the root in the MOVE or FIND request. Either root will do, but you need to make sure that you have negotiated the correct context according to the root.

Unless relational queries are used (most SCUs and SCPs don’t support them), then it is important for both C-FIND and C-MOVE/C-GET that all unique identifiers (Patient ID, StudyUID & Series UID) between the root and the level being requested are included. For C-MOVE/C-GET, the unique identifier for the level being requested must also be specified (multiple values separated by \ characters are allowed).