DICOM PS3.4 2019c - Service Class Specifications

C.4.3 C-GET Operation

SCUs of some SOP Classes of the Query/Retrieve Service Class may generate retrievals using the C-GET operation as described in PS3.7. The C-GET operation allows an application entity to instruct another application entity to transfer stored SOP Instances to the initiating application entity using the C-STORE operation. Support for the C-GET service shall be agreed upon at Association establishment time by both the SCU and SCP of the C-GET in order for a C-GET operation to occur over the Association. The C-STORE Sub-operations shall be accomplished on the same Association as the C-GET operation. Hence, the SCP of the Query/Retrieve Service Class serves as the SCU of the Storage Service Class.

Note

The application entity that receives the stored SOP Instances is always the originator of the C-GET operation.

A C-GET request may be performed to any level of the Query/Retrieve Information Model. However, the transfer of stored SOP Instances may not be performed at this level. The level at which the transfer is performed depends upon the SOP Class.

C.4.3.1 C-GET Service Parameters

C.4.3.1.1 SOP Class UID

The SOP Class UID identifies the Query/Retrieve Information Model against which the C-GET is to be performed. Support for the SOP Class UID is implied by the Abstract Syntax UID of the Presentation Context used by this C-GET operation.

C.4.3.1.2 Priority

The Priority Attribute defines the requested priority of the C-GET operation and corresponding C-STORE sub-operations with respect to other DIMSE operations being performed by the same SCP.

Processing of priority requests is not required of SCPs. Whether or not an SCP supports priority processing, and the meaning of the different priority levels shall be stated in the Conformance Statement of the SCP. The same priority shall be used for all C-STORE sub-operations.

C.4.3.1.3 Identifier

The C-GET request shall contain an Identifier. The C-GET response shall conditionally contain an Identifier as required in Section C.4.3.1.3.2.

Note

The Identifier is specified as U in the definition of the C-GET primitive in PS3.7 but is specialized for use with this service.

C.4.3.1.3.1 Request Identifier Structure

An Identifier in a C-GET request shall contain:

  • Query/Retrieve Level (0008,0052), which defines the level of the retrieval

  • Unique Key Attributes, which may include Patient ID (0010,0020), Study Instance UIDs (0020,000D) Series Instance UIDs (0020,000E), and SOP Instance UIDs (0008,0018)

  • Conditionally, the Attribute Query/Retrieve View (0008,0053). This Attribute may be included if Enhanced Multi-Frame Image Conversion has been accepted during Association Extended Negotiation. It shall not be included otherwise.

Specific Character Set (0008,0005) shall be present if Patient ID (0010,0020) is using a character set other than the Default Character Repertoire.

The Unique Keys at each level of the hierarchy and the values allowable for the level of the retrieval shall be defined in the SOP Class definition for the Query/Retrieve Information Model.

Note

  1. In the non-Relational behavior, more than one entity may be retrieved if the Query/Retrieve Level is IMAGE, SERIES or STUDY, using List of UID matching, but only Single Value Matching value may be specified for Patient ID (0010,0020).

  2. The issuer of the Patient ID (0010,0020) is implicit; there is no provision to send the Issuer of Patient ID (0010,0021). When there is a possibility of ambiguity of the Patient ID (0010,0020) value, a STUDY level retrieval should be used instead of a PATIENT level retrieval.

C.4.3.1.3.2 Response Identifier Structure

The Failed SOP Instance UID List (0008,0058) specifies a list of UIDs of the C-STORE sub-operation SOP Instances for which this C-GET operation has failed. An Identifier in a C-GET response shall conditionally contain the Failed SOP Instance UID List (0008,0058) based on the C-GET response. If no C-STORE sub-operation failed, Failed SOP Instance UID List (0008,0058) is absent and therefore no Data Set shall be sent in the C-GET response.

Specific Character Set (0008,0005) shall not be present.

