Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.21
Message Exchange

DICOM Messages are used to communicate information across the DICOM network. A DICOM Message is composed of a Command Set followed by a conditional Data Set. The Command Set indicates the operations and/or notifications that the requesting Application Entity (AE) wishes to have the accepting AE perform on or with the conditional Data Set.

Command Sets are made up of Command Elements, which contain encoded values for each field of the Command Set. The semantics for the Command Set are specified in the DIMSE protocol. Each element in a Command Set is made up of an explicit Tag, a Value Length, and a Value Field.

Within the Command Set, Elements are ordered by increasing Tag number. The Tag uniquely identifies an Element, and occurs only once in a Command Set. The requirements for Command Sets and Command Elements are defined in the DIMSE protocol.

An Element in a Command Set is made up of three fields; a Tag, a Value Length, and a Value Field.

Command Element Tag:

Is an ordered pair of 16-bit unsigned integers that represents the Group Number followed by the Element Number.

Value Length:

Is a 32-bit unsigned integer that represents the explicit Length of the value. This is an even number of bytes. This does not include the length of the Command Element Tag or Value Length fields.

Value Field:

Is an even number of bytes that contains the Value or Values(s) of the Command Element. The Command Element's Value Representation (VR) determines the command type of Value(s) stored in this field.

The Value Multiplicity (VM) specifies the number of Values that can be placed in the Value Field. When the VM is > 1, multiple Values can be stored within the Value Field.

DICOM Application Entities use services that are provided by the DICOM Message Service Element (DIMSE). DIMSE specifies two sets of services:

DIMSE-C These operations are associated with composite SOP Classes and provide effective compatibility with previous versions of the DICOM Standard.

In LEADTOOLS, the following are DIMSE-C commands:

CStore

CFind

CGet

CMove

CCancel

CEcho

DIMSE-N These operations are associated with normalized SOP Classes and provide an extended set of operations and notifications.

In LEADTOOLS, the following are DIMSE-N commands:

NReport

NGet

NSet

NAction

NCreate

NDelete

When using DICOM Messages, AEs can serve in one of two roles:

1. Invoking DIMSE-service-user.

2. Performing DIMSE-service-user.

The invoking service-user sends command requests to the performing service-user. The performing service users performs the requested operation, and reports progress/status by sending command responses back to the invoking service-user.

The following is a list of DIMSE Services, which are supported in LEADTOOLS by the DIMSE-C and DIMSE-N commands:

C Store Request

C Store Response

C Find Request

C Find Response

C Get Request

C Get Response

C Move Request

C Move Response

C Cancel Request

C Echo Request

C Echo Response

N Event Report Request

N Event Report Response

N Get Request

N Get Response

N Set Request

N Set Response

N Action Request

N Action Response

N Create Request

N Create Response

N Delete Request

N Delete Response

C-STORE

This service allows an invoking service-user to request the storage of Composite SOP Instance information by a peer service-user.

C-FIND

This service allows an invoking service-user to match a series of Attribute strings against the Attributes of the set of SOP Instances being handled by a peer service-user. This service will return a list of requested Attributes and their values for each match.

C-GET

This service allows an invoking service-user to fetch information for one or more Composite SOP Instances from a peer service-user. The information returned by the performing service-user is based on the Attributes supplied by the invoking DIMSE-service-user.

C-MOVE

This service allows an invoking service-user to move information for one or more Composite SOP Instances from a peer service-user, to a third party service-user. The information moved is based on the Attributes supplied by the invoking service-user

C-ECHO

This service allows an invoking service-user to verify end-to-end communications with a peer service-user.

N-GET

This service allows an invoking service-user to retrieve information from a peer service-user.

N-SET

This service allows an invoking service-user to modify information being handled by a peer service-user.

N-ACTION

This service allows an invoking service-user to request that a peer service-user perform a specified action.

N-CREATE

This service allows an invoking service-user to request that a peer service-user create an instance of a SOP Class.

N-DELETE

This service allows an invoking service-user to delete an instance of a SOP Class that is being handled by a peer service-user.