5.4 Usage Specification

The building blocks of SOP Classes are Modules and DIMSE Services. The DIMSE Services associated with a SOP Class may be Mandatory (M) or Optional (U). The usage may be different for the SCU and SCP. The usage is specified as a pair of letters: the former indicating the SCU usage, the latter indicating the SCP usage.

The meaning and behavior of the usage specification for DIMSE Services are:

M/M The SCU shall support the DIMSE Service but is not required to use it on an Association. The SCP shall support the DIMSE Service.

U/M The SCU may support and use the DIMSE Service. The SCP shall support the DIMSE Service.

U/U The SCU may support and use the DIMSE Service. The SCP may support the DIMSE Service. If the SCP does not support the DIMSE Service used by the SCU, it shall return a Failure status.

Modules and their usage in Composite IODs are defined in PS 3.3. Normalized IODs are also constructed from Modules but usage is specified on an attribute basis in this Part of the DICOM Standard. The following usage specification applies to all Attributes of Normalized IODs unless superseded by a usage specification in a particular SOP Class Specification.

The meaning and behavior of the usage specification for Attributes of Normalized IODs are as follows:

1/1 The SCU shall provide a value for the Attribute. If the SCU does not supply a value, the SCP shall return a Failure status ("Missing Attribute," code 0120H). The SCP shall support the Attribute. The SCP shall not support null values (attribute provided with a zero length and no value) for the Attribute.

3/1 The SCU may retrieve or provide a value for the Attribute. The SCP shall support the Attribute. The SCP shall not support null values (attribute provided with a zero length and no value) for the Attribute.

-/1 The SCU's usage of the Attribute is undefined. The SCP shall support the Attribute. The SCP shall not support null values (attribute provided with a zero length and no value) for the Attribute.

2/2 The SCU shall retrieve or provide a value for the Attribute. The SCU shall always provide the attribute but a null value shall be permitted (attribute provided with a zero length and no value). The SCP shall support the Attribute and permit null values (attribute provided with a zero length and no value) for the Attribute.

3/2 The SCU may retrieve or provide a value for the Attribute. The SCP shall support the Attribute and permit null values (attribute provided with a zero length and no value) for the Attribute.

-/2 The SCU's usage of the Attribute is undefined. The SCP shall support the Attribute and permit null values (attribute provided with a zero length and no value) for the Attribute.

3/3 The SCU may retrieve or provide a value for the Attribute. The SCP may support the Attribute. If the SCP does not support the Attribute and it is requested by the SCU, the SCP shall return either a Failure status (“Invalid Attribute Value”, code 0106H) or a Warning status (“Attribute Value out of Range”, code 0116H). If the SCU provides the Attribute and the SCP does not support the Attribute and returned a failure or warning, the attribute shall be ignored.

If the SCP usage type designation is modified by a "C" (e.g., 3/1C) the specification stated above shall be modified to include the requirement that the SCP shall support the Attribute if the specified condition is met.

For all N-CREATE, N-SET, N-GET, N-DELETE, N-ACTION and N-EVENT-REPORT operations, the SOP Class is conveyed in the request primitive in Affected SOP Class UID (0000,0002). The SOP Class UID (0008,0016) Attribute shall not be present in the Data Set.

For N-CREATE operations and N-EVENT-REPORT notifications, the SOP Instance is conveyed in Affected SOP Instance UID (0000,1000). The SOP Instance UID (0008,0018) Attribute shall not be present in the Data Set.

Note: In some Service Classes, the SOP Class definition may override the general provision in PS 3.7 that allows the SOP Instance UID to be specified or omitted in the N-CREATE request primitive, and require that the SCU be responsible for specifying the SOP Instance UID.

For N-SET, N-GET, N-ACTION and N-DELETE operations, the SOP Instance is conveyed in Requested SOP Instance UID (0000,1001). The SOP Instance UID (0008,0018) Attribute shall not be present in the dataset.