The Identifier in a C-GET response with a status of:

  • Canceled, Failure, Refused, or Warning shall contain the Failed SOP Instance UID List Attribute

  • Pending shall not contain the Failed SOP Instance UID List Attribute (no Data Set)

C.4.3.1.4 Status

Table C.4-3 defines the specific status code values that might be returned in a C-GET response. General status code values and fields related to status code values are defined for C-GET DIMSE Service in PS3.7.

Table C.4-3. C-GET Response Status Values

Service Status

Further Meaning

Status Codes

Related Fields

Failure

Refused: Out of Resources - Unable to calculate number of matches

A701

(0000,0902)

Refused: Out of Resources - Unable to perform sub-operations

A702

(0000,1021)

(0000,1022)

(0000,1023)

Error: Data Set does not match SOP Class

A900

(0000,0901)

(0000,0902)

Failed: Unable to process

Cxxx

(0000,0901)

(0000,0902)

Cancel

Sub-operations terminated due to Cancel Indication

FE00

(0000,1020)

(0000,1021)

(0000,1022)

(0000,1023)

Warning

Sub-operations Complete - One or more Failures or Warnings

B000

(0000,1021)

(0000,1022)

(0000,1023)

Success

Sub-operations Complete - No Failures or Warnings

0000

(0000,1021)

(0000,1022)

(0000,1023)

Pending

Sub-operations are continuing

FF00

(0000,1020)

(0000,1021)

(0000,1022)

(0000,1023)


Some Failure Status Codes are implementation specific.

An SCP implementation shall assign specific failure status codes by replacing each 'x' symbol with a hexadecimal digit in the range from 0 to F. An SCP implementation wishing to differentiate between causes of “Failed – Unable to process” Failure Meaning shall assign those causes specific Status Code Values within valid range specified in Table C.4-3.

An SCU implementation shall recognize any Failure Status Code within the value range specified in Table C.4-3 as an indicator of the Failure Meaning stated in the table. There is no requirement for an SCU implementation to differentiate between specific Status Codes within the valid range.

C.4.3.1.5 Number of Remaining Sub-Operations

Inclusion of the Number of Remaining Sub-operations is conditional based upon the status in the C-GET response. The Number of Remaining Sub-operations specifies the number of Remaining C-STORE sub-operations necessary to complete the C-GET operation.

A C-GET response with a status of:

  • Pending shall contain the Number of Remaining Sub-operations Attribute

  • Canceled may contain the Number of Remaining Sub-operations Attribute

  • Warning, Failure, or Success shall not contain the Number of Remaining Sub-operations Attribute.

C.4.3.1.6 Number of Completed Sub-Operations

Inclusion of the Number of Completed Sub-operations is conditional based upon the status in the C-GET response. The Number of Completed Sub-operations specifies the number of C-STORE sub-operations generated by the requested transfer that have completed successfully.

A C-GET response with a status of:

  • Pending shall contain the Number of Completed Sub-operations Attribute

  • Canceled, Warning, Failure, or Success may contain the Number of Completed Sub-operations Attribute

C.4.3.1.7 Number of Failed Sub-Operations

Inclusion of the Number of Failed Sub-operations is conditional based upon the status in the C-GET response. The Number of Failed Sub-operations specifies the number of C-STORE sub-operations generated by the requested transfer that have Failed.

A C-GET response with a status of:

  • Pending shall contain the Number of Failed Sub-operations Attribute

  • Canceled, Warning, Failure, or Success may contain the Number of Failed Sub-operations Attribute

C.4.3.1.8 Number of Warning Sub-Operations

Inclusion of the Number of Warning Sub-operations is conditional based upon the status in the C-GET response. The Number of Warning Sub-operations specifies the number of C-STORE sub-operations generated by the requested transfer that had a status of Warning.

A C-GET response with a status of:

  • Pending shall contain the Number of Warning Sub-operations Attribute

  • Canceled, Warning, Failure, or Success may contain the Number of Warning Sub-operations Attribute

DICOM PS3.4 2019c - Service Class Specifications