10.3.3 N-SET PROTOCOL

The information necessary for the N-SET request and indication DIMSE-N primitives are conveyed in the N-SET-RQ Message. The information necessary for the N-SET response and confirmation DIMSE-N primitives are conveyed in the N-SET-RSP Message. Fields not specified in the N-SET service definition but present in Table 10.3-3 are required by the DIMSE-N protocol.

10.3.3.1 N-SET-RQ

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

Table 10.3-5 N-SET-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 Attribute values are to be modified.
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 0120H for the N-SET-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 that a Data Set is present in the Message. It shall be set to any value other than 0101H (Null).
Requested SOP Instance UID (0000,1001) UI 1 Contains the UID of the SOP Instance for which Attribute values are to be modified.
Modification List (no tag) This field is encoded as a Data Set. One Data Element is encoded for each Attribute and Attribute Value applicable to the operation.

Note: Τhe permitted contents of Modification List, encoded as a series of Data Elements, are defined in the Information Object Definition (PS 3.3) and Service Class Specifications (PS 3.4).

10.3.3.2 N-SET-RSP

The N-SET-RSP Message contains all fields as defined in Table 10.3-6 and in 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-SET service definition unless otherwise noted. Fields not specified in the N-SET service definition but present in Table 10.3-6 are required by the DIMSE-N protocol.

Table 10.3-6 N-SET-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 Attribute Values were modified.
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 8120H for the N-SET-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-SET-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 Attribute Values were modified.
Attribute List (no tag) This field is encoded as a Data Set. One Data Element is encoded for each Attribute and Attribute Value applicable to the operation.

Note: The permitted contents of Attribute List, encoded as a series of Data Elements, are defined in the Information Object Definition (PS 3.3) and Service Class Specifications (PS 3.4).

10.3.3.3 N-SET protocol procedures

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

⎯ construct a Message conveying the N-SET-RQ

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

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

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

⎯ construct a Message conveying the N-SET-RSP

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

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

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