An attribute, encoded as a Data Element, may or may not be required in a Data Set, depending on that Attribute's Data Element Type.
The Data Element Type of an Attribute of an Information Object Definition (IOD) or an Attribute of a Service-Object Pair (SOP) Class Definition is used to specify whether that Attribute is mandatory or optional. The Data Element Type also indicates if an Attribute is conditional (only mandatory under certain conditions). The Data Element Types of Attributes of Composite IODs are specified in PS 3.3 of the DICOM Standard. The Data Element Types of Attributes of Normalized IODs are specified as Attributes of SOP Classes in PS 3.4 of the DICOM Standard.
IODs and SOP Classes define Type 1 Data Elements that shall be included and are mandatory elements.
The Value Field shall contain valid data as defined by the elements VR and VM as specified in PS 3.6 of the DICOM Standard.
The Length of the Value Field shall not be zero. Absence of a valid Value in a Type 1 Data Element is a protocol violation.
IODs and SOP Classes define Data Elements that shall be included under certain specified conditions. Type 1C elements have the same requirements as Type 1 elements under these conditions. It is a protocol violation if the specified conditions are met and the Data Element is not included. When the specified conditions are not met, Type 1C elements shall not be included in the Data Set.
IODs and SOP Classes define Type 2 Data Elements that shall be included and are mandatory Data Elements. However, it is permissible that if a Value for a Type 2 element is unknown it can be encoded with zero Value Length and no Value. If the Value is known the Value Field shall contain that value as defined by the elements VR and VM as specified in PS 3.6 of the DICOM Standard. These Data Elements shall be included in the Data Set and their absence is a protocol violation.
IODs and SOP Classes define Type 2C elements that have the same requirements as Type 2 elements under certain specified conditions. It is a protocol violation if the specified conditions are met and the Data Element is not included.
When the specified conditions are not met, Type 2C elements shall not be included in the Data Set.
Note: An example of a Type 2C Data Element is Inversion Time (0018,0082). For several SOP Class Definitions, this Data Element is required only if the Scanning Sequence (0018,0020) has the Value "IR." It is not required otherwise. See PS 3.3 of the DICOM Standard.
IODs and SOP Classes define Type 3 Data Elements that are optional Data Elements. Absence of a Type 3 element from a Data Set does not convey any significance and is not a protocol violation. Type 3 elements may also be encoded with zero length and no Value. The meaning of a zero length Type 3 Data Element shall be precisely the same as that element being absent from the Data Set.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document