Implementations may require communication of information that cannot be contained in Standard Data Elements. Private Data Elements are intended to be used to contain such information.
Private Data Elements have the same structure as Standard Data Elements (i.e., Group, Element, VR, Length and Value). To distinguish private data element from Standard ones, the group number used in the Element Tag of Private Data Elements MUST be an odd number.
It is possible that multiple implementers may define Private Elements with the same (odd) group number. To avoid conflicts, Private Elements shall be assigned Private Data Element Tags according to the following rules.
Private Creator Data Elements numbered (gggg, 0010-00FF) (gggg is odd) shall be used to reserve a block of Elements with Group Number gggg for use by an individual implementer. The implementer shall insert an identification code in the first unused (unassigned) Element in this series to reserve a block of Private Elements. The VR of the private identification code shall be LO (Long String) and the VM shall be equal to 1.
Private Creator Data Element (gggg, 0010), is a Type 1 Data Element that identifies the implementer reserving element (gggg, 1000-10FF), Private Creator Data Element (gggg, 0011) identifies the implementer reserving elements (gggg, 1100-11FF), and so on, until Private Creator Data Element (gggg, 00FF) identifies the implementer reserving elements (gggg, FF00 -FFFF). The total number of blocks that can be reserved and later used within one group is thus 0XFF - 0X10 = 240.
The following table shows the structure of Private Data Elements.
There are 4 different situations where Private Data Elements may be handled differently in DicomObjects:
Note: A valid list of DICOM VR strings can be found here