A DICOM message can be visualized as a stream of data elements, where each element is made up of four data fields: element tag, optional value representation, value length and the value itself.
Each of the four fields is described briefly:
1. Data Element Tag: A pair of 16-bit unsigned integers representing the group number and the element number. When migrating from ACR-NEMA to DICOM, this initial notion of the two components (Group, Element) was kept intact, even though it has no meaning anymore. All of the standardized tags are listed in the data dictionary Some examples of data element tags are:
The tags are identified by hexa-decimal number, and they can range from 0000 to FFFF. They are always sorted in ascending order in a DICOM header to make it easily searchable and possible to parse.
2. Value Representation (VR): A two-byte character string containing a code, which describes the data type for that element. The VRs for a given data element tag can be found in the data dictionary and the two-character codes are listed in DICOM Part 5. Examples of VRs are PN (person name), DA (date) and TM (time).
3. Value Length: An unsigned integer, which contains the length of the value field in bytes.
4. Value Field: This is the actual value being sent. The value field must always contain an even number of bytes. The value field is used to send all the attribute contents, including image pixel data that go with an image. The requirement for a value field to be an even number requires the addition (or padding) of the fields with a dummy character (space, null) should it happen to be odd.Some value fields allow for only a limited number of well-defined choices, such as the field containing the patient sex which can be M, F or O (Male, Female, or Other). These value fields have enumerated values i.e. have only a fixed number of choices. In contrast, defined terms can be added by later revisions or extensions of the DICOM standard, or even by manufacturers. They are not as tightly controlled. A good example of a defined terms field is the modality field, which can contain new values as new modalities are introduced.