CC.2.6 Set Unified Procedure Step Information (N-SET)

This operation allows an SCU to set Attribute Values of a UPS Instance and provide information about a specific real-world UPS that is under control of the SCU. This operation shall be invoked by the SCU through the DIMSE N-SET Service.

CC.2.6.1 Unified Procedure Step IOD Subset Specification

The Application Entity which claims conformance to the UPS Pull SOP Class as an SCU may choose to modify a subset of the Attributes maintained by the SCP. The Application Entity which claims conformance as an SCP to the UPS Pull SOP Class shall support attributes specified in Table CC.2.5-3

CC.2.6.2 Service Class User Behavior

The SCU shall specify in the N-SET request primitive the UID of the UPS Instance for which it wants to set Attribute Values. Since all UPSs are created as instances of the UPS Push SOP Class, the Requested SOP Class UID in the N-SET request shall be the UID of the UPS Push SOP Class. See CC.3.1 for further details.

To N-SET a UPS instance currently in the SCHEDULED state, the Transaction UID attribute shall not be present in the request. For a UPS instance in the IN PROGRESS state, the SCU shall provide the current Transaction UID (0008,1195) as an attribute.

The SCU shall be permitted to set Attribute values as specified in Table CC.2.5-3. The SCU shall specify the list of attributes for which it wants to set the Attribute Values. The SCU shall provide, with one or more N-SET request primitives, the attribute values specified in Table CC.2.5-3.

When modifying a sequence, the SCU shall include in the N-SET request all Items in the sequence, not just the Items to be modified.

N-SET requests shall be atomic (indivisible) and idempotent (repeat executions have no additional effect). Since it is possible for an N-GET to occur between two N-SET requests, any given N-SET shall leave the UPS instance in an internally consistent state (i.e. when multiple attributes need updating as a group, do this as multiple attributes in a single N-SET request, not as multiple N-SET requests)

The SCU shall not set the value of the Procedure Step State (0074,1000) attribute using N-SET. Procedure Step State is managed using N-ACTION as described in CC.2.1

The SCU shall create or set all Attributes to meet Final State requirements prior to using N-ACTION to set the value of Procedure Step State (0074,1000) to “COMPLETED” or “CANCELED”. See CC.2.5.1.1 for further details.

Once the Procedure Step State (0074,1000) has been set to “COMPLETED” or “CANCELED” the SCU shall no longer modify the UPS SOP Instance.

Note: The SCU can only set Attribute Values which have already been created with an N-CREATE request.

CC.2.6.3 Service Class Provider Behavior

The SOP Class UID of the specified UPS instance will always be the UPS Push SOP Class UID, which might not match the UPS SOP Class negotiated with the SCU. See CC.3.1 for further details.

The SCP shall support the attribute changes to the UPS instance specified by the SCU in the N-SET request primitive as specified in Table CC.2.5-3.

The SCP shall refuse N-SET requests on an IN PROGRESS UPS and not modify the UPS if the N-SET request does not include the Transaction UID (0008,1195) attribute with the same value as currently recorded in the UPS instance.

The SCP shall refuse N-SET requests on a COMPLETED or CANCELED UPS.

The SCP shall merge the Specific Character Set (0008,0005) value provided by the SCU with the existing value in the UPS instance.

The SCP shall return, via the N-SET response primitive, the N-SET Response Status Code applicable to the associated request as specified in Section CC.2.6.4.

The SCP may itself modify any Attributes of a UPS instance independently of an N-SET request, e.g., if the SCP is performing the procedure step itself, if it has been determined that the performing SCU has been disabled, or if it is necessary to correct attribute values after completion of the procedure in order to carry out reconciliation of the data. A description of the coercions the SCP may perform shall be documented in the conformance statement of the SCP.

Bi-directional Authentication of machines/users/applications is possible at association time (see PS 3.7 and PS 3.15). PS 3.7 provides a “Refused: Not Authorized” error code. There are no specific requirements to perform authorization.

CC.2.6.4 Status Codes

The status values which are specific for this DIMSE operation are defined in Table CC.2.6-1. See PS 3.7 for additional response status codes.

Table CC.2.6-1

STATUS VALUES

Status Meaning Code
Success The requested modification of the attribute values is performed 0000
Warning Requested optional Attributes are not supported. 0001
Coerced invalid values to valid values B305
Failure Refused: The UPS is not in the “IN PROGRESS” state C310
Refused: The correct Transaction UID was not provided C301
Refused: The UPS may no longer be updated C300
Specified SOP Instance UID does not exist or is not a UPS Instance managed by this SCP C307