DICOM PS3.7 2019b - Message Exchange

9.3 Protocol

This section specifies the protocol necessary to perform the set of DIMSE-C operations. The Value Representations (VR) specified in the following tables shall be encoded as defined in PS3.5.

9.3.1 C-STORE Protocol

The information necessary for the C-STORE request and indication DIMSE-C primitives are conveyed in the C-STORE-RQ Message. The information necessary for the C-STORE response and confirmation DIMSE-C primitives are conveyed in the C-STORE-RSP Message.

9.3.1.1 C-STORE-RQ

The C-STORE-RQ Message contains fields as defined in Table 9.3-1. Each field shall conform to DICOM encoding and Value Representation as defined in PS3.5. Fields are required as specified in the C-STORE service definition unless otherwise noted in Table 9.3-1. Fields not specified in the C-STORE service definition but present in Table 9.3-1 are required by the DIMSE-C protocol.

Table 9.3-1. C-STORE-RQ Message Fields

Message Field

Tag

VR

VM

Description of Field

Command Group Length

(0000,0000)

UL

1

The even number of bytes from the end of the value field to the beginning of the next group.

Affected SOP Class UID

(0000,0002)

UI

1

SOP Class UID of the SOP Instance to be stored.

Command Field

(0000,0100)

US

1

This field distinguishes the DIMSE-C operation conveyed by this Message. The value of this field shall be set to 0001H for the C-STORE-RQ Message.

Message ID

(0000,0110)

US

1

Implementation-specific value. It distinguishes this Message from other Messages.

Priority

(0000,0700)

US

1

The priority shall be set to one of the following values:

LOW = 0002H

MEDIUM = 0000H

HIGH = 0001H

Command Data Set Type

(0000,0800)

US

1

This field indicates that a Data Set is present in the Message. It shall be set to any value other than 0101H (Null).

Affected SOP Instance UID

(0000,1000)

UI

1

Contains the UID of the SOP Instance to be stored.

Move Originator Application Entity Title

(0000,1030)

AE

1

Contains the DICOM AE Title of the DICOM AE that invoked the C-MOVE operation from which this C-STORE sub-operation is being performed.

Move Originator Message ID

(0000,1031)

US

1

Contains the Message ID (0000,0110) of the C-MOVE-RQ Message from which this C-STORE sub-operations is being performed.

Data Set

(no tag)

-

-

Application-specific Data Set.


Note

The contents of Composite Information Object Definitions, encoded as a series of Data Elements, are defined in PS3.3 and PS3.4

9.3.1.2 C-STORE-RSP

The C-STORE-RSP Message contains fields as defined in Table 9.3-2 and in Annex C. Each field shall conform to DICOM encoding and Value Representation as defined in PS3.5 of the DICOM Standard. Fields are required as specified in the C-STORE service definition unless otherwise noted in Table 9.3-2. Fields not specified in the C-STORE service definition but present in Table 9.3-2 are required by the DIMSE-C protocol.

Table 9.3-2. C-STORE-RSP Message Fields

Message Field

Tag

VR

VM

Description of Field

Command Group Length

(0000,0000)

UL

1

The even number of bytes from the end of the value field to the beginning of the next group.

Affected SOP Class UID

(0000,0002)

UI

1

Contains the SOP Class of the SOP Instance stored.

Command Field

(0000,0100)

US

1

This field distinguishes the DIMSE-C operation conveyed by this Message. The value of this field shall be set to 8001H for the C-STORE-RSP Message.

Message ID Being Responded To

(0000,0120)

US

1

Shall be set to the value of the Message ID (0000,0110) field used in associated C-STORE-RQ Message.

Command Data Set Type

(0000,0800)

US

1

This field indicates that no Data Set is present in the Message and shall be set to a value of 0101H (Null).

Status

(0000,0900)

US

1

The value of this field depends upon the status type. Annex C defines the encoding of the status types defined in the service definition.

Affected SOP Instance UID

(0000,1000)

UI

1

Contains the UID of the SOP Instance stored.


9.3.1.3 C-STORE Protocol Procedures

The C-STORE procedures are initiated by the invoking DIMSE Service User issuing a C-STORE request primitive. On receipt of the C-STORE request primitive the DIMSE-C protocol machine shall:

  • construct a Message conveying the C-STORE-RQ

  • send the Message using the P-DATA request service (see 8.1)

On receipt of a Message conveying a C-STORE-RQ the DIMSE-C protocol machine shall issue a C-STORE indication primitive to the performing DIMSE Service User.

On receipt of the C-STORE response primitive, issued by the performing DIMSE Service User, the DIMSE-C protocol machine shall:

  • construct a Message conveying the C-STORE-RSP

  • send the Message using the P-DATA request service (see 8.1)

On receipt of a Message conveying a C-STORE-RSP the DIMSE-C protocol machine shall issue a C-STORE confirmation primitive to the invoking DIMSE Service User, thus completing the C-STORE procedure.

The performing DIMSE Service User may return a C-STORE-RSP with the status of Failed or Refused before the complete C-STORE-RQ request Message has been completely transmitted by the invoking DIMSE Service User (this is called an early failed response). Upon receipt of this Failed or Refused C-STORE-RSP the invoking DIMSE Service User may terminate the Message before it is completely sent (i.e., set the Last Fragment bit to 1 in a Data PDV for this Message, see Annex F). Following this, it may invoke another operation or notification. It is a protocol violation for an invoking DIMSE Service User to set the Last Fragment bit to 1 before a C-STORE-RQ Message has been completely transmitted if it has not received a Failed or Refused C-STORE-RSP to that request.

Note

When an Association is operating in asynchronous mode, it is possible for an invoking DIMSE Service User to transmit several Messages before a response. Therefore, while sending a Message it may receive a response to a previously transmitted Message. In this case this response is not an early failed response because the related Message has already been sent.

DICOM PS3.7 2019b - Message Exchange