DICOM PS3.7 2019b - Message Exchange

9.3.3.4 C-GET Protocol Procedures (Current)
Prev | 9.3.3 C-GET Protocol | Next

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

Prev | Up | Next
9.3.3.3 C-CANCEL-GET-RQ | Home | 9.3.4 C-MOVE Protocol

DICOM PS3.7 2019b - Message Exchange