Beispiel #1
0
 public DcmItem(DicomTag tag, DicomVR vr, long pos, Endian endian)
 {
     _tag = tag;
     _vr = vr;
     _streamPosition = pos;
     _endian = endian;
 }
Beispiel #2
0
        private static void LoadFragmentItem(XElement parent, DicomVR vr, ByteBuffer fragment)
        {
            XElement item = new XElement("item");
            item.SetAttributeValue("len", fragment.Length);
            parent.Add(item);

            if (vr == DicomVR.OW)
            {
                ushort[] data = fragment.ToUInt16s();
                StringBuilder sb = new StringBuilder();
                foreach (ushort d in data)
                {
                    sb.AppendFormat("{0:X4}\\", d);
                }
                item.Add(sb.ToString().TrimEnd('\\'));
            }
            else
            {
                byte[] data = fragment.ToBytes();
                StringBuilder sb = new StringBuilder();
                foreach (byte d in data)
                {
                    sb.AppendFormat("{0:X2}\\", d);
                }
                item.Add(sb.ToString().TrimEnd('\\'));
            }
        }
Beispiel #3
0
 public DcmItem(DicomTag tag, DicomVR vr)
 {
     _tag = tag;
     _vr = vr;
     _streamPosition = 0;
     _endian = Endian.LocalMachine;
 }
Beispiel #4
0
 public DcmItem(DicomTag tag, DicomVR vr)
 {
     _tag            = tag;
     _vr             = vr;
     _streamPosition = 0;
     _endian         = Endian.LocalMachine;
 }
Beispiel #5
0
 public DcmItem(DicomTag tag, DicomVR vr, long pos, Endian endian)
 {
     _tag            = tag;
     _vr             = vr;
     _streamPosition = pos;
     _endian         = endian;
 }
Beispiel #6
0
        private static void LoadFragmentItem(XElement parent, DicomVR vr, ByteBuffer fragment)
        {
            XElement item = new XElement("item");

            item.SetAttributeValue("len", fragment.Length);
            parent.Add(item);

            if (vr == DicomVR.OW)
            {
                ushort[]      data = fragment.ToUInt16s();
                StringBuilder sb   = new StringBuilder();
                foreach (ushort d in data)
                {
                    sb.AppendFormat("{0:X4}\\", d);
                }
                item.Add(sb.ToString().TrimEnd('\\'));
            }
            else
            {
                byte[]        data = fragment.ToBytes();
                StringBuilder sb   = new StringBuilder();
                foreach (byte d in data)
                {
                    sb.AppendFormat("{0:X2}\\", d);
                }
                item.Add(sb.ToString().TrimEnd('\\'));
            }
        }
Beispiel #7
0
        private static void Save(XElement parent, DcmDataset dataset)
        {
            foreach (XElement attr in parent.Elements("attr"))
            {
                DicomTag tag = DicomTag.Parse(attr.Attribute("tag").Value);
                DicomVR  vr  = DicomVR.Lookup(attr.Attribute("vr").Value);
                int      len = int.Parse(attr.Attribute("len").Value, CultureInfo.InvariantCulture);

                if (vr == DicomVR.SQ)
                {
                    DcmItemSequence seq = new DcmItemSequence(tag);
                    foreach (XElement itm in attr.Elements("item"))
                    {
                        DcmItemSequenceItem item = new DcmItemSequenceItem();
                        Save(itm, item.Dataset);
                        seq.AddSequenceItem(item);
                    }
                    dataset.AddItem(seq);
                }
                else if (len == -1)
                {
                    DcmFragmentSequence seq = new DcmFragmentSequence(tag, vr);
                    bool first = true;
                    foreach (XElement itm in attr.Elements("item"))
                    {
                        if (first)
                        {
                            SaveFragmentOffsetTable(itm, seq);
                            first = false;
                        }
                        else
                        {
                            SaveFragmentItem(itm, seq);
                        }
                    }
                    dataset.AddItem(seq);
                }
                else
                {
                    DcmElement element = DcmElement.Create(tag, vr);
                    element.SetValueString(attr.FirstText());
                    dataset.AddItem(element);
                }
            }
        }
Beispiel #8
0
        public bool AddElement(DicomTag tag, DicomVR vr)
        {
            DcmElement elem = DcmElement.Create(tag, vr);

            if (vr.IsEncodedString)
                elem.ByteBuffer.Encoding = SpecificCharacterSetEncoding;

            AddItem(elem);
            return true;
        }
Beispiel #9
0
        private DicomReadStatus ParseVR(DicomReadOptions options)
        {
            if (_vr == null) {
                if (_syntax.IsExplicitVR) {
                    if (_remain >= 2) {
                        _vr = DicomVR.Lookup(_reader.ReadChars(2));
                        _remain -= 2;
                        _bytes += 2;
                        _read += 2;
                    }
                    else {
                        return NeedMoreData(2);
                    }
                }
                else {
                    if (_tag.Element == 0x0000)
                        _vr = DicomVR.UL;
                    else if (Flags.IsSet(options, DicomReadOptions.ForcePrivateCreatorToLO) &&
                        _tag.IsPrivate && _tag.Element > 0x0000 && _tag.Element <= 0x00ff)
                        _vr = DicomVR.UN;
                    else
                        _vr = _tag.Entry.DefaultVR;
                }

                if (_vr == DicomVR.UN) {
                    if (_tag.Element == 0x0000)
                        _vr = DicomVR.UL; // is this needed?
                    else if (_tag.IsPrivate) {
                        if (_tag.Element <= 0x00ff) {
                            // private creator id
                        } else if (_stream.CanSeek && Flags.IsSet(options, DicomReadOptions.AllowSeekingForContext)) {
                            // attempt to identify private sequence
                            long pos = _stream.Position;
                            if (_syntax.IsExplicitVR) {
                                if (_remain >= 2)
                                    _reader.ReadUInt16();
                                else {
                                    _vr = null;
                                    _stream.Position = pos;
                                    return NeedMoreData(2);
                                }
                            }

                            uint l = 0;
                            if (_remain >= 4) {
                                l = _reader.ReadUInt32();
                                if (l == UndefinedLength)
                                    _vr = DicomVR.SQ;
                            } else {
                                _vr = null;
                                _stream.Position = pos;
                                return NeedMoreData(4);
                            }

                            //if (l != 0 && _vr == DicomVR.UN) {
                            //    if (_remain >= 4) {
                            //        ushort g = _reader.ReadUInt16();
                            //        ushort e = _reader.ReadUInt16();
                            //        DicomTag tag = new DicomTag(g, e);
                            //        if (tag == DicomTags.Item || tag == DicomTags.SequenceDelimitationItem)
                            //            _vr = DicomVR.SQ;
                            //    } else {
                            //        _vr = null;
                            //        _stream.Position = pos;
                            //        return NeedMoreData(4);
                            //    }
                            //}

                            _stream.Position = pos;
                        }
                    }
                }
            }
            return DicomReadStatus.Success;
        }
Beispiel #10
0
        private DicomReadStatus ParseTag(DicomTag stopAtTag, DicomReadOptions options)
        {
            if (_tag == null) {
                if (_remain >= 4) {
                    _pos = _stream.Position + _offset;
                    ushort g = _reader.ReadUInt16();
                    if (Flags.IsSet(options, DicomReadOptions.FileMetaInfoOnly) && g != 0x0002) {
                        _stream.Seek(-2, SeekOrigin.Current);
                        return DicomReadStatus.SuccessEndRead;
                    }
                    ushort e = _reader.ReadUInt16();
                    if (DicomTag.IsPrivateGroup(g) && e > 0x00ff) {
                        uint card = DicomTag.GetCard(g, e);
                        if ((card & 0xffffff00) != _privateCreatorCard) {
                            _privateCreatorCard = card & 0xffffff00;
                            DicomTag pct = DicomTag.GetPrivateCreatorTag(g, e);
                            DcmDataset ds = _dataset;
                            if (_sds.Count > 0 && _sds.Count == _sqs.Count) {
                                ds = _sds.Peek();
                                if (!ds.Contains(pct))
                                    ds = _dataset;
                            }
                            _privateCreatorId = ds.GetString(pct, String.Empty);
                        }
                        _tag = new DicomTag(g, e, _privateCreatorId);
                    }
                    else {
                        _tag = new DicomTag(g, e);

                        if (g == 0xfffe) {
                            if (_tag == DicomTags.Item ||
                                _tag == DicomTags.ItemDelimitationItem ||
                                _tag == DicomTags.SequenceDelimitationItem)
                                _vr = DicomVR.NONE;
                        }
                    }
                    _remain -= 4;
                    _bytes += 4;
                    _read += 4;
                }
                else {
                    return NeedMoreData(4);
                }
            }

            if (_tag == DicomTags.ItemDelimitationItem && Flags.IsSet(options, DicomReadOptions.SequenceItemOnly))
                return DicomReadStatus.SuccessEndRead;

            if (_tag >= stopAtTag)
                return DicomReadStatus.SuccessEndRead;

            return DicomReadStatus.Success;
        }
Beispiel #11
0
        /// <summary>
        /// Read dataset from stream
        /// </summary>
        /// <param name="stopAtTag">End parsing at this tag</param>
        /// <param name="options">DICOM read options</param>
        /// <returns>Status code</returns>
        public DicomReadStatus Read(DicomTag stopAtTag, DicomReadOptions options)
        {
            // Counters:
            //  _remain - bytes remaining in stream
            //  _bytes - estimates bytes to end of dataset
            //  _read - number of bytes read from stream
            try {
                _need = 0;
                _remain = _stream.Length - _stream.Position;

                while (_remain > 0) {
                    DicomReadStatus status = ParseTag(stopAtTag, options);
                    if (status == DicomReadStatus.SuccessEndRead)
                        return DicomReadStatus.Success;
                    if (status != DicomReadStatus.Success)
                        return status;

                    status = ParseVR(options);
                    if (status != DicomReadStatus.Success)
                        return status;

                    status = ParseLength(options);
                    if (status != DicomReadStatus.Success)
                        return status;

                    if (_tag.IsPrivate) {
                        if (_tag.Element != 0x0000 && _tag.Element <= 0x00ff) {
                            // handle UN private creator id
                            if (_vr != DicomVR.LO && Flags.IsSet(options, DicomReadOptions.ForcePrivateCreatorToLO)) {
                                Dicom.Debug.Log.Warn("Converting Private Creator VR from '{0}' to 'LO'", _vr.VR);
                                _vr = DicomVR.LO;
                            }
                        }
                    }

                    if (_vr == DicomVR.UN && _syntax.IsExplicitVR && Flags.IsSet(options, DicomReadOptions.UseDictionaryForExplicitUN)) {
                        _vr = _tag.Entry.DefaultVR;
                    }

                    if (_fragment != null) {
                        status = InsertFragmentItem(options);
                        if (status != DicomReadStatus.Success)
                            return status;
                    }
                    else if (_sqs.Count > 0 &&
                                (_tag == DicomTags.Item ||
                                 _tag == DicomTags.ItemDelimitationItem ||
                                 _tag == DicomTags.SequenceDelimitationItem)) {
                        status = InsertSequenceItem(options);
                        if (status != DicomReadStatus.Success)
                            return status;
                    }
                    else {
                        if (_sqs.Count > 0) {
                            DcmItemSequence sq = _sqs.Peek();
                            if (sq.StreamLength != UndefinedLength) {
                                long end = sq.StreamPosition + 8 + sq.StreamLength;
                                if (_syntax.IsExplicitVR)
                                    end += 2 + 2;
                                if ((_stream.Position - _offset) >= end) {
                                    if (_sds.Count == _sqs.Count)
                                        _sds.Pop();
                                    _sqs.Pop();
                                }
                            }
                        }

                        if (_len == UndefinedLength) {
                            if (_vr == DicomVR.SQ) {
                                DcmItemSequence sq = new DcmItemSequence(_tag, _pos, _len, _endian);
                                InsertDatasetItem(sq, options);
                                _sqs.Push(sq);
                            }
                            else {
                                _fragment = new DcmFragmentSequence(_tag, _vr, _pos, _endian);
                                InsertDatasetItem(_fragment, options);
                            }
                        }
                        else {
                            if (_vr == DicomVR.SQ) {
                                DcmItemSequence sq = new DcmItemSequence(_tag, _pos, _len, _endian);
                                InsertDatasetItem(sq, options);
                                _sqs.Push(sq);
                            }
                            else {
                                if (_len > _remain)
                                    return NeedMoreData(_len);

                                DcmElement elem = DcmElement.Create(_tag, _vr, _pos, _endian, CurrentBuffer(options));
                                _remain -= _len;
                                _read += _len;

                                InsertDatasetItem(elem, options);
                            }
                        }
                    }

                    _tag = null;
                    _vr = null;
                    _len = UndefinedLength;
                }

                return DicomReadStatus.Success;
            }
            catch (EndOfStreamException) {
                // should never happen
                return DicomReadStatus.UnknownError;
            }
        }
