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.