DICOM PS3.5 2019b - Data Structures and Encoding

7.4.6 Data Element Types Within A Sequence

When an IOD defines a Sequence Data Element (see Section 7.5), the Type of the Sequence attribute defines whether the Sequence attribute itself must be present, and the Attribute Description of the Sequence attribute may define whether and how many Items shall be present in the Sequence. The Types of the attributes of the Data Set included in the Sequence, including any conditionality, are specified within the scope of each Data Set, i.e., for each Item present in the Sequence.

Note

  1. The Type and Attribute Description of the Sequence determines whether Items are present; conditionality constraints on Data Elements of the Items cannot force an Item to be present.

  2. Historically, many IODs declared Type 1 and Type 2 Data Elements of the Sequence to be Type 1C and Type 2C, respectively, with the condition that an Item is present. This is exactly the same as simply defining them as Type 1 and Type 2.

  3. In particular, the conditionality constraint "Required if Sequence is sent" on the Type 1C or Type 2C Data Elements subsidiary to a Type 2 or 3 Sequence attribute does not imply that an Item must be present in the Sequence. These conditions are meant to be equivalent to "Required if a Sequence Item is present", and the conditionality is not strictly necessary. Any Type 2 or Type 3 Sequence attribute may be sent with zero length.

  4. In particular, the conditionality constraint "Required if <name-of-parent-sequence-attribute> is sent" on the Type 1C or Type 2C Data Elements subsidiary to a Type 2 or 3 Sequence attribute does not imply that an Item must be present in the Sequence. These conditions are meant to be equivalent to "Required if a Sequence Item is present", and the conditionality is not strictly necessary. Any Type 2 or Type 3 Sequence attribute may be sent with zero length.

DICOM PS3.5 2019b - Data Structures and Encoding