9.3 Protocol
Prev | 9 DIMSE-C | Next

## 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.

### 9.3.2 C-FIND Protocol

The information necessary for the C-FIND request and indication DIMSE-C primitives are conveyed in the C-FIND-RQ Message. The information necessary for the C-FIND response and confirmation DIMSE-C primitives are conveyed in the C-FIND-RSP Message. The information necessary for the C-FIND Cancel Request and Cancel Indication primitives are conveyed in the C-CANCEL-FIND-RQ Message.

#### 9.3.2.1 C-FIND-RQ

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

Table 9.3-3. C-FIND-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 associated with this operation.
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 0020H for the C-FIND-RQ Message.
Message ID | (0000,0110) | US | 1 | Implementation-specific value that 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).
Identifier | (no tag) | - | - | A Data Set that encodes the Identifier to be matched. See Section 9.1.2.1.5.

### Note

Implementations that require compatibility to previous versions of this Standard must set the Command Data Set Type (0000,0800) Field to 0102H (Identifier).

#### 9.3.2.2 C-FIND-RSP

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

Table 9.3-4. C-FIND-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 | SOP Class UID associated with the operation.
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 8020H for the C-FIND-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-FIND-RQ Message.
Command Data Set Type | (0000,0800) | US | 1 | This field indicates if a Data Set is present in the Message. This field shall be set to the value of 0101H (Null) if no Data Set is present; any other value indicates a Data Set is included in the Message.
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.
Identifier | (no tag) | - | - | A Data Set that encodes the Identifier that was matched. See Section 9.1.2.1.5.

#### 9.3.2.3 C-CANCEL-FIND-RQ

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

Table 9.3-5. C-CANCEL-FIND-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.
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 0FFFH for the C-CANCEL-FIND-RQ 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-FIND-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.

#### 9.3.2.4 C-FIND Protocol Procedures

The C-FIND procedures are initiated by the invoking DIMSE-service-user issuing a C-FIND request primitive. On receipt of the C-FIND request primitive the DIMSE-C protocol machine shall:

- construct a Message conveying the C-FIND-RQ

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

On receipt of a Message conveying a C-FIND-RQ the DIMSE-C protocol machine shall issue a C-FIND indication primitive to the performing DIMSE-service-user.

The DIMSE-C protocol machine shall:

- accept zero or more C-FIND response primitives containing the status of Pending, issued by the performing DIMSE-service-user, followed by a single C-FIND response primitive containing the final status

- for each C-FIND response primitive containing the Pending status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (Pending) C-FIND-RSP

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

- for the C-FIND response primitive containing the final status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (final) C-FIND-RSP

  2. end the Message using the P-DATA request service (see 8.1)

On receipt of a Message conveying a C-FIND-RSP the DIMSE-C protocol machine shall:

- if the Message indicates the status of Pending, issue a C-FIND confirmation primitive to the invoking DIMSE-service-user with a Pending status

- if the Message indicates a final status, issue a C-FIND confirmation primitive to the invoking DIMSE-service-user with a final status, thus completing the C-FIND procedure

### Note

The C-FIND procedures can be canceled at any time by the invoking DIMSE-service-user. This is accomplished by the invoking DIMSE-service-user issuing a C-CANCEL request primitive.

The performing DIMSE-service-user may return a C-FIND-RSP with the status of Failed or Refused before the complete C-FIND-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-FIND-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-FIND-RQ Message has been completely transmitted if it has not received a Failed or Refused C-FIND-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.

### 9.3.3 C-GET Protocol

The information necessary for the C-GET request and indication DIMSE-C primitives are conveyed in the C-GET-RQ Message. The information necessary for the C-GET response and confirmation DIMSE-C primitives are conveyed in the C-GET-RSP Message. The information necessary for the C-GET Cancel Request and Cancel Indication primitives are conveyed in the C-CANCEL-GET-RQ Message.

#### 9.3.3.1 C-GET-RQ

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

Table 9.3-6. C-GET-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 associated with this operation.
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 0010H for the C-GET-RQ Message.
Message ID | (0000,0110) | US | 1 | Implementation-specific value that 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).
Identifier | (no tag) | - | - | A Data Set that encodes attributes providing status information about the C-GET operation. See Section 9.1.3.1.5.

### Note

Implementations that require compatibility to previous versions of this Standard must set the Command Data Set Type (0000,0800) Field to 0102H (Identifier).

