DICOM PS3.4 2019a - Service Class Specifications

C.2.2 Attributes Definition

Attributes shall be defined at each level in the Entity-Relationship Model. An Identifier in a C-FIND, C-MOVE, or C-GET command shall contain values to be matched against the Attributes of the Entities in a Query/Retrieve Information Model. For any query, the set of entities for which Attributes are returned, shall be determined by the set of Key Attributes specified in the Identifier that have corresponding matches on entities managed by the SCP associated with the query.

C.2.2.1 Attribute Types

All Attributes of entities in a Query/Retrieve Information Model shall be either a Unique Key, Required Key, or Optional Key. The term Key Attributes refers to Unique, Required, and Optional Key Attributes.

C.2.2.1.1 Unique Keys

At each level in the Entity-Relationship Model, one Attribute shall be defined as a Unique Key. A single value in a Unique Key Attribute shall uniquely identify a single entity at a given level. That is, two entities at the same level may not have the same Unique Key value.

C-FIND, C-MOVE, and C-GET SCPs shall support existence and matching of all Unique Keys defined by a Query/Retrieve Information Model. All entities managed by C-FIND, C-MOVE, and C-GET SCPs shall have a specific non-zero length Unique Key value.

Unique Keys may be contained in the Identifier of a C-FIND request. Unique Keys shall be contained in the Identifier of C-MOVE and C-GET requests.

C.2.2.1.2 Required Keys

At each level in the Entity-Relationship Model, a set of Attributes shall be defined as Required Keys. Required Keys imply the SCP of a C-FIND shall support matching based on a value contained in a Required Key of the C-FIND request. Multiple entities may have the same value for Required Keys. That is, a distinct value in a Required Key shall not necessarily identify a single entity at the level of the key.

C-FIND SCPs shall support existence and matching of all Required Keys defined by a Query/Retrieve Information Model. If a C-FIND SCP manages an entity with a Required Key of zero length, the value is considered unknown and all matching against the zero length Required Key shall be considered a successful match.

Required Keys may be contained in the Identifier of a C-FIND request. Required Keys shall not be contained in the Identifier of C-MOVE and C-GET requests.

C.2.2.1.3 Optional Keys

At each level in the Entity-Relationship Model, a set of Attributes shall be defined as Optional Keys.

Optional Keys contained in the Identifier of a C-FIND request may have three different types of behavior depending on support for existence and/or matching by the C-FIND SCP. If the C-FIND SCP:

  • does not support the existence of the Optional Key, then the Attribute shall not be returned in C-FIND responses

  • supports the existence of the Optional Key but does not support matching on the Optional Key, then the Optional Key shall be processed in the same manner as a zero length Required Key. That is, the value specified to be matched for the Optional Key is ignored but a value may be returned by the SCP for this Optional Key.

  • supports the existence and matching of the Optional Key, then the Optional Key shall be processed in the same manner as a Required Key.

Note

  1. C-FIND SCU may not assume an Optional Key with non-zero length will be processed in the same manner as a Required Key. The Conformance Statement of the C-FIND SCP shall list the Optional Keys that are supported.

  2. Optional Keys are differentiated from Required Keys in that Optional Keys may or may not be supported for existence and/or matching by C-FIND SCPs. Whereas, Required Keys must always be supported by C-FIND SCPs.

Optional Keys may be contained in the Identifier of a C-FIND request. Optional Keys shall not be contained in the Identifier of C-MOVE and C-GET requests.

DICOM PS3.4 2019a - Service Class Specifications