10.3.4 N-ACTION PROTOCOL

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

10.3.4.1 N-ACTION-RQ

The N-ACTION-RQ Message contains fields as defined in Table 10.3-7. Each field shall conform to DICOM encoding and Value Representation as defined in PS 3.5. Fields are required as specified in the N-ACTION service definition unless otherwise noted in Table 10.3-7. Fields not specified in the N-ACTION service definition but present in Table 10.3-7 are required by the DIMSE-N protocol.

Table 10.3-7N-ACTION-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.
Requested SOP Class UID (0000,0003) UI 1 SOP Class UID of the SOP Instance for which the action is to be performed.
Command Field (0000,0100) US 1 This field distinguishes the DIMSE-N operation conveyed by this Message. The value of this field shall be set to 0130H for the N-ACTION-RQ Message.
Message ID (0000,0110) US 1 Implementation-specific value which distinguishes this Message from other Messages.
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 if no Data Set is present; any other value indicates a Data Set is included in the Message.
Requested SOP Instance UID (0000,1001) UI 1 Contains the UID of the SOP Instance for which the action is to be performed.
Action Type ID (0000,1008) US 1 Values for this field are application-specific.
Action Information (no tag) Application-specific Data Set containing additional information related to the operation.

Notes: 1. Service Class Specifications contained in PS 3.4 define the values needed for the Action Type ID (0000,1008) parameter.

2. Service Class Specifications contained in PS 3.4 define the Data Set needed for the Action Information parameter.

10.3.4.2 N-ACTION-RSP

The N-ACTION-RSP Message contains fields as defined in Table 10.3-8 and Annex C. Each field shall conform to DICOM encoding and Value Representation as defined in PS 3.5. Fields are required as specified in the N-ACTION service definition unless otherwise noted in Table 10.3-8. Fields not specified in the N-ACTION service definition but present in Table 10.3-8 are required by the DIMSE-N protocol.

Table 10.3-8N-ACTION-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 of the SOP Instance for which the action was performed.
Command Field (0000,0100) US 1 This field distinguishes the DIMSE-N operation conveyed by this Message. The value of this field shall be set to 8130H for the N-ACTION-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 N-ACTION-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 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.
Affected SOP Instance UID (0000,1000) UI 1 Contains the UID of the SOP Instance for which the action was performed.
Action Type ID (0000,1008) US 1 Values for this field are application-specific.
Action Reply (no tag) Application-specific Data Set containing additional information related to the operation.

Notes: 1. Service Class Specifications contained in PS 3.4 define the values needed for the Action Type ID (0000,1008) parameter.

2. Service Class Specifications contained in PS 3.4 define the Data Set needed for the Action Reply parameter related to each defined Action Type ID.

3. Service Class Specifications contained in PS 3.4 define the encoding of the Action Reply parameter.

10.3.4.3 N-ACTION protocol procedures

The N-ACTION procedures are initiated by the invoking DIMSE-service-user issuing an N-ACTION request primitive. On receipt of the N-ACTION request primitive the DIMSE-N protocol machine shall:

⎯ construct a Message conveying the N-ACTION-RQ

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

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

On receipt of the N-ACTION response primitive, issued by the performing DIMSE-service-user, the DIMSE-N protocol machine shall:

⎯ construct a Message conveying the N-ACTION-RSP

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

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

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