#### 9.3.3.2 C-GET-RSP

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

Table 9.3-7. C-GET-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 | SOP Class UID associated with the operation.
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 8010H for the C-GET-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-GET-RQ Message.
Command Data Set Type | (0000,0800) | US | 1 | This field indicates if a Data Set is present in the Message. This field shall be set to the value of 0101H (Null) if no Data Set is present; any other value indicates a Data Set is included in the Message.
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.
Number of Remaining Sub-operations | (0000,1020) | US | 1 | The number of remaining C-STORE sub-operations to be invoked for this C-GET operation.
Number of Completed Sub-operations | (0000,1021) | US | 1 | The number of C-STORE sub-operations invoked by this C-GET operation that have completed successfully.
Number of Failed Sub-operations | (0000,1022) | US | 1 | The number of C-STORE sub-operations invoked by this C-GET operation that have failed.
Number of Warning Sub-operations | (0000,1023) | US | 1 | The number of C-STORE sub-operations invoked by this C-GET operation that generated warning responses.
Identifier | (no tag) | - | - | A Data Set that encodes the Identifier that was matched. See Section 9.1.3.1.5.

### Note

The list of Attributes allowed and the rules that define the usage of the Identifier are specified in PS3.4.

#### 9.3.3.3 C-CANCEL-GET-RQ

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

Table 9.3-8. C-CANCEL-GET-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.
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 0FFFH for the C-CANCEL-GET-RQ 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-GET-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.

#### 9.3.3.4 C-GET Protocol Procedures

The C-GET procedures are initiated by the invoking DIMSE-service-user issuing a C-GET request primitive. On receipt of the C-GET request primitive the DIMSE-C protocol machine shall:

- construct a Message conveying the C-GET-RQ

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

On receipt of a Message conveying a C-GET-RQ the DIMSE-C protocol machine shall issue a C-GET indication primitive to the performing DIMSE-service-user.

The DIMSE-C protocol machine shall:

- accept zero or more C-GET response primitives containing the status of Pending, issued by the performing DIMSE-service-user, followed by a single C-GET response primitive containing the final status

- for each C-GET response primitive containing the Pending status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (Pending) C-GET-RSP

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

- for the C-GET response primitive containing the final status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (final) C-GET-RSP

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

### Note

The C-GET indication primitive initiates a sub-operation identical to the C-STORE operation. However, for the C-STORE sub-operation the DIMSE-service-users switch their invoking and performing roles (i.e., the invoking DIMSE-service-user becomes the performing DIMSE-service-user, etc.).

On receipt of a Message conveying a C-GET-RSP the DIMSE-C protocol machine shall:

- if the Message indicates the status of Pending, issue a C-GET confirmation primitive to the invoking DIMSE-service-user with a Pending status

- if the Message indicates a final status, issue a C-GET confirmation primitive to the invoking DIMSE-service-user with a final status, thus completing the C-GET procedure

### Note

The C-GET procedures can be canceled at any time by the invoking DIMSE-service-user. This is accomplished by the invoking DIMSE-service-user issuing a C-CANCEL request primitive.

The performing DIMSE-service-user may return a C-GET-RSP with the status of Failed or Refused before the complete C-GET-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-GET-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-GET-RQ Message has been completely transmitted if it has not received a Failed or Refused C-GET-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.

### 9.3.4 C-MOVE Protocol

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

#### 9.3.4.1 C-MOVE-RQ

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

Table 9.3-9. C-MOVE-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 associated with this operation.
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 0021H for the C-MOVE-RQ Message.
Message ID | (0000,0110) | US | 1 | Implementation-specific value that 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).
Move Destination | (0000,0600) | AE | 1 | Shall be set to the DICOM AE Title of the destination DICOM AE to which the C-STORE sub-operations are being performed.
Identifier | (no tag) | - | - | A Data Set that encodes the Identifier to be matched. See Section 9.1.4.1.6.

### Note

Implementations that require compatibility to previous versions of this Standard must set the Command Data Set Type (0000,0800) Field to 0102H (Identifier).

#### 9.3.4.2 C-MOVE-RSP

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