Beispiel #12
0
        /// <summary>
        /// Loads default DICOM dictionary
        /// </summary>
        public static void LoadInternalDictionary()
        {
            lock (Lock) {
                #region VR Tables
                DicomVR[] AEa = new DicomVR[] { DicomVR.AE };
                DicomVR[] ASa = new DicomVR[] { DicomVR.AS };
                DicomVR[] ATa = new DicomVR[] { DicomVR.AT };
                DicomVR[] CSa = new DicomVR[] { DicomVR.CS };
                DicomVR[] DAa = new DicomVR[] { DicomVR.DA };
                DicomVR[] DSa = new DicomVR[] { DicomVR.DS };
                DicomVR[] DTa = new DicomVR[] { DicomVR.DT };
                DicomVR[] FDa = new DicomVR[] { DicomVR.FD };
                DicomVR[] FLa = new DicomVR[] { DicomVR.FL };
                DicomVR[] ISa = new DicomVR[] { DicomVR.IS };
                DicomVR[] LOa = new DicomVR[] { DicomVR.LO };
                DicomVR[] LTa = new DicomVR[] { DicomVR.LT };
                DicomVR[] OBa = new DicomVR[] { DicomVR.OB };
                DicomVR[] OFa = new DicomVR[] { DicomVR.OF };
                DicomVR[] OWa = new DicomVR[] { DicomVR.OW };
                DicomVR[] PNa = new DicomVR[] { DicomVR.PN };
                DicomVR[] SHa = new DicomVR[] { DicomVR.SH };
                DicomVR[] SLa = new DicomVR[] { DicomVR.SL };
                DicomVR[] SQa = new DicomVR[] { DicomVR.SQ };
                DicomVR[] SSa = new DicomVR[] { DicomVR.SS };
                DicomVR[] STa = new DicomVR[] { DicomVR.ST };
                DicomVR[] TMa = new DicomVR[] { DicomVR.TM };
                DicomVR[] UIa = new DicomVR[] { DicomVR.UI };
                DicomVR[] ULa = new DicomVR[] { DicomVR.UL };
                DicomVR[] UNa = new DicomVR[] { DicomVR.UN };
                DicomVR[] USa = new DicomVR[] { DicomVR.US };
                DicomVR[] UTa = new DicomVR[] { DicomVR.UT };
                DicomVR[] NONEa = new DicomVR[] { DicomVR.NONE };
                DicomVR[] USaSSa = new DicomVR[] { DicomVR.US, DicomVR.SS };
                DicomVR[] USaSSaOWa = new DicomVR[] { DicomVR.US, DicomVR.SS, DicomVR.OW };
                DicomVR[] OWaOBa = new DicomVR[] { DicomVR.OW, DicomVR.OB };
                #endregion

                Clear();

                #region Internal Dictionary
                Entries.Add(new DcmDictionaryEntry("xxxx", "0000", "Group Length", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0001", "Length to End", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0002", "Affected SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0003", "Requested SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0010", "Recognition Code", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0100", "Command Field", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0110", "Message ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0120", "Message ID Being Responded To", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0200", "Initiator", String.Empty, AEa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0300", "Receiver", String.Empty, AEa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0400", "Find Location", String.Empty, AEa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0600", "Move Destination", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0700", "Priority", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0800", "Data Set Type", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0850", "Number of Matches", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0860", "Response Sequence Number", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "0900", "Status", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0901", "Offending Element", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0902", "Error Comment", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "0903", "Error ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1000", "Affected SOP Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1001", "Requested SOP Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1002", "Event Type ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1005", "Attribute Identifier List", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1008", "Action Type ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1020", "Number of Remaining Sub-operations", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1021", "Number of Completed Sub-operations", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1022", "Number of Failed Sub-operations", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1023", "Number of Warning Sub-operations", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1030", "Move Originator Application Entity Title", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "1031", "Move Originator Message ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0000", "4000", "DIALOG Receiver", String.Empty, ATa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "4010", "Terminal Type", String.Empty, ATa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5010", "Message Set ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5020", "End Message ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5110", "Display Format", String.Empty, ATa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5120", "Page Position ID", String.Empty, ATa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5130", "Text Format ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5140", "Nor/Rev", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5150", "Add Gray Scale", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5160", "Borders", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5170", "Copies", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5180", "Magnification Type", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "5190", "Erase", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "51a0", "Print", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0000", "51b0", "Overlays", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0002", "0001", "File Meta Information Version", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0002", "Media Storage SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0003", "Media Storage SOP Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0010", "Transfer Syntax UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0012", "Implementation Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0013", "Implementation Version Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0016", "Source Application Entity Title", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0100", "Private Information Creator UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0002", "0102", "Private Information", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1130", "File-set ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1141", "File-set Descriptor File ID", String.Empty, CSa, "1-8", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1142", "Specific Character Set of File-set Descriptor File", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1200", "Offset of the First Directory Record of the Root Directory Entity", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1202", "Offset of the Last Directory Record of the Root Directory Entity", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1212", "File-set Consistency Flag", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1220", "Directory Record Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1400", "Offset of the Next Directory Record", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1410", "Record In-use Flag", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1420", "Offset of Referenced Lower-Level Directory Entity", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1430", "Directory Record Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1432", "Private Record UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1500", "Referenced File ID", String.Empty, CSa, "1-8", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1504", "MRDR Directory Record Offset", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0004", "1510", "Referenced SOP Class UID in File", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1511", "Referenced SOP Instance UID in File", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1512", "Referenced Transfer Syntax UID in File", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0004", "151a", "Referenced Related General SOP Class UID in File", String.Empty, UIa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0004", "1600", "Number of References", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0001", "Length to End", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0005", "Specific Character Set", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0008", "Image Type", String.Empty, CSa, "2-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0010", "Recognition Code", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0012", "Instance Creation Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0013", "Instance Creation Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0014", "Instance Creator UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0016", "SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0018", "SOP Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "001a", "Related General SOP Class UID", String.Empty, UIa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "001b", "Original Specialized SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0020", "Study Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0021", "Series Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0022", "Acquisition Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0023", "Content Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0024", "Overlay Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0025", "Curve Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "002a", "Acquisition DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0030", "Study Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0031", "Series Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0032", "Acquisition Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0033", "Content Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0034", "Overlay Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0035", "Curve Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0040", "Data Set Type", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0041", "Data Set Subtype", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0042", "Nuclear Medicine Series Type", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "0050", "Accession Number", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0052", "Query/Retrieve Level", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0054", "Retrieve AE Title", String.Empty, AEa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0056", "Instance Availability", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0058", "Failed SOP Instance UID List", String.Empty, UIa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0060", "Modality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0061", "Modalities in Study", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0062", "SOP Classes in Study", String.Empty, UIa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0064", "Conversion Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0068", "Presentation Intent Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0070", "Manufacturer", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0080", "Institution Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0081", "Institution Address", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0082", "Institution Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0090", "Referring Physician's Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0092", "Referring Physician's Address", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0094", "Referring Physician's Telephone Numbers", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0096", "Referring Physician Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0100", "Code Value", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0102", "Coding Scheme Designator", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0103", "Coding Scheme Version", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0104", "Code Meaning", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0105", "Mapping Resource", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0106", "Context Group Version", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0107", "Context Group Local Version", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "010b", "Context Group Extension Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "010c", "Coding Scheme UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "010d", "Context Group Extension Creator UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "010f", "Context Identifier", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0110", "Coding Scheme Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0112", "Coding Scheme Registry", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0114", "Coding Scheme External ID", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0115", "Coding Scheme Name", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0116", "Coding Scheme Responsible Organization", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "0201", "Timezone Offset From UTC", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1000", "Network ID", String.Empty, AEa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "1010", "Station Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1030", "Study Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1032", "Procedure Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "103e", "Series Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1040", "Institutional Department Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1048", "Physician(s) of Record", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1049", "Physician(s) of Record Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1050", "Performing Physician's Name", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1052", "Performing Physician Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1060", "Name of Physician(s) Reading Study", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1062", "Physician(s) Reading Study Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1070", "Operators' Name", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1072", "Operator Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1080", "Admitting Diagnoses Description", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1084", "Admitting Diagnoses Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1090", "Manufacturer's Model Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1100", "Referenced Results Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "1110", "Referenced Study Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1111", "Referenced Performed Procedure Step Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1115", "Referenced Series Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1120", "Referenced Patient Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1125", "Referenced Visit Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1130", "Referenced Overlay Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "113a", "Referenced Waveform Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1140", "Referenced Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1145", "Referenced Curve Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "114a", "Referenced Instance Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "114b", "Referenced Real World Value Mapping Instance Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1150", "Referenced SOP Class UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1155", "Referenced SOP Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "115a", "SOP Classes Supported", String.Empty, UIa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1160", "Referenced Frame Number", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1195", "Transaction UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1197", "Failure Reason", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1198", "Failed SOP Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1199", "Referenced SOP Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1200", "Studies Containing Other Referenced Instances Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "1250", "Related Series Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2110", "Lossy Image Compression (Retired)", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2111", "Derivation Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2112", "Source Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2120", "Stage Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2122", "Stage Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2124", "Number of Stages", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2127", "View Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2128", "View Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2129", "Number of Event Timers", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "212a", "Number of Views in Stage", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2130", "Event Elapsed Time(s)", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2132", "Event Timer Name(s)", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2142", "Start Trim", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2143", "Stop Trim", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2144", "Recommended Display Frame Rate", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2200", "Transducer Position", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2204", "Transducer Orientation", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2208", "Anatomic Structure", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2218", "Anatomic Region Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2220", "Anatomic Region Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2228", "Primary Anatomic Structure Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2229", "Anatomic Structure, Space or Region Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2230", "Primary Anatomic Structure Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "2240", "Transducer Position Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2242", "Transducer Position Modifier Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2244", "Transducer Orientation Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2246", "Transducer Orientation Modifier Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2251", "Anatomic Structure Space Or Region Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2253", "Anatomic Portal Of Entrance Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2255", "Anatomic Approach Direction Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2256", "Anatomic Perspective Description (Trial)", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2257", "Anatomic Perspective Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2258", "Anatomic Location Of Examining Instrument Description (Trial)", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "2259", "Anatomic Location Of Examining Instrument Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "225a", "Anatomic Structure Space Or Region Modifier Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "225c", "OnAxis Background Anatomic Structure Code Sequence (Trial)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "3001", "Alternate Representation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "3010", "Irradiation Event UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "4000", "Identifying Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0008", "9007", "Frame Type", String.Empty, CSa, "4", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9092", "Referenced Image Evidence Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9121", "Referenced Raw Data Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9123", "Creator-Version UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9124", "Derivation Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9154", "Source Image Evidence Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9205", "Pixel Presentation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9206", "Volumetric Properties", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9207", "Volume Based Calculation Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9208", "Complex Image Component", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9209", "Acquisition Contrast", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9215", "Derivation Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9237", "Referenced Grayscale Presentation State Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9410", "Referenced Other Plane Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9458", "Frame Display Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9459", "Recommended Display Frame Rate in Float", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0008", "9460", "Skip Frame Range Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0010", "Patient's Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0020", "Patient ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0021", "Issuer of Patient ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0022", "Type of Patient ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0030", "Patient's Birth Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0032", "Patient's Birth Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0040", "Patient's Sex", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0050", "Patient's Insurance Plan Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0101", "Patient's Primary Language Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "0102", "Patient's Primary Language Code Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1000", "Other Patient IDs", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1001", "Other Patient Names", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1002", "Other Patient IDs Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1005", "Patient's Birth Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1010", "Patient's Age", String.Empty, ASa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1020", "Patient's Size", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1030", "Patient's Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1040", "Patient's Address", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1050", "Insurance Plan Identification", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0010", "1060", "Patient's Mother's Birth Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1080", "Military Rank", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1081", "Branch of Service", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "1090", "Medical Record Locator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2000", "Medical Alerts", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2110", "Allergies", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2150", "Country of Residence", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2152", "Region of Residence", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2154", "Patient's Telephone Numbers", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2160", "Ethnic Group", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2180", "Occupation", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "21a0", "Smoking Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "21b0", "Additional Patient History", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "21c0", "Pregnancy Status", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "21d0", "Last Menstrual Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "21f0", "Patient's Religious Preference", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2201", "Patient Species Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2202", "Patient Species Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2203", "Patient's Sex Neutered", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2292", "Patient Breed Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2293", "Patient Breed Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2294", "Breed Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2295", "Breed Registration Number", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2296", "Breed Registry Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2297", "Responsible Person", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2298", "Responsible Person Role", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "2299", "Responsible Organization", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "4000", "Patient Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0010", "9431", "Examined Body Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0010", "Clinical Trial Sponsor Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0020", "Clinical Trial Protocol ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0021", "Clinical Trial Protocol Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0030", "Clinical Trial Site ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0031", "Clinical Trial Site Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0040", "Clinical Trial Subject ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0042", "Clinical Trial Subject Reading ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0050", "Clinical Trial Time Point ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0051", "Clinical Trial Time Point Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0060", "Clinical Trial Coordinating Center Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0062", "Patient Identity Removed", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0063", "De-identification Method", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0064", "De-identification Method Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0071", "Clinical Trial Series ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0012", "0072", "Clinical Trial Series Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0010", "Contrast/Bolus Agent", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0012", "Contrast/Bolus Agent Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0014", "Contrast/Bolus Administration Route Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0015", "Body Part Examined", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0020", "Scanning Sequence", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0021", "Sequence Variant", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0022", "Scan Options", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0023", "MR Acquisition Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0024", "Sequence Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0025", "Angio Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0026", "Intervention Drug Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0027", "Intervention Drug Stop Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0028", "Intervention Drug Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0029", "Intervention Drug Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "002a", "Additional Drug Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0030", "Radionuclide", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0018", "0031", "Radiopharmaceutical", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0032", "Energy Window Centerline", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "0033", "Energy Window Total Width", String.Empty, DSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0018", "0034", "Intervention Drug Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0035", "Intervention Drug Start Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0036", "Intervention Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0037", "Therapy Type", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "0038", "Intervention Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0039", "Therapy Description", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "003a", "Intervention Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0040", "Cine Rate", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0050", "Slice Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0060", "KVP", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0070", "Counts Accumulated", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0071", "Acquisition Termination Condition", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0072", "Effective Duration", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0073", "Acquisition Start Condition", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0074", "Acquisition Start Condition Data", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0075", "Acquisition Termination Condition Data", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0080", "Repetition Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0081", "Echo Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0082", "Inversion Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0083", "Number of Averages", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0084", "Imaging Frequency", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0085", "Imaged Nucleus", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0086", "Echo Number(s)", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0087", "Magnetic Field Strength", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0088", "Spacing Between Slices", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0089", "Number of Phase Encoding Steps", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0090", "Data Collection Diameter", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0091", "Echo Train Length", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0093", "Percent Sampling", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0094", "Percent Phase Field of View", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "0095", "Pixel Bandwidth", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1000", "Device Serial Number", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1002", "Device UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1003", "Device ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1004", "Plate ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1005", "Generator ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1006", "Grid ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1007", "Cassette ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1008", "Gantry ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1010", "Secondary Capture Device ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1011", "Hardcopy Creation Device ID", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1012", "Date of Secondary Capture", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1014", "Time of Secondary Capture", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1016", "Secondary Capture Device Manufacturers", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1017", "Hardcopy Device Manufacturer", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1018", "Secondary Capture Device Manufacturer's Model Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1019", "Secondary Capture Device Software Version(s)", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "101a", "Hardcopy Device Software Version", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0018", "101b", "Hardcopy Device Manufacturer's Model Name", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1020", "Software Version(s)", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1022", "Video Image Format Acquired", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1023", "Digital Image Format Acquired", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1030", "Protocol Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1040", "Contrast/Bolus Route", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1041", "Contrast/Bolus Volume", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1042", "Contrast/Bolus Start Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1043", "Contrast/Bolus Stop Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1044", "Contrast/Bolus Total Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1045", "Syringe Counts", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1046", "Contrast Flow Rate", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1047", "Contrast Flow Duration", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1048", "Contrast/Bolus Ingredient", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1049", "Contrast/Bolus Ingredient Concentration", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1050", "Spatial Resolution", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1060", "Trigger Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1061", "Trigger Source or Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1062", "Nominal Interval", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1063", "Frame Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1064", "Cardiac Framing Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1065", "Frame Time Vector", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1066", "Frame Delay", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1067", "Image Trigger Delay", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1068", "Multiplex Group Time Offset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1069", "Trigger Time Offset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "106a", "Synchronization Trigger", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "106c", "Synchronization Channel", String.Empty, USa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "106e", "Trigger Sample Position", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1070", "Radiopharmaceutical Route", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1071", "Radiopharmaceutical Volume", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1072", "Radiopharmaceutical Start Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1073", "Radiopharmaceutical Stop Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1074", "Radionuclide Total Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1075", "Radionuclide Half Life", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1076", "Radionuclide Positron Fraction", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1077", "Radiopharmaceutical Specific Activity", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1078", "Radiopharmaceutical Start DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1079", "Radiopharmaceutical Stop DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1080", "Beat Rejection Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1081", "Low R-R Value", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1082", "High R-R Value", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1083", "Intervals Acquired", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1084", "Intervals Rejected", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1085", "PVC Rejection", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1086", "Skip Beats", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1088", "Heart Rate", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1090", "Cardiac Number of Images", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1094", "Trigger Window", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1100", "Reconstruction Diameter", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1110", "Distance Source to Detector", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1111", "Distance Source to Patient", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1114", "Estimated Radiographic Magnification Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1120", "Gantry/Detector Tilt", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1121", "Gantry/Detector Slew", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1130", "Table Height", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1131", "Table Traverse", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1134", "Table Motion", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1135", "Table Vertical Increment", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1136", "Table Lateral Increment", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1137", "Table Longitudinal Increment", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1138", "Table Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "113a", "Table Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1140", "Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1141", "Angular Position", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1142", "Radial Position", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1143", "Scan Arc", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1144", "Angular Step", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1145", "Center of Rotation Offset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1146", "Rotation Offset", String.Empty, DSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1147", "Field of View Shape", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1149", "Field of View Dimension(s)", String.Empty, ISa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1150", "Exposure Time", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1151", "X-Ray Tube Current", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1152", "Exposure", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1153", "Exposure in µAs", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1154", "Average Pulse Width", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1155", "Radiation Setting", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1156", "Rectification Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "115a", "Radiation Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "115e", "Image and Fluoroscopy Area Dose Product", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1160", "Filter Type", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1161", "Type of Filters", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1162", "Intensifier Size", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1164", "Imager Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1166", "Grid", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1170", "Generator Power", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1180", "Collimator/grid Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1181", "Collimator Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1182", "Focal Distance", String.Empty, ISa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1183", "X Focus Center", String.Empty, DSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1184", "Y Focus Center", String.Empty, DSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1190", "Focal Spot(s)", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1191", "Anode Target Material", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "11a0", "Body Part Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "11a2", "Compression Force", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1200", "Date of Last Calibration", String.Empty, DAa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1201", "Time of Last Calibration", String.Empty, TMa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1210", "Convolution Kernel", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1240", "Upper/Lower Pixel Values", String.Empty, ISa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0018", "1242", "Actual Frame Duration", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1243", "Count Rate", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1244", "Preferred Playback Sequencing", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1250", "Receive Coil Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1251", "Transmit Coil Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1260", "Plate Type", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1261", "Phosphor Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1300", "Scan Velocity", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1301", "Whole Body Technique", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1302", "Scan Length", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1310", "Acquisition Matrix", String.Empty, USa, "4", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1312", "In-plane Phase Encoding Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1314", "Flip Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1315", "Variable Flip Angle Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1316", "SAR", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1318", "dB/dt", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1400", "Acquisition Device Processing Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1401", "Acquisition Device Processing Code", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1402", "Cassette Orientation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1403", "Cassette Size", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1404", "Exposures on Plate", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1405", "Relative X-Ray Exposure", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1450", "Column Angulation", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1460", "Tomo Layer Height", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1470", "Tomo Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1480", "Tomo Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1490", "Tomo Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1491", "Tomo Class", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1495", "Number of Tomosynthesis Source Images", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1500", "Positioner Motion", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1508", "Positioner Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1510", "Positioner Primary Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1511", "Positioner Secondary Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1520", "Positioner Primary Angle Increment", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1521", "Positioner Secondary Angle Increment", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1530", "Detector Primary Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1531", "Detector Secondary Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1600", "Shutter Shape", String.Empty, CSa, "1-3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1602", "Shutter Left Vertical Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1604", "Shutter Right Vertical Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1606", "Shutter Upper Horizontal Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1608", "Shutter Lower Horizontal Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1610", "Center of Circular Shutter", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1612", "Radius of Circular Shutter", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1620", "Vertices of the Polygonal Shutter", String.Empty, ISa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1622", "Shutter Presentation Value", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1623", "Shutter Overlay Group", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1624", "Shutter Presentation Color CIELab Value", String.Empty, USa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1700", "Collimator Shape", String.Empty, CSa, "1-3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1702", "Collimator Left Vertical Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1704", "Collimator Right Vertical Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1706", "Collimator Upper Horizontal Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1708", "Collimator Lower Horizontal Edge", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1710", "Center of Circular Collimator", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1712", "Radius of Circular Collimator", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1720", "Vertices of the Polygonal Collimator", String.Empty, ISa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1800", "Acquisition Time Synchronized", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1801", "Time Source", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1802", "Time Distribution Protocol", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "1803", "NTP Source Address", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2001", "Page Number Vector", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2002", "Frame Label Vector", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2003", "Frame Primary Angle Vector", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2004", "Frame Secondary Angle Vector", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2005", "Slice Location Vector", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2006", "Display Window Label Vector", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2010", "Nominal Scanned Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2020", "Digitizing Device Transport Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "2030", "Rotation of Scanned Film", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3100", "IVUS Acquisition", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3101", "IVUS Pullback Rate", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3102", "IVUS Gated Rate", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3103", "IVUS Pullback Start Frame Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3104", "IVUS Pullback Stop Frame Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "3105", "Lesion Number", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "4000", "Acquisition Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "5000", "Output Power", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5010", "Transducer Data", String.Empty, LOa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5012", "Focus Depth", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5020", "Processing Function", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5021", "Postprocessing Function", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "5022", "Mechanical Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5024", "Bone Thermal Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5026", "Cranial Thermal Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5027", "Soft Tissue Thermal Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5028", "Soft Tissue-focus Thermal Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5029", "Soft Tissue-surface Thermal Index", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5030", "Dynamic Range", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "5040", "Total Gain", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "5050", "Depth of Scan Field", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5100", "Patient Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5101", "View Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5104", "Projection Eponymous Name Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "5210", "Image Transformation Matrix", String.Empty, DSa, "6", true));
                Entries.Add(new DcmDictionaryEntry("0018", "5212", "Image Translation Vector", String.Empty, DSa, "3", true));
                Entries.Add(new DcmDictionaryEntry("0018", "6000", "Sensitivity", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6011", "Sequence of Ultrasound Regions", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6012", "Region Spatial Format", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6014", "Region Data Type", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6016", "Region Flags", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6018", "Region Location Min X0", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "601a", "Region Location Min Y0", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "601c", "Region Location Max X1", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "601e", "Region Location Max Y1", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6020", "Reference Pixel X0", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6022", "Reference Pixel Y0", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6024", "Physical Units X Direction", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6026", "Physical Units Y Direction", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6028", "Reference Pixel Physical Value X", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "602a", "Reference Pixel Physical Value Y", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "602c", "Physical Delta X", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "602e", "Physical Delta Y", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6030", "Transducer Frequency", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6031", "Transducer Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6032", "Pulse Repetition Frequency", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6034", "Doppler Correction Angle", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6036", "Steering Angle", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6038", "Doppler Sample Volume X Position (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "6039", "Doppler Sample Volume X Position", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "603a", "Doppler Sample Volume Y Position (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "603b", "Doppler Sample Volume Y Position", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "603c", "TM-Line Position X0 (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "603d", "TM-Line Position X0", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "603e", "TM-Line Position Y0 (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "603f", "TM-Line Position Y0", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6040", "TM-Line Position X1 (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "6041", "TM-Line Position X1", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6042", "TM-Line Position Y1 (Retired)", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "6043", "TM-Line Position Y1", String.Empty, SLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6044", "Pixel Component Organization", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6046", "Pixel Component Mask", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6048", "Pixel Component Range Start", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "604a", "Pixel Component Range Stop", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "604c", "Pixel Component Physical Units", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "604e", "Pixel Component Data Type", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6050", "Number of Table Break Points", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6052", "Table of X Break Points", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6054", "Table of Y Break Points", String.Empty, FDa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6056", "Number of Table Entries", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6058", "Table of Pixel Values", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "605a", "Table of Parameter Values", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "6060", "R Wave Time Vector", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7000", "Detector Conditions Nominal Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7001", "Detector Temperature", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7004", "Detector Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7005", "Detector Configuration", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7006", "Detector Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7008", "Detector Mode", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "700a", "Detector ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "700c", "Date of Last Detector Calibration", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "700e", "Time of Last Detector Calibration", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7010", "Exposures on Detector Since Last Calibration", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7011", "Exposures on Detector Since Manufactured", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7012", "Detector Time Since Last Exposure", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7014", "Detector Active Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7016", "Detector Activation Offset From Exposure", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "701a", "Detector Binning", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7020", "Detector Element Physical Size", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7022", "Detector Element Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7024", "Detector Active Shape", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7026", "Detector Active Dimension(s)", String.Empty, DSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7028", "Detector Active Origin", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "702a", "Detector Manufacturer Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "702b", "Detector Manufacturer's Model Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7030", "Field of View Origin", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7032", "Field of View Rotation", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7034", "Field of View Horizontal Flip", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7040", "Grid Absorbing Material", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7041", "Grid Spacing Material", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7042", "Grid Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7044", "Grid Pitch", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7046", "Grid Aspect Ratio", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7048", "Grid Period", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "704c", "Grid Focal Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7050", "Filter Material", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7052", "Filter Thickness Minimum", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7054", "Filter Thickness Maximum", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7060", "Exposure Control Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7062", "Exposure Control Mode Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7064", "Exposure Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "7065", "Phototimer Setting", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "8150", "Exposure Time in µS", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "8151", "X-Ray Tube Current in µA", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9004", "Content Qualification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9005", "Pulse Sequence Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9006", "MR Imaging Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9008", "Echo Pulse Sequence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9009", "Inversion Recovery", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9010", "Flow Compensation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9011", "Multiple Spin Echo", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9012", "Multi-planar Excitation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9014", "Phase Contrast", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9015", "Time of Flight Contrast", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9016", "Spoiling", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9017", "Steady State Pulse Sequence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9018", "Echo Planar Pulse Sequence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9019", "Tag Angle First Axis", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9020", "Magnetization Transfer", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9021", "T2 Preparation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9022", "Blood Signal Nulling", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9024", "Saturation Recovery", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9025", "Spectrally Selected Suppression", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9026", "Spectrally Selected Excitation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9027", "Spatial Pre-saturation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9028", "Tagging", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9029", "Oversampling Phase", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9030", "Tag Spacing First Dimension", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9032", "Geometry of k-Space Traversal", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9033", "Segmented k-Space Traversal", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9034", "Rectilinear Phase Encode Reordering", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9035", "Tag Thickness", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9036", "Partial Fourier Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9037", "Cardiac Synchronization Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9041", "Receive Coil Manufacturer Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9042", "MR Receive Coil Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9043", "Receive Coil Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9044", "Quadrature Receive Coil", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9045", "Multi-Coil Definition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9046", "Multi-Coil Configuration", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9047", "Multi-Coil Element Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9048", "Multi-Coil Element Used", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9049", "MR Transmit Coil Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9050", "Transmit Coil Manufacturer Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9051", "Transmit Coil Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9052", "Spectral Width", String.Empty, FDa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9053", "Chemical Shift Reference", String.Empty, FDa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9054", "Volume Localization Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9058", "MR Acquisition Frequency Encoding Steps", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9059", "De-coupling", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9060", "De-coupled Nucleus", String.Empty, CSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9061", "De-coupling Frequency", String.Empty, FDa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9062", "De-coupling Method", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9063", "De-coupling Chemical Shift Reference", String.Empty, FDa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9064", "k-space Filtering", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9065", "Time Domain Filtering", String.Empty, CSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9066", "Number of Zero fills", String.Empty, USa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9067", "Baseline Correction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9069", "Parallel Reduction Factor In-plane", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9070", "Cardiac R-R Interval Specified", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9073", "Acquisition Duration", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9074", "Frame Acquisition DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9075", "Diffusion Directionality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9076", "Diffusion Gradient Direction Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9077", "Parallel Acquisition", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9078", "Parallel Acquisition Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9079", "Inversion Times", String.Empty, FDa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9080", "Metabolite Map Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9081", "Partial Fourier", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9082", "Effective Echo Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9083", "Metabolite Map Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9084", "Chemical Shift Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9085", "Cardiac Signal Source", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9087", "Diffusion b-value", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9089", "Diffusion Gradient Orientation", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9090", "Velocity Encoding Direction", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9091", "Velocity Encoding Minimum Value", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9093", "Number of k-Space Trajectories", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9094", "Coverage of k-Space", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9095", "Spectroscopy Acquisition Phase Rows", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9096", "Parallel Reduction Factor In-plane (Retired)", String.Empty, FDa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "9098", "Transmitter Frequency", String.Empty, FDa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9100", "Resonant Nucleus", String.Empty, CSa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9101", "Frequency Correction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9103", "MR Spectroscopy FOV/Geometry Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9104", "Slab Thickness", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9105", "Slab Orientation", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9106", "Mid Slab Position", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9107", "MR Spatial Saturation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9112", "MR Timing and Related Parameters Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9114", "MR Echo Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9115", "MR Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9117", "MR Diffusion Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9118", "Cardiac Synchronization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9119", "MR Averages Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9125", "MR FOV/Geometry Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9126", "Volume Localization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9127", "Spectroscopy Acquisition Data Columns", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9147", "Diffusion Anisotropy Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9151", "Frame Reference DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9152", "MR Metabolite Map Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9155", "Parallel Reduction Factor out-of-plane", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9159", "Spectroscopy Acquisition Out-of-plane Phase Steps", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9166", "Bulk Motion Status", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "9168", "Parallel Reduction Factor Second In-plane", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9169", "Cardiac Beat Rejection Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9170", "Respiratory Motion Compensation Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9171", "Respiratory Signal Source", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9172", "Bulk Motion Compensation Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9173", "Bulk Motion Signal Source", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9174", "Applicable Safety Standard Agency", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9175", "Applicable Safety Standard Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9176", "Operating Mode Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9177", "Operating Mode Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9178", "Operating Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9179", "Specific Absorption Rate Definition", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9180", "Gradient Output Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9181", "Specific Absorption Rate Value", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9182", "Gradient Output", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9183", "Flow Compensation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9184", "Tagging Delay", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9185", "Respiratory Motion Compensation Technique Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9186", "Respiratory Signal Source ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9195", "Chemical Shifts Minimum Integration Limit in Hz", String.Empty, FDa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "9196", "Chemical Shifts Maximum Integration Limit in Hz", String.Empty, FDa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0018", "9197", "MR Velocity Encoding Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9198", "First Order Phase Correction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9199", "Water Referenced Phase Correction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9200", "MR Spectroscopy Acquisition Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9214", "Respiratory Cycle Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9217", "Velocity Encoding Maximum Value", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9218", "Tag Spacing Second Dimension", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9219", "Tag Angle Second Axis", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9220", "Frame Acquisition Duration", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9226", "MR Image Frame Type Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9227", "MR Spectroscopy Frame Type Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9231", "MR Acquisition Phase Encoding Steps in-plane", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9232", "MR Acquisition Phase Encoding Steps out-of-plane", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9234", "Spectroscopy Acquisition Phase Columns", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9236", "Cardiac Cycle Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9239", "Specific Absorption Rate Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9240", "RF Echo Train Length", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9241", "Gradient Echo Train Length", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9295", "Chemical Shifts Minimum Integration Limit in ppm", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9296", "Chemical Shifts Maximum Integration Limit in ppm", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9301", "CT Acquisition Type Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9302", "Acquisition Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9303", "Tube Angle", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9304", "CT Acquisition Details Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9305", "Revolution Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9306", "Single Collimation Width", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9307", "Total Collimation Width", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9308", "CT Table Dynamics Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9309", "Table Speed", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9310", "Table Feed per Rotation", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9311", "Spiral Pitch Factor", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9312", "CT Geometry Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9313", "Data Collection Center (Patient)", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9314", "CT Reconstruction Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9315", "Reconstruction Algorithm", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9316", "Convolution Kernel Group", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9317", "Reconstruction Field of View", String.Empty, FDa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9318", "Reconstruction Target Center (Patient)", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9319", "Reconstruction Angle", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9320", "Image Filter", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9321", "CT Exposure Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9322", "Reconstruction Pixel Spacing", String.Empty, FDa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9323", "Exposure Modulation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9324", "Estimated Dose Saving", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9325", "CT X-Ray Details Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9326", "CT Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9327", "Table Position", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9328", "Exposure Time in ms", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9329", "CT Image Frame Type Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9330", "X-Ray Tube Current in mA", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9332", "Exposure in mAs", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9333", "Constant Volume Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9334", "Fluoroscopy Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9335", "Distance Source to Data Collection Center", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9337", "Contrast/Bolus Agent Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9338", "Contrast/Bolus Ingredient Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9340", "Contrast Administration Profile Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9341", "Contrast/Bolus Usage Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9342", "Contrast/Bolus Agent Administered", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9343", "Contrast/Bolus Agent Detected", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9344", "Contrast/Bolus Agent Phase", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9345", "CTDIvol", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9346", "CTDI Phantom Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9351", "Calcium Scoring Mass Factor Patient", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9352", "Calcium Scoring Mass Factor Device", String.Empty, FLa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9360", "CT Additional X-Ray Source Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9401", "Projection Pixel Calibration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9402", "Distance Source to Isocenter", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9403", "Distance Object to Table Top", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9404", "Object Pixel Spacing in Center of Beam", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9405", "Positioner Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9406", "Table Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9407", "Collimator Shape Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9412", "XA/XRF Frame Characteristics Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9417", "Frame Acquisition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9420", "X-Ray Receptor Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9423", "Acquisition Protocol Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9424", "Acquisition Protocol Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9425", "Contrast/Bolus Ingredient Opaque", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9426", "Distance Receptor Plane to Detector Housing", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9427", "Intensifier Active Shape", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9428", "Intensifier Active Dimension(s)", String.Empty, FLa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9429", "Physical Detector Size", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9430", "Position of Isocenter Projection", String.Empty, USa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9432", "Field of View Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9433", "Field of View Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9434", "Exposure Control Sensing Regions Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9435", "Exposure Control Sensing Region Shape", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9436", "Exposure Control Sensing Region Left Vertical Edge", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9437", "Exposure Control Sensing Region Right Vertical Edge", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9438", "Exposure Control Sensing Region Upper Horizontal Edge", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9439", "Exposure Control Sensing Region Lower Horizontal Edge", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9440", "Center of Circular Exposure Control Sensing Region", String.Empty, SSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9441", "Radius of Circular Exposure Control Sensing Region", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9442", "Vertices of the Polygonal Exposure Control Sensing Region", String.Empty, SSa, "2-n", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9445", "", String.Empty, NONEa, "", true));
                Entries.Add(new DcmDictionaryEntry("0018", "9447", "Column Angulation (Patient)", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9449", "Beam Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9451", "Frame Detector Parameters Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9452", "Calculated Anatomy Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9455", "Calibration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9456", "Object Thickness Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9457", "Plane Identification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9461", "Field of View Dimension(s) in Float", String.Empty, FLa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9462", "Isocenter Reference System Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9463", "Positioner Isocenter Primary Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9464", "Positioner Isocenter Secondary Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9465", "Positioner Isocenter Detector Rotation Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9466", "Table X Position to Isocenter", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9467", "Table Y Position to Isocenter", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9468", "Table Z Position to Isocenter", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9469", "Table Horizontal Rotation Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9470", "Table Head Tilt Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9471", "Table Cradle Tilt Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9472", "Frame Display Shutter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9473", "Acquired Image Area Dose Product", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9474", "C-arm Positioner Tabletop Relationship", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9476", "X-Ray Geometry Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9477", "Irradiation Event Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9504", "X-Ray 3D Frame Type Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9506", "Contributing Sources Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9507", "X-Ray 3D Acquisition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9508", "Primary Positioner Scan Arc", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9509", "Secondary Positioner Scan Arc", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9510", "Primary Positioner Scan Start Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9511", "Secondary Positioner Scan Start Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9514", "Primary Positioner Increment", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9515", "Secondary Positioner Increment", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9516", "Start Acquisition DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9517", "End Acquisition DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9524", "Application Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9525", "Application Version", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9526", "Application Manufacturer", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9527", "Algorithm Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9528", "Algorithm Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9530", "X-Ray 3D Reconstruction Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9531", "Reconstruction Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9538", "Per Projection Acquisition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9601", "Diffusion b-matrix Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9602", "Diffusion b-value XX", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9603", "Diffusion b-value XY", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9604", "Diffusion b-value XZ", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9605", "Diffusion b-value YY", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9606", "Diffusion b-value YZ", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "9607", "Diffusion b-value ZZ", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "a001", "Contributing Equipment Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "a002", "Contribution Date Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0018", "a003", "Contribution Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "000d", "Study Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "000e", "Series Instance UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0010", "Study ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0011", "Series Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0012", "Acquisition Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0013", "Instance Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0014", "Isotope Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0015", "Phase Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0016", "Interval Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0017", "Time Slot Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0018", "Angle Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0019", "Item Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0020", "Patient Orientation", String.Empty, CSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0022", "Overlay Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0024", "Curve Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0026", "Lookup Table Number", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0030", "Image Position", String.Empty, DSa, "3", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0032", "Image Position (Patient)", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0035", "Image Orientation", String.Empty, DSa, "6", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0037", "Image Orientation (Patient)", String.Empty, DSa, "6", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0050", "Location", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0052", "Frame of Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0060", "Laterality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0062", "Image Laterality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0070", "Image Geometry Type", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0080", "Masking Image", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "0100", "Temporal Position Identifier", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0105", "Number of Temporal Positions", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0110", "Temporal Resolution", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "0200", "Synchronization Frame of Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1000", "Series in Study", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1001", "Acquisitions in Series", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1002", "Images in Acquisition", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1003", "Images in Series", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1004", "Acquisitions in Study", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1005", "Images in Study", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1020", "Reference", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1040", "Position Reference Indicator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1041", "Slice Location", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1070", "Other Study Numbers", String.Empty, ISa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "1200", "Number of Patient Related Studies", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1202", "Number of Patient Related Series", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1204", "Number of Patient Related Instances", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1206", "Number of Study Related Series", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1208", "Number of Study Related Instances", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "1209", "Number of Series Related Instances", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "31xx", "Source Image IDs", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3401", "Modifying Device ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3402", "Modified Image ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3403", "Modified Image Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3404", "Modifying Device Manufacturer", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3405", "Modified Image Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "3406", "Modified Image Description", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0020", "4000", "Image Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "5000", "Original Image Identification", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "5002", "Original Image Identification Nomenclature", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0020", "9056", "Stack ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9057", "In-Stack Position Number", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9071", "Frame Anatomy Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9072", "Frame Laterality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9111", "Frame Content Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9113", "Plane Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9116", "Plane Orientation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9128", "Temporal Position Index", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9153", "Nominal Cardiac Trigger Delay Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9156", "Frame Acquisition Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9157", "Dimension Index Values", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9158", "Frame Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9161", "Concatenation UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9162", "In-concatenation Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9163", "In-concatenation Total Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9164", "Dimension Organization UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9165", "Dimension Index Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9167", "Functional Group Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9213", "Dimension Index Private Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9221", "Dimension Organization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9222", "Dimension Index Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9228", "Concatenation Frame Offset Number", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9238", "Functional Group Private Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9241", "Nominal Percentage of Cardiac Phase", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9245", "Nominal Percentage of Respiratory Phase", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9246", "Starting Respiratory Amplitude", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9247", "Starting Respiratory Phase", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9248", "Ending Respiratory Amplitude", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9249", "Ending Respiratory Phase", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9250", "Respiratory Trigger Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9251", "R - R Interval Time Nominal", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9252", "Actual Cardiac Trigger Delay Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9253", "Respiratory Synchronization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9254", "Respiratory Interval Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9255", "Nominal Respiratory Trigger Delay Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9256", "Respiratory Trigger Delay Threshold", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9257", "Actual Respiratory Trigger Delay Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9421", "Dimension Description Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9450", "Patient Orientation in Frame Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9453", "Frame Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9518", "Acquisition Index", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9529", "Contributing SOP Instances Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0020", "9536", "Reconstruction Index", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0001", "Light Path Filter Pass-Through Wavelength", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0002", "Light Path Filter Pass Band", String.Empty, USa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0003", "Image Path Filter Pass-Through Wavelength", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0004", "Image Path Filter Pass Band", String.Empty, USa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0005", "Patient Eye Movement Commanded", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0006", "Patient Eye Movement Command Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0007", "Spherical Lens Power", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0008", "Cylinder Lens Power", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0009", "Cylinder Axis", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "000a", "Emmetropic Magnification", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "000b", "Intra Ocular Pressure", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "000c", "Horizontal Field of View", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "000d", "Pupil Dilated", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "000e", "Degree of Dilation", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0010", "Stereo Baseline Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0011", "Stereo Baseline Displacement", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0012", "Stereo Horizontal Pixel Offset", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0013", "Stereo Vertical Pixel Offset", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0014", "Stereo Rotation", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0015", "Acquisition Device Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0016", "Illumination Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0017", "Light Path Filter Type Stack Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0018", "Image Path Filter Type Stack Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0019", "Lenses Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "001a", "Channel Description Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "001b", "Refractive State Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "001c", "Mydriatic Agent Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "001d", "Relative Image Position Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0020", "Stereo Pairs Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0021", "Left Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0022", "Right Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0030", "Axial Length of the Eye", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0031", "Ophthalmic Frame Location Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0032", "Reference Coordinates", String.Empty, FLa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0035", "Depth Spatial Resolution", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0036", "Maximum Depth Distortion", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0037", "Along-scan Spatial Resolution", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0038", "Maximum Along-scan Distortion", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0039", "Ophthalmic Image Orientation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0041", "Depth of Transverse Image", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0042", "Mydriatic Agent Concentration Units Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0048", "Across-scan Spatial Resolution", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0049", "Maximum Across-scan Distortion", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "004e", "Mydriatic Agent Concentration", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0055", "Illumination Wave Length", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0056", "Illumination Power", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0057", "Illumination Bandwidth", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0022", "0058", "Mydriatic Agent Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0002", "Samples per Pixel", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0003", "Samples per Pixel Used", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0004", "Photometric Interpretation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0005", "Image Dimensions", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0006", "Planar Configuration", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0008", "Number of Frames", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0009", "Frame Increment Pointer", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "000a", "Frame Dimension Pointer", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0010", "Rows", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0011", "Columns", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0012", "Planes", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0014", "Ultrasound Color Data Present", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0020", "", String.Empty, NONEa, "", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0030", "Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0031", "Zoom Factor", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0032", "Zoom Center", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0034", "Pixel Aspect Ratio", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0040", "Image Format", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0050", "Manipulated Image", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0051", "Corrected Image", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "005f", "Compression Recognition Code", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0060", "Compression Code", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0061", "Compression Originator", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0062", "Compression Label", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0063", "Compression Description", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0065", "Compression Sequence", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0066", "Compression Step Pointers", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0068", "Repeat Interval", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0069", "Bits Grouped", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0070", "Perimeter Table", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0071", "Perimeter Value", String.Empty, USaSSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0080", "Predictor Rows", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0081", "Predictor Columns", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0082", "Predictor Constants", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0090", "Blocked Pixels", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0091", "Block Rows", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0092", "Block Columns", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0093", "Row Overlap", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0094", "Column Overlap", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0100", "Bits Allocated", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0101", "Bits Stored", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0102", "High Bit", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0103", "Pixel Representation", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0104", "Smallest Valid Pixel Value", String.Empty, USaSSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0105", "Largest Valid Pixel Value", String.Empty, USaSSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0106", "Smallest Image Pixel Value", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0107", "Largest Image Pixel Value", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0108", "Smallest Pixel Value in Series", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0109", "Largest Pixel Value in Series", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0110", "Smallest Image Pixel Value in Plane", String.Empty, USaSSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0111", "Largest Image Pixel Value in Plane", String.Empty, USaSSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0120", "Pixel Padding Value", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0121", "Pixel Padding Range Limit", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0200", "Image Location", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0300", "Quality Control Image", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0301", "Burned In Annotation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0400", "Transform Label", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0401", "Transform Version Number", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0402", "Number of Transform Steps", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0403", "Sequence of Compressed Data", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0404", "Details of Coefficients", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "04x0", "Rows For Nth Order Coefficients", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "04x1", "Columns For Nth Order Coefficients", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "04x2", "Coefficient Coding", String.Empty, LOa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "04x3", "Coefficient Coding Pointers", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0700", "DCT Label", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0701", "Data Block Description", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0702", "Data Block", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0710", "Normalization Factor Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0720", "Zonal Map Number Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0721", "Zonal Map Location", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0722", "Zonal Map Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0730", "Adaptive Map Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0740", "Code Number Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "08x0", "Code Label", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "08x2", "Number of Table", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "08x3", "Code Table Location", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "08x4", "Bits For Code Word", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "08x8", "Image Data Location", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "0a02", "Pixel Spacing Calibration Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "0a04", "Pixel Spacing Calibration Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1040", "Pixel Intensity Relationship", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1041", "Pixel Intensity Relationship Sign", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1050", "Window Center", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1051", "Window Width", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1052", "Rescale Intercept", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1053", "Rescale Slope", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1054", "Rescale Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1055", "Window Center & Width Explanation", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1056", "VOI LUT Function", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1080", "Gray Scale", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1090", "Recommended Viewing Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1100", "Gray Lookup Table Descriptor", String.Empty, USaSSa, "3", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1101", "Red Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1102", "Green Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1103", "Blue Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1111", "Large Red Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "4", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1112", "Large Green Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "4", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1113", "Large Blue Palette Color Lookup Table Descriptor", String.Empty, USaSSa, "4", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1199", "Palette Color Lookup Table UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1200", "Gray Lookup Table Data", String.Empty, USaSSaOWa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1201", "Red Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1202", "Green Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1203", "Blue Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1211", "Large Red Palette Color Lookup Table Data", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1212", "Large Green Palette Color Lookup Table Data", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1213", "Large Blue Palette Color Lookup Table Data", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1214", "Large Palette Color Lookup Table UID", String.Empty, UIa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "1221", "Segmented Red Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1222", "Segmented Green Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1223", "Segmented Blue Palette Color Lookup Table Data", String.Empty, OWa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1300", "Implant Present", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1350", "Partial View", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1351", "Partial View Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "1352", "Partial View Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "135a", "Spatial Locations Preserved", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "2000", "ICC Profile", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "2110", "Lossy Image Compression", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "2112", "Lossy Image Compression Ratio", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "2114", "Lossy Image Compression Method", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3000", "Modality LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3002", "LUT Descriptor", String.Empty, USaSSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3003", "LUT Explanation", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3004", "Modality LUT Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3006", "LUT Data", String.Empty, USaSSaOWa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3010", "VOI LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "3110", "Softcopy VOI LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "4000", "Image Presentation Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "5000", "Bi-Plane Acquisition Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "6010", "Representative Frame Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6020", "Frame Numbers of Interest (FOI)", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6022", "Frame(s) of Interest Description", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6023", "Frame of Interest Type", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6030", "Mask Pointer(s)", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0028", "6040", "R Wave Pointer", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6100", "Mask Subtraction Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6101", "Mask Operation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6102", "Applicable Frame Range", String.Empty, USa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6110", "Mask Frame Numbers", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6112", "Contrast Frame Averaging", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6114", "Mask Sub-pixel Shift", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6120", "TID Offset", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "6190", "Mask Operation Explanation", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "7fe0", "Pixel Data Provider URL", String.Empty, UTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9001", "Data Point Rows", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9002", "Data Point Columns", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9003", "Signal Domain Columns", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9099", "Largest Monochrome Pixel Value", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0028", "9108", "Data Representation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9110", "Pixel Measures Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9132", "Frame VOI LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9145", "Pixel Value Transformation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9235", "Signal Domain Rows", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9411", "Display Filter Percentage", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9415", "Frame Pixel Shift Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9416", "Subtraction Item ID", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9422", "Pixel Intensity Relationship LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9443", "Frame Pixel Data Properties Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9444", "Geometrical Properties", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9445", "Geometric Maximum Distortion", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9446", "Image Processing Applied", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9454", "Mask Selection Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9474", "LUT Function", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9520", "Image to Equipment Mapping Matrix", String.Empty, DSa, "16", false));
                Entries.Add(new DcmDictionaryEntry("0028", "9537", "Equipment Coordinate System Identification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "000a", "Study Status ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "000c", "Study Priority ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "0012", "Study ID Issuer", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "0032", "Study Verified Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "0033", "Study Verified Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "0034", "Study Read Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "0035", "Study Read Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1000", "Scheduled Study Start Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1001", "Scheduled Study Start Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1010", "Scheduled Study Stop Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1011", "Scheduled Study Stop Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1020", "Scheduled Study Location", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1021", "Scheduled Study Location AE Title", String.Empty, AEa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1030", "Reason for Study", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1031", "Requesting Physician Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "1032", "Requesting Physician", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "1033", "Requesting Service", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "1040", "Study Arrival Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1041", "Study Arrival Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1050", "Study Completion Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1051", "Study Completion Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1055", "Study Component Status ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0032", "1060", "Requested Procedure Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "1064", "Requested Procedure Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "1070", "Requested Contrast Agent", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0032", "4000", "Study Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0004", "Referenced Patient Alias Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0008", "Visit Status ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0010", "Admission ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0011", "Issuer of Admission ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0016", "Route of Admissions", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "001a", "Scheduled Admission Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "001b", "Scheduled Admission Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "001c", "Scheduled Discharge Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "001d", "Scheduled Discharge Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "001e", "Scheduled Patient Institution Residence", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0020", "Admitting Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0021", "Admitting Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0030", "Discharge Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0032", "Discharge Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0040", "Discharge Diagnosis Description", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0044", "Discharge Diagnosis Code Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0038", "0050", "Special Needs", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0060", "Service Episode ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0061", "Issuer of Service Episode ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0062", "Service Episode Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0100", "Pertinent Documents Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0300", "Current Patient Location", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0400", "Patient's Institution Residence", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0500", "Patient State", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "0502", "Patient Clinical Trial Participation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0038", "4000", "Visit Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0004", "Waveform Originality", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0005", "Number of Waveform Channels", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0010", "Number of Waveform Samples", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "001a", "Sampling Frequency", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0020", "Multiplex Group Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0200", "Channel Definition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0202", "Waveform Channel Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0203", "Channel Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0205", "Channel Status", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0208", "Channel Source Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0209", "Channel Source Modifiers Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "020a", "Source Waveform Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "020c", "Channel Derivation Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0210", "Channel Sensitivity", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0211", "Channel Sensitivity Units Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0212", "Channel Sensitivity Correction Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0213", "Channel Baseline", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0214", "Channel Time Skew", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0215", "Channel Sample Skew", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0218", "Channel Offset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "021a", "Waveform Bits Stored", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0220", "Filter Low Frequency", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0221", "Filter High Frequency", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0222", "Notch Filter Frequency", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0223", "Notch Filter Bandwidth", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0230", "Waveform Data Display Scale", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0231", "Waveform Display Background CIELab Value", String.Empty, USa, "3", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0240", "Waveform Presentation Group Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0241", "Presentation Group Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0242", "Channel Display Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0244", "Channel Recommended Display CIELab Value", String.Empty, USa, "3", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0245", "Channel Position", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0246", "Display Shading Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0247", "Fractional Channel Display Scale", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0248", "Absolute Channel Display Scale", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0300", "Multiplexed Audio Channels Description Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0301", "Channel Identification Code", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("003a", "0302", "Channel Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0001", "Scheduled Station AE Title", String.Empty, AEa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0002", "Scheduled Procedure Step Start Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0003", "Scheduled Procedure Step Start Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0004", "Scheduled Procedure Step End Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0005", "Scheduled Procedure Step End Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0006", "Scheduled Performing Physician's Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0007", "Scheduled Procedure Step Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0008", "Scheduled Protocol Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0009", "Scheduled Procedure Step ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "000a", "Stage Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "000b", "Scheduled Performing Physician Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0010", "Scheduled Station Name", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0011", "Scheduled Procedure Step Location", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0012", "Pre-Medication", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0020", "Scheduled Procedure Step Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0100", "Scheduled Procedure Step Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0220", "Referenced Non-Image Composite SOP Instance Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0241", "Performed Station AE Title", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0242", "Performed Station Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0243", "Performed Location", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0244", "Performed Procedure Step Start Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0245", "Performed Procedure Step Start Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0250", "Performed Procedure Step End Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0251", "Performed Procedure Step End Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0252", "Performed Procedure Step Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0253", "Performed Procedure Step ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0254", "Performed Procedure Step Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0255", "Performed Procedure Type Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0260", "Performed Protocol Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0270", "Scheduled Step Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0275", "Request Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0280", "Comments on the Performed Procedure Step", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0281", "Performed Procedure Step Discontinuation Reason Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0293", "Quantity Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0294", "Quantity", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0295", "Measuring Units Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0296", "Billing Item Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0300", "Total Time of Fluoroscopy", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0301", "Total Number of Exposures", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0302", "Entrance Dose", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0303", "Exposed Area", String.Empty, USa, "1-2", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0306", "Distance Source to Entrance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0307", "Distance Source to Support", String.Empty, DSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "030e", "Exposure Dose Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0310", "Comments on Radiation Dose", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0312", "X-Ray Output", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0314", "Half Value Layer", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0316", "Organ Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0318", "Organ Exposed", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0320", "Billing Procedure Step Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0321", "Film Consumption Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0324", "Billing Supplies and Devices Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0330", "Referenced Procedure Step Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "0340", "Performed Series Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0400", "Comments on the Scheduled Procedure Step", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0440", "Protocol Context Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0441", "Content Item Modifier Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "050a", "Specimen Accession Number", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0550", "Specimen Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0551", "Specimen Identifier", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0552", "Specimen Description Sequence - Trial", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "0553", "Specimen Description - Trial", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "0555", "Acquisition Context Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "0556", "Acquisition Context Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "059a", "Specimen Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "06fa", "Slide Identifier", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "071a", "Image Center Point Coordinates Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "072a", "X offset in Slide Coordinate System", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "073a", "Y offset in Slide Coordinate System", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "074a", "Z offset in Slide Coordinate System", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "08d8", "Pixel Spacing Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "08da", "Coordinate System Axis Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "08ea", "Measurement Units Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "09f8", "Vital Stain Code Sequence - Trial", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "1001", "Requested Procedure ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1002", "Reason for the Requested Procedure", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1003", "Requested Procedure Priority", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1004", "Patient Transport Arrangements", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1005", "Requested Procedure Location", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1006", "Placer Order Number / Procedure", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "1007", "Filler Order Number / Procedure", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "1008", "Confidentiality Code", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1009", "Reporting Priority", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "100a", "Reason for Requested Procedure Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1010", "Names of Intended Recipients of Results", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1011", "Intended Recipients of Results Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1101", "Person Identification Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1102", "Person's Address", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1103", "Person's Telephone Numbers", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "1400", "Requested Procedure Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2001", "Reason for the Imaging Service Request", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "2004", "Issue Date of Imaging Service Request", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2005", "Issue Time of Imaging Service Request", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2006", "Placer Order Number / Imaging Service Request (Retired)", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "2007", "Filler Order Number / Imaging Service Request (Retired)", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "2008", "Order Entered By", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2009", "Order Enterer's Location", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2010", "Order Callback Phone Number", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2016", "Placer Order Number / Imaging Service Request", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2017", "Filler Order Number / Imaging Service Request", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "2400", "Imaging Service Request Comments", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "3001", "Confidentiality Constraint on Patient Data Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4001", "General Purpose Scheduled Procedure Step Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4002", "General Purpose Performed Procedure Step Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4003", "General Purpose Scheduled Procedure Step Priority", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4004", "Scheduled Processing Applications Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4005", "Scheduled Procedure Step Start Date and Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4006", "Multiple Copies Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4007", "Performed Processing Applications Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4009", "Human Performer Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4010", "Scheduled Procedure Step Modification Date and Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4011", "Expected Completion Date and Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4015", "Resulting General Purpose Performed Procedure Steps Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4016", "Referenced General Purpose Scheduled Procedure Step Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4018", "Scheduled Workitem Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4019", "Performed Workitem Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4020", "Input Availability Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4021", "Input Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4022", "Relevant Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4023", "Referenced General Purpose Scheduled Procedure Step Transaction UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4025", "Scheduled Station Name Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4026", "Scheduled Station Class Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4027", "Scheduled Station Geographic Location Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4028", "Performed Station Name Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4029", "Performed Station Class Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4030", "Performed Station Geographic Location Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4031", "Requested Subsequent Workitem Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4032", "Non-DICOM Output Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4033", "Output Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4034", "Scheduled Human Performers Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4035", "Actual Human Performers Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4036", "Human Performer's Organization", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "4037", "Human Performer's Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "8302", "Entrance Dose in mGy", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9094", "Referenced Image Real World Value Mapping Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9096", "Real World Value Mapping Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9098", "Pixel Value Mapping Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9210", "LUT Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9211", "Real World Value Last Value Mapped", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9212", "Real World Value LUT Data", String.Empty, FDa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9216", "Real World Value First Value Mapped", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9224", "Real World Value Intercept", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "9225", "Real World Value Slope", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a010", "Relationship Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a027", "Verifying Organization", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a030", "Verification Date Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a032", "Observation Date Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a040", "Value Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a043", "Concept Name Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a050", "Continuity Of Content", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a073", "Verifying Observer Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a075", "Verifying Observer Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a078", "Author Observer Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a07a", "Participant Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a07c", "Custodial Organization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a080", "Participation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a082", "Participation DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a084", "Observer Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a088", "Verifying Observer Identification Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a090", "Equivalent CDA Document Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "a0b0", "Referenced Waveform Channels", String.Empty, USa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a120", "DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a121", "Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a122", "Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a123", "Person Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a124", "UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a130", "Temporal Range Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a132", "Referenced Sample Positions", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a136", "Referenced Frame Numbers", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a138", "Referenced Time Offsets", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a13a", "Referenced DateTime", String.Empty, DTa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a160", "Text Value", String.Empty, UTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a168", "Concept Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a170", "Purpose of Reference Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a180", "Annotation Group Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a195", "Modifier Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a300", "Measured Value Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a301", "Numeric Value Qualifier Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a30a", "Numeric Value", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a353", "Address - Trial", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "a354", "Telephone Number - Trial", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "a360", "Predecessor Documents Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a370", "Referenced Request Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a372", "Performed Procedure Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a375", "Current Requested Procedure Evidence Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a385", "Pertinent Other Evidence Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a390", "HL7 Structured Document Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a491", "Completion Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a492", "Completion Flag Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a493", "Verification Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a494", "Archive Requested", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a504", "Content Template Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a525", "Identical Documents Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "a730", "Content Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "b020", "Annotation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "db00", "Template Identifier", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "db06", "Template Version", String.Empty, DTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "db07", "Template Local Version", String.Empty, DTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "db0b", "Template Extension Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "db0c", "Template Extension Organization UID", String.Empty, UIa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "db0d", "Template Extension Creator UID", String.Empty, UIa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0040", "db73", "Referenced Content Item Identifier", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0040", "e001", "HL7 Instance Identifier", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "e004", "HL7 Document Effective Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "e006", "HL7 Document Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0040", "e010", "Retrieve URI", String.Empty, UTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0042", "0010", "Document Title", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0042", "0011", "Encapsulated Document", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0042", "0012", "MIME Type of Encapsulated Document", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0042", "0013", "Source Instance Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0042", "0014", "List of MIME Types", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0001", "Product Package Identifier", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0002", "Substance Administration Approval", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0003", "Approval Status Further Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0004", "Approval Status DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0007", "Product Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0008", "Product Name", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0009", "Product Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "000a", "Product Lot Identifier", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "000b", "Product Expiration DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0010", "Substance Administration DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0011", "Substance Administration Notes", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0012", "Substance Administration Device ID", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0013", "Product Parameter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0044", "0019", "Substance Administration Parameter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0004", "Calibration Image", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0010", "Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0014", "Device Length", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0016", "Device Diameter", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0017", "Device Diameter Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0018", "Device Volume", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0019", "Intermarker Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0050", "0020", "Device Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0010", "Energy Window Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0011", "Number of Energy Windows", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0012", "Energy Window Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0013", "Energy Window Range Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0014", "Energy Window Lower Limit", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0015", "Energy Window Upper Limit", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0016", "Radiopharmaceutical Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0017", "Residual Syringe Counts", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0018", "Energy Window Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0020", "Detector Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0021", "Number of Detectors", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0022", "Detector Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0030", "Phase Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0031", "Number of Phases", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0032", "Phase Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0033", "Number of Frames in Phase", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0036", "Phase Delay", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0038", "Pause Between Frames", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0039", "Phase Description", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0050", "Rotation Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0051", "Number of Rotations", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0052", "Rotation Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0053", "Number of Frames in Rotation", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0060", "R-R Interval Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0061", "Number of R-R Intervals", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0062", "Gated Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0063", "Data Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0070", "Time Slot Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0071", "Number of Time Slots", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0072", "Time Slot Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0073", "Time Slot Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0080", "Slice Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0081", "Number of Slices", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0090", "Angular View Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0100", "Time Slice Vector", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0101", "Number of Time Slices", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0200", "Start Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0202", "Type of Detector Motion", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0210", "Trigger Vector", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0211", "Number of Triggers in Phase", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0220", "View Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0222", "View Modifier Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0300", "Radionuclide Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0302", "Administration Route Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0304", "Radiopharmaceutical Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0306", "Calibration Data Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0308", "Energy Window Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0400", "Image ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0410", "Patient Orientation Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0412", "Patient Orientation Modifier Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0414", "Patient Gantry Relationship Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "0500", "Slice Progression Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1000", "Series Type", String.Empty, CSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1001", "Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1002", "Counts Source", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1004", "Reprojection Method", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1100", "Randoms Correction Method", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1101", "Attenuation Correction Method", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1102", "Decay Correction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1103", "Reconstruction Method", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1104", "Detector Lines of Response Used", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1105", "Scatter Correction Method", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1200", "Axial Acceptance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1201", "Axial Mash", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1202", "Transverse Mash", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1203", "Detector Element Size", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1210", "Coincidence Window Width", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1220", "Secondary Counts Type", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1300", "Frame Reference Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1310", "Primary (Prompts) Counts Accumulated", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1311", "Secondary Counts Accumulated", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1320", "Slice Sensitivity Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1321", "Decay Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1322", "Dose Calibration Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1323", "Scatter Fraction Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1324", "Dead Time Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1330", "Image Index", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0054", "1400", "Counts Included", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("0054", "1401", "Dead Time Correction Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0060", "3000", "Histogram Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3002", "Histogram Number of Bins", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3004", "Histogram First Bin Value", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3006", "Histogram Last Bin Value", String.Empty, USaSSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3008", "Histogram Bin Width", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3010", "Histogram Explanation", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0060", "3020", "Histogram Data", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0001", "Segmentation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0002", "Segment Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0003", "Segmented Property Category Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0004", "Segment Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0005", "Segment Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0006", "Segment Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0008", "Segment Algorithm Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0009", "Segment Algorithm Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000a", "Segment Identification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000b", "Referenced Segment Number", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000c", "Recommended Display Grayscale Value", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000d", "Recommended Display CIELab Value", String.Empty, USa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000e", "Maximum Fractional Value", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "000f", "Segmented Property Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0062", "0010", "Segmentation Fractional Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0002", "Deformable Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0003", "Source Frame of Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0005", "Deformable Registration Grid Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0007", "Grid Dimensions", String.Empty, ULa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0008", "Grid Resolution", String.Empty, FDa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0009", "Vector Grid Data", String.Empty, OFa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "000f", "Pre Deformation Matrix Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0064", "0010", "Post Deformation Matrix Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0001", "Graphic Annotation Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0002", "Graphic Layer", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0003", "Bounding Box Annotation Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0004", "Anchor Point Annotation Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0005", "Graphic Annotation Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0006", "Unformatted Text Value", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0008", "Text Object Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0009", "Graphic Object Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0010", "Bounding Box Top Left Hand Corner", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0011", "Bounding Box Bottom Right Hand Corner", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0012", "Bounding Box Text Horizontal Justification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0014", "Anchor Point", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0015", "Anchor Point Visibility", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0020", "Graphic Dimensions", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0021", "Number of Graphic Points", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0022", "Graphic Data", String.Empty, FLa, "2-n", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0023", "Graphic Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0024", "Graphic Filled", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0040", "Image Rotation (Retired)", String.Empty, ISa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0070", "0041", "Image Horizontal Flip", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0042", "Image Rotation", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0050", "Displayed Area Top Left Hand Corner (Trial)", String.Empty, USa, "2", true));
                Entries.Add(new DcmDictionaryEntry("0070", "0051", "Displayed Area Bottom Right Hand Corner (Trial)", String.Empty, USa, "2", true));
                Entries.Add(new DcmDictionaryEntry("0070", "0052", "Displayed Area Top Left Hand Corner", String.Empty, SLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0053", "Displayed Area Bottom Right Hand Corner", String.Empty, SLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "005a", "Displayed Area Selection Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0060", "Graphic Layer Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0062", "Graphic Layer Order", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0066", "Graphic Layer Recommended Display Grayscale Value", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0067", "Graphic Layer Recommended Display RGB Value", String.Empty, USa, "3", true));
                Entries.Add(new DcmDictionaryEntry("0070", "0068", "Graphic Layer Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0080", "Content Label", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0081", "Content Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0082", "Presentation Creation Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0083", "Presentation Creation Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0084", "Content Creator's Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0086", "Content Creator's Identification Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0100", "Presentation Size Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0101", "Presentation Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0102", "Presentation Pixel Aspect Ratio", String.Empty, ISa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0103", "Presentation Pixel Magnification Ratio", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0306", "Shape Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0308", "Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0309", "Matrix Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "030a", "Matrix Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "030c", "Frame of Reference Transformation Matrix Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "030d", "Registration Type Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "030f", "Fiducial Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0310", "Fiducial Identifier", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0311", "Fiducial Identifier Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0312", "Contour Uncertainty Radius", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0314", "Used Fiducials Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0318", "Graphic Coordinates Data Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "031a", "Fiducial UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "031c", "Fiducial Set Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "031e", "Fiducial Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0401", "Graphic Layer Recommended Display CIELab Value", String.Empty, USa, "3", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0402", "Blending Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0403", "Relative Opacity", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0404", "Referenced Spatial Registration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0070", "0405", "Blending Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0002", "Hanging Protocol Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0004", "Hanging Protocol Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0006", "Hanging Protocol Level", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0008", "Hanging Protocol Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "000a", "Hanging Protocol Creation DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "000c", "Hanging Protocol Definition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "000e", "Hanging Protocol User Identification Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0010", "Hanging Protocol User Group Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0012", "Source Hanging Protocol Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0014", "Number of Priors Referenced", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0020", "Image Sets Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0022", "Image Set Selector Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0024", "Image Set Selector Usage Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0026", "Selector Attribute", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0028", "Selector Value Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0030", "Time Based Image Sets Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0032", "Image Set Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0034", "Image Set Selector Category", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0038", "Relative Time", String.Empty, USa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0072", "003a", "Relative Time Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "003c", "Abstract Prior Value", String.Empty, SSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0072", "003e", "Abstract Prior Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0040", "Image Set Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0050", "Selector Attribute VR", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0052", "Selector Sequence Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0054", "Selector Sequence Pointer Private Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0056", "Selector Attribute Private Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0060", "Selector AT Value", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0062", "Selector CS Value", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0064", "Selector IS Value", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0066", "Selector LO Value", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0068", "Selector LT Value", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "006a", "Selector PN Value", String.Empty, PNa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "006c", "Selector SH Value", String.Empty, SHa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "006e", "Selector ST Value", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0070", "Selector UT Value", String.Empty, UTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0072", "Selector DS Value", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0074", "Selector FD Value", String.Empty, FDa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0076", "Selector FL Value", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0078", "Selector UL Value", String.Empty, ULa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "007a", "Selector US Value", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "007c", "Selector SL Value", String.Empty, SLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "007e", "Selector SS Value", String.Empty, SSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0080", "Selector Code Sequence Value", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0100", "Number of Screens", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0102", "Nominal Screen Definition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0104", "Number of Vertical Pixels", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0106", "Number of Horizontal Pixels", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0108", "Display Environment Spatial Position", String.Empty, FDa, "4", false));
                Entries.Add(new DcmDictionaryEntry("0072", "010a", "Screen Minimum Grayscale Bit Depth", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "010c", "Screen Minimum Color Bit Depth", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "010e", "Application Maximum Repaint Time", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0200", "Display Sets Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0202", "Display Set Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0203", "Display Set Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0204", "Display Set Presentation Group", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0206", "Display Set Presentation Group Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0208", "Partial Data Display Handling", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0210", "Synchronized Scrolling Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0212", "Display Set Scrolling Group", String.Empty, USa, "2-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0214", "Navigation Indicator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0216", "Navigation Display Set", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0218", "Reference Display Sets", String.Empty, USa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0300", "Image Boxes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0302", "Image Box Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0304", "Image Box Layout Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0306", "Image Box Tile Horizontal Dimension", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0308", "Image Box Tile Vertical Dimension", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0310", "Image Box Scroll Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0312", "Image Box Small Scroll Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0314", "Image Box Small Scroll Amount", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0316", "Image Box Large Scroll Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0318", "Image Box Large Scroll Amount", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0320", "Image Box Overlap Priority", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0330", "Cine Relative to Real-Time", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0400", "Filter Operations Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0402", "Filter-by Category", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0404", "Filter-by Attribute Presence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0406", "Filter-by Operator", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0500", "Blending Operation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0510", "Reformatting Operation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0512", "Reformatting Thickness", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0514", "Reformatting Interval", String.Empty, FDa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0516", "Reformatting Operation Initial View Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0520", "3D Rendering Type", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0600", "Sorting Operations Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0602", "Sort-by Category", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0604", "Sorting Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0700", "Display Set Patient Orientation", String.Empty, CSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0702", "VOI Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0704", "Pseudo-color Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0706", "Show Grayscale Inverted", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0710", "Show Image True Size Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0712", "Show Graphic Annotation Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0714", "Show Patient Demographics Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0716", "Show Acquisition Techniques Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0717", "Display Set Horizontal Justification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0072", "0718", "Display Set Vertical Justification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1000", "Unified Procedure Step State", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1002", "UPS Progress Information Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1004", "Unified Procedure Step Progress", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1006", "Unified Procedure Step Progress Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1008", "Unified Procedure Step Communications URI Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "100a", "Contact URI", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "100c", "Contact Display Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "100e", "Unified Procedure Step Discontinuation Reason Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1020", "Beam Task Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1022", "Beam Task Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1024", "Beam Order Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1030", "Delivery Verification Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1032", "Verification Image Timing", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1034", "Double Exposure Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1036", "Double Exposure Ordering", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1038", "Double Exposure Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "103a", "Double Exposure Field Delta", String.Empty, DSa, "4", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1040", "Related Reference RT Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1042", "General Machine Verification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1044", "Conventional Machine Verification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1046", "Ion Machine Verification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1048", "Failed Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "104a", "Overridden Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "104c", "Conventional Control Point Verification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "104e", "Ion Control Point Verification Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1050", "Attribute Occurrence Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1052", "Attribute Occurrence Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1054", "Attribute Item Selector", String.Empty, ULa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1056", "Attribute Occurrence Private Creator", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1200", "Scheduled Procedure Step Priority", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1202", "Worklist Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1204", "Procedure Step Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1210", "Scheduled Processing Parameters Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1212", "Performed Processing Parameters Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1216", "UPS Performed Procedure Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1220", "Related Procedure Step Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1222", "Procedure Step Relationship Type", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1230", "Deletion Lock", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1234", "Receiving AE", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1236", "Requesting AE", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1238", "Reason for Cancellation", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1242", "SCP Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1244", "Subscription List Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0074", "1246", "UPS List Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0088", "0130", "Storage Media File-set ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0088", "0140", "Storage Media File-set UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0088", "0200", "Icon Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0088", "0904", "Topic Title", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0088", "0906", "Topic Subject", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0088", "0910", "Topic Author", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("0088", "0912", "Topic Keywords", String.Empty, LOa, "1-32", true));
                Entries.Add(new DcmDictionaryEntry("0100", "0410", "SOP Instance Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0100", "0420", "SOP Authorization Date and Time", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0100", "0424", "SOP Authorization Comment", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0100", "0426", "Authorization Equipment Certification Number", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0005", "MAC ID Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0010", "MAC Calculation Transfer Syntax UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0015", "MAC Algorithm", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0020", "Data Elements Signed", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0100", "Digital Signature UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0105", "Digital Signature DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0110", "Certificate Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0115", "Certificate of Signer", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0120", "Signature", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0305", "Certified Timestamp Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0310", "Certified Timestamp", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0401", "Digital Signature Purpose Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0402", "Referenced Digital Signature Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0403", "Referenced SOP Instance MAC Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0404", "MAC", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0500", "Encrypted Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0510", "Encrypted Content Transfer Syntax UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0520", "Encrypted Content", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0550", "Modified Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0561", "Original Attributes Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0562", "Attribute Modification DateTime", String.Empty, DTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0563", "Modifying System", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0564", "Source of Previous Values", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("0400", "0565", "Reason for the Attribute Modification", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx0", "Escape Triplet", String.Empty, USa, "3", true));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx1", "Run Length Triplet", String.Empty, USa, "3", true));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx2", "Huffman Table Size", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx3", "Huffman Table Triplet", String.Empty, USa, "3", true));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx4", "Shift Table Size", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("1000", "xxx5", "Shift Table Triplet", String.Empty, USa, "3", true));
                Entries.Add(new DcmDictionaryEntry("1010", "xxxx", "Zonal Map", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("2000", "0010", "Number of Copies", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "001e", "Printer Configuration Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0020", "Print Priority", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0030", "Medium Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0040", "Film Destination", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0050", "Film Session Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0060", "Memory Allocation", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0061", "Maximum Memory Allocation", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0062", "Color Image Printing Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "0063", "Collation Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "0065", "Annotation Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "0067", "Image Overlay Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "0069", "Presentation LUT Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "006a", "Image Box Presentation LUT Flag", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2000", "00a0", "Memory Bit Depth", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "00a1", "Printing Bit Depth", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "00a2", "Media Installed Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "00a4", "Other Media Available Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "00a8", "Supported Image Display Formats Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0500", "Referenced Film Box Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2000", "0510", "Referenced Stored Print Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2010", "0010", "Image Display Format", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0030", "Annotation Display Format ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0040", "Film Orientation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0050", "Film Size ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0052", "Printer Resolution ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0054", "Default Printer Resolution ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0060", "Magnification Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0080", "Smoothing Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "00a6", "Default Magnification Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "00a7", "Other Magnification Types Available", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("2010", "00a8", "Default Smoothing Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "00a9", "Other Smoothing Types Available", String.Empty, CSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0100", "Border Density", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0110", "Empty Image Density", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0120", "Min Density", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0130", "Max Density", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0140", "Trim", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0150", "Configuration Information", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0152", "Configuration Information Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0154", "Maximum Collated Films", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "015e", "Illumination", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0160", "Reflected Ambient Light", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0376", "Printer Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0500", "Referenced Film Session Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0510", "Referenced Image Box Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2010", "0520", "Referenced Basic Annotation Box Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0010", "Image Box Position", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0020", "Polarity", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0030", "Requested Image Size", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0040", "Requested Decimate/Crop Behavior", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0050", "Requested Resolution ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "00a0", "Requested Image Size Flag", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "00a2", "Decimate/Crop Result", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0110", "Basic Grayscale Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0111", "Basic Color Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2020", "0130", "Referenced Image Overlay Box Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2020", "0140", "Referenced VOI LUT Box Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2030", "0010", "Annotation Position", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2030", "0020", "Text String", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2040", "0010", "Referenced Overlay Plane Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0011", "Referenced Overlay Plane Groups", String.Empty, USa, "1-99", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0020", "Overlay Pixel Data Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0060", "Overlay Magnification Type", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0070", "Overlay Smoothing Type", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0072", "Overlay or Image Magnification", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0074", "Magnify to Number of Columns", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0080", "Overlay Foreground Density", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0082", "Overlay Background Density", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0090", "Overlay Mode", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0100", "Threshold Density", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2040", "0500", "Referenced Image Box Sequence (Retired)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2050", "0010", "Presentation LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2050", "0020", "Presentation LUT Shape", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2050", "0500", "Referenced Presentation LUT Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0010", "Print Job ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2100", "0020", "Execution Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0030", "Execution Status Info", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0040", "Creation Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0050", "Creation Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0070", "Originator", String.Empty, AEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0140", "Destination AE", String.Empty, AEa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2100", "0160", "Owner ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0170", "Number of Films", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2100", "0500", "Referenced Print Job Sequence (Pull Stored Print)", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2110", "0010", "Printer Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2110", "0020", "Printer Status Info", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2110", "0030", "Printer Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2110", "0099", "Print Queue ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2120", "0010", "Queue Status", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2120", "0050", "Print Job Description Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2120", "0070", "Referenced Print Job Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0010", "Print Management Capabilities Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0015", "Printer Characteristics Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0030", "Film Box Content Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0040", "Image Box Content Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0050", "Annotation Content Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0060", "Image Overlay Box Content Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "0080", "Presentation LUT Content Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "00a0", "Proposed Study Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2130", "00c0", "Original Image Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("2200", "0001", "Label Using Information Extracted From Instances", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0002", "Label Text", String.Empty, UTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0003", "Label Style Selection", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0004", "Media Disposition", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0005", "Barcode Value", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0006", "Barcode Symbology", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0007", "Allow Media Splitting", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0008", "Include Non-DICOM Objects", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0009", "Include Display Application", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000a", "Preserve Composite Instances After Media Creation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000b", "Total Number of Pieces of Media Created", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000c", "Requested Media Application Profile", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000d", "Referenced Storage Media Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000e", "Failure Attributes", String.Empty, ATa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("2200", "000f", "Allow Lossy Compression", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("2200", "0020", "Request Priority", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0002", "RT Image Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0003", "RT Image Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0004", "RT Image Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "000a", "Reported Values Origin", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "000c", "RT Image Plane", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "000d", "X-Ray Image Receptor Translation", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("3002", "000e", "X-Ray Image Receptor Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0010", "RT Image Orientation", String.Empty, DSa, "6", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0011", "Image Plane Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0012", "RT Image Position", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0020", "Radiation Machine Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0022", "Radiation Machine SAD", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0024", "Radiation Machine SSD", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0026", "RT Image SID", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0028", "Source to Reference Object Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0029", "Fraction Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0030", "Exposure Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0032", "Meterset Exposure", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0034", "Diaphragm Position", String.Empty, DSa, "4", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0040", "Fluence Map Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0041", "Fluence Data Source", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3002", "0042", "Fluence Data Scale", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0001", "DVH Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0002", "Dose Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0004", "Dose Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0006", "Dose Comment", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0008", "Normalization Point", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("3004", "000a", "Dose Summation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "000c", "Grid Frame Offset Vector", String.Empty, DSa, "2-n", false));
                Entries.Add(new DcmDictionaryEntry("3004", "000e", "Dose Grid Scaling", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0010", "RT Dose ROI Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0012", "Dose Value", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0014", "Tissue Heterogeneity Correction", String.Empty, CSa, "1-3", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0040", "DVH Normalization Point", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0042", "DVH Normalization Dose Value", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0050", "DVH Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0052", "DVH Dose Scaling", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0054", "DVH Volume Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0056", "DVH Number of Bins", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0058", "DVH Data", String.Empty, DSa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0060", "DVH Referenced ROI Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0062", "DVH ROI Contribution Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0070", "DVH Minimum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0072", "DVH Maximum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3004", "0074", "DVH Mean Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0002", "Structure Set Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0004", "Structure Set Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0006", "Structure Set Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0008", "Structure Set Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0009", "Structure Set Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0010", "Referenced Frame of Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0012", "RT Referenced Study Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0014", "RT Referenced Series Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0016", "Contour Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0020", "Structure Set ROI Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0022", "ROI Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0024", "Referenced Frame of Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0026", "ROI Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0028", "ROI Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "002a", "ROI Display Color", String.Empty, ISa, "3", false));
                Entries.Add(new DcmDictionaryEntry("3006", "002c", "ROI Volume", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0030", "RT Related ROI Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0033", "RT ROI Relationship", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0036", "ROI Generation Algorithm", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0038", "ROI Generation Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0039", "ROI Contour Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0040", "Contour Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0042", "Contour Geometric Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0044", "Contour Slab Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0045", "Contour Offset Vector", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0046", "Number of Contour Points", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0048", "Contour Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0049", "Attached Contours", String.Empty, ISa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0050", "Contour Data", String.Empty, DSa, "3-3n", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0080", "RT ROI Observations Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0082", "Observation Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0084", "Referenced ROI Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0085", "ROI Observation Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0086", "RT ROI Identification Code Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "0088", "ROI Observation Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00a0", "Related RT ROI Observations Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00a4", "RT ROI Interpreted Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00a6", "ROI Interpreter", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b0", "ROI Physical Properties Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b2", "ROI Physical Property", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b4", "ROI Physical Property Value", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b6", "ROI Elemental Composition Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b7", "ROI Elemental Composition Atomic Number", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00b8", "ROI Elemental Composition Atomic Mass Fraction", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00c0", "Frame of Reference Relationship Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00c2", "Related Frame of Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00c4", "Frame of Reference Transformation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00c6", "Frame of Reference Transformation Matrix", String.Empty, DSa, "16", false));
                Entries.Add(new DcmDictionaryEntry("3006", "00c8", "Frame of Reference Transformation Comment", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0010", "Measured Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0012", "Measured Dose Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0014", "Measured Dose Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0016", "Measured Dose Value", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0020", "Treatment Session Beam Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0021", "Treatment Session Ion Beam Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0022", "Current Fraction Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0024", "Treatment Control Point Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0025", "Treatment Control Point Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "002a", "Treatment Termination Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "002b", "Treatment Termination Code", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "002c", "Treatment Verification Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0030", "Referenced Treatment Record Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0032", "Specified Primary Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0033", "Specified Secondary Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0036", "Delivered Primary Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0037", "Delivered Secondary Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "003a", "Specified Treatment Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "003b", "Delivered Treatment Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0040", "Control Point Delivery Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0041", "Ion Control Point Delivery Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0042", "Specified Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0044", "Delivered Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0045", "Meterset Rate Set", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0046", "Meterset Rate Delivered", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0047", "Scan Spot Metersets Delivered", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0048", "Dose Rate Delivered", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0050", "Treatment Summary Calculated Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0052", "Cumulative Dose to Dose Reference", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0054", "First Treatment Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0056", "Most Recent Treatment Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "005a", "Number of Fractions Delivered", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0060", "Override Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0061", "Parameter Sequence Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0062", "Override Parameter Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0063", "Parameter Item Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0064", "Measured Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0065", "Parameter Pointer", String.Empty, ATa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0066", "Override Reason", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0068", "Corrected Parameter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "006a", "Correction Value", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0070", "Calculated Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0072", "Calculated Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0074", "Calculated Dose Reference Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0076", "Calculated Dose Reference Dose Value", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0078", "Start Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "007a", "End Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0080", "Referenced Measured Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0082", "Referenced Measured Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0090", "Referenced Calculated Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0092", "Referenced Calculated Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00a0", "Beam Limiting Device Leaf Pairs Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00b0", "Recorded Wedge Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00c0", "Recorded Compensator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00d0", "Recorded Block Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00e0", "Treatment Summary Measured Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00f0", "Recorded Snout Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00f2", "Recorded Range Shifter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00f4", "Recorded Lateral Spreading Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "00f6", "Recorded Range Modulator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0100", "Recorded Source Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0105", "Source Serial Number", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0110", "Treatment Session Application Setup Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0116", "Application Setup Check", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0120", "Recorded Brachy Accessory Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0122", "Referenced Brachy Accessory Device Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0130", "Recorded Channel Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0132", "Specified Channel Total Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0134", "Delivered Channel Total Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0136", "Specified Number of Pulses", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0138", "Delivered Number of Pulses", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "013a", "Specified Pulse Repetition Interval", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "013c", "Delivered Pulse Repetition Interval", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0140", "Recorded Source Applicator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0142", "Referenced Source Applicator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0150", "Recorded Channel Shield Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0152", "Referenced Channel Shield Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0160", "Brachy Control Point Delivered Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0162", "Safe Position Exit Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0164", "Safe Position Exit Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0166", "Safe Position Return Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0168", "Safe Position Return Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0200", "Current Treatment Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0202", "Treatment Status Comment", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0220", "Fraction Group Summary Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0223", "Referenced Fraction Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0224", "Fraction Group Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0230", "Beam Stopper Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0240", "Fraction Status Summary Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0250", "Treatment Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("3008", "0251", "Treatment Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0002", "RT Plan Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0003", "RT Plan Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0004", "RT Plan Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0006", "RT Plan Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0007", "RT Plan Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0009", "Treatment Protocols", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "000a", "Plan Intent", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "000b", "Treatment Sites", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "000c", "RT Plan Geometry", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "000e", "Prescription Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0010", "Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0012", "Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0013", "Dose Reference UID", String.Empty, UIa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0014", "Dose Reference Structure Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0015", "Nominal Beam Energy Unit", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0016", "Dose Reference Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0018", "Dose Reference Point Coordinates", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "001a", "Nominal Prior Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0020", "Dose Reference Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0021", "Constraint Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0022", "Delivery Warning Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0023", "Delivery Maximum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0025", "Target Minimum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0026", "Target Prescription Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0027", "Target Maximum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0028", "Target Underdose Volume Fraction", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "002a", "Organ at Risk Full-volume Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "002b", "Organ at Risk Limit Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "002c", "Organ at Risk Maximum Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "002d", "Organ at Risk Overdose Volume Fraction", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0040", "Tolerance Table Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0042", "Tolerance Table Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0043", "Tolerance Table Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0044", "Gantry Angle Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0046", "Beam Limiting Device Angle Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0048", "Beam Limiting Device Tolerance Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "004a", "Beam Limiting Device Position Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "004b", "Snout Position Tolerance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "004c", "Patient Support Angle Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "004e", "Table Top Eccentric Angle Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "004f", "Table Top Pitch Angle Tolerance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0050", "Table Top Roll Angle Tolerance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0051", "Table Top Vertical Position Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0052", "Table Top Longitudinal Position Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0053", "Table Top Lateral Position Tolerance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0055", "RT Plan Relationship", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0070", "Fraction Group Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0071", "Fraction Group Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0072", "Fraction Group Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0078", "Number of Fractions Planned", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0079", "Number of Fraction Pattern Digits Per Day", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "007a", "Repeat Fraction Cycle Length", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "007b", "Fraction Pattern", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0080", "Number of Beams", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0082", "Beam Dose Specification Point", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0084", "Beam Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0086", "Beam Meterset", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0088", "Beam Dose Point Depth", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0089", "Beam Dose Point Equivalent Depth", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "008a", "Beam Dose Point SSD", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00a0", "Number of Brachy Application Setups", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00a2", "Brachy Application Setup Dose Specification Point", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00a4", "Brachy Application Setup Dose", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b0", "Beam Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b2", "Treatment Machine Name", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b3", "Primary Dosimeter Unit", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b4", "Source-Axis Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b6", "Beam Limiting Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00b8", "RT Beam Limiting Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ba", "Source to Beam Limiting Device Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00bb", "Isocenter to Beam Limiting Device Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00bc", "Number of Leaf/Jaw Pairs", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00be", "Leaf Position Boundaries", String.Empty, DSa, "3-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c0", "Beam Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c2", "Beam Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c3", "Beam Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c4", "Beam Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c6", "Radiation Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c7", "High-Dose Technique Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00c8", "Reference Image Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ca", "Planned Verification Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00cc", "Imaging Device-Specific Acquisition Parameters", String.Empty, LOa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ce", "Treatment Delivery Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d0", "Number of Wedges", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d1", "Wedge Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d2", "Wedge Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d3", "Wedge Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d4", "Wedge ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d5", "Wedge Angle", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d6", "Wedge Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d7", "Total Wedge Tray Water-Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d8", "Wedge Orientation", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00d9", "Isocenter to Wedge Tray Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00da", "Source to Wedge Tray Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00db", "Wedge Thin Edge Position", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00dc", "Bolus ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00dd", "Bolus Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e0", "Number of Compensators", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e1", "Material ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e2", "Total Compensator Tray Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e3", "Compensator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e4", "Compensator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e5", "Compensator ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e6", "Source to Compensator Tray Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e7", "Compensator Rows", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e8", "Compensator Columns", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00e9", "Compensator Pixel Spacing", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ea", "Compensator Position", String.Empty, DSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00eb", "Compensator Transmission Data", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ec", "Compensator Thickness Data", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ed", "Number of Boli", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00ee", "Compensator Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f0", "Number of Blocks", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f2", "Total Block Tray Factor", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f3", "Total Block Tray Water-Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f4", "Block Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f5", "Block Tray ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f6", "Source to Block Tray Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f7", "Isocenter to Block Tray Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f8", "Block Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00f9", "Accessory Code", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00fa", "Block Divergence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00fb", "Block Mounting Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00fc", "Block Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "00fe", "Block Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0100", "Block Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0102", "Block Transmission", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0104", "Block Number of Points", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0106", "Block Data", String.Empty, DSa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0107", "Applicator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0108", "Applicator ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0109", "Applicator Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "010a", "Applicator Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "010c", "Cumulative Dose Reference Coefficient", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "010e", "Final Cumulative Meterset Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0110", "Number of Control Points", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0111", "Control Point Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0112", "Control Point Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0114", "Nominal Beam Energy", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0115", "Dose Rate Set", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0116", "Wedge Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0118", "Wedge Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "011a", "Beam Limiting Device Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "011c", "Leaf/Jaw Positions", String.Empty, DSa, "2-2n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "011e", "Gantry Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "011f", "Gantry Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0120", "Beam Limiting Device Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0121", "Beam Limiting Device Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0122", "Patient Support Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0123", "Patient Support Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0124", "Table Top Eccentric Axis Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0125", "Table Top Eccentric Angle", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0126", "Table Top Eccentric Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0128", "Table Top Vertical Position", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0129", "Table Top Longitudinal Position", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "012a", "Table Top Lateral Position", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "012c", "Isocenter Position", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "012e", "Surface Entry Point", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0130", "Source to Surface Distance", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0134", "Cumulative Meterset Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0140", "Table Top Pitch Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0142", "Table Top Pitch Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0144", "Table Top Roll Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0146", "Table Top Roll Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0148", "Head Fixation Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "014a", "Gantry Pitch Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "014c", "Gantry Pitch Rotation Direction", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "014e", "Gantry Pitch Angle Tolerance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0180", "Patient Setup Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0182", "Patient Setup Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0183", "Patient Setup Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0184", "Patient Additional Position", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0190", "Fixation Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0192", "Fixation Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0194", "Fixation Device Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0196", "Fixation Device Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0198", "Fixation Device Position", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0199", "Fixation Device Pitch Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "019a", "Fixation Device Roll Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01a0", "Shielding Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01a2", "Shielding Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01a4", "Shielding Device Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01a6", "Shielding Device Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01a8", "Shielding Device Position", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01b0", "Setup Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01b2", "Setup Technique Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01b4", "Setup Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01b6", "Setup Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01b8", "Setup Device Label", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01ba", "Setup Device Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01bc", "Setup Device Parameter", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01d0", "Setup Reference Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01d2", "Table Top Vertical Setup Displacement", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01d4", "Table Top Longitudinal Setup Displacement", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "01d6", "Table Top Lateral Setup Displacement", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0200", "Brachy Treatment Technique", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0202", "Brachy Treatment Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0206", "Treatment Machine Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0210", "Source Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0212", "Source Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0214", "Source Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0216", "Source Manufacturer", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0218", "Active Source Diameter", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "021a", "Active Source Length", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0222", "Source Encapsulation Nominal Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0224", "Source Encapsulation Nominal Transmission", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0226", "Source Isotope Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0228", "Source Isotope Half Life", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0229", "Source Strength Units", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "022a", "Reference Air Kerma Rate", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "022b", "Source Strength", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "022c", "Source Strength Reference Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "022e", "Source Strength Reference Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0230", "Application Setup Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0232", "Application Setup Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0234", "Application Setup Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0236", "Application Setup Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0238", "Application Setup Manufacturer", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0240", "Template Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0242", "Template Type", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0244", "Template Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0250", "Total Reference Air Kerma", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0260", "Brachy Accessory Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0262", "Brachy Accessory Device Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0263", "Brachy Accessory Device ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0264", "Brachy Accessory Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0266", "Brachy Accessory Device Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "026a", "Brachy Accessory Device Nominal Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "026c", "Brachy Accessory Device Nominal Transmission", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0280", "Channel Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0282", "Channel Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0284", "Channel Length", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0286", "Channel Total Time", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0288", "Source Movement Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "028a", "Number of Pulses", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "028c", "Pulse Repetition Interval", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0290", "Source Applicator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0291", "Source Applicator ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0292", "Source Applicator Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0294", "Source Applicator Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0296", "Source Applicator Length", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0298", "Source Applicator Manufacturer", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "029c", "Source Applicator Wall Nominal Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "029e", "Source Applicator Wall Nominal Transmission", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02a0", "Source Applicator Step Size", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02a2", "Transfer Tube Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02a4", "Transfer Tube Length", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02b0", "Channel Shield Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02b2", "Channel Shield Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02b3", "Channel Shield ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02b4", "Channel Shield Name", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02b8", "Channel Shield Nominal Thickness", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02ba", "Channel Shield Nominal Transmission", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02c8", "Final Cumulative Time Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02d0", "Brachy Control Point Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02d2", "Control Point Relative Position", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02d4", "Control Point 3D Position", String.Empty, DSa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02d6", "Cumulative Time Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e0", "Compensator Divergence", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e1", "Compensator Mounting Position", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e2", "Source to Compensator Distance", String.Empty, DSa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e3", "Total Compensator Tray Water-Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e4", "Isocenter to Compensator Tray Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e5", "Compensator Column Offset", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e6", "Isocenter to Compensator Distances", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e7", "Compensator Relative Stopping Power Ratio", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02e8", "Compensator Milling Tool Diameter", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02ea", "Ion Range Compensator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "02eb", "Compensator Description", String.Empty, LTa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0302", "Radiation Mass Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0304", "Radiation Atomic Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0306", "Radiation Charge State", String.Empty, SSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0308", "Scan Mode", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "030a", "Virtual Source-Axis Distances", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("300a", "030c", "Snout Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "030d", "Snout Position", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "030f", "Snout ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0312", "Number of Range Shifters", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0314", "Range Shifter Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0316", "Range Shifter Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0318", "Range Shifter ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0320", "Range Shifter Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0322", "Range Shifter Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0330", "Number of Lateral Spreading Devices", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0332", "Lateral Spreading Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0334", "Lateral Spreading Device Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0336", "Lateral Spreading Device ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0338", "Lateral Spreading Device Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "033a", "Lateral Spreading Device Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "033c", "Lateral Spreading Device Water Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0340", "Number of Range Modulators", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0342", "Range Modulator Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0344", "Range Modulator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0346", "Range Modulator ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0348", "Range Modulator Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "034a", "Range Modulator Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "034c", "Beam Current Modulation ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0350", "Patient Support Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0352", "Patient Support ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0354", "Patient Support Accessory Code", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0356", "Fixation Light Azimuthal Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0358", "Fixation Light Polar Angle", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "035a", "Meterset Rate", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0360", "Range Shifter Settings Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0362", "Range Shifter Setting", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0364", "Isocenter to Range Shifter Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0366", "Range Shifter Water Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0370", "Lateral Spreading Device Settings Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0372", "Lateral Spreading Device Setting", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0374", "Isocenter to Lateral Spreading Device Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0380", "Range Modulator Settings Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0382", "Range Modulator Gating Start Value", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0384", "Range Modulator Gating Stop Value", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0386", "Range Modulator Gating Start Water Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0388", "Range Modulator Gating Stop Water Equivalent Thickness", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "038a", "Isocenter to Range Modulator Distance", String.Empty, FLa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0390", "Scan Spot Tune ID", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0392", "Number of Scan Spot Positions", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0394", "Scan Spot Position Map", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0396", "Scan Spot Meterset Weights", String.Empty, FLa, "1-n", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0398", "Scanning Spot Size", String.Empty, FLa, "2", false));
                Entries.Add(new DcmDictionaryEntry("300a", "039a", "Number of Paintings", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03a0", "Ion Tolerance Table Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03a2", "Ion Beam Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03a4", "Ion Beam Limiting Device Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03a6", "Ion Block Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03a8", "Ion Control Point Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03aa", "Ion Wedge Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "03ac", "Ion Wedge Position Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0401", "Referenced Setup Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0402", "Setup Image Comment", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0410", "Motion Synchronization Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0412", "Control Point Orientation", String.Empty, FLa, "3", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0420", "General Accessory Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0421", "General Accessory ID", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0422", "General Accessory Description", String.Empty, STa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0423", "General Accessory Type", String.Empty, SHa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300a", "0424", "General Accessory Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0002", "Referenced RT Plan Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0004", "Referenced Beam Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0006", "Referenced Beam Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0007", "Referenced Reference Image Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0008", "Start Cumulative Meterset Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0009", "End Cumulative Meterset Weight", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "000a", "Referenced Brachy Application Setup Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "000c", "Referenced Brachy Application Setup Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "000e", "Referenced Source Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0020", "Referenced Fraction Group Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0022", "Referenced Fraction Group Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0040", "Referenced Verification Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0042", "Referenced Reference Image Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0050", "Referenced Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0051", "Referenced Dose Reference Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0055", "Brachy Referenced Dose Reference Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0060", "Referenced Structure Set Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "006a", "Referenced Patient Setup Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0080", "Referenced Dose Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00a0", "Referenced Tolerance Table Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00b0", "Referenced Bolus Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00c0", "Referenced Wedge Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00d0", "Referenced Compensator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00e0", "Referenced Block Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00f0", "Referenced Control Point Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00f2", "Referenced Control Point Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00f4", "Referenced Start Control Point Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "00f6", "Referenced Stop Control Point Index", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0100", "Referenced Range Shifter Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0102", "Referenced Lateral Spreading Device Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300c", "0104", "Referenced Range Modulator Number", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300e", "0002", "Approval Status", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300e", "0004", "Review Date", String.Empty, DAa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300e", "0005", "Review Time", String.Empty, TMa, "1", false));
                Entries.Add(new DcmDictionaryEntry("300e", "0008", "Reviewer Name", String.Empty, PNa, "1", false));
                Entries.Add(new DcmDictionaryEntry("4000", "0010", "Arbitrary", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4000", "4000", "Text Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0040", "Results ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0042", "Results ID Issuer", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0050", "Referenced Interpretation Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0100", "Interpretation Recorded Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0101", "Interpretation Recorded Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0102", "Interpretation Recorder", String.Empty, PNa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0103", "Reference to Recorded Sound", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0108", "Interpretation Transcription Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0109", "Interpretation Transcription Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "010a", "Interpretation Transcriber", String.Empty, PNa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "010b", "Interpretation Text", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "010c", "Interpretation Author", String.Empty, PNa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0111", "Interpretation Approver Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0112", "Interpretation Approval Date", String.Empty, DAa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0113", "Interpretation Approval Time", String.Empty, TMa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0114", "Physician Approving Interpretation", String.Empty, PNa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0115", "Interpretation Diagnosis Description", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0117", "Interpretation Diagnosis Code Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0118", "Results Distribution List Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0119", "Distribution Name", String.Empty, PNa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "011a", "Distribution Address", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0200", "Interpretation ID", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0202", "Interpretation ID Issuer", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0210", "Interpretation Type ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0212", "Interpretation Status ID", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "0300", "Impressions", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4008", "4000", "Results Comments", String.Empty, STa, "1", true));
                Entries.Add(new DcmDictionaryEntry("4ffe", "0001", "MAC Parameters Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("50xx", "0005", "Curve Dimensions", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0010", "Number of Points", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0020", "Type of Data", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0022", "Curve Description", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0030", "Axis Units", String.Empty, SHa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0040", "Axis Labels", String.Empty, SHa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0103", "Data Value Representation", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0104", "Minimum Coordinate Value", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0105", "Maximum Coordinate Value", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0106", "Curve Range", String.Empty, SHa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0110", "Curve Data Descriptor", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0112", "Coordinate Start Value", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "0114", "Coordinate Step Value", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "1001", "Curve Activation Layer", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2000", "Audio Type", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2002", "Audio Sample Format", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2004", "Number of Channels", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2006", "Number of Samples", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2008", "Sample Rate", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "200a", "Total Time", String.Empty, ULa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "200c", "Audio Sample Data", String.Empty, OWaOBa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "200e", "Audio Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2500", "Curve Label", String.Empty, LOa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2600", "Curve Referenced Overlay Sequence", String.Empty, SQa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "2610", "Curve Referenced Overlay Group", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("50xx", "3000", "Curve Data", String.Empty, OWaOBa, "1", true));
                Entries.Add(new DcmDictionaryEntry("5200", "9229", "Shared Functional Groups Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5200", "9230", "Per-frame Functional Groups Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "0100", "Waveform Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "0110", "Channel Minimum Value", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "0112", "Channel Maximum Value", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "1004", "Waveform Bits Allocated", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "1006", "Waveform Sample Interpretation", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "100a", "Waveform Padding Value", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5400", "1010", "Waveform Data", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5600", "0010", "First Order Phase Correction Angle", String.Empty, OFa, "1", false));
                Entries.Add(new DcmDictionaryEntry("5600", "0020", "Spectroscopy Data", String.Empty, OFa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0010", "Overlay Rows", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0011", "Overlay Columns", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0012", "Overlay Planes", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0015", "Number of Frames in Overlay", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0022", "Overlay Description", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0040", "Overlay Type", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0045", "Overlay Subtype", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0050", "Overlay Origin", String.Empty, SSa, "2", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0051", "Image Frame Origin", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0052", "Overlay Plane Origin", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0060", "Overlay Compression Code", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0061", "Overlay Compression Originator", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0062", "Overlay Compression Label", String.Empty, SHa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0063", "Overlay Compression Description", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0066", "Overlay Compression Step Pointers", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0068", "Overlay Repeat Interval", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0069", "Overlay Bits Grouped", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0100", "Overlay Bits Allocated", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0102", "Overlay Bit Position", String.Empty, USa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "0110", "Overlay Format", String.Empty, CSa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0200", "Overlay Location", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0800", "Overlay Code Label", String.Empty, CSa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0802", "Overlay Number of Tables", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0803", "Overlay Code Table Location", String.Empty, ATa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "0804", "Overlay Bits For Code Word", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1001", "Overlay Activation Layer", String.Empty, CSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "1100", "Overlay Descriptor - Gray", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1101", "Overlay Descriptor - Red", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1102", "Overlay Descriptor - Green", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1103", "Overlay Descriptor - Blue", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1200", "Overlays - Gray", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1201", "Overlays - Red", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1202", "Overlays - Green", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1203", "Overlays - Blue", String.Empty, USa, "1-n", true));
                Entries.Add(new DcmDictionaryEntry("60xx", "1301", "ROI Area", String.Empty, ISa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "1302", "ROI Mean", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "1303", "ROI Standard Deviation", String.Empty, DSa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "1500", "Overlay Label", String.Empty, LOa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "3000", "Overlay Data", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("60xx", "4000", "Overlay Comments", String.Empty, LTa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fe0", "0010", "Pixel Data", String.Empty, OWaOBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("7fe0", "0020", "Coefficients SDVN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fe0", "0030", "Coefficients SDHN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fe0", "0040", "Coefficients SDDN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fxx", "0010", "Variable Pixel Data", String.Empty, OWaOBa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fxx", "0011", "Variable Next Data Group", String.Empty, USa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fxx", "0020", "Variable Coefficients SDVN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fxx", "0030", "Variable Coefficients SDHN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("7fxx", "0040", "Variable Coefficients SDDN", String.Empty, OWa, "1", true));
                Entries.Add(new DcmDictionaryEntry("fffa", "fffa", "Digital Signatures Sequence", String.Empty, SQa, "1", false));
                Entries.Add(new DcmDictionaryEntry("fffc", "fffc", "Data Set Trailing Padding", String.Empty, OBa, "1", false));
                Entries.Add(new DcmDictionaryEntry("fffe", "e000", "Item", String.Empty, NONEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("fffe", "e00d", "Item Delimitation Item", String.Empty, NONEa, "1", false));
                Entries.Add(new DcmDictionaryEntry("fffe", "e0dd", "Sequence Delimitation Item", String.Empty, NONEa, "1", false));
                #endregion

                foreach (DcmDictionaryEntry entry in Entries) {
                    if (entry.Mask == 0xffffffff && !entry.IsPrivate)
                        QuickLookup.Add(entry.Tag, entry);
                }

                Initialzied = true;
            }
        }
Beispiel #13
0
 public DcmFragmentSequence(DicomTag tag, DicomVR vr)
     : base(tag, vr)
 {
 }
 public DcmFragmentSequence(DicomTag tag, DicomVR vr, long pos, Endian endian)
     : base(tag, vr, pos, endian)
 {
 }
 public DcmFragmentSequence(DicomTag tag, DicomVR vr) : base(tag, vr)
 {
 }
Beispiel #16
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DcmDictionaryEntry"/> class.
        /// </summary>
        /// <param name="group">Group</param>
        /// <param name="element">Element</param>
        /// <param name="name">Name</param>
        /// <param name="privcreator">Private Creator</param>
        /// <param name="vrs">VR</param>
        /// <param name="vm">VM</param>
        /// <param name="retired">Retired</param>
        public DcmDictionaryEntry(string group, string element,
            string name, string privcreator, DicomVR[] vrs, string vm, bool retired)
        {
            DisplayTag = group + "," + element;
            DisplayTag = DisplayTag.ToUpper();
            Group = ushort.Parse(group.Replace('x', '0'), System.Globalization.NumberStyles.HexNumber);
            Element = ushort.Parse(element.Replace('x', '0'), System.Globalization.NumberStyles.HexNumber);
            Tag = (uint)Group << 16 | (uint)Element;

            StringBuilder msb = new StringBuilder();
            msb.Append(group.ToLower()).Append(element.ToLower());
            msb	.Replace('0', 'F').Replace('1', 'F').Replace('2', 'F')
                .Replace('3', 'F').Replace('4', 'F').Replace('5', 'F')
                .Replace('6', 'F').Replace('7', 'F').Replace('8', 'F')
                .Replace('9', 'F').Replace('a', 'F').Replace('b', 'F')
                .Replace('c', 'F').Replace('d', 'F').Replace('e', 'F')
                .Replace('f', 'F').Replace('x', '0');
            Mask = uint.Parse(msb.ToString(), System.Globalization.NumberStyles.HexNumber);

            Name = name;
            PrivateCreator = privcreator.Trim();
            Retired = retired;
            VM = vm;
            AllowedVRs = vrs;

            if (DefaultVR == DicomVR.NONE) {
                MultipleVM = 0;
                MinimumVM = 0;
                MaximumVM = 0;
            } else {
                MultipleVM = 1;
                if (vm.Contains("-")) {
                    string[] parts = vm.Split('-');
                    MinimumVM = uint.Parse(parts[0]);
                    if (parts[1].Contains("n")) {
                        MaximumVM = 0xffffffff;
                        if (parts[1] != "n") {
                            MultipleVM = uint.Parse(parts[1].Replace("n", ""));
                        }
                    } else {
                        MaximumVM = uint.Parse(parts[1]);
                    }
                } else {
                    MinimumVM = MaximumVM = uint.Parse(vm);
                }
            }

            IsPrivate = !String.IsNullOrEmpty(PrivateCreator);
        }
Beispiel #17
0
 public DcmFragmentSequence(DicomTag tag, DicomVR vr, long pos, Endian endian)
     : base(tag, vr, pos, endian)
 {
 }
Beispiel #18
0
        /// <summary>
        /// Internal use
        /// </summary>
        /// <param name="filename"></param>
        public static void ImportDictionary(string filename)
        {
            lock (Lock) {
                string[] lines = File.ReadAllLines(filename);
                foreach (string ln in lines) {
                    try {
                        string line = ln.Trim();
                        if (line == String.Empty || line.StartsWith("#"))
                            continue;

                        string[] fields = line.Split('\t');
                        if (fields.Length < 5 || fields.Length > 7)
                            continue;

                        string group = fields[0];
                        string element = fields[1];

                        string[] parts = fields[2].Split('/');
                        DicomVR[] vrs = new DicomVR[parts.Length];
                        for (int i = 0; i < vrs.Length; i++) {
                            vrs[i] = DicomVR.Lookup(parts[i]);
                        }

                        string vm = fields[3];
                        string name = fields[4];

                        bool retired = false;
                        if (fields.Length >= 6) {
                            if (fields[5] == Retired)
                                retired = true;
                        }

                        string creator = String.Empty;
                        if (fields.Length == 7) {
                            if (!String.IsNullOrEmpty(fields[6]))
                                creator = fields[6];
                            creator.Trim('\'');
                        }

                        Entries.Add(new DcmDictionaryEntry(group, element, name, creator, vrs, vm, retired));
                    }
                    catch { }
                }
                Initialzied = true;
            }
        }