Table 9.3-10. C-MOVE-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 | SOP Class UID associated with the operation.
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 8021H for the C-MOVE-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-MOVE Message.
Command Data Set Type | (0000,0800) | US | 1 | This field indicates if a Data Set is present in the Message. This field shall be set to the value of 0101H (Null) if no Data Set is present; any other value indicates a Data Set is included in the Message.
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.
Number of Remaining Sub-operations | (0000,1020) | US | 1 | The number of remaining sub-operations to be invoked for this C-MOVE operation.
Number of Complete Sub-operations | (0000,1021) | US | 1 | The number of C-STORE sub-operations invoked by this C-MOVE operation that have completed successfully.
Number of Failed Sub-operations | (0000,1022) | US | 1 | The number of C-STORE sub-operations invoked by this C-MOVE operation that have failed.
Number of Warning Sub-operations | (0000,1023) | US | 1 | The number of C-STORE sub-operations invoked by this C-MOVE operation that generated warning responses.
Identifier | (no tag) | - | - | A Data Set that encodes attributes providing status information about the C-MOVE operation. See Section 9.1.4.1.6.

#### 9.3.4.3 C-CANCEL-MOVE-RQ

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

Table 9.3-11. C-CANCEL-MOVE-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.
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 0FFFH for the C-CANCEL-MOVE-RQ 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-MOVE-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.

#### 9.3.4.4 C-MOVE Protocol Procedures

The C-MOVE procedures are initiated by the invoking DIMSE-service-user issuing a C-MOVE request primitive. On receipt of the C-MOVE request primitive the DIMSE-C protocol machine shall:

- construct a Message conveying the C-MOVE-RQ

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

On receipt of a Message conveying a C-MOVE-RQ the DIMSE-C protocol machine shall issue a C-MOVE indication primitive to the performing DIMSE-service-user.

The DIMSE-C protocol machine shall:

- accept zero or more C-MOVE response primitives containing the status of Pending, issued by the performing DIMSE-service-user, followed by a single C-MOVE response primitive containing the final status

- for each C-MOVE response primitive containing the Pending status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (Pending) C-MOVE-RSP

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

- for the C-MOVE response primitive containing the final status the DIMSE-C protocol machine shall:

  1. construct a Message conveying the (final) C-MOVE-RSP

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

### Note

The C-MOVE indication primitive initiates a sub-operation identical to the C-STORE operation.

On receipt of a Message conveying a C-MOVE-RSP the DIMSE-C protocol machine shall:

- if the Message indicates the status of Pending, issue a C-MOVE confirmation primitive to the invoking DIMSE-service-user with a Pending status;

- if the Message indicates a final status, issue a C-MOVE confirmation primitive to the invoking DIMSE-service-user with a final status, thus completing the C-MOVE procedure

### Note

The C-MOVE procedures can be canceled at any time by the invoking DIMSE-service-user. This shall be accomplished by the invoking DIMSE-service-user issuing a C-CANCEL request primitive.

The performing DIMSE-service-user may return a C-MOVE-RSP with the status of Failed or Refused before the complete C-MOVE-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-MOVE-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-MOVE-RQ Message has been completely transmitted if it has not received a Failed or Refused C-MOVE-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.

### 9.3.5 C-ECHO Protocol

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

#### 9.3.5.1 C-ECHO-RQ

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

Table 9.3-12. C-ECHO-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 associated with this operation.
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 0030H for the C-ECHO-RQ Message.
Message ID | (0000,0110) | US | 1 | Implementation-specific value that distinguishes this Message from other Messages.
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.

#### 9.3.5.2 C-ECHO-RSP

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

Table 9.3-13. C-ECHO-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 | SOP Class UID associated with the operation.
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 8030H for the C-ECHO-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-ECHO-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.
Status | (0000,0900) | US | 1 | Indicates the status of the response. It shall have a value of Success.

#### 9.3.5.3 C-ECHO Protocol Procedures

The C-ECHO procedures are initiated by the invoking DIMSE-service-user issuing a C-ECHO request primitive. On receipt of the C-ECHO request primitive the DIMSE-C protocol machine shall:

- construct a Message conveying the C-ECHO-RQ

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

On receipt of a Message conveying a C-ECHO-RQ the DIMSE-C protocol machine shall issue a C-ECHO indication primitive to the performing DIMSE-service-user.

On receipt of a C-ECHO response primitive, issued by the performing DIMSE-service-user, the DIMSE-C protocol machine shall:

- construct a Message conveying the C-ECHO-RSP

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

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

Prev | Up | Next
9.2 Sequencing | Home | 10 DIMSE-N