root/gsdl/trunk/perllib/cpan/Image/ExifTool/DICOM.pm @ 16842

Revision 16842, 164.0 KB (checked in by davidb, 2 years ago)

ExifTool? added to cpan area to support metadata extraction from files such as JPEG. Primarily targetted as Image files (hence the Image folder name decided upon by the ExifTool? author) it also can handle video such as flash and audio such as Wav

Line 
1#------------------------------------------------------------------------------
2# File:         DICOM.pm
3#
4# Description:  Read DICOM and ACR-NEMA medical images
5#
6# Revisions:    11/09/2005 - P. Harvey Created
7#
8# References:   1) http://medical.nema.org/dicom/2004.html
9#               2) http://www.sph.sc.edu/comd/rorden/dicom.html
10#               3) http://www.dclunie.com/
11#------------------------------------------------------------------------------
12
13package Image::ExifTool::DICOM;
14
15use strict;
16use vars qw($VERSION);
17use Image::ExifTool qw(:DataAccess :Utils);
18
19$VERSION = '1.06';
20
21# DICOM VR (Value Representation) format conversions
22my %dicomFormat = (
23    FD => 'double',
24    FL => 'float',
25    OB => 'int8u',
26    OF => 'float',
27    OW => 'int16u',
28    SL => 'int32s',
29    SS => 'int16s',
30    UL => 'int32u',
31    US => 'int16u',
32);
33
34# VR elements with 32-bit length in explicit VR syntax
35my %vr32 = ( OB=>1, OW=>1, OF=>1, SQ=>1, UT=>1, UN=>1 );
36
37# data elements with implicit VR regardless of syntax
38my %implicitVR = (
39    'FFFE,E000' => 1,
40    'FFFE,E00D' => 1,
41    'FFFE,E0DD' => 1,
42);
43
44# DICOM tags
45# Note: "XxxGroupLength" tags are generated automatically if they don't exist
46%Image::ExifTool::DICOM::Main = (
47    GROUPS => { 2 => 'Image' },
48    PROCESS_PROC => 0,  # set this to zero to omit tags from lookup (way too many!)
49    NOTES => q{
50        The DICOM format is based on the ACR-NEMA specification, but adds a file
51        header and a number of new tags.  ExifTool will extract information from
52        either type of file.  The Tag ID's in the following table are the tag group
53        and element numbers in hexadecimal, as given in the DICOM specification.
54    },
55    # file meta information group (names end with VR)
56    '0002,0000' => { VR => 'UL', Name => 'FileMetaInfoGroupLength' },
57    '0002,0001' => { VR => 'OB', Name => 'FileMetaInfoVersion' },
58    '0002,0002' => { VR => 'UI', Name => 'MediaStorageSOPClassUID' },
59    '0002,0003' => { VR => 'UI', Name => 'MediaStorageSOPInstanceUID' },
60    '0002,0010' => { VR => 'UI', Name => 'TransferSyntaxUID' },
61    '0002,0012' => { VR => 'UI', Name => 'ImplementationClassUID' },
62    '0002,0013' => { VR => 'SH', Name => 'ImplementationVersionName' },
63    '0002,0016' => { VR => 'AE', Name => 'SourceApplicationEntityTitle' },
64    '0002,0100' => { VR => 'UI', Name => 'PrivateInformationCreatorUID' },
65    '0002,0102' => { VR => 'OB', Name => 'PrivateInformation' },
66    # directory structuring group
67    '0004,1130' => { VR => 'CS', Name => 'FileSetID' },
68    '0004,1141' => { VR => 'CS', Name => 'FileSetDescriptorFileID' },
69    '0004,1142' => { VR => 'CS', Name => 'SpecificCharacterSetOfFile' },
70    '0004,1200' => { VR => 'UL', Name => 'FirstDirectoryRecordOffset' },
71    '0004,1202' => { VR => 'UL', Name => 'LastDirectoryRecordOffset' },
72    '0004,1212' => { VR => 'US', Name => 'FileSetConsistencyFlag' },
73    '0004,1220' => { VR => 'SQ', Name => 'DirectoryRecordSequence' },
74    '0004,1400' => { VR => 'UL', Name => 'OffsetOfNextDirectoryRecord' },
75    '0004,1410' => { VR => 'US', Name => 'RecordInUseFlag' },
76    '0004,1420' => { VR => 'UL', Name => 'LowerLevelDirectoryEntityOffset' },
77    '0004,1430' => { VR => 'CS', Name => 'DirectoryRecordType' },
78    '0004,1432' => { VR => 'UI', Name => 'PrivateRecordUID' },
79    '0004,1500' => { VR => 'CS', Name => 'ReferencedFileID' },
80    '0004,1504' => { VR => 'UL', Name => 'MRDRDirectoryRecordOffset' },
81    '0004,1510' => { VR => 'UI', Name => 'ReferencedSOPClassUIDInFile' },
82    '0004,1511' => { VR => 'UI', Name => 'ReferencedSOPInstanceUIDInFile' },
83    '0004,1512' => { VR => 'UI', Name => 'ReferencedTransferSyntaxUIDInFile' },
84    '0004,151A' => { VR => 'UI', Name => 'ReferencedRelatedSOPClassUIDInFile' },
85    '0004,1600' => { VR => 'UL', Name => 'NumberOfReferences' },
86    # identifying group
87    '0008,0000' => { VR => 'UL', Name => 'IdentifyingGroupLength' },
88    '0008,0001' => { VR => 'RET',Name => 'LengthToEnd' },
89    '0008,0005' => { VR => 'CS', Name => 'SpecificCharacterSet' },
90    '0008,0008' => { VR => 'CS', Name => 'ImageType' },
91    '0008,0010' => { VR => 'RET',Name => 'RecognitionCode' },
92    '0008,0012' => { VR => 'DA', Name => 'InstanceCreationDate' },
93    '0008,0013' => { VR => 'TM', Name => 'InstanceCreationTime' },
94    '0008,0014' => { VR => 'UI', Name => 'InstanceCreatorUID' },
95    '0008,0016' => { VR => 'UI', Name => 'SOPClassUID' },
96    '0008,0018' => { VR => 'UI', Name => 'SOPInstanceUID' },
97    '0008,001A' => { VR => 'UI', Name => 'RelatedGeneralSOPClassUID' },
98    '0008,001B' => { VR => 'UI', Name => 'OriginalSpecializedSOPClassUID' },
99    '0008,0020' => { VR => 'DA', Name => 'StudyDate' },
100    '0008,0021' => { VR => 'DA', Name => 'SeriesDate' },
101    '0008,0022' => { VR => 'DA', Name => 'AcquisitionDate' },
102    '0008,0023' => { VR => 'DA', Name => 'ContentDate' },
103    '0008,0024' => { VR => 'DA', Name => 'OverlayDate' },
104    '0008,0025' => { VR => 'DA', Name => 'CurveDate' },
105    '0008,002A' => { VR => 'DT', Name => 'AcquisitionDatetime' },
106    '0008,0030' => { VR => 'TM', Name => 'StudyTime' },
107    '0008,0031' => { VR => 'TM', Name => 'SeriesTime' },
108    '0008,0032' => { VR => 'TM', Name => 'AcquisitionTime' },
109    '0008,0033' => { VR => 'TM', Name => 'ContentTime' },
110    '0008,0034' => { VR => 'TM', Name => 'OverlayTime' },
111    '0008,0035' => { VR => 'TM', Name => 'CurveTime' },
112    '0008,0040' => { VR => 'RET',Name => 'DataSetType' },
113    '0008,0041' => { VR => 'RET',Name => 'DataSetSubtype' },
114    '0008,0042' => { VR => 'RET',Name => 'NuclearMedicineSeriesType' },
115    '0008,0050' => { VR => 'SH', Name => 'AccessionNumber' },
116    '0008,0052' => { VR => 'CS', Name => 'Query-RetrieveLevel' },
117    '0008,0054' => { VR => 'AE', Name => 'RetrieveAETitle' },
118    '0008,0056' => { VR => 'CS', Name => 'InstanceAvailability' },
119    '0008,0058' => { VR => 'UI', Name => 'FailedSOPInstanceUIDList' },
120    '0008,0060' => { VR => 'CS', Name => 'Modality' },
121    '0008,0061' => { VR => 'CS', Name => 'ModalitiesInStudy' },
122    '0008,0062' => { VR => 'UI', Name => 'SOPClassesInStudy' },
123    '0008,0064' => { VR => 'CS', Name => 'ConversionType' },
124    '0008,0068' => { VR => 'CS', Name => 'PresentationIntentType' },
125    '0008,0070' => { VR => 'LO', Name => 'Manufacturer' },
126    '0008,0080' => { VR => 'LO', Name => 'InstitutionName' },
127    '0008,0081' => { VR => 'ST', Name => 'InstitutionAddress' },
128    '0008,0082' => { VR => 'SQ', Name => 'InstitutionCodeSequence' },
129    '0008,0090' => { VR => 'PN', Name => 'ReferringPhysiciansName' },
130    '0008,0092' => { VR => 'ST', Name => 'ReferringPhysiciansAddress' },
131    '0008,0094' => { VR => 'SH', Name => 'ReferringPhysiciansTelephoneNumber' },
132    '0008,0096' => { VR => 'SQ', Name => 'ReferringPhysicianIDSequence' },
133    '0008,0100' => { VR => 'SH', Name => 'CodeValue' },
134    '0008,0102' => { VR => 'SH', Name => 'CodingSchemeDesignator' },
135    '0008,0103' => { VR => 'SH', Name => 'CodingSchemeVersion' },
136    '0008,0104' => { VR => 'LO', Name => 'CodeMeaning' },
137    '0008,0105' => { VR => 'CS', Name => 'MappingResource' },
138    '0008,0106' => { VR => 'DT', Name => 'ContextGroupVersion' },
139    '0008,0107' => { VR => 'DT', Name => 'ContextGroupLocalVersion' },
140    '0008,010B' => { VR => 'CS', Name => 'ContextGroupExtensionFlag' },
141    '0008,010C' => { VR => 'UI', Name => 'CodingSchemeUID' },
142    '0008,010D' => { VR => 'UI', Name => 'ContextGroupExtensionCreatorUID' },
143    '0008,010F' => { VR => 'CS', Name => 'ContextIdentifier' },
144    '0008,0110' => { VR => 'SQ', Name => 'CodingSchemeIDSequence' },
145    '0008,0112' => { VR => 'LO', Name => 'CodingSchemeRegistry' },
146    '0008,0114' => { VR => 'ST', Name => 'CodingSchemeExternalID' },
147    '0008,0115' => { VR => 'ST', Name => 'CodingSchemeName' },
148    '0008,0116' => { VR => 'ST', Name => 'ResponsibleOrganization' },
149    '0008,0201' => { VR => 'SH', Name => 'TimezoneOffsetFromUTC' },
150    '0008,1000' => { VR => 'RET',Name => 'NetworkID' },
151    '0008,1010' => { VR => 'SH', Name => 'StationName' },
152    '0008,1030' => { VR => 'LO', Name => 'StudyDescription' },
153    '0008,1032' => { VR => 'SQ', Name => 'ProcedureCodeSequence' },
154    '0008,103E' => { VR => 'LO', Name => 'SeriesDescription' },
155    '0008,1040' => { VR => 'LO', Name => 'InstitutionalDepartmentName' },
156    '0008,1048' => { VR => 'PN', Name => 'PhysicianOfRecord' },
157    '0008,1049' => { VR => 'SQ', Name => 'PhysicianOfRecordIDSequence' },
158    '0008,1050' => { VR => 'PN', Name => 'PerformingPhysiciansName' },
159    '0008,1052' => { VR => 'SQ', Name => 'PerformingPhysicianIDSequence' },
160    '0008,1060' => { VR => 'PN', Name => 'NameOfPhysicianReadingStudy' },
161    '0008,1062' => { VR => 'SQ', Name => 'PhysicianReadingStudyIDSequence' },
162    '0008,1070' => { VR => 'PN', Name => 'OperatorsName' },
163    '0008,1072' => { VR => 'SQ', Name => 'OperatorIDSequence' },
164    '0008,1080' => { VR => 'LO', Name => 'AdmittingDiagnosesDescription' },
165    '0008,1084' => { VR => 'SQ', Name => 'AdmittingDiagnosesCodeSequence' },
166    '0008,1090' => { VR => 'LO', Name => 'ManufacturersModelName' },
167    '0008,1100' => { VR => 'SQ', Name => 'ReferencedResultsSequence' },
168    '0008,1110' => { VR => 'SQ', Name => 'ReferencedStudySequence' },
169    '0008,1111' => { VR => 'SQ', Name => 'ReferencedProcedureStepSequence' },
170    '0008,1115' => { VR => 'SQ', Name => 'ReferencedSeriesSequence' },
171    '0008,1120' => { VR => 'SQ', Name => 'ReferencedPatientSequence' },
172    '0008,1125' => { VR => 'SQ', Name => 'ReferencedVisitSequence' },
173    '0008,1130' => { VR => 'SQ', Name => 'ReferencedOverlaySequence' },
174    '0008,113A' => { VR => 'SQ', Name => 'ReferencedWaveformSequence' },
175    '0008,1140' => { VR => 'SQ', Name => 'ReferencedImageSequence' },
176    '0008,1145' => { VR => 'SQ', Name => 'ReferencedCurveSequence' },
177    '0008,114A' => { VR => 'SQ', Name => 'ReferencedInstanceSequence' },
178    '0008,1150' => { VR => 'UI', Name => 'ReferencedSOPClassUID' },
179    '0008,1155' => { VR => 'UI', Name => 'ReferencedSOPInstanceUID' },
180    '0008,115A' => { VR => 'UI', Name => 'SOPClassesSupported' },
181    '0008,1160' => { VR => 'IS', Name => 'ReferencedFrameNumber' },
182    '0008,1195' => { VR => 'UI', Name => 'TransactionUID' },
183    '0008,1197' => { VR => 'US', Name => 'FailureReason' },
184    '0008,1198' => { VR => 'SQ', Name => 'FailedSOPSequence' },
185    '0008,1199' => { VR => 'SQ', Name => 'ReferencedSOPSequence' },
186    '0008,1200' => { VR => 'SQ', Name => 'OtherReferencedStudiesSequence' },
187    '0008,1250' => { VR => 'SQ', Name => 'RelatedSeriesSequence' },
188    '0008,2110' => { VR => 'RET',Name => 'LossyImageCompression' },
189    '0008,2111' => { VR => 'ST', Name => 'DerivationDescription' },
190    '0008,2112' => { VR => 'SQ', Name => 'SourceImageSequence' },
191    '0008,2120' => { VR => 'SH', Name => 'StageName' },
192    '0008,2122' => { VR => 'IS', Name => 'StageNumber' },
193    '0008,2124' => { VR => 'IS', Name => 'NumberOfStages' },
194    '0008,2127' => { VR => 'SH', Name => 'ViewName' },
195    '0008,2128' => { VR => 'IS', Name => 'ViewNumber' },
196    '0008,2129' => { VR => 'IS', Name => 'NumberOfEventTimers' },
197    '0008,212A' => { VR => 'IS', Name => 'NumberOfViewsInStage' },
198    '0008,2130' => { VR => 'DS', Name => 'EventElapsedTime' },
199    '0008,2132' => { VR => 'LO', Name => 'EventTimerName' },
200    '0008,2142' => { VR => 'IS', Name => 'StartTrim' },
201    '0008,2143' => { VR => 'IS', Name => 'StopTrim' },
202    '0008,2144' => { VR => 'IS', Name => 'RecommendedDisplayFrameRate' },
203    '0008,2200' => { VR => 'RET',Name => 'TransducerPosition' },
204    '0008,2204' => { VR => 'RET',Name => 'TransducerOrientation' },
205    '0008,2208' => { VR => 'RET',Name => 'AnatomicStructure' },
206    '0008,2218' => { VR => 'SQ', Name => 'AnatomicRegionSequence' },
207    '0008,2220' => { VR => 'SQ', Name => 'AnatomicRegionModifierSequence' },
208    '0008,2228' => { VR => 'SQ', Name => 'PrimaryAnatomicStructureSequence' },
209    '0008,2229' => { VR => 'SQ', Name => 'AnatomicStructureOrRegionSequence' },
210    '0008,2230' => { VR => 'SQ', Name => 'AnatomicStructureModifierSequence' },
211    '0008,2240' => { VR => 'SQ', Name => 'TransducerPositionSequence' },
212    '0008,2242' => { VR => 'SQ', Name => 'TransducerPositionModifierSequence' },
213    '0008,2244' => { VR => 'SQ', Name => 'TransducerOrientationSequence' },
214    '0008,2246' => { VR => 'SQ', Name => 'TransducerOrientationModifierSeq' },
215    '0008,3001' => { VR => 'SQ', Name => 'AlternateRepresentationSequence' },
216    '0008,4000' => { VR => 'RET',Name => 'IdentifyingComments' },
217    '0008,9007' => { VR => 'CS', Name => 'FrameType' },
218    '0008,9092' => { VR => 'SQ', Name => 'ReferencedImageEvidenceSequence' },
219    '0008,9121' => { VR => 'SQ', Name => 'ReferencedRawDataSequence' },
220    '0008,9123' => { VR => 'UI', Name => 'CreatorVersionUID' },
221    '0008,9124' => { VR => 'SQ', Name => 'DerivationImageSequence' },
222    '0008,9154' => { VR => 'SQ', Name => 'SourceImageEvidenceSequence' },
223    '0008,9205' => { VR => 'CS', Name => 'PixelPresentation' },
224    '0008,9206' => { VR => 'CS', Name => 'VolumetricProperties' },
225    '0008,9207' => { VR => 'CS', Name => 'VolumeBasedCalculationTechnique' },
226    '0008,9208' => { VR => 'CS', Name => 'ComplexImageComponent' },
227    '0008,9209' => { VR => 'CS', Name => 'AcquisitionContrast' },
228    '0008,9215' => { VR => 'SQ', Name => 'DerivationCodeSequence' },
229    '0008,9237' => { VR => 'SQ', Name => 'GrayscalePresentationStateSequence' },
230    # patient group
231    '0010,0000' => { VR => 'UL', Name => 'PatientGroupLength' },
232    '0010,0010' => { VR => 'PN', Name => 'PatientsName' },
233    '0010,0020' => { VR => 'LO', Name => 'PatientID' },
234    '0010,0021' => { VR => 'LO', Name => 'IssuerOfPatientID' },
235    '0010,0030' => { VR => 'DA', Name => 'PatientsBirthDate' },
236    '0010,0032' => { VR => 'TM', Name => 'PatientsBirthTime' },
237    '0010,0040' => { VR => 'CS', Name => 'PatientsSex' },
238    '0010,0050' => { VR => 'SQ', Name => 'PatientsInsurancePlanCodeSequence' },
239    '0010,0101' => { VR => 'SQ', Name => 'PatientsPrimaryLanguageCodeSeq' },
240    '0010,0102' => { VR => 'SQ', Name => 'PatientsPrimaryLanguageCodeModSeq' },
241    '0010,1000' => { VR => 'LO', Name => 'OtherPatientIDs' },
242    '0010,1001' => { VR => 'PN', Name => 'OtherPatientNames' },
243    '0010,1005' => { VR => 'PN', Name => 'PatientsBirthName' },
244    '0010,1010' => { VR => 'AS', Name => 'PatientsAge' },
245    '0010,1020' => { VR => 'DS', Name => 'PatientsSize' },
246    '0010,1030' => { VR => 'DS', Name => 'PatientsWeight' },
247    '0010,1040' => { VR => 'LO', Name => 'PatientsAddress' },
248    '0010,1050' => { VR => 'RET',Name => 'InsurancePlanIdentification' },
249    '0010,1060' => { VR => 'PN', Name => 'PatientsMothersBirthName' },
250    '0010,1080' => { VR => 'LO', Name => 'MilitaryRank' },
251    '0010,1081' => { VR => 'LO', Name => 'BranchOfService' },
252    '0010,1090' => { VR => 'LO', Name => 'MedicalRecordLocator' },
253    '0010,2000' => { VR => 'LO', Name => 'MedicalAlerts' },
254    '0010,2110' => { VR => 'LO', Name => 'ContrastAllergies' },
255    '0010,2150' => { VR => 'LO', Name => 'CountryOfResidence' },
256    '0010,2152' => { VR => 'LO', Name => 'RegionOfResidence' },
257    '0010,2154' => { VR => 'SH', Name => 'PatientsTelephoneNumbers' },
258    '0010,2160' => { VR => 'SH', Name => 'EthnicGroup' },
259    '0010,2180' => { VR => 'SH', Name => 'Occupation' },
260    '0010,21A0' => { VR => 'CS', Name => 'SmokingStatus' },
261    '0010,21B0' => { VR => 'LT', Name => 'AdditionalPatientHistory' },
262    '0010,21C0' => { VR => 'US', Name => 'PregnancyStatus' },
263    '0010,21D0' => { VR => 'DA', Name => 'LastMenstrualDate' },
264    '0010,21F0' => { VR => 'LO', Name => 'PatientsReligiousPreference' },
265    '0010,4000' => { VR => 'LT', Name => 'PatientComments' },
266    '0012,0010' => { VR => 'LO', Name => 'ClinicalTrialSponsorName' },
267    '0012,0020' => { VR => 'LO', Name => 'ClinicalTrialProtocolID' },
268    '0012,0021' => { VR => 'LO', Name => 'ClinicalTrialProtocolName' },
269    '0012,0030' => { VR => 'LO', Name => 'ClinicalTrialSiteID' },
270    '0012,0031' => { VR => 'LO', Name => 'ClinicalTrialSiteName' },
271    '0012,0040' => { VR => 'LO', Name => 'ClinicalTrialSubjectID' },
272    '0012,0042' => { VR => 'LO', Name => 'ClinicalTrialSubjectReadingID' },
273    '0012,0050' => { VR => 'LO', Name => 'ClinicalTrialTimePointID' },
274    '0012,0051' => { VR => 'ST', Name => 'ClinicalTrialTimePointDescription' },
275    '0012,0060' => { VR => 'LO', Name => 'ClinicalTrialCoordinatingCenter' },
276    # acquisition group
277    '0018,0000' => { VR => 'UL', Name => 'AcquisitionGroupLength' },
278    '0018,0010' => { VR => 'LO', Name => 'Contrast-BolusAgent' },
279    '0018,0012' => { VR => 'SQ', Name => 'Contrast-BolusAgentSequence' },
280    '0018,0014' => { VR => 'SQ', Name => 'Contrast-BolusAdministrationRoute' },
281    '0018,0015' => { VR => 'CS', Name => 'BodyPartExamined' },
282    '0018,0020' => { VR => 'CS', Name => 'ScanningSequence' },
283    '0018,0021' => { VR => 'CS', Name => 'SequenceVariant' },
284    '0018,0022' => { VR => 'CS', Name => 'ScanOptions' },
285    '0018,0023' => { VR => 'CS', Name => 'MRAcquisitionType' },
286    '0018,0024' => { VR => 'SH', Name => 'SequenceName' },
287    '0018,0025' => { VR => 'CS', Name => 'AngioFlag' },
288    '0018,0026' => { VR => 'SQ', Name => 'InterventionDrugInformationSeq' },
289    '0018,0027' => { VR => 'TM', Name => 'InterventionDrugStopTime' },
290    '0018,0028' => { VR => 'DS', Name => 'InterventionDrugDose' },
291    '0018,0029' => { VR => 'SQ', Name => 'InterventionDrugSequence' },
292    '0018,002A' => { VR => 'SQ', Name => 'AdditionalDrugSequence' },
293    '0018,0030' => { VR => 'RET',Name => 'Radionuclide' },
294    '0018,0031' => { VR => 'LO', Name => 'Radiopharmaceutical' },
295    '0018,0032' => { VR => 'RET',Name => 'EnergyWindowCenterline' },
296    '0018,0033' => { VR => 'RET',Name => 'EnergyWindowTotalWidth' },
297    '0018,0034' => { VR => 'LO', Name => 'InterventionDrugName' },
298    '0018,0035' => { VR => 'TM', Name => 'InterventionDrugStartTime' },
299    '0018,0036' => { VR => 'SQ', Name => 'InterventionSequence' },
300    '0018,0037' => { VR => 'RET',Name => 'TherapyType' },
301    '0018,0038' => { VR => 'CS', Name => 'InterventionStatus' },
302    '0018,0039' => { VR => 'RET',Name => 'TherapyDescription' },
303    '0018,003A' => { VR => 'ST', Name => 'InterventionDescription' },
304    '0018,0040' => { VR => 'IS', Name => 'CineRate' },
305    '0018,0050' => { VR => 'DS', Name => 'SliceThickness' },
306    '0018,0060' => { VR => 'DS', Name => 'KVP' },
307    '0018,0070' => { VR => 'IS', Name => 'CountsAccumulated' },
308    '0018,0071' => { VR => 'CS', Name => 'AcquisitionTerminationCondition' },
309    '0018,0072' => { VR => 'DS', Name => 'EffectiveDuration' },
310    '0018,0073' => { VR => 'CS', Name => 'AcquisitionStartCondition' },
311    '0018,0074' => { VR => 'IS', Name => 'AcquisitionStartConditionData' },
312    '0018,0075' => { VR => 'IS', Name => 'AcquisitionEndConditionData' },
313    '0018,0080' => { VR => 'DS', Name => 'RepetitionTime' },
314    '0018,0081' => { VR => 'DS', Name => 'EchoTime' },
315    '0018,0082' => { VR => 'DS', Name => 'InversionTime' },
316    '0018,0083' => { VR => 'DS', Name => 'NumberOfAverages' },
317    '0018,0084' => { VR => 'DS', Name => 'ImagingFrequency' },
318    '0018,0085' => { VR => 'SH', Name => 'ImagedNucleus' },
319    '0018,0086' => { VR => 'IS', Name => 'EchoNumber' },
320    '0018,0087' => { VR => 'DS', Name => 'MagneticFieldStrength' },
321    '0018,0088' => { VR => 'DS', Name => 'SpacingBetweenSlices' },
322    '0018,0089' => { VR => 'IS', Name => 'NumberOfPhaseEncodingSteps' },
323    '0018,0090' => { VR => 'DS', Name => 'DataCollectionDiameter' },
324    '0018,0091' => { VR => 'IS', Name => 'EchoTrainLength' },
325    '0018,0093' => { VR => 'DS', Name => 'PercentSampling' },
326    '0018,0094' => { VR => 'DS', Name => 'PercentPhaseFieldOfView' },
327    '0018,0095' => { VR => 'DS', Name => 'PixelBandwidth' },
328    '0018,1000' => { VR => 'LO', Name => 'DeviceSerialNumber' },
329    '0018,1004' => { VR => 'LO', Name => 'PlateID' },
330    '0018,1010' => { VR => 'LO', Name => 'SecondaryCaptureDeviceID' },
331    '0018,1011' => { VR => 'LO', Name => 'HardcopyCreationDeviceID' },
332    '0018,1012' => { VR => 'DA', Name => 'DateOfSecondaryCapture' },
333    '0018,1014' => { VR => 'TM', Name => 'TimeOfSecondaryCapture' },
334    '0018,1016' => { VR => 'LO', Name => 'SecondaryCaptureDeviceManufacturer' },
335    '0018,1017' => { VR => 'LO', Name => 'HardcopyDeviceManufacturer' },
336    '0018,1018' => { VR => 'LO', Name => 'SecondaryCaptureDeviceModelName' },
337    '0018,1019' => { VR => 'LO', Name => 'SecondaryCaptureDeviceSoftwareVers' },
338    '0018,101A' => { VR => 'LO', Name => 'HardcopyDeviceSoftwareVersion' },
339    '0018,101B' => { VR => 'LO', Name => 'HardcopyDeviceModelName' },
340    '0018,1020' => { VR => 'LO', Name => 'SoftwareVersion' },
341    '0018,1022' => { VR => 'SH', Name => 'VideoImageFormatAcquired' },
342    '0018,1023' => { VR => 'LO', Name => 'DigitalImageFormatAcquired' },
343    '0018,1030' => { VR => 'LO', Name => 'ProtocolName' },
344    '0018,1040' => { VR => 'LO', Name => 'Contrast-BolusRoute' },
345    '0018,1041' => { VR => 'DS', Name => 'Contrast-BolusVolume' },
346    '0018,1042' => { VR => 'TM', Name => 'Contrast-BolusStartTime' },
347    '0018,1043' => { VR => 'TM', Name => 'Contrast-BolusStopTime' },
348    '0018,1044' => { VR => 'DS', Name => 'Contrast-BolusTotalDose' },
349    '0018,1045' => { VR => 'IS', Name => 'SyringeCounts' },
350    '0018,1046' => { VR => 'DS', Name => 'ContrastFlowRate' },
351    '0018,1047' => { VR => 'DS', Name => 'ContrastFlowDuration' },
352    '0018,1048' => { VR => 'CS', Name => 'Contrast-BolusIngredient' },
353    '0018,1049' => { VR => 'DS', Name => 'Contrast-BolusConcentration' },
354    '0018,1050' => { VR => 'DS', Name => 'SpatialResolution' },
355    '0018,1060' => { VR => 'DS', Name => 'TriggerTime' },
356    '0018,1061' => { VR => 'LO', Name => 'TriggerSourceOrType' },
357    '0018,1062' => { VR => 'IS', Name => 'NominalInterval' },
358    '0018,1063' => { VR => 'DS', Name => 'FrameTime' },
359    '0018,1064' => { VR => 'LO', Name => 'FramingType' },
360    '0018,1065' => { VR => 'DS', Name => 'FrameTimeVector' },
361    '0018,1066' => { VR => 'DS', Name => 'FrameDelay' },
362    '0018,1067' => { VR => 'DS', Name => 'ImageTriggerDelay' },
363    '0018,1068' => { VR => 'DS', Name => 'MultiplexGroupTimeOffset' },
364    '0018,1069' => { VR => 'DS', Name => 'TriggerTimeOffset' },
365    '0018,106A' => { VR => 'CS', Name => 'SynchronizationTrigger' },
366    '0018,106C' => { VR => 'US', Name => 'SynchronizationChannel' },
367    '0018,106E' => { VR => 'UL', Name => 'TriggerSamplePosition' },
368    '0018,1070' => { VR => 'LO', Name => 'RadiopharmaceuticalRoute' },
369    '0018,1071' => { VR => 'DS', Name => 'RadiopharmaceuticalVolume' },
370    '0018,1072' => { VR => 'TM', Name => 'RadiopharmaceuticalStartTime' },
371    '0018,1073' => { VR => 'TM', Name => 'RadiopharmaceuticalStopTime' },
372    '0018,1074' => { VR => 'DS', Name => 'RadionuclideTotalDose' },
373    '0018,1075' => { VR => 'DS', Name => 'RadionuclideHalfLife' },
374    '0018,1076' => { VR => 'DS', Name => 'RadionuclidePositronFraction' },
375    '0018,1077' => { VR => 'DS', Name => 'RadiopharmaceuticalSpecActivity' },
376    '0018,1080' => { VR => 'CS', Name => 'BeatRejectionFlag' },
377    '0018,1081' => { VR => 'IS', Name => 'LowRRValue' },
378    '0018,1082' => { VR => 'IS', Name => 'HighRRValue' },
379    '0018,1083' => { VR => 'IS', Name => 'IntervalsAcquired' },
380    '0018,1084' => { VR => 'IS', Name => 'IntervalsRejected' },
381    '0018,1085' => { VR => 'LO', Name => 'PVCRejection' },
382    '0018,1086' => { VR => 'IS', Name => 'SkipBeats' },
383    '0018,1088' => { VR => 'IS', Name => 'HeartRate' },
384    '0018,1090' => { VR => 'IS', Name => 'CardiacNumberOfImages' },
385    '0018,1094' => { VR => 'IS', Name => 'TriggerWindow' },
386    '0018,1100' => { VR => 'DS', Name => 'ReconstructionDiameter' },
387    '0018,1110' => { VR => 'DS', Name => 'DistanceSourceToDetector' },
388    '0018,1111' => { VR => 'DS', Name => 'DistanceSourceToPatient' },
389    '0018,1114' => { VR => 'DS', Name => 'EstimatedRadiographicMagnification' },
390    '0018,1120' => { VR => 'DS', Name => 'Gantry-DetectorTilt' },
391    '0018,1121' => { VR => 'DS', Name => 'Gantry-DetectorSlew' },
392    '0018,1130' => { VR => 'DS', Name => 'TableHeight' },
393    '0018,1131' => { VR => 'DS', Name => 'TableTraverse' },
394    '0018,1134' => { VR => 'CS', Name => 'TableMotion' },
395    '0018,1135' => { VR => 'DS', Name => 'TableVerticalIncrement' },
396    '0018,1136' => { VR => 'DS', Name => 'TableLateralIncrement' },
397    '0018,1137' => { VR => 'DS', Name => 'TableLongitudinalIncrement' },
398    '0018,1138' => { VR => 'DS', Name => 'TableAngle' },
399    '0018,113A' => { VR => 'CS', Name => 'TableType' },
400    '0018,1140' => { VR => 'CS', Name => 'RotationDirection' },
401    '0018,1141' => { VR => 'DS', Name => 'AngularPosition' },
402    '0018,1142' => { VR => 'DS', Name => 'RadialPosition' },
403    '0018,1143' => { VR => 'DS', Name => 'ScanArc' },
404    '0018,1144' => { VR => 'DS', Name => 'AngularStep' },
405    '0018,1145' => { VR => 'DS', Name => 'CenterOfRotationOffset' },
406    '0018,1146' => { VR => 'RET',Name => 'RotationOffset' },
407    '0018,1147' => { VR => 'CS', Name => 'FieldOfViewShape' },
408    '0018,1149' => { VR => 'IS', Name => 'FieldOfViewDimensions' },
409    '0018,1150' => { VR => 'IS', Name => 'ExposureTime' },
410    '0018,1151' => { VR => 'IS', Name => 'XRayTubeCurrent' },
411    '0018,1152' => { VR => 'IS', Name => 'Exposure' },
412    '0018,1153' => { VR => 'IS', Name => 'ExposureInMicroAmpSec' },
413    '0018,1154' => { VR => 'DS', Name => 'AveragePulseWidth' },
414    '0018,1155' => { VR => 'CS', Name => 'RadiationSetting' },
415    '0018,1156' => { VR => 'CS', Name => 'RectificationType' },
416    '0018,115A' => { VR => 'CS', Name => 'RadiationMode' },
417    '0018,115E' => { VR => 'DS', Name => 'ImageAreaDoseProduct' },
418    '0018,1160' => { VR => 'SH', Name => 'FilterType' },
419    '0018,1161' => { VR => 'LO', Name => 'TypeOfFilters' },
420    '0018,1162' => { VR => 'DS', Name => 'IntensifierSize' },
421    '0018,1164' => { VR => 'DS', Name => 'ImagerPixelSpacing' },
422    '0018,1166' => { VR => 'CS', Name => 'Grid' },
423    '0018,1170' => { VR => 'IS', Name => 'GeneratorPower' },
424    '0018,1180' => { VR => 'SH', Name => 'Collimator-GridName' },
425    '0018,1181' => { VR => 'CS', Name => 'CollimatorType' },
426    '0018,1182' => { VR => 'IS', Name => 'FocalDistance' },
427    '0018,1183' => { VR => 'DS', Name => 'XFocusCenter' },
428    '0018,1184' => { VR => 'DS', Name => 'YFocusCenter' },
429    '0018,1190' => { VR => 'DS', Name => 'FocalSpot' },
430    '0018,1191' => { VR => 'CS', Name => 'AnodeTargetMaterial' },
431    '0018,11A0' => { VR => 'DS', Name => 'BodyPartThickness' },
432    '0018,11A2' => { VR => 'DS', Name => 'CompressionForce' },
433    '0018,1200' => { VR => 'DA', Name => 'DateOfLastCalibration' },
434    '0018,1201' => { VR => 'TM', Name => 'TimeOfLastCalibration' },
435    '0018,1210' => { VR => 'SH', Name => 'ConvolutionKernel' },
436    '0018,1240' => { VR => 'RET',Name => 'Upper-LowerPixelValues' },
437    '0018,1242' => { VR => 'IS', Name => 'ActualFrameDuration' },
438    '0018,1243' => { VR => 'IS', Name => 'CountRate' },
439    '0018,1244' => { VR => 'US', Name => 'PreferredPlaybackSequencing' },
440    '0018,1250' => { VR => 'SH', Name => 'ReceiveCoilName' },
441    '0018,1251' => { VR => 'SH', Name => 'TransmitCoilName' },
442    '0018,1260' => { VR => 'SH', Name => 'PlateType' },
443    '0018,1261' => { VR => 'LO', Name => 'PhosphorType' },
444    '0018,1300' => { VR => 'DS', Name => 'ScanVelocity' },
445    '0018,1301' => { VR => 'CS', Name => 'WholeBodyTechnique' },
446    '0018,1302' => { VR => 'IS', Name => 'ScanLength' },
447    '0018,1310' => { VR => 'US', Name => 'AcquisitionMatrix' },
448    '0018,1312' => { VR => 'CS', Name => 'InPlanePhaseEncodingDirection' },
449    '0018,1314' => { VR => 'DS', Name => 'FlipAngle' },
450    '0018,1315' => { VR => 'CS', Name => 'VariableFlipAngleFlag' },
451    '0018,1316' => { VR => 'DS', Name => 'SAR' },
452    '0018,1318' => { VR => 'DS', Name => 'DB-Dt' },
453    '0018,1400' => { VR => 'LO', Name => 'AcquisitionDeviceProcessingDescr' },
454    '0018,1401' => { VR => 'LO', Name => 'AcquisitionDeviceProcessingCode' },
455    '0018,1402' => { VR => 'CS', Name => 'CassetteOrientation' },
456    '0018,1403' => { VR => 'CS', Name => 'CassetteSize' },
457    '0018,1404' => { VR => 'US', Name => 'ExposuresonPlate' },
458    '0018,1405' => { VR => 'IS', Name => 'RelativeXRayExposure' },
459    '0018,1450' => { VR => 'DS', Name => 'ColumnAngulation' },
460    '0018,1460' => { VR => 'DS', Name => 'TomoLayerHeight' },
461    '0018,1470' => { VR => 'DS', Name => 'TomoAngle' },
462    '0018,1480' => { VR => 'DS', Name => 'TomoTime' },
463    '0018,1490' => { VR => 'CS', Name => 'TomoType' },
464    '0018,1491' => { VR => 'CS', Name => 'TomoClass' },
465    '0018,1495' => { VR => 'IS', Name => 'NumberOfTomosynthesisSourceImages' },
466    '0018,1500' => { VR => 'CS', Name => 'PositionerMotion' },
467    '0018,1508' => { VR => 'CS', Name => 'PositionerType' },
468    '0018,1510' => { VR => 'DS', Name => 'PositionerPrimaryAngle' },
469    '0018,1511' => { VR => 'DS', Name => 'PositionerSecondaryAngle' },
470    '0018,1520' => { VR => 'DS', Name => 'PositionerPrimaryAngleIncrement' },
471    '0018,1521' => { VR => 'DS', Name => 'PositionerSecondaryAngleIncrement' },
472    '0018,1530' => { VR => 'DS', Name => 'DetectorPrimaryAngle' },
473    '0018,1531' => { VR => 'DS', Name => 'DetectorSecondaryAngle' },
474    '0018,1600' => { VR => 'CS', Name => 'ShutterShape' },
475    '0018,1602' => { VR => 'IS', Name => 'ShutterLeftVerticalEdge' },
476    '0018,1604' => { VR => 'IS', Name => 'ShutterRightVerticalEdge' },
477    '0018,1606' => { VR => 'IS', Name => 'ShutterUpperHorizontalEdge' },
478    '0018,1608' => { VR => 'IS', Name => 'ShutterLowerHorizontalEdge' },
479    '0018,1610' => { VR => 'IS', Name => 'CenterOfCircularShutter' },
480    '0018,1612' => { VR => 'IS', Name => 'RadiusOfCircularShutter' },
481    '0018,1620' => { VR => 'IS', Name => 'VerticesOfPolygonalShutter' },
482    '0018,1622' => { VR => 'US', Name => 'ShutterPresentationValue' },
483    '0018,1623' => { VR => 'US', Name => 'ShutterOverlayGroup' },
484    '0018,1700' => { VR => 'CS', Name => 'CollimatorShape' },
485    '0018,1702' => { VR => 'IS', Name => 'CollimatorLeftVerticalEdge' },
486    '0018,1704' => { VR => 'IS', Name => 'CollimatorRightVerticalEdge' },
487    '0018,1706' => { VR => 'IS', Name => 'CollimatorUpperHorizontalEdge' },
488    '0018,1708' => { VR => 'IS', Name => 'CollimatorLowerHorizontalEdge' },
489    '0018,1710' => { VR => 'IS', Name => 'CenterOfCircularCollimator' },
490    '0018,1712' => { VR => 'IS', Name => 'RadiusOfCircularCollimator' },
491    '0018,1720' => { VR => 'IS', Name => 'VerticesOfPolygonalCollimator' },
492    '0018,1800' => { VR => 'CS', Name => 'AcquisitionTimeSynchronized' },
493    '0018,1801' => { VR => 'SH', Name => 'TimeSource' },
494    '0018,1802' => { VR => 'CS', Name => 'TimeDistributionProtocol' },
495    '0018,1803' => { VR => 'LO', Name => 'NTPSourceAddress' },
496    '0018,2001' => { VR => 'IS', Name => 'PageNumberVector' },
497    '0018,2002' => { VR => 'SH', Name => 'FrameLabelVector' },
498    '0018,2003' => { VR => 'DS', Name => 'FramePrimaryAngleVector' },
499    '0018,2004' => { VR => 'DS', Name => 'FrameSecondaryAngleVector' },
500    '0018,2005' => { VR => 'DS', Name => 'SliceLocationVector' },
501    '0018,2006' => { VR => 'SH', Name => 'DisplayWindowLabelVector' },
502    '0018,2010' => { VR => 'DS', Name => 'NominalScannedPixelSpacing' },
503    '0018,2020' => { VR => 'CS', Name => 'DigitizingDeviceTransportDirection' },
504    '0018,2030' => { VR => 'DS', Name => 'RotationOfScannedFilm' },
505    '0018,3100' => { VR => 'CS', Name => 'IVUSAcquisition' },
506    '0018,3101' => { VR => 'DS', Name => 'IVUSPullbackRate' },
507    '0018,3102' => { VR => 'DS', Name => 'IVUSGatedRate' },
508    '0018,3103' => { VR => 'IS', Name => 'IVUSPullbackStartFrameNumber' },
509    '0018,3104' => { VR => 'IS', Name => 'IVUSPullbackStopFrameNumber' },
510    '0018,3105' => { VR => 'IS', Name => 'LesionNumber' },
511    '0018,4000' => { VR => 'RET',Name => 'AcquisitionComments' },
512    '0018,5000' => { VR => 'SH', Name => 'OutputPower' },
513    '0018,5010' => { VR => 'LO', Name => 'TransducerData' },
514    '0018,5012' => { VR => 'DS', Name => 'FocusDepth' },
515    '0018,5020' => { VR => 'LO', Name => 'ProcessingFunction' },
516    '0018,5021' => { VR => 'LO', Name => 'PostprocessingFunction' },
517    '0018,5022' => { VR => 'DS', Name => 'MechanicalIndex' },
518    '0018,5024' => { VR => 'DS', Name => 'BoneThermalIndex' },
519    '0018,5026' => { VR => 'DS', Name => 'CranialThermalIndex' },
520    '0018,5027' => { VR => 'DS', Name => 'SoftTissueThermalIndex' },
521    '0018,5028' => { VR => 'DS', Name => 'SoftTissueFocusThermalIndex' },
522    '0018,5029' => { VR => 'DS', Name => 'SoftTissueSurfaceThermalIndex' },
523    '0018,5030' => { VR => 'RET',Name => 'DynamicRange' },
524    '0018,5040' => { VR => 'RET',Name => 'TotalGain' },
525    '0018,5050' => { VR => 'IS', Name => 'DepthOfScanField' },
526    '0018,5100' => { VR => 'CS', Name => 'PatientPosition' },
527    '0018,5101' => { VR => 'CS', Name => 'ViewPosition' },
528    '0018,5104' => { VR => 'SQ', Name => 'ProjectionEponymousNameCodeSeq' },
529    '0018,5210' => { VR => 'RET',Name => 'ImageTransformationMatrix' },
530    '0018,5212' => { VR => 'RET',Name => 'ImageTranslationVector' },
531    '0018,6000' => { VR => 'DS', Name => 'Sensitivity' },
532    '0018,6011' => { VR => 'SQ', Name => 'SequenceOfUltrasoundRegions' },
533    '0018,6012' => { VR => 'US', Name => 'RegionSpatialFormat' },
534    '0018,6014' => { VR => 'US', Name => 'RegionDataType' },
535    '0018,6016' => { VR => 'UL', Name => 'RegionFlags' },
536    '0018,6018' => { VR => 'UL', Name => 'RegionLocationMinX0' },
537    '0018,601A' => { VR => 'UL', Name => 'RegionLocationMinY0' },
538    '0018,601C' => { VR => 'UL', Name => 'RegionLocationMaxX1' },
539    '0018,601E' => { VR => 'UL', Name => 'RegionLocationMaxY1' },
540    '0018,6020' => { VR => 'SL', Name => 'ReferencePixelX0' },
541    '0018,6022' => { VR => 'SL', Name => 'ReferencePixelY0' },
542    '0018,6024' => { VR => 'US', Name => 'PhysicalUnitsXDirection' },
543    '0018,6026' => { VR => 'US', Name => 'PhysicalUnitsYDirection' },
544    '0018,6028' => { VR => 'FD', Name => 'ReferencePixelPhysicalValueX' },
545    '0018,602A' => { VR => 'FD', Name => 'ReferencePixelPhysicalValueY' },
546    '0018,602C' => { VR => 'FD', Name => 'PhysicalDeltaX' },
547    '0018,602E' => { VR => 'FD', Name => 'PhysicalDeltaY' },
548    '0018,6030' => { VR => 'UL', Name => 'TransducerFrequency' },
549    '0018,6031' => { VR => 'CS', Name => 'TransducerType' },
550    '0018,6032' => { VR => 'UL', Name => 'PulseRepetitionFrequency' },
551    '0018,6034' => { VR => 'FD', Name => 'DopplerCorrectionAngle' },
552    '0018,6036' => { VR => 'FD', Name => 'SteeringAngle' },
553    '0018,6038' => { VR => 'RET',Name => 'DopplerSampleVolumeXPositionUL' },
554    '0018,6039' => { VR => 'SL', Name => 'DopplerSampleVolumeXPosition' },
555    '0018,603A' => { VR => 'RET',Name => 'DopplerSampleVolumeYPositionUL' },
556    '0018,603B' => { VR => 'SL', Name => 'DopplerSampleVolumeYPosition' },
557    '0018,603C' => { VR => 'RET',Name => 'TMLinePositionX0UL' },
558    '0018,603D' => { VR => 'SL', Name => 'TMLinePositionX0' },
559    '0018,603E' => { VR => 'RET',Name => 'TMLinePositionY0UL' },
560    '0018,603F' => { VR => 'SL', Name => 'TMLinePositionY0' },
561    '0018,6040' => { VR => 'RET',Name => 'TMLinePositionX1UL' },
562    '0018,6041' => { VR => 'SL', Name => 'TMLinePositionX1' },
563    '0018,6042' => { VR => 'RET',Name => 'TMLinePositionY1UL' },
564    '0018,6043' => { VR => 'SL', Name => 'TMLinePositionY1' },
565    '0018,6044' => { VR => 'US', Name => 'PixelComponentOrganization' },
566    '0018,6046' => { VR => 'UL', Name => 'PixelComponentMask' },
567    '0018,6048' => { VR => 'UL', Name => 'PixelComponentRangeStart' },
568    '0018,604A' => { VR => 'UL', Name => 'PixelComponentRangeStop' },
569    '0018,604C' => { VR => 'US', Name => 'PixelComponentPhysicalUnits' },
570    '0018,604E' => { VR => 'US', Name => 'PixelComponentDataType' },
571    '0018,6050' => { VR => 'UL', Name => 'NumberOfTableBreakPoints' },
572    '0018,6052' => { VR => 'UL', Name => 'TableOfXBreakPoints' },
573    '0018,6054' => { VR => 'FD', Name => 'TableOfYBreakPoints' },
574    '0018,6056' => { VR => 'UL', Name => 'NumberOfTableEntries' },
575    '0018,6058' => { VR => 'UL', Name => 'TableOfPixelValues' },
576    '0018,605A' => { VR => 'FL', Name => 'TableOfParameterValues' },
577    '0018,6060' => { VR => 'FL', Name => 'RWaveTimeVector' },
578    '0018,7000' => { VR => 'CS', Name => 'DetectorConditionsNominalFlag' },
579    '0018,7001' => { VR => 'DS', Name => 'DetectorTemperature' },
580    '0018,7004' => { VR => 'CS', Name => 'DetectorType' },
581    '0018,7005' => { VR => 'CS', Name => 'DetectorConfiguration' },
582    '0018,7006' => { VR => 'LT', Name => 'DetectorDescription' },
583    '0018,7008' => { VR => 'LT', Name => 'DetectorMode' },
584    '0018,700A' => { VR => 'SH', Name => 'DetectorID' },
585    '0018,700C' => { VR => 'DA', Name => 'DateOfLastDetectorCalibration' },
586    '0018,700E' => { VR => 'TM', Name => 'TimeOfLastDetectorCalibration' },
587    '0018,7010' => { VR => 'IS', Name => 'DetectorExposuresSinceCalibration' },
588    '0018,7011' => { VR => 'IS', Name => 'DetectorExposuresSinceManufactured' },
589    '0018,7012' => { VR => 'DS', Name => 'DetectorTimeSinceLastExposure' },
590    '0018,7014' => { VR => 'DS', Name => 'DetectorActiveTime' },
591    '0018,7016' => { VR => 'DS', Name => 'DetectorActiveOffsetFromExposure' },
592    '0018,701A' => { VR => 'DS', Name => 'DetectorBinning' },
593    '0018,7020' => { VR => 'DS', Name => 'DetectorElementPhysicalSize' },
594    '0018,7022' => { VR => 'DS', Name => 'DetectorElementSpacing' },
595    '0018,7024' => { VR => 'CS', Name => 'DetectorActiveShape' },
596    '0018,7026' => { VR => 'DS', Name => 'DetectorActiveDimensions' },
597    '0018,7028' => { VR => 'DS', Name => 'DetectorActiveOrigin' },
598    '0018,702A' => { VR => 'LO', Name => 'DetectorManufacturerName' },
599    '0018,702B' => { VR => 'LO', Name => 'DetectorManufacturersModelName' },
600    '0018,7030' => { VR => 'DS', Name => 'FieldOfViewOrigin' },
601    '0018,7032' => { VR => 'DS', Name => 'FieldOfViewRotation' },
602    '0018,7034' => { VR => 'CS', Name => 'FieldOfViewHorizontalFlip' },
603    '0018,7040' => { VR => 'LT', Name => 'GridAbsorbingMaterial' },
604    '0018,7041' => { VR => 'LT', Name => 'GridSpacingMaterial' },
605    '0018,7042' => { VR => 'DS', Name => 'GridThickness' },
606    '0018,7044' => { VR => 'DS', Name => 'GridPitch' },
607    '0018,7046' => { VR => 'IS', Name => 'GridAspectRatio' },
608    '0018,7048' => { VR => 'DS', Name => 'GridPeriod' },
609    '0018,704C' => { VR => 'DS', Name => 'GridFocalDistance' },
610    '0018,7050' => { VR => 'CS', Name => 'FilterMaterial' },
611    '0018,7052' => { VR => 'DS', Name => 'FilterThicknessMinimum' },
612    '0018,7054' => { VR => 'DS', Name => 'FilterThicknessMaximum' },
613    '0018,7060' => { VR => 'CS', Name => 'ExposureControlMode' },
614    '0018,7062' => { VR => 'LT', Name => 'ExposureControlModeDescription' },
615    '0018,7064' => { VR => 'CS', Name => 'ExposureStatus' },
616    '0018,7065' => { VR => 'DS', Name => 'PhototimerSetting' },
617    '0018,8150' => { VR => 'DS', Name => 'ExposureTimeInMicroSec' },
618    '0018,8151' => { VR => 'DS', Name => 'XRayTubeCurrentInMicroAmps' },
619    '0018,9004' => { VR => 'CS', Name => 'ContentQualification' },
620    '0018,9005' => { VR => 'SH', Name => 'PulseSequenceName' },
621    '0018,9006' => { VR => 'SQ', Name => 'MRImagingModifierSequence' },
622    '0018,9008' => { VR => 'CS', Name => 'EchoPulseSequence' },
623    '0018,9009' => { VR => 'CS', Name => 'InversionRecovery' },
624    '0018,9010' => { VR => 'CS', Name => 'FlowCompensation' },
625    '0018,9011' => { VR => 'CS', Name => 'MultipleSpinEcho' },
626    '0018,9012' => { VR => 'CS', Name => 'MultiPlanarExcitation' },
627    '0018,9014' => { VR => 'CS', Name => 'PhaseContrast' },
628    '0018,9015' => { VR => 'CS', Name => 'TimeOfFlightContrast' },
629    '0018,9016' => { VR => 'CS', Name => 'Spoiling' },
630    '0018,9017' => { VR => 'CS', Name => 'SteadyStatePulseSequence' },
631    '0018,9018' => { VR => 'CS', Name => 'EchoPlanarPulseSequence' },
632    '0018,9019' => { VR => 'FD', Name => 'TagAngleFirstAxis' },
633    '0018,9020' => { VR => 'CS', Name => 'MagnetizationTransfer' },
634    '0018,9021' => { VR => 'CS', Name => 'T2Preparation' },
635    '0018,9022' => { VR => 'CS', Name => 'BloodSignalNulling' },
636    '0018,9022' => { VR => 'CS', Name => 'BloodSignalNulling' },
637    '0018,9024' => { VR => 'CS', Name => 'SaturationRecovery' },
638    '0018,9025' => { VR => 'CS', Name => 'SpectrallySelectedSuppression' },
639    '0018,9026' => { VR => 'CS', Name => 'SpectrallySelectedExcitation' },
640    '0018,9027' => { VR => 'CS', Name => 'SpatialPreSaturation' },
641    '0018,9028' => { VR => 'CS', Name => 'Tagging' },
642    '0018,9029' => { VR => 'CS', Name => 'OversamplingPhase' },
643    '0018,9030' => { VR => 'FD', Name => 'TagSpacingFirstDimension' },
644    '0018,9032' => { VR => 'CS', Name => 'GeometryOfKSpaceTraversal' },
645    '0018,9033' => { VR => 'CS', Name => 'SegmentedKSpaceTraversal' },
646    '0018,9034' => { VR => 'CS', Name => 'RectilinearPhaseEncodeReordering' },
647    '0018,9035' => { VR => 'FD', Name => 'TagThickness' },
648    '0018,9036' => { VR => 'CS', Name => 'PartialFourierDirection' },
649    '0018,9037' => { VR => 'CS', Name => 'CardiacSynchronizationTechnique' },
650    '0018,9041' => { VR => 'LO', Name => 'ReceiveCoilManufacturerName' },
651    '0018,9042' => { VR => 'SQ', Name => 'MRReceiveCoilSequence' },
652    '0018,9043' => { VR => 'CS', Name => 'ReceiveCoilType' },
653    '0018,9044' => { VR => 'CS', Name => 'QuadratureReceiveCoil' },
654    '0018,9045' => { VR => 'SQ', Name => 'MultiCoilDefinitionSequence' },
655    '0018,9046' => { VR => 'LO', Name => 'MultiCoilConfiguration' },
656    '0018,9047' => { VR => 'SH', Name => 'MultiCoilElementName' },
657    '0018,9048' => { VR => 'CS', Name => 'MultiCoilElementUsed' },
658    '0018,9049' => { VR => 'SQ', Name => 'MRTransmitCoilSequence' },
659    '0018,9050' => { VR => 'LO', Name => 'TransmitCoilManufacturerName' },
660    '0018,9051' => { VR => 'CS', Name => 'TransmitCoilType' },
661    '0018,9052' => { VR => 'FD', Name => 'SpectralWidth' },
662    '0018,9053' => { VR => 'FD', Name => 'ChemicalShiftReference' },
663    '0018,9054' => { VR => 'CS', Name => 'VolumeLocalizationTechnique' },
664    '0018,9058' => { VR => 'US', Name => 'MRAcquisitionFrequencyEncodeSteps' },
665    '0018,9059' => { VR => 'CS', Name => 'Decoupling' },
666    '0018,9060' => { VR => 'CS', Name => 'DecoupledNucleus' },
667    '0018,9061' => { VR => 'FD', Name => 'DecouplingFrequency' },
668    '0018,9062' => { VR => 'CS', Name => 'DecouplingMethod' },
669    '0018,9063' => { VR => 'FD', Name => 'DecouplingChemicalShiftReference' },
670    '0018,9064' => { VR => 'CS', Name => 'KSpaceFiltering' },
671    '0018,9065' => { VR => 'CS', Name => 'TimeDomainFiltering' },
672    '0018,9066' => { VR => 'US', Name => 'NumberOfZeroFills' },
673    '0018,9067' => { VR => 'CS', Name => 'BaselineCorrection' },
674    '0018,9069' => { VR => 'FD', Name => 'ParallelReductionFactorInPlane' },
675    '0018,9070' => { VR => 'FD', Name => 'CardiacRRIntervalSpecified' },
676    '0018,9073' => { VR => 'FD', Name => 'AcquisitionDuration' },
677    '0018,9074' => { VR => 'DT', Name => 'FrameAcquisitionDatetime' },
678    '0018,9075' => { VR => 'CS', Name => 'DiffusionDirectionality' },
679    '0018,9076' => { VR => 'SQ', Name => 'DiffusionGradientDirectionSequence' },
680    '0018,9077' => { VR => 'CS', Name => 'ParallelAcquisition' },
681    '0018,9078' => { VR => 'CS', Name => 'ParallelAcquisitionTechnique' },
682    '0018,9079' => { VR => 'FD', Name => 'InversionTimes' },
683    '0018,9080' => { VR => 'ST', Name => 'MetaboliteMapDescription' },
684    '0018,9081' => { VR => 'CS', Name => 'PartialFourier' },
685    '0018,9082' => { VR => 'FD', Name => 'EffectiveEchoTime' },
686    '0018,9083' => { VR => 'SQ', Name => 'MetaboliteMapCodeSequence' },
687    '0018,9084' => { VR => 'SQ', Name => 'ChemicalShiftSequence' },
688    '0018,9085' => { VR => 'CS', Name => 'CardiacSignalSource' },
689    '0018,9087' => { VR => 'FD', Name => 'DiffusionBValue' },
690    '0018,9089' => { VR => 'FD', Name => 'DiffusionGradientOrientation' },
691    '0018,9090' => { VR => 'FD', Name => 'VelocityEncodingDirection' },
692    '0018,9091' => { VR => 'FD', Name => 'VelocityEncodingMinimumValue' },
693    '0018,9093' => { VR => 'US', Name => 'NumberOfKSpaceTrajectories' },
694    '0018,9094' => { VR => 'CS', Name => 'CoverageOfKSpace' },
695    '0018,9095' => { VR => 'UL', Name => 'SpectroscopyAcquisitionPhaseRows' },
696    '0018,9098' => { VR => 'FD', Name => 'TransmitterFrequency' },
697    '0018,9100' => { VR => 'CS', Name => 'ResonantNucleus' },
698    '0018,9101' => { VR => 'CS', Name => 'FrequencyCorrection' },
699    '0018,9103' => { VR => 'SQ', Name => 'MRSpectroscopyFOV-GeometrySequence' },
700    '0018,9104' => { VR => 'FD', Name => 'SlabThickness' },
701    '0018,9105' => { VR => 'FD', Name => 'SlabOrientation' },
702    '0018,9106' => { VR => 'FD', Name => 'MidSlabPosition' },
703    '0018,9107' => { VR => 'SQ', Name => 'MRSpatialSaturationSequence' },
704    '0018,9112' => { VR => 'SQ', Name => 'MRTimingAndRelatedParametersSeq' },
705    '0018,9114' => { VR => 'SQ', Name => 'MREchoSequence' },
706    '0018,9115' => { VR => 'SQ', Name => 'MRModifierSequence' },
707    '0018,9117' => { VR => 'SQ', Name => 'MRDiffusionSequence' },
708    '0018,9118' => { VR => 'SQ', Name => 'CardiacTriggerSequence' },
709    '0018,9119' => { VR => 'SQ', Name => 'MRAveragesSequence' },
710    '0018,9125' => { VR => 'SQ', Name => 'MRFOV-GeometrySequence' },
711    '0018,9126' => { VR => 'SQ', Name => 'VolumeLocalizationSequence' },
712    '0018,9127' => { VR => 'UL', Name => 'SpectroscopyAcquisitionDataColumns' },
713    '0018,9147' => { VR => 'CS', Name => 'DiffusionAnisotropyType' },
714    '0018,9151' => { VR => 'DT', Name => 'FrameReferenceDatetime' },
715    '0018,9152' => { VR => 'SQ', Name => 'MRMetaboliteMapSequence' },
716    '0018,9155' => { VR => 'FD', Name => 'ParallelReductionFactorOutOfPlane' },
717    '0018,9159' => { VR => 'UL', Name => 'SpectroscopyOutOfPlanePhaseSteps' },
718    '0018,9166' => { VR => 'CS', Name => 'BulkMotionStatus' },
719    '0018,9168' => { VR => 'FD', Name => 'ParallelReductionFactSecondInPlane' },
720    '0018,9169' => { VR => 'CS', Name => 'CardiacBeatRejectionTechnique' },
721    '0018,9170' => { VR => 'CS', Name => 'RespiratoryMotionCompTechnique' },
722    '0018,9171' => { VR => 'CS', Name => 'RespiratorySignalSource' },
723    '0018,9172' => { VR => 'CS', Name => 'BulkMotionCompensationTechnique' },
724    '0018,9173' => { VR => 'CS', Name => 'BulkMotionSignalSource' },
725    '0018,9174' => { VR => 'CS', Name => 'ApplicableSafetyStandardAgency' },
726    '0018,9175' => { VR => 'LO', Name => 'ApplicableSafetyStandardDescr' },
727    '0018,9176' => { VR => 'SQ', Name => 'OperatingModeSequence' },
728    '0018,9177' => { VR => 'CS', Name => 'OperatingModeType' },
729    '0018,9178' => { VR => 'CS', Name => 'OperatingMode' },
730    '0018,9179' => { VR => 'CS', Name => 'SpecificAbsorptionRateDefinition' },
731    '0018,9180' => { VR => 'CS', Name => 'GradientOutputType' },
732    '0018,9181' => { VR => 'FD', Name => 'SpecificAbsorptionRateValue' },
733    '0018,9182' => { VR => 'FD', Name => 'GradientOutput' },
734    '0018,9183' => { VR => 'CS', Name => 'FlowCompensationDirection' },
735    '0018,9184' => { VR => 'FD', Name => 'TaggingDelay' },
736    '0018,9195' => { VR => 'FD', Name => 'ChemicalShiftsMinIntegrateLimitHz' },
737    '0018,9196' => { VR => 'FD', Name => 'ChemicalShiftsMaxIntegrateLimitHz' },
738    '0018,9197' => { VR => 'SQ', Name => 'MRVelocityEncodingSequence' },
739    '0018,9198' => { VR => 'CS', Name => 'FirstOrderPhaseCorrection' },
740    '0018,9199' => { VR => 'CS', Name => 'WaterReferencedPhaseCorrection' },
741    '0018,9200' => { VR => 'CS', Name => 'MRSpectroscopyAcquisitionType' },
742    '0018,9214' => { VR => 'CS', Name => 'RespiratoryCyclePosition' },
743    '0018,9217' => { VR => 'FD', Name => 'VelocityEncodingMaximumValue' },
744    '0018,9218' => { VR => 'FD', Name => 'TagSpacingSecondDimension' },
745    '0018,9219' => { VR => 'SS', Name => 'TagAngleSecondAxis' },
746    '0018,9220' => { VR => 'FD', Name => 'FrameAcquisitionDuration' },
747    '0018,9226' => { VR => 'SQ', Name => 'MRImageFrameTypeSequence' },
748    '0018,9227' => { VR => 'SQ', Name => 'MRSpectroscopyFrameTypeSequence' },
749    '0018,9231' => { VR => 'US', Name => 'MRAcqPhaseEncodingStepsInPlane' },
750    '0018,9232' => { VR => 'US', Name => 'MRAcqPhaseEncodingStepsOutOfPlane' },
751    '0018,9234' => { VR => 'UL', Name => 'SpectroscopyAcqPhaseColumns' },
752    '0018,9236' => { VR => 'CS', Name => 'CardiacCyclePosition' },
753    '0018,9239' => { VR => 'SQ', Name => 'SpecificAbsorptionRateSequence' },
754    '0018,9240' => { VR => 'US', Name => 'RFEchoTrainLength' },
755    '0018,9241' => { VR => 'US', Name => 'GradientEchoTrainLength' },
756    '0018,9295' => { VR => 'FD', Name => 'ChemicalShiftsMinIntegrateLimitPPM' },
757    '0018,9296' => { VR => 'FD', Name => 'ChemicalShiftsMaxIntegrateLimitPPM' },
758    '0018,9301' => { VR => 'SQ', Name => 'CTAcquisitionTypeSequence' },
759    '0018,9302' => { VR => 'CS', Name => 'AcquisitionType' },
760    '0018,9303' => { VR => 'FD', Name => 'TubeAngle' },
761    '0018,9304' => { VR => 'SQ', Name => 'CTAcquisitionDetailsSequence' },
762    '0018,9305' => { VR => 'FD', Name => 'RevolutionTime' },
763    '0018,9306' => { VR => 'FD', Name => 'SingleCollimationWidth' },
764    '0018,9307' => { VR => 'FD', Name => 'TotalCollimationWidth' },
765    '0018,9308' => { VR => 'SQ', Name => 'CTTableDynamicsSequence' },
766    '0018,9309' => { VR => 'FD', Name => 'TableSpeed' },
767    '0018,9310' => { VR => 'FD', Name => 'TableFeedPerRotation' },
768    '0018,9311' => { VR => 'FD', Name => 'SpiralPitchFactor' },
769    '0018,9312' => { VR => 'SQ', Name => 'CTGeometrySequence' },
770    '0018,9313' => { VR => 'FD', Name => 'DataCollectionCenterPatient' },
771    '0018,9314' => { VR => 'SQ', Name => 'CTReconstructionSequence' },
772    '0018,9315' => { VR => 'CS', Name => 'ReconstructionAlgorithm' },
773    '0018,9316' => { VR => 'CS', Name => 'ConvolutionKernelGroup' },
774    '0018,9317' => { VR => 'FD', Name => 'ReconstructionFieldOfView' },
775    '0018,9318' => { VR => 'FD', Name => 'ReconstructionTargetCenterPatient' },
776    '0018,9319' => { VR => 'FD', Name => 'ReconstructionAngle' },
777    '0018,9320' => { VR => 'SH', Name => 'ImageFilter' },
778    '0018,9321' => { VR => 'SQ', Name => 'CTExposureSequence' },
779    '0018,9322' => { VR => 'FD', Name => 'ReconstructionPixelSpacing' },
780    '0018,9323' => { VR => 'CS', Name => 'ExposureModulationType' },
781    '0018,9324' => { VR => 'FD', Name => 'EstimatedDoseSaving' },
782    '0018,9325' => { VR => 'SQ', Name => 'CTXRayDetailsSequence' },
783    '0018,9326' => { VR => 'SQ', Name => 'CTPositionSequence' },
784    '0018,9327' => { VR => 'FD', Name => 'TablePosition' },
785    '0018,9328' => { VR => 'FD', Name => 'ExposureTimeInMilliSec' },
786    '0018,9329' => { VR => 'SQ', Name => 'CTImageFrameTypeSequence' },
787    '0018,9330' => { VR => 'FD', Name => 'XRayTubeCurrentInMilliAmps' },
788    '0018,9332' => { VR => 'FD', Name => 'ExposureInMilliAmpSec' },
789    '0018,9333' => { VR => 'CS', Name => 'ConstantVolumeFlag' },
790    '0018,9334' => { VR => 'CS', Name => 'FluoroscopyFlag' },
791    '0018,9335' => { VR => 'FD', Name => 'SourceToDataCollectionCenterDist' },
792    '0018,9337' => { VR => 'US', Name => 'Contrast-BolusAgentNumber' },
793    '0018,9338' => { VR => 'SQ', Name => 'Contrast-BolusIngredientCodeSeq' },
794    '0018,9340' => { VR => 'SQ', Name => 'ContrastAdministrationProfileSeq' },
795    '0018,9341' => { VR => 'SQ', Name => 'Contrast-BolusUsageSequence' },
796    '0018,9342' => { VR => 'CS', Name => 'Contrast-BolusAgentAdministered' },
797    '0018,9343' => { VR => 'CS', Name => 'Contrast-BolusAgentDetected' },
798    '0018,9344' => { VR => 'CS', Name => 'Contrast-BolusAgentPhase' },
799    '0018,9345' => { VR => 'FD', Name => 'CTDIvol' },
800    '0018,A001' => { VR => 'SQ', Name => 'ContributingEquipmentSequence' },
801    '0018,A002' => { VR => 'DT', Name => 'ContributionDateTime' },
802    '0018,A003' => { VR => 'ST', Name => 'ContributionDescription' },
803    # relationship group
804    '0020,0000' => { VR => 'UL', Name => 'RelationshipGroupLength' },
805    '0020,000D' => { VR => 'UI', Name => 'StudyInstanceUID' },
806    '0020,000E' => { VR => 'UI', Name => 'SeriesInstanceUID' },
807    '0020,0010' => { VR => 'SH', Name => 'StudyID' },
808    '0020,0011' => { VR => 'IS', Name => 'SeriesNumber' },
809    '0020,0012' => { VR => 'IS', Name => 'AcquisitionNumber' },
810    '0020,0013' => { VR => 'IS', Name => 'InstanceNumber' },
811    '0020,0014' => { VR => 'RET',Name => 'IsotopeNumber' },
812    '0020,0015' => { VR => 'RET',Name => 'PhaseNumber' },
813    '0020,0016' => { VR => 'RET',Name => 'IntervalNumber' },
814    '0020,0017' => { VR => 'RET',Name => 'TimeSlotNumber' },
815    '0020,0018' => { VR => 'RET',Name => 'AngleNumber' },
816    '0020,0019' => { VR => 'IS', Name => 'ItemNumber' },
817    '0020,0020' => { VR => 'CS', Name => 'PatientOrientation' },
818    '0020,0022' => { VR => 'IS', Name => 'OverlayNumber' },
819    '0020,0024' => { VR => 'IS', Name => 'CurveNumber' },
820    '0020,0026' => { VR => 'IS', Name => 'LookupTableNumber' },
821    '0020,0030' => { VR => 'DS', Name => 'ImagePosition' },
822    '0020,0032' => { VR => 'DS', Name => 'ImagePositionPatient' },
823    '0020,0035' => { VR => 'DS', Name => 'ImageOrientation' },
824    '0020,0037' => { VR => 'DS', Name => 'ImageOrientationPatient' },
825    '0020,0050' => { VR => 'RET',Name => 'Location' },
826    '0020,0052' => { VR => 'UI', Name => 'FrameOfReferenceUID' },
827    '0020,0060' => { VR => 'CS', Name => 'Laterality' },
828    '0020,0062' => { VR => 'CS', Name => 'ImageLaterality' },
829    '0020,0070' => { VR => 'RET',Name => 'ImageGeometryType' },
830    '0020,0080' => { VR => 'RET',Name => 'MaskingImage' },
831    '0020,0100' => { VR => 'IS', Name => 'TemporalPositionIdentifier' },
832    '0020,0105' => { VR => 'IS', Name => 'NumberOfTemporalPositions' },
833    '0020,0110' => { VR => 'DS', Name => 'TemporalResolution' },
834    '0020,0200' => { VR => 'UI', Name => 'SynchronizationFrameOfReferenceUID' },
835    '0020,1000' => { VR => 'IS', Name => 'SeriesInStudy' },
836    '0020,1001' => { VR => 'RET',Name => 'AcquisitionsInSeries' },
837    '0020,1002' => { VR => 'IS', Name => 'ImagesInAcquisition' },
838    '0020,1004' => { VR => 'IS', Name => 'AcquisitionsInStudy' },
839    '0020,1020' => { VR => 'RET',Name => 'Reference' },
840    '0020,1040' => { VR => 'LO', Name => 'PositionReferenceIndicator' },
841    '0020,1041' => { VR => 'DS', Name => 'SliceLocation' },
842    '0020,1070' => { VR => 'IS', Name => 'OtherStudyNumbers' },
843    '0020,1200' => { VR => 'IS', Name => 'NumberOfPatientRelatedStudies' },
844    '0020,1202' => { VR => 'IS', Name => 'NumberOfPatientRelatedSeries' },
845    '0020,1204' => { VR => 'IS', Name => 'NumberOfPatientRelatedInstances' },
846    '0020,1206' => { VR => 'IS', Name => 'NumberOfStudyRelatedSeries' },
847    '0020,1208' => { VR => 'IS', Name => 'NumberOfStudyRelatedInstances' },
848    '0020,1209' => { VR => 'RET',Name => 'NumberOfSeriesRelatedInstances' },
849    '0020,31xx' => { VR => 'RET',Name => 'SourceImageIDs' },
850    '0020,3401' => { VR => 'RET',Name => 'ModifyingDeviceID' },
851    '0020,3402' => { VR => 'RET',Name => 'ModifiedImageID' },
852    '0020,3403' => { VR => 'RET',Name => 'ModifiedImageDate' },
853    '0020,3404' => { VR => 'RET',Name => 'ModifyingDeviceManufacturer' },
854    '0020,3405' => { VR => 'RET',Name => 'ModifiedImageTime' },
855    '0020,3406' => { VR => 'RET',Name => 'ModifiedImageDescription' },
856    '0020,4000' => { VR => 'LT', Name => 'ImageComments' },
857    '0020,5000' => { VR => 'US', Name => 'OriginalImageIdentification' },
858    '0020,5002' => { VR => 'RET',Name => 'OriginalImageIdentNomenclature' },
859    '0020,9056' => { VR => 'SH', Name => 'StackID' },
860    '0020,9057' => { VR => 'UL', Name => 'InStackPositionNumber' },
861    '0020,9071' => { VR => 'SQ', Name => 'FrameAnatomySequence' },
862    '0020,9072' => { VR => 'CS', Name => 'FrameLaterality' },
863    '0020,9111' => { VR => 'SQ', Name => 'FrameContentSequence' },
864    '0020,9113' => { VR => 'SQ', Name => 'PlanePositionSequence' },
865    '0020,9116' => { VR => 'SQ', Name => 'PlaneOrientationSequence' },
866    '0020,9128' => { VR => 'UL', Name => 'TemporalPositionIndex' },
867    '0020,9153' => { VR => 'FD', Name => 'TriggerDelayTime' },
868    '0020,9156' => { VR => 'US', Name => 'FrameAcquisitionNumber' },
869    '0020,9157' => { VR => 'UL', Name => 'DimensionIndexValues' },
870    '0020,9158' => { VR => 'LT', Name => 'FrameComments' },
871    '0020,9161' => { VR => 'UI', Name => 'ConcatenationUID' },
872    '0020,9162' => { VR => 'US', Name => 'InconcatenationNumber' },
873    '0020,9163' => { VR => 'US', Name => 'InconcatenationTotalNumber' },
874    '0020,9164' => { VR => 'UI', Name => 'DimensionOrganizationUID' },
875    '0020,9165' => { VR => 'AT', Name => 'DimensionIndexPointer' },
876    '0020,9167' => { VR => 'AT', Name => 'FunctionalGroupPointer' },
877    '0020,9213' => { VR => 'LO', Name => 'DimensionIndexPrivateCreator' },
878    '0020,9221' => { VR => 'SQ', Name => 'DimensionOrganizationSequence' },
879    '0020,9222' => { VR => 'SQ', Name => 'DimensionIndexSequence' },
880    '0020,9228' => { VR => 'UL', Name => 'ConcatenationFrameOffsetNumber' },
881    '0020,9238' => { VR => 'LO', Name => 'FunctionalGroupPrivateCreator' },
882    '0022,0001' => { VR => 'US', Name => 'LightPathFilterPassThroughWavelen' },
883    '0022,0002' => { VR => 'US', Name => 'LightPathFilterPassBand' },
884    '0022,0003' => { VR => 'US', Name => 'ImagePathFilterPassThroughWavelen' },
885    '0022,0004' => { VR => 'US', Name => 'ImagePathFilterPassBand' },
886    '0022,0005' => { VR => 'CS', Name => 'PatientEyeMovementCommanded' },
887    '0022,0006' => { VR => 'SQ', Name => 'PatientEyeMovementCommandCodeSeq' },
888    '0022,0007' => { VR => 'FL', Name => 'SphericalLensPower' },
889    '0022,0008' => { VR => 'FL', Name => 'CylinderLensPower' },
890    '0022,0009' => { VR => 'FL', Name => 'CylinderAxis' },
891    '0022,000A' => { VR => 'FL', Name => 'EmmetropicMagnification' },
892    '0022,000B' => { VR => 'FL', Name => 'IntraOcularPressure' },
893    '0022,000C' => { VR => 'FL', Name => 'HorizontalFieldOfView' },
894    '0022,000D' => { VR => 'CS', Name => 'PupilDilated' },
895    '0022,000E' => { VR => 'FL', Name => 'DegreeOfDilation' },
896    '0022,0010' => { VR => 'FL', Name => 'StereoBaselineAngle' },
897    '0022,0011' => { VR => 'FL', Name => 'StereoBaselineDisplacement' },
898    '0022,0012' => { VR => 'FL', Name => 'StereoHorizontalPixelOffset' },
899    '0022,0013' => { VR => 'FL', Name => 'StereoVerticalPixelOffset' },
900    '0022,0014' => { VR => 'FL', Name => 'StereoRotation' },
901    '0022,0015' => { VR => 'SQ', Name => 'AcquisitionDeviceTypeCodeSequence' },
902    '0022,0016' => { VR => 'SQ', Name => 'IlluminationTypeCodeSequence' },
903    '0022,0017' => { VR => 'SQ', Name => 'LightPathFilterTypeStackCodeSeq' },
904    '0022,0018' => { VR => 'SQ', Name => 'ImagePathFilterTypeStackCodeSeq' },
905    '0022,0019' => { VR => 'SQ', Name => 'LensesCodeSequence' },
906    '0022,001A' => { VR => 'SQ', Name => 'ChannelDescriptionCodeSequence' },
907    '0022,001B' => { VR => 'SQ', Name => 'RefractiveStateSequence' },
908    '0022,001C' => { VR => 'SQ', Name => 'MydriaticAgentCodeSequence' },
909    '0022,001D' => { VR => 'SQ', Name => 'RelativeImagePositionCodeSequence' },
910    '0022,0020' => { VR => 'SQ', Name => 'StereoPairsSequence' },
911    '0022,0021' => { VR => 'SQ', Name => 'LeftImageSequence' },
912    '0022,0022' => { VR => 'SQ', Name => 'RightImageSequence' },
913    # image presentation group
914    '0028,0000' => { VR => 'UL', Name => 'ImagePresentationGroupLength' },
915    '0028,0002' => { VR => 'US', Name => 'SamplesPerPixel' },
916    '0028,0003' => { VR => 'US', Name => 'SamplesPerPixelUsed' },
917    '0028,0004' => { VR => 'CS', Name => 'PhotometricInterpretation' },
918    '0028,0005' => { VR => 'US', Name => 'ImageDimensions' },
919    '0028,0006' => { VR => 'US', Name => 'PlanarConfiguration' },
920    '0028,0008' => { VR => 'IS', Name => 'NumberOfFrames' },
921    '0028,0009' => { VR => 'AT', Name => 'FrameIncrementPointer' },
922    '0028,000A' => { VR => 'AT', Name => 'FrameDimensionPointer' },
923    '0028,0010' => { VR => 'US', Name => 'Rows' },
924    '0028,0011' => { VR => 'US', Name => 'Columns' },
925    '0028,0012' => { VR => 'US', Name => 'Planes' },
926    '0028,0014' => { VR => 'US', Name => 'UltrasoundColorDataPresent' },
927    '0028,0030' => { VR => 'DS', Name => 'PixelSpacing' },
928    '0028,0031' => { VR => 'DS', Name => 'ZoomFactor' },
929    '0028,0032' => { VR => 'DS', Name => 'ZoomCenter' },
930    '0028,0034' => { VR => 'IS', Name => 'PixelAspectRatio' },
931    '0028,0040' => { VR => 'RET',Name => 'ImageFormat' },
932    '0028,0050' => { VR => 'RET',Name => 'ManipulatedImage' },
933    '0028,0051' => { VR => 'CS', Name => 'CorrectedImage' },
934    '0028,0060' => { VR => 'RET',Name => 'CompressionCode' },
935    '0028,0100' => { VR => 'US', Name => 'BitsAllocated' },
936    '0028,0101' => { VR => 'US', Name => 'BitsStored' },
937    '0028,0102' => { VR => 'US', Name => 'HighBit' },
938    '0028,0103' => { VR => 'US', Name => 'PixelRepresentation' },
939    '0028,0104' => { VR => 'RET',Name => 'SmallestValidPixelValue' },
940    '0028,0105' => { VR => 'RET',Name => 'LargestValidPixelValue' },
941    '0028,0106' => { VR => 'SS', Name => 'SmallestImagePixelValue' },
942    '0028,0107' => { VR => 'SS', Name => 'LargestImagePixelValue' },
943    '0028,0108' => { VR => 'SS', Name => 'SmallestPixelValueInSeries' },
944    '0028,0109' => { VR => 'SS', Name => 'LargestPixelValueInSeries' },
945    '0028,0110' => { VR => 'SS', Name => 'SmallestImagePixelValueInPlane' },
946    '0028,0111' => { VR => 'SS', Name => 'LargestImagePixelValueInPlane' },
947    '0028,0120' => { VR => 'SS', Name => 'PixelPaddingValue' },
948    '0028,0200' => { VR => 'SS', Name => 'ImageLocation' },
949    '0028,0300' => { VR => 'CS', Name => 'QualityControlImage' },
950    '0028,0301' => { VR => 'CS', Name => 'BurnedInAnnotation' },
951    '0028,1040' => { VR => 'CS', Name => 'PixelIntensityRelationship' },
952    '0028,1041' => { VR => 'SS', Name => 'PixelIntensityRelationshipSign' },
953    '0028,1050' => { VR => 'DS', Name => 'WindowCenter' },
954    '0028,1051' => { VR => 'DS', Name => 'WindowWidth' },
955    '0028,1052' => { VR => 'DS', Name => 'RescaleIntercept' },
956    '0028,1053' => { VR => 'DS', Name => 'RescaleSlope' },
957    '0028,1054' => { VR => 'LO', Name => 'RescaleType' },
958    '0028,1055' => { VR => 'LO', Name => 'WindowCenterAndWidthExplanation' },
959    '0028,1080' => { VR => 'RET',Name => 'GrayScale' },
960    '0028,1090' => { VR => 'CS', Name => 'RecommendedViewingMode' },
961    '0028,1100' => { VR => 'RET',Name => 'GrayLookupTableDescriptor' },
962    '0028,1101' => { VR => 'SS', Name => 'RedPaletteColorTableDescriptor' },
963    '0028,1102' => { VR => 'SS', Name => 'GreenPaletteColorTableDescriptor' },
964    '0028,1103' => { VR => 'SS', Name => 'BluePaletteColorTableDescriptor' },
965    '0028,1199' => { VR => 'UI', Name => 'PaletteColorTableUID' },
966    '0028,1200' => { VR => 'RET',Name => 'GrayLookupTableData' },
967    '0028,1201' => { VR => 'OW', Name => 'RedPaletteColorTableData' },
968    '0028,1202' => { VR => 'OW', Name => 'GreenPaletteColorTableData' },
969    '0028,1203' => { VR => 'OW', Name => 'BluePaletteColorTableData' },
970    '0028,1221' => { VR => 'OW', Name => 'SegmentedRedColorTableData' },
971    '0028,1222' => { VR => 'OW', Name => 'SegmentedGreenColorTableData' },
972    '0028,1223' => { VR => 'OW', Name => 'SegmentedBlueColorTableData' },
973    '0028,1300' => { VR => 'CS', Name => 'ImplantPresent' },
974    '0028,1350' => { VR => 'CS', Name => 'PartialView' },
975    '0028,1351' => { VR => 'ST', Name => 'PartialViewDescription' },
976    '0028,2110' => { VR => 'CS', Name => 'LossyImageCompression' },
977    '0028,2112' => { VR => 'DS', Name => 'LossyImageCompressionRatio' },
978    '0028,2114' => { VR => 'CS', Name => 'LossyImageCompressionMethod' },
979    '0028,3000' => { VR => 'SQ', Name => 'ModalityLUTSequence' },
980    '0028,3002' => { VR => 'SS', Name => 'LUTDescriptor' },
981    '0028,3003' => { VR => 'LO', Name => 'LUTExplanation' },
982    '0028,3004' => { VR => 'LO', Name => 'ModalityLUTType' },
983    '0028,3006' => { VR => 'SS', Name => 'LUTData' },
984    '0028,3010' => { VR => 'SQ', Name => 'VOILUTSequence' },
985    '0028,3110' => { VR => 'SQ', Name => 'SoftcopyVOILUTSequence' },
986    '0028,4000' => { VR => 'RET',Name => 'ImagePresentationComments' },
987    '0028,5000' => { VR => 'SQ', Name => 'BiPlaneAcquisitionSequence' },
988    '0028,6010' => { VR => 'US', Name => 'RepresentativeFrameNumber' },
989    '0028,6020' => { VR => 'US', Name => 'FrameNumbersOfInterestFOI' },
990    '0028,6022' => { VR => 'LO', Name => 'FrameOfInterestDescription' },
991    '0028,6023' => { VR => 'CS', Name => 'FrameOfInterestType' },
992    '0028,6030' => { VR => 'RET',Name => 'MaskPointers' },
993    '0028,6040' => { VR => 'US', Name => 'RWavePointer' },
994    '0028,6100' => { VR => 'SQ', Name => 'MaskSubtractionSequence' },
995    '0028,6101' => { VR => 'CS', Name => 'MaskOperation' },
996    '0028,6102' => { VR => 'US', Name => 'ApplicableFrameRange' },
997    '0028,6110' => { VR => 'US', Name => 'MaskFrameNumbers' },
998    '0028,6112' => { VR => 'US', Name => 'ContrastFrameAveraging' },
999    '0028,6114' => { VR => 'FL', Name => 'MaskSubPixelShift' },
1000    '0028,6120' => { VR => 'SS', Name => 'TIDOffset' },
1001    '0028,6190' => { VR => 'ST', Name => 'MaskOperationExplanation' },
1002    '0028,9001' => { VR => 'UL', Name => 'DataPointRows' },
1003    '0028,9002' => { VR => 'UL', Name => 'DataPointColumns' },
1004    '0028,9003' => { VR => 'CS', Name => 'SignalDomainColumns' },
1005    '0028,9099' => { VR => 'US', Name => 'LargestMonochromePixelValue' },
1006    '0028,9108' => { VR => 'CS', Name => 'DataRepresentation' },
1007    '0028,9110' => { VR => 'SQ', Name => 'PixelMeasuresSequence' },
1008    '0028,9132' => { VR => 'SQ', Name => 'FrameVOILUTSequence' },
1009    '0028,9145' => { VR => 'SQ', Name => 'PixelValueTransformationSequence' },
1010    '0028,9235' => { VR => 'CS', Name => 'SignalDomainRows' },
1011    # study group
1012    '0032,0000' => { VR => 'UL', Name => 'StudyGroupLength' },
1013    '0032,000A' => { VR => 'CS', Name => 'StudyStatusID' },
1014    '0032,000C' => { VR => 'CS', Name => 'StudyPriorityID' },
1015    '0032,0012' => { VR => 'LO', Name => 'StudyIDIssuer' },
1016    '0032,0032' => { VR => 'DA', Name => 'StudyVerifiedDate' },
1017    '0032,0033' => { VR => 'TM', Name => 'StudyVerifiedTime' },
1018    '0032,0034' => { VR => 'DA', Name => 'StudyReadDate' },
1019    '0032,0035' => { VR => 'TM', Name => 'StudyReadTime' },
1020    '0032,1000' => { VR => 'DA', Name => 'ScheduledStudyStartDate' },
1021    '0032,1001' => { VR => 'TM', Name => 'ScheduledStudyStartTime' },
1022    '0032,1010' => { VR => 'DA', Name => 'ScheduledStudyStopDate' },
1023    '0032,1011' => { VR => 'TM', Name => 'ScheduledStudyStopTime' },
1024    '0032,1020' => { VR => 'LO', Name => 'ScheduledStudyLocation' },
1025    '0032,1021' => { VR => 'AE', Name => 'ScheduledStudyLocationAETitle' },
1026    '0032,1030' => { VR => 'LO', Name => 'ReasonForStudy' },
1027    '0032,1031' => { VR => 'SQ', Name => 'RequestingPhysicianIDSequence' },
1028    '0032,1032' => { VR => 'PN', Name => 'RequestingPhysician' },
1029    '0032,1033' => { VR => 'LO', Name => 'RequestingService' },
1030    '0032,1040' => { VR => 'DA', Name => 'StudyArrivalDate' },
1031    '0032,1041' => { VR => 'TM', Name => 'StudyArrivalTime' },
1032    '0032,1050' => { VR => 'DA', Name => 'StudyCompletionDate' },
1033    '0032,1051' => { VR => 'TM', Name => 'StudyCompletionTime' },
1034    '0032,1055' => { VR => 'CS', Name => 'StudyComponentStatusID' },
1035    '0032,1060' => { VR => 'LO', Name => 'RequestedProcedureDescription' },
1036    '0032,1064' => { VR => 'SQ', Name => 'RequestedProcedureCodeSequence' },
1037    '0032,1070' => { VR => 'LO', Name => 'RequestedContrastAgent' },
1038    '0032,4000' => { VR => 'LT', Name => 'StudyComments' },
1039    # visit group
1040    '0038,0004' => { VR => 'SQ', Name => 'ReferencedPatientAliasSequence' },
1041    '0038,0008' => { VR => 'CS', Name => 'VisitStatusID' },
1042    '0038,0010' => { VR => 'LO', Name => 'AdmissionID' },
1043    '0038,0011' => { VR => 'LO', Name => 'IssuerOfAdmissionID' },
1044    '0038,0016' => { VR => 'LO', Name => 'RouteOfAdmissions' },
1045    '0038,001A' => { VR => 'DA', Name => 'ScheduledAdmissionDate' },
1046    '0038,001B' => { VR => 'TM', Name => 'ScheduledAdmissionTime' },
1047    '0038,001C' => { VR => 'DA', Name => 'ScheduledDischargeDate' },
1048    '0038,001D' => { VR => 'TM', Name => 'ScheduledDischargeTime' },
1049    '0038,001E' => { VR => 'LO', Name => 'ScheduledPatientInstitResidence' },
1050    '0038,0020' => { VR => 'DA', Name => 'AdmittingDate' },
1051    '0038,0021' => { VR => 'TM', Name => 'AdmittingTime' },
1052    '0038,0030' => { VR => 'DA', Name => 'DischargeDate' },
1053    '0038,0032' => { VR => 'TM', Name => 'DischargeTime' },
1054    '0038,0040' => { VR => 'LO', Name => 'DischargeDiagnosisDescription' },
1055    '0038,0044' => { VR => 'SQ', Name => 'DischargeDiagnosisCodeSequence' },
1056    '0038,0050' => { VR => 'LO', Name => 'SpecialNeeds' },
1057    '0038,0300' => { VR => 'LO', Name => 'CurrentPatientLocation' },
1058    '0038,0400' => { VR => 'LO', Name => 'PatientsInstitutionResidence' },
1059    '0038,0500' => { VR => 'LO', Name => 'PatientState' },
1060    '0038,4000' => { VR => 'LT', Name => 'VisitComments' },
1061    '003A,0004' => { VR => 'CS', Name => 'WaveformOriginality' },
1062    '003A,0005' => { VR => 'US', Name => 'NumberOfWaveformChannels' },
1063    '003A,0010' => { VR => 'UL', Name => 'NumberOfWaveformSamples' },
1064    '003A,001A' => { VR => 'DS', Name => 'SamplingFrequency' },
1065    '003A,0020' => { VR => 'SH', Name => 'MultiplexGroupLabel' },
1066    '003A,0200' => { VR => 'SQ', Name => 'ChannelDefinitionSequence' },
1067    '003A,0202' => { VR => 'IS', Name => 'WaveformChannelNumber' },
1068    '003A,0203' => { VR => 'SH', Name => 'ChannelLabel' },
1069    '003A,0205' => { VR => 'CS', Name => 'ChannelStatus' },
1070    '003A,0208' => { VR => 'SQ', Name => 'ChannelSourceSequence' },
1071    '003A,0209' => { VR => 'SQ', Name => 'ChannelSourceModifiersSequence' },
1072    '003A,020A' => { VR => 'SQ', Name => 'SourceWaveformSequence' },
1073    '003A,020C' => { VR => 'LO', Name => 'ChannelDerivationDescription' },
1074    '003A,0210' => { VR => 'DS', Name => 'ChannelSensitivity' },
1075    '003A,0211' => { VR => 'SQ', Name => 'ChannelSensitivityUnitsSequence' },
1076    '003A,0212' => { VR => 'DS', Name => 'ChannelSensitivityCorrectionFactor' },
1077    '003A,0213' => { VR => 'DS', Name => 'ChannelBaseline' },
1078    '003A,0214' => { VR => 'DS', Name => 'ChannelTimeSkew' },
1079    '003A,0215' => { VR => 'DS', Name => 'ChannelSampleSkew' },
1080    '003A,0218' => { VR => 'DS', Name => 'ChannelOffset' },
1081    '003A,021A' => { VR => 'US', Name => 'WaveformBitsStored' },
1082    '003A,0220' => { VR => 'DS', Name => 'FilterLowFrequency' },
1083    '003A,0221' => { VR => 'DS', Name => 'FilterHighFrequency' },
1084    '003A,0222' => { VR => 'DS', Name => 'NotchFilterFrequency' },
1085    '003A,0223' => { VR => 'DS', Name => 'NotchFilterBandwidth' },
1086    '003A,0300' => { VR => 'SQ', Name => 'MultiplexAudioChannelsDescrCodeSeq' },
1087    '003A,0301' => { VR => 'IS', Name => 'ChannelIdentificationCode' },
1088    '003A,0302' => { VR => 'CS', Name => 'ChannelMode' },
1089    '0040,0001' => { VR => 'AE', Name => 'ScheduledStationAETitle' },
1090    '0040,0002' => { VR => 'DA', Name => 'ScheduledProcedureStepStartDate' },
1091    '0040,0003' => { VR => 'TM', Name => 'ScheduledProcedureStepStartTime' },
1092    '0040,0004' => { VR => 'DA', Name => 'ScheduledProcedureStepEndDate' },
1093    '0040,0005' => { VR => 'TM', Name => 'ScheduledProcedureStepEndTime' },
1094    '0040,0006' => { VR => 'PN', Name => 'ScheduledPerformingPhysiciansName' },
1095    '0040,0007' => { VR => 'LO', Name => 'ScheduledProcedureStepDescription' },
1096    '0040,0008' => { VR => 'SQ', Name => 'ScheduledProtocolCodeSequence' },
1097    '0040,0009' => { VR => 'SH', Name => 'ScheduledProcedureStepID' },
1098    '0040,000A' => { VR => 'SQ', Name => 'StageCodeSequence' },
1099    '0040,000B' => { VR => 'SQ', Name => 'ScheduledPerformingPhysicianIDSeq' },
1100    '0040,0010' => { VR => 'SH', Name => 'ScheduledStationName' },
1101    '0040,0011' => { VR => 'SH', Name => 'ScheduledProcedureStepLocation' },
1102    '0040,0012' => { VR => 'LO', Name => 'PreMedication' },
1103    '0040,0020' => { VR => 'CS', Name => 'ScheduledProcedureStepStatus' },
1104    '0040,0100' => { VR => 'SQ', Name => 'ScheduledProcedureStepSequence' },
1105    '0040,0220' => { VR => 'SQ', Name => 'ReferencedNonImageCompositeSOPSeq' },
1106    '0040,0241' => { VR => 'AE', Name => 'PerformedStationAETitle' },
1107    '0040,0242' => { VR => 'SH', Name => 'PerformedStationName' },
1108    '0040,0243' => { VR => 'SH', Name => 'PerformedLocation' },
1109    '0040,0244' => { VR => 'DA', Name => 'PerformedProcedureStepStartDate' },
1110    '0040,0245' => { VR => 'TM', Name => 'PerformedProcedureStepStartTime' },
1111    '0040,0250' => { VR => 'DA', Name => 'PerformedProcedureStepEndDate' },
1112    '0040,0251' => { VR => 'TM', Name => 'PerformedProcedureStepEndTime' },
1113    '0040,0252' => { VR => 'CS', Name => 'PerformedProcedureStepStatus' },
1114    '0040,0253' => { VR => 'SH', Name => 'PerformedProcedureStepID' },
1115    '0040,0254' => { VR => 'LO', Name => 'PerformedProcedureStepDescription' },
1116    '0040,0255' => { VR => 'LO', Name => 'PerformedProcedureTypeDescription' },
1117    '0040,0260' => { VR => 'SQ', Name => 'PerformedProtocolCodeSequence' },
1118    '0040,0270' => { VR => 'SQ', Name => 'ScheduledStepAttributesSequence' },
1119    '0040,0275' => { VR => 'SQ', Name => 'RequestAttributesSequence' },
1120    '0040,0280' => { VR => 'ST', Name => 'CommentsOnPerformedProcedureStep' },
1121    '0040,0281' => { VR => 'SQ', Name => 'ProcStepDiscontinueReasonCodeSeq' },
1122    '0040,0293' => { VR => 'SQ', Name => 'QuantitySequence' },
1123    '0040,0294' => { VR => 'DS', Name => 'Quantity' },
1124    '0040,0295' => { VR => 'SQ', Name => 'MeasuringUnitsSequence' },
1125    '0040,0296' => { VR => 'SQ', Name => 'BillingItemSequence' },
1126    '0040,0300' => { VR => 'US', Name => 'TotalTimeOfFluoroscopy' },
1127    '0040,0301' => { VR => 'US', Name => 'TotalNumberOfExposures' },
1128    '0040,0302' => { VR => 'US', Name => 'EntranceDose' },
1129    '0040,0303' => { VR => 'US', Name => 'ExposedArea' },
1130    '0040,0306' => { VR => 'DS', Name => 'DistanceSourceToEntrance' },
1131    '0040,0307' => { VR => 'RET',Name => 'DistanceSourceToSupport' },
1132    '0040,030E' => { VR => 'SQ', Name => 'ExposureDoseSequence' },
1133    '0040,0310' => { VR => 'ST', Name => 'CommentsOnRadiationDose' },
1134    '0040,0312' => { VR => 'DS', Name => 'XRayOutput' },
1135    '0040,0314' => { VR => 'DS', Name => 'HalfValueLayer' },
1136    '0040,0316' => { VR => 'DS', Name => 'OrganDose' },
1137    '0040,0318' => { VR => 'CS', Name => 'OrganExposed' },
1138    '0040,0320' => { VR => 'SQ', Name => 'BillingProcedureStepSequence' },
1139    '0040,0321' => { VR => 'SQ', Name => 'FilmConsumptionSequence' },
1140    '0040,0324' => { VR => 'SQ', Name => 'BillingSuppliesAndDevicesSequence' },
1141    '0040,0330' => { VR => 'RET',Name => 'ReferencedProcedureStepSequence' },
1142    '0040,0340' => { VR => 'SQ', Name => 'PerformedSeriesSequence' },
1143    '0040,0400' => { VR => 'LT', Name => 'CommentsOnScheduledProcedureStep' },
1144    '0040,0440' => { VR => 'SQ', Name => 'ProtocolContextSequence' },
1145    '0040,0441' => { VR => 'SQ', Name => 'ContentItemModifierSequence' },
1146    '0040,050A' => { VR => 'LO', Name => 'SpecimenAccessionNumber' },
1147    '0040,0550' => { VR => 'SQ', Name => 'SpecimenSequence' },
1148    '0040,0551' => { VR => 'LO', Name => 'SpecimenIdentifier' },
1149    '0040,0555' => { VR => 'SQ', Name => 'AcquisitionContextSequence' },
1150    '0040,0556' => { VR => 'ST', Name => 'AcquisitionContextDescription' },
1151    '0040,059A' => { VR => 'SQ', Name => 'SpecimenTypeCodeSequence' },
1152    '0040,06FA' => { VR => 'LO', Name => 'SlideIdentifier' },
1153    '0040,071A' => { VR => 'SQ', Name => 'ImageCenterPointCoordinatesSeq' },
1154    '0040,072A' => { VR => 'DS', Name => 'XOffsetInSlideCoordinateSystem' },
1155    '0040,073A' => { VR => 'DS', Name => 'YOffsetInSlideCoordinateSystem' },
1156    '0040,074A' => { VR => 'DS', Name => 'ZOffsetInSlideCoordinateSystem' },
1157    '0040,08D8' => { VR => 'SQ', Name => 'PixelSpacingSequence' },
1158    '0040,08DA' => { VR => 'SQ', Name => 'CoordinateSystemAxisCodeSequence' },
1159    '0040,08EA' => { VR => 'SQ', Name => 'MeasurementUnitsCodeSequence' },
1160    '0040,1001' => { VR => 'SH', Name => 'RequestedProcedureID' },
1161    '0040,1002' => { VR => 'LO', Name => 'ReasonForRequestedProcedure' },
1162    '0040,1003' => { VR => 'SH', Name => 'RequestedProcedurePriority' },
1163    '0040,1004' => { VR => 'LO', Name => 'PatientTransportArrangements' },
1164    '0040,1005' => { VR => 'LO', Name => 'RequestedProcedureLocation' },
1165    '0040,1006' => { VR => 'RET',Name => 'PlacerOrderNumber-Procedure' },
1166    '0040,1007' => { VR => 'RET',Name => 'FillerOrderNumber-Procedure' },
1167    '0040,1008' => { VR => 'LO', Name => 'ConfidentialityCode' },
1168    '0040,1009' => { VR => 'SH', Name => 'ReportingPriority' },
1169    '0040,100A' => { VR => 'SQ', Name => 'ReasonForRequestedProcedureCodeSeq' },
1170    '0040,1010' => { VR => 'PN', Name => 'NamesOfIntendedRecipientsOfResults' },
1171    '0040,1011' => { VR => 'SQ', Name => 'IntendedRecipientsOfResultsIDSeq' },
1172    '0040,1101' => { VR => 'SQ', Name => 'PersonIdentificationCodeSequence' },
1173    '0040,1102' => { VR => 'ST', Name => 'PersonsAddress' },
1174    '0040,1103' => { VR => 'LO', Name => 'PersonsTelephoneNumbers' },
1175    '0040,1400' => { VR => 'LT', Name => 'RequestedProcedureComments' },
1176    '0040,2001' => { VR => 'RET',Name => 'ReasonForImagingServiceRequest' },
1177    '0040,2004' => { VR => 'DA', Name => 'IssueDateOfImagingServiceRequest' },
1178    '0040,2005' => { VR => 'TM', Name => 'IssueTimeOfImagingServiceRequest' },
1179    '0040,2006' => { VR => 'RET',Name => 'PlacerOrderNum-ImagingServiceReq' },
1180    '0040,2007' => { VR => 'RET',Name => 'FillerOrderNum-ImagingServiceReq' },
1181    '0040,2008' => { VR => 'PN', Name => 'OrderEnteredBy' },
1182    '0040,2009' => { VR => 'SH', Name => 'OrderEnterersLocation' },
1183    '0040,2010' => { VR => 'SH', Name => 'OrderCallbackPhoneNumber' },
1184    '0040,2016' => { VR => 'LO', Name => 'PlacerOrderNum-ImagingServiceReq' },
1185    '0040,2017' => { VR => 'LO', Name => 'FillerOrderNum-ImagingServiceReq' },
1186    '0040,2400' => { VR => 'LT', Name => 'ImagingServiceRequestComments' },
1187    '0040,3001' => { VR => 'LO', Name => 'ConfidentialityOnPatientDataDescr' },
1188    '0040,4001' => { VR => 'CS', Name => 'GenPurposeScheduledProcStepStatus' },
1189    '0040,4002' => { VR => 'CS', Name => 'GenPurposePerformedProcStepStatus' },
1190    '0040,4003' => { VR => 'CS', Name => 'GenPurposeSchedProcStepPriority' },
1191    '0040,4004' => { VR => 'SQ', Name => 'SchedProcessingApplicationsCodeSeq' },
1192    '0040,4005' => { VR => 'DT', Name => 'SchedProcedureStepStartDateAndTime' },
1193    '0040,4006' => { VR => 'CS', Name => 'MultipleCopiesFlag' },
1194    '0040,4007' => { VR => 'SQ', Name => 'PerformedProcessingAppsCodeSeq' },
1195    '0040,4009' => { VR => 'SQ', Name => 'HumanPerformerCodeSequence' },
1196    '0040,4010' => { VR => 'DT', Name => 'SchedProcStepModificationDateTime' },
1197    '0040,4011' => { VR => 'DT', Name => 'ExpectedCompletionDateAndTime' },
1198    '0040,4015' => { VR => 'SQ', Name => 'ResultingGenPurposePerfProcStepSeq' },
1199    '0040,4016' => { VR => 'SQ', Name => 'RefGenPurposeSchedProcStepSeq' },
1200    '0040,4018' => { VR => 'SQ', Name => 'ScheduledWorkitemCodeSequence' },
1201    '0040,4019' => { VR => 'SQ', Name => 'PerformedWorkitemCodeSequence' },
1202    '0040,4020' => { VR => 'CS', Name => 'InputAvailabilityFlag' },
1203    '0040,4021' => { VR => 'SQ', Name => 'InputInformationSequence' },
1204    '0040,4022' => { VR => 'SQ', Name => 'RelevantInformationSequence' },
1205    '0040,4023' => { VR => 'UI', Name => 'RefGenPurSchedProcStepTransUID' },
1206    '0040,4025' => { VR => 'SQ', Name => 'ScheduledStationNameCodeSequence' },
1207    '0040,4026' => { VR => 'SQ', Name => 'ScheduledStationClassCodeSequence' },
1208    '0040,4027' => { VR => 'SQ', Name => 'SchedStationGeographicLocCodeSeq' },
1209    '0040,4028' => { VR => 'SQ', Name => 'PerformedStationNameCodeSequence' },
1210    '0040,4029' => { VR => 'SQ', Name => 'PerformedStationClassCodeSequence' },
1211    '0040,4030' => { VR => 'SQ', Name => 'PerformedStationGeogLocCodeSeq' },
1212    '0040,4031' => { VR => 'SQ', Name => 'RequestedSubsequentWorkItemCodeSeq' },
1213    '0040,4032' => { VR => 'SQ', Name => 'NonDICOMOutputCodeSequence' },
1214    '0040,4033' => { VR => 'SQ', Name => 'OutputInformationSequence' },
1215    '0040,4034' => { VR => 'SQ', Name => 'ScheduledHumanPerformersSequence' },
1216    '0040,4035' => { VR => 'SQ', Name => 'ActualHumanPerformersSequence' },
1217    '0040,4036' => { VR => 'LO', Name => 'HumanPerformersOrganization' },
1218    '0040,4037' => { VR => 'PN', Name => 'HumanPerformersName' },
1219    '0040,8302' => { VR => 'DS', Name => 'EntranceDoseInMilliGy' },
1220    '0040,9096' => { VR => 'SQ', Name => 'RealWorldValueMappingSequence' },
1221    '0040,9210' => { VR => 'SH', Name => 'LUTLabel' },
1222    '0040,9211' => { VR => 'SS', Name => 'RealWorldValueLastValueMapped' },
1223    '0040,9212' => { VR => 'FD', Name => 'RealWorldValueLUTData' },
1224    '0040,9216' => { VR => 'SS', Name => 'RealWorldValueFirstValueMapped' },
1225    '0040,9224' => { VR => 'FD', Name => 'RealWorldValueIntercept' },
1226    '0040,9225' => { VR => 'FD', Name => 'RealWorldValueSlope' },
1227    '0040,A010' => { VR => 'CS', Name => 'RelationshipType' },
1228    '0040,A027' => { VR => 'LO', Name => 'VerifyingOrganization' },
1229    '0040,A030' => { VR => 'DT', Name => 'VerificationDateTime' },
1230    '0040,A032' => { VR => 'DT', Name => 'ObservationDateTime' },
1231    '0040,A040' => { VR => 'CS', Name => 'ValueType' },
1232    '0040,A043' => { VR => 'SQ', Name => 'ConceptNameCodeSequence' },
1233    '0040,A050' => { VR => 'CS', Name => 'ContinuityOfContent' },
1234    '0040,A073' => { VR => 'SQ', Name => 'VerifyingObserverSequence' },
1235    '0040,A075' => { VR => 'PN', Name => 'VerifyingObserverName' },
1236    '0040,A088' => { VR => 'SQ', Name => 'VerifyingObserverIdentCodeSequence' },
1237    '0040,A0B0' => { VR => 'US', Name => 'ReferencedWaveformChannels' },
1238    '0040,A120' => { VR => 'DT', Name => 'DateTime' },
1239    '0040,A121' => { VR => 'DA', Name => 'Date' },
1240    '0040,A122' => { VR => 'TM', Name => 'Time' },
1241    '0040,A123' => { VR => 'PN', Name => 'PersonName' },
1242    '0040,A124' => { VR => 'UI', Name => 'UID' },
1243    '0040,A130' => { VR => 'CS', Name => 'TemporalRangeType' },
1244    '0040,A132' => { VR => 'UL', Name => 'ReferencedSamplePositions' },
1245    '0040,A136' => { VR => 'US', Name => 'ReferencedFrameNumbers' },
1246    '0040,A138' => { VR => 'DS', Name => 'ReferencedTimeOffsets' },
1247    '0040,A13A' => { VR => 'DT', Name => 'ReferencedDatetime' },
1248    '0040,A160' => { VR => 'UT', Name => 'TextValue' },
1249    '0040,A168' => { VR => 'SQ', Name => 'ConceptCodeSequence' },
1250    '0040,A170' => { VR => 'SQ', Name => 'PurposeOfReferenceCodeSequence' },
1251    '0040,A180' => { VR => 'US', Name => 'AnnotationGroupNumber' },
1252    '0040,A195' => { VR => 'SQ', Name => 'ModifierCodeSequence' },
1253    '0040,A300' => { VR => 'SQ', Name => 'MeasuredValueSequence' },
1254    '0040,A301' => { VR => 'SQ', Name => 'NumericValueQualifierCodeSequence' },
1255    '0040,A30A' => { VR => 'DS', Name => 'NumericValue' },
1256    '0040,A360' => { VR => 'SQ', Name => 'PredecessorDocumentsSequence' },
1257    '0040,A370' => { VR => 'SQ', Name => 'ReferencedRequestSequence' },
1258    '0040,A372' => { VR => 'SQ', Name => 'PerformedProcedureCodeSequence' },
1259    '0040,A375' => { VR => 'SQ', Name => 'CurrentRequestedProcEvidenceSeq' },
1260    '0040,A385' => { VR => 'SQ', Name => 'PertinentOtherEvidenceSequence' },
1261    '0040,A491' => { VR => 'CS', Name => 'CompletionFlag' },
1262    '0040,A492' => { VR => 'LO', Name => 'CompletionFlagDescription' },
1263    '0040,A493' => { VR => 'CS', Name => 'VerificationFlag' },
1264    '0040,A504' => { VR => 'SQ', Name => 'ContentTemplateSequence' },
1265    '0040,A525' => { VR => 'SQ', Name => 'IdenticalDocumentsSequence' },
1266    '0040,A730' => { VR => 'SQ', Name => 'ContentSequence' },
1267    '0040,B020' => { VR => 'SQ', Name => 'AnnotationSequence' },
1268    '0040,DB00' => { VR => 'CS', Name => 'TemplateIdentifier' },
1269    '0040,DB06' => { VR => 'RET',Name => 'TemplateVersion' },
1270    '0040,DB07' => { VR => 'RET',Name => 'TemplateLocalVersion' },
1271    '0040,DB0B' => { VR => 'RET',Name => 'TemplateExtensionFlag' },
1272    '0040,DB0C' => { VR => 'RET',Name => 'TemplateExtensionOrganizationUID' },
1273    '0040,DB0D' => { VR => 'RET',Name => 'TemplateExtensionCreatorUID' },
1274    '0040,DB73' => { VR => 'UL', Name => 'ReferencedContentItemIdentifier' },
1275    # calibration group
1276    '0050,0004' => { VR => 'CS', Name => 'CalibrationImage' },
1277    '0050,0010' => { VR => 'SQ', Name => 'DeviceSequence' },
1278    '0050,0014' => { VR => 'DS', Name => 'DeviceLength' },
1279    '0050,0016' => { VR => 'DS', Name => 'DeviceDiameter' },
1280    '0050,0017' => { VR => 'CS', Name => 'DeviceDiameterUnits' },
1281    '0050,0018' => { VR => 'DS', Name => 'DeviceVolume' },
1282    '0050,0019' => { VR => 'DS', Name => 'InterMarkerDistance' },
1283    '0050,0020' => { VR => 'LO', Name => 'DeviceDescription' },
1284    # nuclear acquisition group
1285    '0054,0010' => { VR => 'US', Name => 'EnergyWindowVector' },
1286    '0054,0011' => { VR => 'US', Name => 'NumberOfEnergyWindows' },
1287    '0054,0012' => { VR => 'SQ', Name => 'EnergyWindowInformationSequence' },
1288    '0054,0013' => { VR => 'SQ', Name => 'EnergyWindowRangeSequence' },
1289    '0054,0014' => { VR => 'DS', Name => 'EnergyWindowLowerLimit' },
1290    '0054,0015' => { VR => 'DS', Name => 'EnergyWindowUpperLimit' },
1291    '0054,0016' => { VR => 'SQ', Name => 'RadiopharmaceuticalInformationSeq' },
1292    '0054,0017' => { VR => 'IS', Name => 'ResidualSyringeCounts' },
1293    '0054,0018' => { VR => 'SH', Name => 'EnergyWindowName' },
1294    '0054,0020' => { VR => 'US', Name => 'DetectorVector' },
1295    '0054,0021' => { VR => 'US', Name => 'NumberOfDetectors' },
1296    '0054,0022' => { VR => 'SQ', Name => 'DetectorInformationSequence' },
1297    '0054,0030' => { VR => 'US', Name => 'PhaseVector' },
1298    '0054,0031' => { VR => 'US', Name => 'NumberOfPhases' },
1299    '0054,0032' => { VR => 'SQ', Name => 'PhaseInformationSequence' },
1300    '0054,0033' => { VR => 'US', Name => 'NumberOfFramesInPhase' },
1301    '0054,0036' => { VR => 'IS', Name => 'PhaseDelay' },
1302    '0054,0038' => { VR => 'IS', Name => 'PauseBetweenFrames' },
1303    '0054,0039' => { VR => 'CS', Name => 'PhaseDescription' },
1304    '0054,0050' => { VR => 'US', Name => 'RotationVector' },
1305    '0054,0051' => { VR => 'US', Name => 'NumberOfRotations' },
1306    '0054,0052' => { VR => 'SQ', Name => 'RotationInformationSequence' },
1307    '0054,0053' => { VR => 'US', Name => 'NumberOfFramesInRotation' },
1308    '0054,0060' => { VR => 'US', Name => 'RRIntervalVector' },
1309    '0054,0061' => { VR => 'US', Name => 'NumberOfRRIntervals' },
1310    '0054,0062' => { VR => 'SQ', Name => 'GatedInformationSequence' },
1311    '0054,0063' => { VR => 'SQ', Name => 'DataInformationSequence' },
1312    '0054,0070' => { VR => 'US', Name => 'TimeSlotVector' },
1313    '0054,0071' => { VR => 'US', Name => 'NumberOfTimeSlots' },
1314    '0054,0072' => { VR => 'SQ', Name => 'TimeSlotInformationSequence' },
1315    '0054,0073' => { VR => 'DS', Name => 'TimeSlotTime' },
1316    '0054,0080' => { VR => 'US', Name => 'SliceVector' },
1317    '0054,0081' => { VR => 'US', Name => 'NumberOfSlices' },
1318    '0054,0090' => { VR => 'US', Name => 'AngularViewVector' },
1319    '0054,0100' => { VR => 'US', Name => 'TimeSliceVector' },
1320    '0054,0101' => { VR => 'US', Name => 'NumberOfTimeSlices' },
1321    '0054,0200' => { VR => 'DS', Name => 'StartAngle' },
1322    '0054,0202' => { VR => 'CS', Name => 'TypeOfDetectorMotion' },
1323    '0054,0210' => { VR => 'IS', Name => 'TriggerVector' },
1324    '0054,0211' => { VR => 'US', Name => 'NumberOfTriggersInPhase' },
1325    '0054,0220' => { VR => 'SQ', Name => 'ViewCodeSequence' },
1326    '0054,0222' => { VR => 'SQ', Name => 'ViewModifierCodeSequence' },
1327    '0054,0300' => { VR => 'SQ', Name => 'RadionuclideCodeSequence' },
1328    '0054,0302' => { VR => 'SQ', Name => 'AdministrationRouteCodeSequence' },
1329    '0054,0304' => { VR => 'SQ', Name => 'RadiopharmaceuticalCodeSequence' },
1330    '0054,0306' => { VR => 'SQ', Name => 'CalibrationDataSequence' },
1331    '0054,0308' => { VR => 'US', Name => 'EnergyWindowNumber' },
1332    '0054,0400' => { VR => 'SH', Name => 'ImageID' },
1333    '0054,0410' => { VR => 'SQ', Name => 'PatientOrientationCodeSequence' },
1334    '0054,0412' => { VR => 'SQ', Name => 'PatientOrientationModifierCodeSeq' },
1335    '0054,0414' => { VR => 'SQ', Name => 'PatientGantryRelationshipCodeSeq' },
1336    '0054,0500' => { VR => 'CS', Name => 'SliceProgressionDirection' },
1337    '0054,1000' => { VR => 'CS', Name => 'SeriesType' },
1338    '0054,1001' => { VR => 'CS', Name => 'Units' },
1339    '0054,1002' => { VR => 'CS', Name => 'CountsSource' },
1340    '0054,1004' => { VR => 'CS', Name => 'ReprojectionMethod' },
1341    '0054,1100' => { VR => 'CS', Name => 'RandomsCorrectionMethod' },
1342    '0054,1101' => { VR => 'LO', Name => 'AttenuationCorrectionMethod' },
1343    '0054,1102' => { VR => 'CS', Name => 'DecayCorrection' },
1344    '0054,1103' => { VR => 'LO', Name => 'ReconstructionMethod' },
1345    '0054,1104' => { VR => 'LO', Name => 'DetectorLinesOfResponseUsed' },
1346    '0054,1105' => { VR => 'LO', Name => 'ScatterCorrectionMethod' },
1347    '0054,1200' => { VR => 'DS', Name => 'AxialAcceptance' },
1348    '0054,1201' => { VR => 'IS', Name => 'AxialMash' },
1349    '0054,1202' => { VR => 'IS', Name => 'TransverseMash' },
1350    '0054,1203' => { VR => 'DS', Name => 'DetectorElementSize' },
1351    '0054,1210' => { VR => 'DS', Name => 'CoincidenceWindowWidth' },
1352    '0054,1220' => { VR => 'CS', Name => 'SecondaryCountsType' },
1353    '0054,1300' => { VR => 'DS', Name => 'FrameReferenceTime' },
1354    '0054,1310' => { VR => 'IS', Name => 'PrimaryCountsAccumulated' },
1355    '0054,1311' => { VR => 'IS', Name => 'SecondaryCountsAccumulated' },
1356    '0054,1320' => { VR => 'DS', Name => 'SliceSensitivityFactor' },
1357    '0054,1321' => { VR => 'DS', Name => 'DecayFactor' },
1358    '0054,1322' => { VR => 'DS', Name => 'DoseCalibrationFactor' },
1359    '0054,1323' => { VR => 'DS', Name => 'ScatterFractionFactor' },
1360    '0054,1324' => { VR => 'DS', Name => 'DeadTimeFactor' },
1361    '0054,1330' => { VR => 'US', Name => 'ImageIndex' },
1362    '0054,1400' => { VR => 'CS', Name => 'CountsIncluded' },
1363    '0054,1401' => { VR => 'CS', Name => 'DeadTimeCorrectionFlag' },
1364    '0060,3000' => { VR => 'SQ', Name => 'HistogramSequence' },
1365    '0060,3002' => { VR => 'US', Name => 'HistogramNumberOfBins' },
1366    '0060,3004' => { VR => 'SS', Name => 'HistogramFirstBinValue' },
1367    '0060,3006' => { VR => 'SS', Name => 'HistogramLastBinValue' },
1368    '0060,3008' => { VR => 'US', Name => 'HistogramBinWidth' },
1369    '0060,3010' => { VR => 'LO', Name => 'HistogramExplanation' },
1370    '0060,3020' => { VR => 'UL', Name => 'HistogramData' },
1371    '0070,0001' => { VR => 'SQ', Name => 'GraphicAnnotationSequence' },
1372    '0070,0002' => { VR => 'CS', Name => 'GraphicLayer' },
1373    '0070,0003' => { VR => 'CS', Name => 'BoundingBoxAnnotationUnits' },
1374    '0070,0004' => { VR => 'CS', Name => 'AnchorPointAnnotationUnits' },
1375    '0070,0005' => { VR => 'CS', Name => 'GraphicAnnotationUnits' },
1376    '0070,0006' => { VR => 'ST', Name => 'UnformattedTextValue' },
1377    '0070,0008' => { VR => 'SQ', Name => 'TextObjectSequence' },
1378    '0070,0009' => { VR => 'SQ', Name => 'GraphicObjectSequence' },
1379    '0070,0010' => { VR => 'FL', Name => 'BoundingBoxTopLeftHandCorner' },
1380    '0070,0011' => { VR => 'FL', Name => 'BoundingBoxBottomRightHandCorner' },
1381    '0070,0012' => { VR => 'CS', Name => 'BoundingBoxTextHorizJustification' },
1382    '0070,0014' => { VR => 'FL', Name => 'AnchorPoint' },
1383    '0070,0015' => { VR => 'CS', Name => 'AnchorPointVisibility' },
1384    '0070,0020' => { VR => 'US', Name => 'GraphicDimensions' },
1385    '0070,0021' => { VR => 'US', Name => 'NumberOfGraphicPoints' },
1386    '0070,0022' => { VR => 'FL', Name => 'GraphicData' },
1387    '0070,0023' => { VR => 'CS', Name => 'GraphicType' },
1388    '0070,0024' => { VR => 'CS', Name => 'GraphicFilled' },
1389    '0070,0041' => { VR => 'CS', Name => 'ImageHorizontalFlip' },
1390    '0070,0042' => { VR => 'US', Name => 'ImageRotation' },
1391    '0070,0052' => { VR => 'SL', Name => 'DisplayedAreaTopLeftHandCorner' },
1392    '0070,0053' => { VR => 'SL', Name => 'DisplayedAreaBottomRightHandCorner' },
1393    '0070,005A' => { VR => 'SQ', Name => 'DisplayedAreaSelectionSequence' },
1394    '0070,0060' => { VR => 'SQ', Name => 'GraphicLayerSequence' },
1395    '0070,0062' => { VR => 'IS', Name => 'GraphicLayerOrder' },
1396    '0070,0066' => { VR => 'US', Name => 'GraphicLayerRecDisplayGraysclValue' },
1397    '0070,0067' => { VR => 'US', Name => 'GraphicLayerRecDisplayRGBValue' },
1398    '0070,0068' => { VR => 'LO', Name => 'GraphicLayerDescription' },
1399    '0070,0080' => { VR => 'CS', Name => 'ContentLabel' },
1400    '0070,0081' => { VR => 'LO', Name => 'ContentDescription' },
1401    '0070,0082' => { VR => 'DA', Name => 'PresentationCreationDate' },
1402    '0070,0083' => { VR => 'TM', Name => 'PresentationCreationTime' },
1403    '0070,0084' => { VR => 'PN', Name => 'ContentCreatorsName' },
1404    '0070,0100' => { VR => 'CS', Name => 'PresentationSizeMode' },
1405    '0070,0101' => { VR => 'DS', Name => 'PresentationPixelSpacing' },
1406    '0070,0102' => { VR => 'IS', Name => 'PresentationPixelAspectRatio' },
1407    '0070,0103' => { VR => 'FL', Name => 'PresentationPixelMagRatio' },
1408    '0070,0306' => { VR => 'CS', Name => 'ShapeType' },
1409    '0070,0308' => { VR => 'SQ', Name => 'RegistrationSequence' },
1410    '0070,0309' => { VR => 'SQ', Name => 'MatrixRegistrationSequence' },
1411    '0070,030A' => { VR => 'SQ', Name => 'MatrixSequence' },
1412    '0070,030C' => { VR => 'CS', Name => 'FrameOfRefTransformationMatrixType' },
1413    '0070,030D' => { VR => 'SQ', Name => 'RegistrationTypeCodeSequence' },
1414    '0070,030F' => { VR => 'ST', Name => 'FiducialDescription' },
1415    '0070,0310' => { VR => 'SH', Name => 'FiducialIdentifier' },
1416    '0070,0311' => { VR => 'SQ', Name => 'FiducialIdentifierCodeSequence' },
1417    '0070,0312' => { VR => 'FD', Name => 'ContourUncertaintyRadius' },
1418    '0070,0314' => { VR => 'SQ', Name => 'UsedFiducialsSequence' },
1419    '0070,0318' => { VR => 'SQ', Name => 'GraphicCoordinatesDataSequence' },
1420    '0070,031A' => { VR => 'UI', Name => 'FiducialUID' },
1421    '0070,031C' => { VR => 'SQ', Name => 'FiducialSetSequence' },
1422    '0070,031E' => { VR => 'SQ', Name => 'FiducialSequence' },
1423    # storage group
1424    '0088,0130' => { VR => 'SH', Name => 'StorageMediaFileSetID' },
1425    '0088,0140' => { VR => 'UI', Name => 'StorageMediaFileSetUID' },
1426    '0088,0200' => { VR => 'SQ', Name => 'IconImageSequence' },
1427    '0088,0904' => { VR => 'LO', Name => 'TopicTitle' },
1428    '0088,0906' => { VR => 'ST', Name => 'TopicSubject' },
1429    '0088,0910' => { VR => 'LO', Name => 'TopicAuthor' },
1430    '0088,0912' => { VR => 'LO', Name => 'TopicKeyWords' },
1431    '0100,0410' => { VR => 'CS', Name => 'SOPInstanceStatus' },
1432    '0100,0420' => { VR => 'DT', Name => 'SOPAuthorizationDateAndTime' },
1433    '0100,0424' => { VR => 'LT', Name => 'SOPAuthorizationComment' },
1434    '0100,0426' => { VR => 'LO', Name => 'AuthorizationEquipmentCertNumber' },
1435    '0400,0005' => { VR => 'US', Name => 'MACIDNumber' },
1436    '0400,0010' => { VR => 'UI', Name => 'MACCalculationTransferSyntaxUID' },
1437    '0400,0015' => { VR => 'CS', Name => 'MACAlgorithm' },
1438    '0400,0020' => { VR => 'AT', Name => 'DataElementsSigned' },
1439    '0400,0100' => { VR => 'UI', Name => 'DigitalSignatureUID' },
1440    '0400,0105' => { VR => 'DT', Name => 'DigitalSignatureDateTime' },
1441    '0400,0110' => { VR => 'CS', Name => 'CertificateType' },
1442    '0400,0115' => { VR => 'OB', Name => 'CertificateOfSigner' },
1443    '0400,0120' => { VR => 'OB', Name => 'Signature' },
1444    '0400,0305' => { VR => 'CS', Name => 'CertifiedTimestampType' },
1445    '0400,0310' => { VR => 'OB', Name => 'CertifiedTimestamp' },
1446    '0400,0500' => { VR => 'SQ', Name => 'EncryptedAttributesSequence' },
1447    '0400,0510' => { VR => 'UI', Name => 'EncryptedContentTransferSyntaxUID' },
1448    '0400,0520' => { VR => 'OB', Name => 'EncryptedContent' },
1449    '0400,0550' => { VR => 'SQ', Name => 'ModifiedAttributesSequence' },
1450    '2000,0010' => { VR => 'IS', Name => 'NumberOfCopies' },
1451    '2000,001E' => { VR => 'SQ', Name => 'PrinterConfigurationSequence' },
1452    '2000,0020' => { VR => 'CS', Name => 'PrintPriority' },
1453    '2000,0030' => { VR => 'CS', Name => 'MediumType' },
1454    '2000,0040' => { VR => 'CS', Name => 'FilmDestination' },
1455    '2000,0050' => { VR => 'LO', Name => 'FilmSessionLabel' },
1456    '2000,0060' => { VR => 'IS', Name => 'MemoryAllocation' },
1457    '2000,0061' => { VR => 'IS', Name => 'MaximumMemoryAllocation' },
1458    '2000,0062' => { VR => 'CS', Name => 'ColorImagePrintingFlag' },
1459    '2000,0063' => { VR => 'CS', Name => 'CollationFlag' },
1460    '2000,0065' => { VR => 'CS', Name => 'AnnotationFlag' },
1461    '2000,0067' => { VR => 'CS', Name => 'ImageOverlayFlag' },
1462    '2000,0069' => { VR => 'CS', Name => 'PresentationLUTFlag' },
1463    '2000,006A' => { VR => 'CS', Name => 'ImageBoxPresentationLUTFlag' },
1464    '2000,00A0' => { VR => 'US', Name => 'MemoryBitDepth' },
1465    '2000,00A1' => { VR => 'US', Name => 'PrintingBitDepth' },
1466    '2000,00A2' => { VR => 'SQ', Name => 'MediaInstalledSequence' },
1467    '2000,00A4' => { VR => 'SQ', Name => 'OtherMediaAvailableSequence' },
1468    '2000,00A8' => { VR => 'SQ', Name => 'SupportedImageDisplayFormatSeq' },
1469    # film box group
1470    '2000,0500' => { VR => 'SQ', Name => 'ReferencedFilmBoxSequence' },
1471    '2000,0510' => { VR => 'SQ', Name => 'ReferencedStoredPrintSequence' },
1472    '2010,0010' => { VR => 'ST', Name => 'ImageDisplayFormat' },
1473    '2010,0030' => { VR => 'CS', Name => 'AnnotationDisplayFormatID' },
1474    '2010,0040' => { VR => 'CS', Name => 'FilmOrientation' },
1475    '2010,0050' => { VR => 'CS', Name => 'FilmSizeID' },
1476    '2010,0052' => { VR => 'CS', Name => 'PrinterResolutionID' },
1477    '2010,0054' => { VR => 'CS', Name => 'DefaultPrinterResolutionID' },
1478    '2010,0060' => { VR => 'CS', Name => 'MagnificationType' },
1479    '2010,0080' => { VR => 'CS', Name => 'SmoothingType' },
1480    '2010,00A6' => { VR => 'CS', Name => 'DefaultMagnificationType' },
1481    '2010,00A7' => { VR => 'CS', Name => 'OtherMagnificationTypesAvailable' },
1482    '2010,00A8' => { VR => 'CS', Name => 'DefaultSmoothingType' },
1483    '2010,00A9' => { VR => 'CS', Name => 'OtherSmoothingTypesAvailable' },
1484    '2010,0100' => { VR => 'CS', Name => 'BorderDensity' },
1485    '2010,0110' => { VR => 'CS', Name => 'EmptyImageDensity' },
1486    '2010,0120' => { VR => 'US', Name => 'MinDensity' },
1487    '2010,0130' => { VR => 'US', Name => 'MaxDensity' },
1488    '2010,0140' => { VR => 'CS', Name => 'Trim' },
1489    '2010,0150' => { VR => 'ST', Name => 'ConfigurationInformation' },
1490    '2010,0152' => { VR => 'LT', Name => 'ConfigurationInformationDescr' },
1491    '2010,0154' => { VR => 'IS', Name => 'MaximumCollatedFilms' },
1492    '2010,015E' => { VR => 'US', Name => 'Illumination' },
1493    '2010,0160' => { VR => 'US', Name => 'ReflectedAmbientLight' },
1494    '2010,0376' => { VR => 'DS', Name => 'PrinterPixelSpacing' },
1495    '2010,0500' => { VR => 'SQ', Name => 'ReferencedFilmSessionSequence' },
1496    '2010,0510' => { VR => 'SQ', Name => 'ReferencedImageBoxSequence' },
1497    '2010,0520' => { VR => 'SQ', Name => 'ReferencedBasicAnnotationBoxSeq' },
1498    # image box group
1499    '2020,0010' => { VR => 'US', Name => 'ImagePosition' },
1500    '2020,0020' => { VR => 'CS', Name => 'Polarity' },
1501    '2020,0030' => { VR => 'DS', Name => 'RequestedImageSize' },
1502    '2020,0040' => { VR => 'CS', Name => 'RequestedDecimate-CropBehavior' },
1503    '2020,0050' => { VR => 'CS', Name => 'RequestedResolutionID' },
1504    '2020,00A0' => { VR => 'CS', Name => 'RequestedImageSizeFlag' },
1505    '2020,00A2' => { VR => 'CS', Name => 'Decimate-CropResult' },
1506    '2020,0110' => { VR => 'SQ', Name => 'BasicGrayscaleImageSequence' },
1507    '2020,0111' => { VR => 'SQ', Name => 'BasicColorImageSequence' },
1508    '2020,0130' => { VR => 'RET',Name => 'ReferencedImageOverlayBoxSequence' },
1509    '2020,0140' => { VR => 'RET',Name => 'ReferencedVOILUTBoxSequence' },
1510    # annotation group
1511    '2030,0010' => { VR => 'US', Name => 'AnnotationPosition' },
1512    '2030,0020' => { VR => 'LO', Name => 'TextString' },
1513    # overlay box group
1514    '2040,0010' => { VR => 'SQ', Name => 'ReferencedOverlayPlaneSequence' },
1515    '2040,0011' => { VR => 'US', Name => 'ReferencedOverlayPlaneGroups' },
1516    '2040,0020' => { VR => 'SQ', Name => 'OverlayPixelDataSequence' },
1517    '2040,0060' => { VR => 'CS', Name => 'OverlayMagnificationType' },
1518    '2040,0070' => { VR => 'CS', Name => 'OverlaySmoothingType' },
1519    '2040,0072' => { VR => 'CS', Name => 'OverlayOrImageMagnification' },
1520    '2040,0074' => { VR => 'US', Name => 'MagnifyToNumberOfColumns' },
1521    '2040,0080' => { VR => 'CS', Name => 'OverlayForegroundDensity' },
1522    '2040,0082' => { VR => 'CS', Name => 'OverlayBackgroundDensity' },
1523    '2040,0090' => { VR => 'RET',Name => 'OverlayMode' },
1524    '2040,0100' => { VR => 'RET',Name => 'ThresholdDensity' },
1525    '2040,0500' => { VR => 'RET',Name => 'ReferencedImageBoxSequence' },
1526    '2050,0010' => { VR => 'SQ', Name => 'PresentationLUTSequence' },
1527    '2050,0020' => { VR => 'CS', Name => 'PresentationLUTShape' },
1528    '2050,0500' => { VR => 'SQ', Name => 'ReferencedPresentationLUTSequence' },
1529    '2100,0010' => { VR => 'SH', Name => 'PrintJobID' },
1530    '2100,0020' => { VR => 'CS', Name => 'ExecutionStatus' },
1531    '2100,0030' => { VR => 'CS', Name => 'ExecutionStatusInfo' },
1532    '2100,0040' => { VR => 'DA', Name => 'CreationDate' },
1533    '2100,0050' => { VR => 'TM', Name => 'CreationTime' },
1534    '2100,0070' => { VR => 'AE', Name => 'Originator' },
1535    '2100,0140' => { VR => 'AE', Name => 'Destination' },
1536    '2100,0160' => { VR => 'SH', Name => 'OwnerID' },
1537    '2100,0170' => { VR => 'IS', Name => 'NumberOfFilms' },
1538    '2100,0500' => { VR => 'SQ', Name => 'ReferencedPrintJobSequence' },
1539    # printer group
1540    '2110,0010' => { VR => 'CS', Name => 'PrinterStatus' },
1541    '2110,0020' => { VR => 'CS', Name => 'PrinterStatusInfo' },
1542    '2110,0030' => { VR => 'LO', Name => 'PrinterName' },
1543    '2110,0099' => { VR => 'SH', Name => 'PrintQueueID' },
1544    '2120,0010' => { VR => 'CS', Name => 'QueueStatus' },
1545    # print job group
1546    '2120,0050' => { VR => 'SQ', Name => 'PrintJobDescriptionSequence' },
1547    '2120,0070' => { VR => 'SQ', Name => 'ReferencedPrintJobSequence' },
1548    '2130,0010' => { VR => 'SQ', Name => 'PrintManagementCapabilitiesSeq' },
1549    '2130,0015' => { VR => 'SQ', Name => 'PrinterCharacteristicsSequence' },
1550    '2130,0030' => { VR => 'SQ', Name => 'FilmBoxContentSequence' },
1551    '2130,0040' => { VR => 'SQ', Name => 'ImageBoxContentSequence' },
1552    '2130,0050' => { VR => 'SQ', Name => 'AnnotationContentSequence' },
1553    '2130,0060' => { VR => 'SQ', Name => 'ImageOverlayBoxContentSequence' },
1554    '2130,0080' => { VR => 'SQ', Name => 'PresentationLUTContentSequence' },
1555    '2130,00A0' => { VR => 'SQ', Name => 'ProposedStudySequence' },
1556    '2130,00C0' => { VR => 'SQ', Name => 'OriginalImageSequence' },
1557    '2200,0001' => { VR => 'CS', Name => 'LabelFromInfoExtractedFromInstance' },
1558    '2200,0002' => { VR => 'UT', Name => 'LabelText' },
1559    '2200,0003' => { VR => 'CS', Name => 'LabelStyleSelection' },
1560    '2200,0004' => { VR => 'LT', Name => 'MediaDisposition' },
1561    '2200,0005' => { VR => 'LT', Name => 'BarcodeValue' },
1562    '2200,0006' => { VR => 'CS', Name => 'BarcodeSymbology' },
1563    '2200,0007' => { VR => 'CS', Name => 'AllowMediaSplitting' },
1564    '2200,0008' => { VR => 'CS', Name => 'IncludeNonDICOMObjects' },
1565    '2200,0009' => { VR => 'CS', Name => 'IncludeDisplayApplication' },
1566    '2200,000A' => { VR => 'CS', Name => 'SaveCompInstancesAfterMediaCreate' },
1567    '2200,000B' => { VR => 'US', Name => 'TotalNumberMediaPiecesCreated' },
1568    '2200,000C' => { VR => 'LO', Name => 'RequestedMediaApplicationProfile' },
1569    '2200,000D' => { VR => 'SQ', Name => 'ReferencedStorageMediaSequence' },
1570    '2200,000E' => { VR => 'AT', Name => 'FailureAttributes' },
1571    '2200,000F' => { VR => 'CS', Name => 'AllowLossyCompression' },
1572    '2200,0020' => { VR => 'CS', Name => 'RequestPriority' },
1573    '3002,0002' => { VR => 'SH', Name => 'RTImageLabel' },
1574    '3002,0003' => { VR => 'LO', Name => 'RTImageName' },
1575    '3002,0004' => { VR => 'ST', Name => 'RTImageDescription' },
1576    '3002,000A' => { VR => 'CS', Name => 'ReportedValuesOrigin' },
1577    '3002,000C' => { VR => 'CS', Name => 'RTImagePlane' },
1578    '3002,000D' => { VR => 'DS', Name => 'XRayImageReceptorTranslation' },
1579    '3002,000E' => { VR => 'DS', Name => 'XRayImageReceptorAngle' },
1580    '3002,0010' => { VR => 'DS', Name => 'RTImageOrientation' },
1581    '3002,0011' => { VR => 'DS', Name => 'ImagePlanePixelSpacing' },
1582    '3002,0012' => { VR => 'DS', Name => 'RTImagePosition' },
1583    '3002,0020' => { VR => 'SH', Name => 'RadiationMachineName' },
1584    '3002,0022' => { VR => 'DS', Name => 'RadiationMachineSAD' },
1585    '3002,0024' => { VR => 'DS', Name => 'RadiationMachineSSD' },
1586    '3002,0026' => { VR => 'DS', Name => 'RTImageSID' },
1587    '3002,0028' => { VR => 'DS', Name => 'SourceToReferenceObjectDistance' },
1588    '3002,0029' => { VR => 'IS', Name => 'FractionNumber' },
1589    '3002,0030' => { VR => 'SQ', Name => 'ExposureSequence' },
1590    '3002,0032' => { VR => 'DS', Name => 'MetersetExposure' },
1591    '3002,0034' => { VR => 'DS', Name => 'DiaphragmPosition' },
1592    '3002,0040' => { VR => 'SQ', Name => 'FluenceMapSequence' },
1593    '3002,0041' => { VR => 'CS', Name => 'FluenceDataSource' },
1594    '3002,0042' => { VR => 'DS', Name => 'FluenceDataScale' },
1595    '3004,0001' => { VR => 'CS', Name => 'DVHType' },
1596    '3004,0002' => { VR => 'CS', Name => 'DoseUnits' },
1597    '3004,0004' => { VR => 'CS', Name => 'DoseType' },
1598    '3004,0006' => { VR => 'LO', Name => 'DoseComment' },
1599    '3004,0008' => { VR => 'DS', Name => 'NormalizationPoint' },
1600    '3004,000A' => { VR => 'CS', Name => 'DoseSummationType' },
1601    '3004,000C' => { VR => 'DS', Name => 'GridFrameOffsetVector' },
1602    '3004,000E' => { VR => 'DS', Name => 'DoseGridScaling' },
1603    '3004,0010' => { VR => 'SQ', Name => 'RTDoseROISequence' },
1604    '3004,0012' => { VR => 'DS', Name => 'DoseValue' },
1605    '3004,0014' => { VR => 'CS', Name => 'TissueHeterogeneityCorrection' },
1606    '3004,0040' => { VR => 'DS', Name => 'DVHNormalizationPoint' },
1607    '3004,0042' => { VR => 'DS', Name => 'DVHNormalizationDoseValue' },
1608    '3004,0050' => { VR => 'SQ', Name => 'DVHSequence' },
1609    '3004,0052' => { VR => 'DS', Name => 'DVHDoseScaling' },
1610    '3004,0054' => { VR => 'CS', Name => 'DVHVolumeUnits' },
1611    '3004,0056' => { VR => 'IS', Name => 'DVHNumberOfBins' },
1612    '3004,0058' => { VR => 'DS', Name => 'DVHData' },
1613    '3004,0060' => { VR => 'SQ', Name => 'DVHReferencedROISequence' },
1614    '3004,0062' => { VR => 'CS', Name => 'DVHROIContributionType' },
1615    '3004,0070' => { VR => 'DS', Name => 'DVHMinimumDose' },
1616    '3004,0072' => { VR => 'DS', Name => 'DVHMaximumDose' },
1617    '3004,0074' => { VR => 'DS', Name => 'DVHMeanDose' },
1618    '3006,0002' => { VR => 'SH', Name => 'StructureSetLabel' },
1619    '3006,0004' => { VR => 'LO', Name => 'StructureSetName' },
1620    '3006,0006' => { VR => 'ST', Name => 'StructureSetDescription' },
1621    '3006,0008' => { VR => 'DA', Name => 'StructureSetDate' },
1622    '3006,0009' => { VR => 'TM', Name => 'StructureSetTime' },
1623    '3006,0010' => { VR => 'SQ', Name => 'ReferencedFrameOfReferenceSequence' },
1624    '3006,0012' => { VR => 'SQ', Name => 'RTReferencedStudySequence' },
1625    '3006,0014' => { VR => 'SQ', Name => 'RTReferencedSeriesSequence' },
1626    '3006,0016' => { VR => 'SQ', Name => 'ContourImageSequence' },
1627    '3006,0020' => { VR => 'SQ', Name => 'StructureSetROISequence' },
1628    '3006,0022' => { VR => 'IS', Name => 'ROINumber' },
1629    '3006,0024' => { VR => 'UI', Name => 'ReferencedFrameOfReferenceUID' },
1630    '3006,0026' => { VR => 'LO', Name => 'ROIName' },
1631    '3006,0028' => { VR => 'ST', Name => 'ROIDescription' },
1632    '3006,002A' => { VR => 'IS', Name => 'ROIDisplayColor' },
1633    '3006,002C' => { VR => 'DS', Name => 'ROIVolume' },
1634    '3006,0030' => { VR => 'SQ', Name => 'RTRelatedROISequence' },
1635    '3006,0033' => { VR => 'CS', Name => 'RTROIRelationship' },
1636    '3006,0036' => { VR => 'CS', Name => 'ROIGenerationAlgorithm' },
1637    '3006,0038' => { VR => 'LO', Name => 'ROIGenerationDescription' },
1638    '3006,0039' => { VR => 'SQ', Name => 'ROIContourSequence' },
1639    '3006,0040' => { VR => 'SQ', Name => 'ContourSequence' },
1640    '3006,0042' => { VR => 'CS', Name => 'ContourGeometricType' },
1641    '3006,0044' => { VR => 'DS', Name => 'ContourSlabThickness' },
1642    '3006,0045' => { VR => 'DS', Name => 'ContourOffsetVector' },
1643    '3006,0046' => { VR => 'IS', Name => 'NumberOfContourPoints' },
1644    '3006,0048' => { VR => 'IS', Name => 'ContourNumber' },
1645    '3006,0049' => { VR => 'IS', Name => 'AttachedContours' },
1646    '3006,0050' => { VR => 'DS', Name => 'ContourData' },
1647    '3006,0080' => { VR => 'SQ', Name => 'RTROIObservationsSequence' },
1648    '3006,0082' => { VR => 'IS', Name => 'ObservationNumber' },
1649    '3006,0084' => { VR => 'IS', Name => 'ReferencedROINumber' },
1650    '3006,0085' => { VR => 'SH', Name => 'ROIObservationLabel' },
1651    '3006,0086' => { VR => 'SQ', Name => 'RTROIIdentificationCodeSequence' },
1652    '3006,0088' => { VR => 'ST', Name => 'ROIObservationDescription' },
1653    '3006,00A0' => { VR => 'SQ', Name => 'RelatedRTROIObservationsSequence' },
1654    '3006,00A4' => { VR => 'CS', Name => 'RTROIInterpretedType' },
1655    '3006,00A6' => { VR => 'PN', Name => 'ROIInterpreter' },
1656    '3006,00B0' => { VR => 'SQ', Name => 'ROIPhysicalPropertiesSequence' },
1657    '3006,00B2' => { VR => 'CS', Name => 'ROIPhysicalProperty' },
1658    '3006,00B4' => { VR => 'DS', Name => 'ROIPhysicalPropertyValue' },
1659    '3006,00C0' => { VR => 'SQ', Name => 'FrameOfReferenceRelationshipSeq' },
1660    '3006,00C2' => { VR => 'UI', Name => 'RelatedFrameOfReferenceUID' },
1661    '3006,00C4' => { VR => 'CS', Name => 'FrameOfReferenceTransformType' },
1662    '3006,00C6' => { VR => 'DS', Name => 'FrameOfReferenceTransformMatrix' },
1663    '3006,00C8' => { VR => 'LO', Name => 'FrameOfReferenceTransformComment' },
1664    '3008,0010' => { VR => 'SQ', Name => 'MeasuredDoseReferenceSequence' },
1665    '3008,0012' => { VR => 'ST', Name => 'MeasuredDoseDescription' },
1666    '3008,0014' => { VR => 'CS', Name => 'MeasuredDoseType' },
1667    '3008,0016' => { VR => 'DS', Name => 'MeasuredDoseValue' },
1668    '3008,0020' => { VR => 'SQ', Name => 'TreatmentSessionBeamSequence' },
1669    '3008,0022' => { VR => 'IS', Name => 'CurrentFractionNumber' },
1670    '3008,0024' => { VR => 'DA', Name => 'TreatmentControlPointDate' },
1671    '3008,0025' => { VR => 'TM', Name => 'TreatmentControlPointTime' },
1672    '3008,002A' => { VR => 'CS', Name => 'TreatmentTerminationStatus' },
1673    '3008,002B' => { VR => 'SH', Name => 'TreatmentTerminationCode' },
1674    '3008,002C' => { VR => 'CS', Name => 'TreatmentVerificationStatus' },
1675    '3008,0030' => { VR => 'SQ', Name => 'ReferencedTreatmentRecordSequence' },
1676    '3008,0032' => { VR => 'DS', Name => 'SpecifiedPrimaryMeterset' },
1677    '3008,0033' => { VR => 'DS', Name => 'SpecifiedSecondaryMeterset' },
1678    '3008,0036' => { VR => 'DS', Name => 'DeliveredPrimaryMeterset' },
1679    '3008,0037' => { VR => 'DS', Name => 'DeliveredSecondaryMeterset' },
1680    '3008,003A' => { VR => 'DS', Name => 'SpecifiedTreatmentTime' },
1681    '3008,003B' => { VR => 'DS', Name => 'DeliveredTreatmentTime' },
1682    '3008,0040' => { VR => 'SQ', Name => 'ControlPointDeliverySequence' },
1683    '3008,0042' => { VR => 'DS', Name => 'SpecifiedMeterset' },
1684    '3008,0044' => { VR => 'DS', Name => 'DeliveredMeterset' },
1685    '3008,0048' => { VR => 'DS', Name => 'DoseRateDelivered' },
1686    '3008,0050' => { VR => 'SQ', Name => 'TreatmentSummaryCalcDoseRefSeq' },
1687    '3008,0052' => { VR => 'DS', Name => 'CumulativeDoseToDoseReference' },
1688    '3008,0054' => { VR => 'DA', Name => 'FirstTreatmentDate' },
1689    '3008,0056' => { VR => 'DA', Name => 'MostRecentTreatmentDate' },
1690    '3008,005A' => { VR => 'IS', Name => 'NumberOfFractionsDelivered' },
1691    '3008,0060' => { VR => 'SQ', Name => 'OverrideSequence' },
1692    '3008,0062' => { VR => 'AT', Name => 'OverrideParameterPointer' },
1693    '3008,0064' => { VR => 'IS', Name => 'MeasuredDoseReferenceNumber' },
1694    '3008,0066' => { VR => 'ST', Name => 'OverrideReason' },
1695    '3008,0070' => { VR => 'SQ', Name => 'CalculatedDoseReferenceSequence' },
1696    '3008,0072' => { VR => 'IS', Name => 'CalculatedDoseReferenceNumber' },
1697    '3008,0074' => { VR => 'ST', Name => 'CalculatedDoseReferenceDescription' },
1698    '3008,0076' => { VR => 'DS', Name => 'CalculatedDoseReferenceDoseValue' },
1699    '3008,0078' => { VR => 'DS', Name => 'StartMeterset' },
1700    '3008,007A' => { VR => 'DS', Name => 'EndMeterset' },
1701    '3008,0080' => { VR => 'SQ', Name => 'ReferencedMeasuredDoseReferenceSeq' },
1702    '3008,0082' => { VR => 'IS', Name => 'ReferencedMeasuredDoseReferenceNum' },
1703    '3008,0090' => { VR => 'SQ', Name => 'ReferencedCalculatedDoseRefSeq' },
1704    '3008,0092' => { VR => 'IS', Name => 'ReferencedCalculatedDoseRefNumber' },
1705    '3008,00A0' => { VR => 'SQ', Name => 'BeamLimitingDeviceLeafPairsSeq' },
1706    '3008,00B0' => { VR => 'SQ', Name => 'RecordedWedgeSequence' },
1707    '3008,00C0' => { VR => 'SQ', Name => 'RecordedCompensatorSequence' },
1708    '3008,00D0' => { VR => 'SQ', Name => 'RecordedBlockSequence' },
1709    '3008,00E0' => { VR => 'SQ', Name => 'TreatmentSummaryMeasuredDoseRefSeq' },
1710    '3008,0100' => { VR => 'SQ', Name => 'RecordedSourceSequence' },
1711    '3008,0105' => { VR => 'LO', Name => 'SourceSerialNumber' },
1712    '3008,0110' => { VR => 'SQ', Name => 'TreatmentSessionAppSetupSeq' },
1713    '3008,0116' => { VR => 'CS', Name => 'ApplicationSetupCheck' },
1714    '3008,0120' => { VR => 'SQ', Name => 'RecordedBrachyAccessoryDeviceSeq' },
1715    '3008,0122' => { VR => 'IS', Name => 'ReferencedBrachyAccessoryDeviceNum' },
1716    '3008,0130' => { VR => 'SQ', Name => 'RecordedChannelSequence' },
1717    '3008,0132' => { VR => 'DS', Name => 'SpecifiedChannelTotalTime' },
1718    '3008,0134' => { VR => 'DS', Name => 'DeliveredChannelTotalTime' },
1719    '3008,0136' => { VR => 'IS', Name => 'SpecifiedNumberOfPulses' },
1720    '3008,0138' => { VR => 'IS', Name => 'DeliveredNumberOfPulses' },
1721    '3008,013A' => { VR => 'DS', Name => 'SpecifiedPulseRepetitionInterval' },
1722    '3008,013C' => { VR => 'DS', Name => 'DeliveredPulseRepetitionInterval' },
1723    '3008,0140' => { VR => 'SQ', Name => 'RecordedSourceApplicatorSequence' },
1724    '3008,0142' => { VR => 'IS', Name => 'ReferencedSourceApplicatorNumber' },
1725    '3008,0150' => { VR => 'SQ', Name => 'RecordedChannelShieldSequence' },
1726    '3008,0152' => { VR => 'IS', Name => 'ReferencedChannelShieldNumber' },
1727    '3008,0160' => { VR => 'SQ', Name => 'BrachyControlPointDeliveredSeq' },
1728    '3008,0162' => { VR => 'DA', Name => 'SafePositionExitDate' },
1729    '3008,0164' => { VR => 'TM', Name => 'SafePositionExitTime' },
1730    '3008,0166' => { VR => 'DA', Name => 'SafePositionReturnDate' },
1731    '3008,0168' => { VR => 'TM', Name => 'SafePositionReturnTime' },
1732    '3008,0200' => { VR => 'CS', Name => 'CurrentTreatmentStatus' },
1733    '3008,0202' => { VR => 'ST', Name => 'TreatmentStatusComment' },
1734    '3008,0220' => { VR => 'SQ', Name => 'FractionGroupSummarySequence' },
1735    '3008,0223' => { VR => 'IS', Name => 'ReferencedFractionNumber' },
1736    '3008,0224' => { VR => 'CS', Name => 'FractionGroupType' },
1737    '3008,0230' => { VR => 'CS', Name => 'BeamStopperPosition' },
1738    '3008,0240' => { VR => 'SQ', Name => 'FractionStatusSummarySequence' },
1739    '3008,0250' => { VR => 'DA', Name => 'TreatmentDate' },
1740    '3008,0251' => { VR => 'TM', Name => 'TreatmentTime' },
1741    '300A,0002' => { VR => 'SH', Name => 'RTPlanLabel' },
1742    '300A,0003' => { VR => 'LO', Name => 'RTPlanName' },
1743    '300A,0004' => { VR => 'ST', Name => 'RTPlanDescription' },
1744    '300A,0006' => { VR => 'DA', Name => 'RTPlanDate' },
1745    '300A,0007' => { VR => 'TM', Name => 'RTPlanTime' },
1746    '300A,0009' => { VR => 'LO', Name => 'TreatmentProtocols' },
1747    '300A,000A' => { VR => 'CS', Name => 'TreatmentIntent' },
1748    '300A,000B' => { VR => 'LO', Name => 'TreatmentSites' },
1749    '300A,000C' => { VR => 'CS', Name => 'RTPlanGeometry' },
1750    '300A,000E' => { VR => 'ST', Name => 'PrescriptionDescription' },
1751    '300A,0010' => { VR => 'SQ', Name => 'DoseReferenceSequence' },
1752    '300A,0012' => { VR => 'IS', Name => 'DoseReferenceNumber' },
1753    '300A,0013' => { VR => 'UI', Name => 'DoseReferenceUID' },
1754    '300A,0014' => { VR => 'CS', Name => 'DoseReferenceStructureType' },
1755    '300A,0015' => { VR => 'CS', Name => 'NominalBeamEnergyUnit' },
1756    '300A,0016' => { VR => 'LO', Name => 'DoseReferenceDescription' },
1757    '300A,0018' => { VR => 'DS', Name => 'DoseReferencePointCoordinates' },
1758    '300A,001A' => { VR => 'DS', Name => 'NominalPriorDose' },
1759    '300A,0020' => { VR => 'CS', Name => 'DoseReferenceType' },
1760    '300A,0021' => { VR => 'DS', Name => 'ConstraintWeight' },
1761    '300A,0022' => { VR => 'DS', Name => 'DeliveryWarningDose' },
1762    '300A,0023' => { VR => 'DS', Name => 'DeliveryMaximumDose' },
1763    '300A,0025' => { VR => 'DS', Name => 'TargetMinimumDose' },
1764    '300A,0026' => { VR => 'DS', Name => 'TargetPrescriptionDose' },
1765    '300A,0027' => { VR => 'DS', Name => 'TargetMaximumDose' },
1766    '300A,0028' => { VR => 'DS', Name => 'TargetUnderdoseVolumeFraction' },
1767    '300A,002A' => { VR => 'DS', Name => 'OrganAtRiskFullVolumeDose' },
1768    '300A,002B' => { VR => 'DS', Name => 'OrganAtRiskLimitDose' },
1769    '300A,002C' => { VR => 'DS', Name => 'OrganAtRiskMaximumDose' },
1770    '300A,002D' => { VR => 'DS', Name => 'OrganAtRiskOverdoseVolumeFraction' },
1771    '300A,0040' => { VR => 'SQ', Name => 'ToleranceTableSequence' },
1772    '300A,0042' => { VR => 'IS', Name => 'ToleranceTableNumber' },
1773    '300A,0043' => { VR => 'SH', Name => 'ToleranceTableLabel' },
1774    '300A,0044' => { VR => 'DS', Name => 'GantryAngleTolerance' },
1775    '300A,0046' => { VR => 'DS', Name => 'BeamLimitingDeviceAngleTolerance' },
1776    '300A,0048' => { VR => 'SQ', Name => 'BeamLimitingDeviceToleranceSeq' },
1777    '300A,004A' => { VR => 'DS', Name => 'BeamLimitingDevicePositionTol' },
1778    '300A,004C' => { VR => 'DS', Name => 'PatientSupportAngleTolerance' },
1779    '300A,004E' => { VR => 'DS', Name => 'TableTopEccentricAngleTolerance' },
1780    '300A,0051' => { VR => 'DS', Name => 'TableTopVerticalPositionTolerance' },
1781    '300A,0052' => { VR => 'DS', Name => 'TableTopLongitudinalPositionTol' },
1782    '300A,0053' => { VR => 'DS', Name => 'TableTopLateralPositionTolerance' },
1783    '300A,0055' => { VR => 'CS', Name => 'RTPlanRelationship' },
1784    '300A,0070' => { VR => 'SQ', Name => 'FractionGroupSequence' },
1785    '300A,0071' => { VR => 'IS', Name => 'FractionGroupNumber' },
1786    '300A,0072' => { VR => 'LO', Name => 'FractionGroupDescription' },
1787    '300A,0078' => { VR => 'IS', Name => 'NumberOfFractionsPlanned' },
1788    '300A,0079' => { VR => 'IS', Name => 'NumberFractionPatternDigitsPerDay' },
1789    '300A,007A' => { VR => 'IS', Name => 'RepeatFractionCycleLength' },
1790    '300A,007B' => { VR => 'LT', Name => 'FractionPattern' },
1791    '300A,0080' => { VR => 'IS', Name => 'NumberOfBeams' },
1792    '300A,0082' => { VR => 'DS', Name => 'BeamDoseSpecificationPoint' },
1793    '300A,0084' => { VR => 'DS', Name => 'BeamDose' },
1794    '300A,0086' => { VR => 'DS', Name => 'BeamMeterset' },
1795    '300A,00A0' => { VR => 'IS', Name => 'NumberOfBrachyApplicationSetups' },
1796    '300A,00A2' => { VR => 'DS', Name => 'BrachyAppSetupDoseSpecPoint' },
1797    '300A,00A4' => { VR => 'DS', Name => 'BrachyApplicationSetupDose' },
1798    '300A,00B0' => { VR => 'SQ', Name => 'BeamSequence' },
1799    '300A,00B2' => { VR => 'SH', Name => 'TreatmentMachineName' },
1800    '300A,00B3' => { VR => 'CS', Name => 'PrimaryDosimeterUnit' },
1801    '300A,00B4' => { VR => 'DS', Name => 'SourceAxisDistance' },
1802    '300A,00B6' => { VR => 'SQ', Name => 'BeamLimitingDeviceSequence' },
1803    '300A,00B8' => { VR => 'CS', Name => 'RTBeamLimitingDeviceType' },
1804    '300A,00BA' => { VR => 'DS', Name => 'SourceToBeamLimitingDeviceDistance' },
1805    '300A,00BC' => { VR => 'IS', Name => 'NumberOfLeaf-JawPairs' },
1806    '300A,00BE' => { VR => 'DS', Name => 'LeafPositionBoundaries' },
1807    '300A,00C0' => { VR => 'IS', Name => 'BeamNumber' },
1808    '300A,00C2' => { VR => 'LO', Name => 'BeamName' },
1809    '300A,00C3' => { VR => 'ST', Name => 'BeamDescription' },
1810    '300A,00C4' => { VR => 'CS', Name => 'BeamType' },
1811    '300A,00C6' => { VR => 'CS', Name => 'RadiationType' },
1812    '300A,00C7' => { VR => 'CS', Name => 'HighDoseTechniqueType' },
1813    '300A,00C8' => { VR => 'IS', Name => 'ReferenceImageNumber' },
1814    '300A,00CA' => { VR => 'SQ', Name => 'PlannedVerificationImageSequence' },
1815    '300A,00CC' => { VR => 'LO', Name => 'ImagingDeviceSpecificAcqParams' },
1816    '300A,00CE' => { VR => 'CS', Name => 'TreatmentDeliveryType' },
1817    '300A,00D0' => { VR => 'IS', Name => 'NumberOfWedges' },
1818    '300A,00D1' => { VR => 'SQ', Name => 'WedgeSequence' },
1819    '300A,00D2' => { VR => 'IS', Name => 'WedgeNumber' },
1820    '300A,00D3' => { VR => 'CS', Name => 'WedgeType' },
1821    '300A,00D4' => { VR => 'SH', Name => 'WedgeID' },
1822    '300A,00D5' => { VR => 'IS', Name => 'WedgeAngle' },
1823    '300A,00D6' => { VR => 'DS', Name => 'WedgeFactor' },
1824    '300A,00D8' => { VR => 'DS', Name => 'WedgeOrientation' },
1825    '300A,00DA' => { VR => 'DS', Name => 'SourceToWedgeTrayDistance' },
1826    '300A,00E0' => { VR => 'IS', Name => 'NumberOfCompensators' },
1827    '300A,00E1' => { VR => 'SH', Name => 'MaterialID' },
1828    '300A,00E2' => { VR => 'DS', Name => 'TotalCompensatorTrayFactor' },
1829    '300A,00E3' => { VR => 'SQ', Name => 'CompensatorSequence' },
1830    '300A,00E4' => { VR => 'IS', Name => 'CompensatorNumber' },
1831    '300A,00E5' => { VR => 'SH', Name => 'CompensatorID' },
1832    '300A,00E6' => { VR => 'DS', Name => 'SourceToCompensatorTrayDistance' },
1833    '300A,00E7' => { VR => 'IS', Name => 'CompensatorRows' },
1834    '300A,00E8' => { VR => 'IS', Name => 'CompensatorColumns' },
1835    '300A,00E9' => { VR => 'DS', Name => 'CompensatorPixelSpacing' },
1836    '300A,00EA' => { VR => 'DS', Name => 'CompensatorPosition' },
1837    '300A,00EB' => { VR => 'DS', Name => 'CompensatorTransmissionData' },
1838    '300A,00EC' => { VR => 'DS', Name => 'CompensatorThicknessData' },
1839    '300A,00ED' => { VR => 'IS', Name => 'NumberOfBoli' },
1840    '300A,00EE' => { VR => 'CS', Name => 'CompensatorType' },
1841    '300A,00F0' => { VR => 'IS', Name => 'NumberOfBlocks' },
1842    '300A,00F2' => { VR => 'DS', Name => 'TotalBlockTrayFactor' },
1843    '300A,00F4' => { VR => 'SQ', Name => 'BlockSequence' },
1844    '300A,00F5' => { VR => 'SH', Name => 'BlockTrayID' },
1845    '300A,00F6' => { VR => 'DS', Name => 'SourceToBlockTrayDistance' },
1846    '300A,00F8' => { VR => 'CS', Name => 'BlockType' },
1847    '300A,00F9' => { VR => 'LO', Name => 'AccessoryCode' },
1848    '300A,00FA' => { VR => 'CS', Name => 'BlockDivergence' },
1849    '300A,00FB' => { VR => 'CS', Name => 'BlockMountingPosition' },
1850    '300A,00FC' => { VR => 'IS', Name => 'BlockNumber' },
1851    '300A,00FE' => { VR => 'LO', Name => 'BlockName' },
1852    '300A,0100' => { VR => 'DS', Name => 'BlockThickness' },
1853    '300A,0102' => { VR => 'DS', Name => 'BlockTransmission' },
1854    '300A,0104' => { VR => 'IS', Name => 'BlockNumberOfPoints' },
1855    '300A,0106' => { VR => 'DS', Name => 'BlockData' },
1856    '300A,0107' => { VR => 'SQ', Name => 'ApplicatorSequence' },
1857    '300A,0108' => { VR => 'SH', Name => 'ApplicatorID' },
1858    '300A,0109' => { VR => 'CS', Name => 'ApplicatorType' },
1859    '300A,010A' => { VR => 'LO', Name => 'ApplicatorDescription' },
1860    '300A,010C' => { VR => 'DS', Name => 'CumulativeDoseReferenceCoefficient' },
1861    '300A,010E' => { VR => 'DS', Name => 'FinalCumulativeMetersetWeight' },
1862    '300A,0110' => { VR => 'IS', Name => 'NumberOfControlPoints' },
1863    '300A,0111' => { VR => 'SQ', Name => 'ControlPointSequence' },
1864    '300A,0112' => { VR => 'IS', Name => 'ControlPointIndex' },
1865    '300A,0114' => { VR => 'DS', Name => 'NominalBeamEnergy' },
1866    '300A,0115' => { VR => 'DS', Name => 'DoseRateSet' },
1867    '300A,0116' => { VR => 'SQ', Name => 'WedgePositionSequence' },
1868    '300A,0118' => { VR => 'CS', Name => 'WedgePosition' },
1869    '300A,011A' => { VR => 'SQ', Name => 'BeamLimitingDevicePositionSequence' },
1870    '300A,011C' => { VR => 'DS', Name => 'Leaf-JawPositions' },
1871    '300A,011E' => { VR => 'DS', Name => 'GantryAngle' },
1872    '300A,011F' => { VR => 'CS', Name => 'GantryRotationDirection' },
1873    '300A,0120' => { VR => 'DS', Name => 'BeamLimitingDeviceAngle' },
1874    '300A,0121' => { VR => 'CS', Name => 'BeamLimitingDeviceRotateDirection' },
1875    '300A,0122' => { VR => 'DS', Name => 'PatientSupportAngle' },
1876    '300A,0123' => { VR => 'CS', Name => 'PatientSupportRotationDirection' },
1877    '300A,0124' => { VR => 'DS', Name => 'TableTopEccentricAxisDistance' },
1878    '300A,0125' => { VR => 'DS', Name => 'TableTopEccentricAngle' },
1879    '300A,0126' => { VR => 'CS', Name => 'TableTopEccentricRotateDirection' },
1880    '300A,0128' => { VR => 'DS', Name => 'TableTopVerticalPosition' },
1881    '300A,0129' => { VR => 'DS', Name => 'TableTopLongitudinalPosition' },
1882    '300A,012A' => { VR => 'DS', Name => 'TableTopLateralPosition' },
1883    '300A,012C' => { VR => 'DS', Name => 'IsocenterPosition' },
1884    '300A,012E' => { VR => 'DS', Name => 'SurfaceEntryPoint' },
1885    '300A,0130' => { VR => 'DS', Name => 'SourceToSurfaceDistance' },
1886    '300A,0134' => { VR => 'DS', Name => 'CumulativeMetersetWeight' },
1887    '300A,0180' => { VR => 'SQ', Name => 'PatientSetupSequence' },
1888    '300A,0182' => { VR => 'IS', Name => 'PatientSetupNumber' },
1889    '300A,0184' => { VR => 'LO', Name => 'PatientAdditionalPosition' },
1890    '300A,0190' => { VR => 'SQ', Name => 'FixationDeviceSequence' },
1891    '300A,0192' => { VR => 'CS', Name => 'FixationDeviceType' },
1892    '300A,0194' => { VR => 'SH', Name => 'FixationDeviceLabel' },
1893    '300A,0196' => { VR => 'ST', Name => 'FixationDeviceDescription' },
1894    '300A,0198' => { VR => 'SH', Name => 'FixationDevicePosition' },
1895    '300A,01A0' => { VR => 'SQ', Name => 'ShieldingDeviceSequence' },
1896    '300A,01A2' => { VR => 'CS', Name => 'ShieldingDeviceType' },
1897    '300A,01A4' => { VR => 'SH', Name => 'ShieldingDeviceLabel' },
1898    '300A,01A6' => { VR => 'ST', Name => 'ShieldingDeviceDescription' },
1899    '300A,01A8' => { VR => 'SH', Name => 'ShieldingDevicePosition' },
1900    '300A,01B0' => { VR => 'CS', Name => 'SetupTechnique' },
1901    '300A,01B2' => { VR => 'ST', Name => 'SetupTechniqueDescription' },
1902    '300A,01B4' => { VR => 'SQ', Name => 'SetupDeviceSequence' },
1903    '300A,01B6' => { VR => 'CS', Name => 'SetupDeviceType' },
1904    '300A,01B8' => { VR => 'SH', Name => 'SetupDeviceLabel' },
1905    '300A,01BA' => { VR => 'ST', Name => 'SetupDeviceDescription' },
1906    '300A,01BC' => { VR => 'DS', Name => 'SetupDeviceParameter' },
1907    '300A,01D0' => { VR => 'ST', Name => 'SetupReferenceDescription' },
1908    '300A,01D2' => { VR => 'DS', Name => 'TableTopVerticalSetupDisplacement' },
1909    '300A,01D4' => { VR => 'DS', Name => 'TableTopLongitudinalSetupDisplace' },
1910    '300A,01D6' => { VR => 'DS', Name => 'TableTopLateralSetupDisplacement' },
1911    '300A,0200' => { VR => 'CS', Name => 'BrachyTreatmentTechnique' },
1912    '300A,0202' => { VR => 'CS', Name => 'BrachyTreatmentType' },
1913    '300A,0206' => { VR => 'SQ', Name => 'TreatmentMachineSequence' },
1914    '300A,0210' => { VR => 'SQ', Name => 'SourceSequence' },
1915    '300A,0212' => { VR => 'IS', Name => 'SourceNumber' },
1916    '300A,0214' => { VR => 'CS', Name => 'SourceType' },
1917    '300A,0216' => { VR => 'LO', Name => 'SourceManufacturer' },
1918    '300A,0218' => { VR => 'DS', Name => 'ActiveSourceDiameter' },
1919    '300A,021A' => { VR => 'DS', Name => 'ActiveSourceLength' },
1920    '300A,0222' => { VR => 'DS', Name => 'SourceEncapsulationNomThickness' },
1921    '300A,0224' => { VR => 'DS', Name => 'SourceEncapsulationNomTransmission' },
1922    '300A,0226' => { VR => 'LO', Name => 'SourceIsotopeName' },
1923    '300A,0228' => { VR => 'DS', Name => 'SourceIsotopeHalfLife' },
1924    '300A,022A' => { VR => 'DS', Name => 'ReferenceAirKermaRate' },
1925    '300A,022C' => { VR => 'DA', Name => 'AirKermaRateReferenceDate' },
1926    '300A,022E' => { VR => 'TM', Name => 'AirKermaRateReferenceTime' },
1927    '300A,0230' => { VR => 'SQ', Name => 'ApplicationSetupSequence' },
1928    '300A,0232' => { VR => 'CS', Name => 'ApplicationSetupType' },
1929    '300A,0234' => { VR => 'IS', Name => 'ApplicationSetupNumber' },
1930    '300A,0236' => { VR => 'LO', Name => 'ApplicationSetupName' },
1931    '300A,0238' => { VR => 'LO', Name => 'ApplicationSetupManufacturer' },
1932    '300A,0240' => { VR => 'IS', Name => 'TemplateNumber' },
1933    '300A,0242' => { VR => 'SH', Name => 'TemplateType' },
1934    '300A,0244' => { VR => 'LO', Name => 'TemplateName' },
1935    '300A,0250' => { VR => 'DS', Name => 'TotalReferenceAirKerma' },
1936    '300A,0260' => { VR => 'SQ', Name => 'BrachyAccessoryDeviceSequence' },
1937    '300A,0262' => { VR => 'IS', Name => 'BrachyAccessoryDeviceNumber' },
1938    '300A,0263' => { VR => 'SH', Name => 'BrachyAccessoryDeviceID' },
1939    '300A,0264' => { VR => 'CS', Name => 'BrachyAccessoryDeviceType' },
1940    '300A,0266' => { VR => 'LO', Name => 'BrachyAccessoryDeviceName' },
1941    '300A,026A' => { VR => 'DS', Name => 'BrachyAccessoryDeviceNomThickness' },
1942    '300A,026C' => { VR => 'DS', Name => 'BrachyAccessoryDevNomTransmission' },
1943    '300A,0280' => { VR => 'SQ', Name => 'ChannelSequence' },
1944    '300A,0282' => { VR => 'IS', Name => 'ChannelNumber' },
1945    '300A,0284' => { VR => 'DS', Name => 'ChannelLength' },
1946    '300A,0286' => { VR => 'DS', Name => 'ChannelTotalTime' },
1947    '300A,0288' => { VR => 'CS', Name => 'SourceMovementType' },
1948    '300A,028A' => { VR => 'IS', Name => 'NumberOfPulses' },
1949    '300A,028C' => { VR => 'DS', Name => 'PulseRepetitionInterval' },
1950    '300A,0290' => { VR => 'IS', Name => 'SourceApplicatorNumber' },
1951    '300A,0291' => { VR => 'SH', Name => 'SourceApplicatorID' },
1952    '300A,0292' => { VR => 'CS', Name => 'SourceApplicatorType' },
1953    '300A,0294' => { VR => 'LO', Name => 'SourceApplicatorName' },
1954    '300A,0296' => { VR => 'DS', Name => 'SourceApplicatorLength' },
1955    '300A,0298' => { VR => 'LO', Name => 'SourceApplicatorManufacturer' },
1956    '300A,029C' => { VR => 'DS', Name => 'SourceApplicatorWallNomThickness' },
1957    '300A,029E' => { VR => 'DS', Name => 'SourceApplicatorWallNomTrans' },
1958    '300A,02A0' => { VR => 'DS', Name => 'SourceApplicatorStepSize' },
1959    '300A,02A2' => { VR => 'IS', Name => 'TransferTubeNumber' },
1960    '300A,02A4' => { VR => 'DS', Name => 'TransferTubeLength' },
1961    '300A,02B0' => { VR => 'SQ', Name => 'ChannelShieldSequence' },
1962    '300A,02B2' => { VR => 'IS', Name => 'ChannelShieldNumber' },
1963    '300A,02B3' => { VR => 'SH', Name => 'ChannelShieldID' },
1964    '300A,02B4' => { VR => 'LO', Name => 'ChannelShieldName' },
1965    '300A,02B8' => { VR => 'DS', Name => 'ChannelShieldNominalThickness' },
1966    '300A,02BA' => { VR => 'DS', Name => 'ChannelShieldNominalTransmission' },
1967    '300A,02C8' => { VR => 'DS', Name => 'FinalCumulativeTimeWeight' },
1968    '300A,02D0' => { VR => 'SQ', Name => 'BrachyControlPointSequence' },
1969    '300A,02D2' => { VR => 'DS', Name => 'ControlPointRelativePosition' },
1970    '300A,02D4' => { VR => 'DS', Name => 'ControlPoint3DPosition' },
1971    '300A,02D6' => { VR => 'DS', Name => 'CumulativeTimeWeight' },
1972    '300A,02E0' => { VR => 'CS', Name => 'CompensatorDivergence' },
1973    '300A,02E1' => { VR => 'CS', Name => 'CompensatorMountingPosition' },
1974    '300A,02E2' => { VR => 'DS', Name => 'SourceToCompensatorDistance' },
1975    '300C,0002' => { VR => 'SQ', Name => 'ReferencedRTPlanSequence' },
1976    '300C,0004' => { VR => 'SQ', Name => 'ReferencedBeamSequence' },
1977    '300C,0006' => { VR => 'IS', Name => 'ReferencedBeamNumber' },
1978    '300C,0007' => { VR => 'IS', Name => 'ReferencedReferenceImageNumber' },
1979    '300C,0008' => { VR => 'DS', Name => 'StartCumulativeMetersetWeight' },
1980    '300C,0009' => { VR => 'DS', Name => 'EndCumulativeMetersetWeight' },
1981    '300C,000A' => { VR => 'SQ', Name => 'ReferencedBrachyAppSetupSeq' },
1982    '300C,000C' => { VR => 'IS', Name => 'ReferencedBrachyAppSetupNumber' },
1983    '300C,000E' => { VR => 'IS', Name => 'ReferencedSourceNumber' },
1984    '300C,0020' => { VR => 'SQ', Name => 'ReferencedFractionGroupSequence' },
1985    '300C,0022' => { VR => 'IS', Name => 'ReferencedFractionGroupNumber' },
1986    '300C,0040' => { VR => 'SQ', Name => 'ReferencedVerificationImageSeq' },
1987    '300C,0042' => { VR => 'SQ', Name => 'ReferencedReferenceImageSequence' },
1988    '300C,0050' => { VR => 'SQ', Name => 'ReferencedDoseReferenceSequence' },
1989    '300C,0051' => { VR => 'IS', Name => 'ReferencedDoseReferenceNumber' },
1990    '300C,0055' => { VR => 'SQ', Name => 'BrachyReferencedDoseReferenceSeq' },
1991    '300C,0060' => { VR => 'SQ', Name => 'ReferencedStructureSetSequence' },
1992    '300C,006A' => { VR => 'IS', Name => 'ReferencedPatientSetupNumber' },
1993    '300C,0080' => { VR => 'SQ', Name => 'ReferencedDoseSequence' },
1994    '300C,00A0' => { VR => 'IS', Name => 'ReferencedToleranceTableNumber' },
1995    '300C,00B0' => { VR => 'SQ', Name => 'ReferencedBolusSequence' },
1996    '300C,00C0' => { VR => 'IS', Name => 'ReferencedWedgeNumber' },
1997    '300C,00D0' => { VR => 'IS', Name => 'ReferencedCompensatorNumber' },
1998    '300C,00E0' => { VR => 'IS', Name => 'ReferencedBlockNumber' },
1999    '300C,00F0' => { VR => 'IS', Name => 'ReferencedControlPointIndex' },
2000    '300E,0002' => { VR => 'CS', Name => 'ApprovalStatus' },
2001    '300E,0004' => { VR => 'DA', Name => 'ReviewDate' },
2002    '300E,0005' => { VR => 'TM', Name => 'ReviewTime' },
2003    '300E,0008' => { VR => 'PN', Name => 'ReviewerName' },
2004    # text group
2005    '4000,0000' => { VR => 'UL', Name => 'TextGroupLength' },
2006    '4000,0010' => { VR => 'RET',Name => 'Arbitrary' },
2007    '4000,4000' => { VR => 'RET',Name => 'TextComments' },
2008    # results group
2009    '4008,0040' => { VR => 'SH', Name => 'ResultsID' },
2010    '4008,0042' => { VR => 'LO', Name => 'ResultsIDIssuer' },
2011    '4008,0050' => { VR => 'SQ', Name => 'ReferencedInterpretationSequence' },
2012    '4008,0100' => { VR => 'DA', Name => 'InterpretationRecordedDate' },
2013    '4008,0101' => { VR => 'TM', Name => 'InterpretationRecordedTime' },
2014    '4008,0102' => { VR => 'PN', Name => 'InterpretationRecorder' },
2015    '4008,0103' => { VR => 'LO', Name => 'ReferenceToRecordedSound' },
2016    '4008,0108' => { VR => 'DA', Name => 'InterpretationTranscriptionDate' },
2017    '4008,0109' => { VR => 'TM', Name => 'InterpretationTranscriptionTime' },
2018    '4008,010A' => { VR => 'PN', Name => 'InterpretationTranscriber' },
2019    '4008,010B' => { VR => 'ST', Name => 'InterpretationText' },
2020    '4008,010C' => { VR => 'PN', Name => 'InterpretationAuthor' },
2021    '4008,0111' => { VR => 'SQ', Name => 'InterpretationApproverSequence' },
2022    '4008,0112' => { VR => 'DA', Name => 'InterpretationApprovalDate' },
2023    '4008,0113' => { VR => 'TM', Name => 'InterpretationApprovalTime' },
2024    '4008,0114' => { VR => 'PN', Name => 'PhysicianApprovingInterpretation' },
2025    '4008,0115' => { VR => 'LT', Name => 'InterpretationDiagnosisDescription' },
2026    '4008,0117' => { VR => 'SQ', Name => 'InterpretationDiagnosisCodeSeq' },
2027    '4008,0118' => { VR => 'SQ', Name => 'ResultsDistributionListSequence' },
2028    '4008,0119' => { VR => 'PN', Name => 'DistributionName' },
2029    '4008,011A' => { VR => 'LO', Name => 'DistributionAddress' },
2030    '4008,0200' => { VR => 'SH', Name => 'InterpretationID' },
2031    '4008,0202' => { VR => 'LO', Name => 'InterpretationIDIssuer' },
2032    '4008,0210' => { VR => 'CS', Name => 'InterpretationTypeID' },
2033    '4008,0212' => { VR => 'CS', Name => 'InterpretationStatusID' },
2034    '4008,0300' => { VR => 'ST', Name => 'Impressions' },
2035    '4008,4000' => { VR => 'ST', Name => 'ResultsComments' },
2036    '4FFE,0001' => { VR => 'SQ', Name => 'MACParametersSequence' },
2037    # curve group
2038    '50xx,0005' => { VR => 'US', Name => 'CurveDimensions' },
2039    '50xx,0010' => { VR => 'US', Name => 'NumberOfPoints' },
2040    '50xx,0020' => { VR => 'CS', Name => 'TypeOfData' },
2041    '50xx,0022' => { VR => 'LO', Name => 'CurveDescription' },
2042    '50xx,0030' => { VR => 'SH', Name => 'AxisUnits' },
2043    '50xx,0040' => { VR => 'SH', Name => 'AxisLabels' },
2044    '50xx,0103' => { VR => 'US', Name => 'DataValueRepresentation' },
2045    '50xx,0104' => { VR => 'US', Name => 'MinimumCoordinateValue' },
2046    '50xx,0105' => { VR => 'US', Name => 'MaximumCoordinateValue' },
2047    '50xx,0106' => { VR => 'SH', Name => 'CurveRange' },
2048    '50xx,0110' => { VR => 'US', Name => 'CurveDataDescriptor' },
2049    '50xx,0112' => { VR => 'US', Name => 'CoordinateStartValue' },
2050    '50xx,0114' => { VR => 'US', Name => 'CoordinateStepValue' },
2051    '50xx,1001' => { VR => 'CS', Name => 'CurveActivationLayer' },
2052    '50xx,2000' => { VR => 'US', Name => 'AudioType' },
2053    '50xx,2002' => { VR => 'US', Name => 'AudioSampleFormat' },
2054    '50xx,2004' => { VR => 'US', Name => 'NumberOfChannels' },
2055    '50xx,2006' => { VR => 'UL', Name => 'NumberOfSamples' },
2056    '50xx,2008' => { VR => 'UL', Name => 'SampleRate' },
2057    '50xx,200A' => { VR => 'UL', Name => 'TotalTime' },
2058    '50xx,200C' => { VR => 'OB', Name => 'AudioSampleData' },
2059    '50xx,200E' => { VR => 'LT', Name => 'AudioComments' },
2060    '50xx,2500' => { VR => 'LO', Name => 'CurveLabel' },
2061    '50xx,2600' => { VR => 'SQ', Name => 'ReferencedOverlaySequence' },
2062    '50xx,2610' => { VR => 'US', Name => 'ReferencedOverlayGroup' },
2063    '50xx,3000' => { VR => 'OB', Name => 'CurveData' },
2064    '5200,9229' => { VR => 'SQ', Name => 'SharedFunctionalGroupsSequence' },
2065    '5200,9230' => { VR => 'SQ', Name => 'PerFrameFunctionalGroupsSequence' },
2066    '5400,0100' => { VR => 'SQ', Name => 'WaveformSequence' },
2067    '5400,0110' => { VR => 'OW', Name => 'ChannelMinimumValue' },
2068    '5400,0112' => { VR => 'OW', Name => 'ChannelMaximumValue' },
2069    '5400,1004' => { VR => 'US', Name => 'WaveformBitsAllocated' },
2070    '5400,1006' => { VR => 'CS', Name => 'WaveformSampleInterpretation' },
2071    '5400,100A' => { VR => 'OW', Name => 'WaveformPaddingValue' },
2072    '5400,1010' => { VR => 'OW', Name => 'WaveformData' },
2073    '5600,0010' => { VR => 'OF', Name => 'FirstOrderPhaseCorrectionAngle' },
2074    '5600,0020' => { VR => 'OF', Name => 'SpectroscopyData' },
2075    # overlay group
2076    '6000,0000' => { VR => 'UL', Name => 'OverlayGroupLength' },
2077    '60xx,0010' => { VR => 'US', Name => 'OverlayRows' },
2078    '60xx,0011' => { VR => 'US', Name => 'OverlayColumns' },
2079    '60xx,0012' => { VR => 'US', Name => 'OverlayPlanes' },
2080    '60xx,0015' => { VR => 'IS', Name => 'NumberOfFramesInOverlay' },
2081    '60xx,0022' => { VR => 'LO', Name => 'OverlayDescription' },
2082    '60xx,0040' => { VR => 'CS', Name => 'OverlayType' },
2083    '60xx,0045' => { VR => 'LO', Name => 'OverlaySubtype' },
2084    '60xx,0050' => { VR => 'SS', Name => 'OverlayOrigin' },
2085    '60xx,0051' => { VR => 'US', Name => 'ImageFrameOrigin' },
2086    '60xx,0052' => { VR => 'US', Name => 'OverlayPlaneOrigin' },
2087    '60xx,0060' => { VR => 'RET',Name => 'CompressionCode' },
2088    '60xx,0100' => { VR => 'US', Name => 'OverlayBitsAllocated' },
2089    '60xx,0102' => { VR => 'US', Name => 'OverlayBitPosition' },
2090    '60xx,0110' => { VR => 'RET',Name => 'OverlayFormat' },
2091    '60xx,0200' => { VR => 'RET',Name => 'OverlayLocation' },
2092    '60xx,1001' => { VR => 'CS', Name => 'OverlayActivationLayer' },
2093    '60xx,1100' => { VR => 'RET',Name => 'OverlayDescriptorGray' },
2094    '60xx,1101' => { VR => 'RET',Name => 'OverlayDescriptorRed' },
2095    '60xx,1102' => { VR => 'RET',Name => 'OverlayDescriptorGreen' },
2096    '60xx,1103' => { VR => 'RET',Name => 'OverlayDescriptorBlue' },
2097    '60xx,1200' => { VR => 'RET',Name => 'OverlaysGray' },
2098    '60xx,1201' => { VR => 'RET',Name => 'OverlaysRed' },
2099    '60xx,1202' => { VR => 'RET',Name => 'OverlaysGreen' },
2100    '60xx,1203' => { VR => 'RET',Name => 'OverlaysBlue' },
2101    '60xx,1301' => { VR => 'IS', Name => 'ROIArea' },
2102    '60xx,1302' => { VR => 'DS', Name => 'ROIMean' },
2103    '60xx,1303' => { VR => 'DS', Name => 'ROIStandardDeviation' },
2104    '60xx,1500' => { VR => 'LO', Name => 'OverlayLabel' },
2105    '60xx,3000' => { VR => 'OW', Name => 'OverlayData' },
2106    '60xx,4000' => { VR => 'RET',Name => 'OverlayComments' },
2107    # pixel data group
2108    '7FE0,0000' => { VR => 'UL', Name => 'PixelDataGroupLength' },
2109    '7FE0,0010' => { VR => 'OB', Name => 'PixelData' },
2110    'FFFA,FFFA' => { VR => 'SQ', Name => 'DigitalSignaturesSequence' },
2111    'FFFC,FFFC' => { VR => 'OB', Name => 'DataSetTrailingPadding' },
2112    # the sequence delimiters have no VR:
2113    'FFFE,E000' => 'StartOfItem',
2114    'FFFE,E00D' => 'EndOfItems',
2115    'FFFE,E0DD' => 'EndOfSequence',
2116);
2117
2118# table to translate registered UID values to readable strings
2119my %uid = (
2120    '1.2.840.10008.1.1' => 'Verification SOP Class',
2121    '1.2.840.10008.1.2' => 'Implicit VR Little Endian',
2122    '1.2.840.10008.1.2.1' => 'Explicit VR Little Endian',
2123    '1.2.840.10008.1.2.1.99' => 'Deflated Explicit VR Little Endian',
2124    '1.2.840.10008.1.2.2' => 'Explicit VR Big Endian',
2125    '1.2.840.10008.1.2.4.50' => 'JPEG Baseline (Process 1)',
2126    '1.2.840.10008.1.2.4.51' => 'JPEG Extended (Process 2 & 4)',
2127    '1.2.840.10008.1.2.4.52' => 'JPEG Extended (Process 3 & 5)',
2128    '1.2.840.10008.1.2.4.53' => 'JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8)',
2129    '1.2.840.10008.1.2.4.54' => 'JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9)',
2130    '1.2.840.10008.1.2.4.55' => 'JPEG Full Progression, Non-Hierarchical (Process 10 & 12)',
2131    '1.2.840.10008.1.2.4.56' => 'JPEG Full Progression, Non-Hierarchical (Process 11 & 13)',
2132    '1.2.840.10008.1.2.4.57' => 'JPEG Lossless, Non-Hierarchical (Process 14)',
2133    '1.2.840.10008.1.2.4.58' => 'JPEG Lossless, Non-Hierarchical (Process 15) ',
2134    '1.2.840.10008.1.2.4.59' => 'JPEG Extended, Hierarchical (Process 16 & 18) ',
2135    '1.2.840.10008.1.2.4.60' => 'JPEG Extended, Hierarchical (Process 17 & 19) ',
2136    '1.2.840.10008.1.2.4.61' => 'JPEG Spectral Selection, Hierarchical (Process 20 & 22)',
2137    '1.2.840.10008.1.2.4.62' => 'JPEG Spectral Selection, Hierarchical (Process 21 & 23)',
2138    '1.2.840.10008.1.2.4.63' => 'JPEG Full Progression, Hierarchical (Process 24 & 26)',
2139    '1.2.840.10008.1.2.4.64' => 'JPEG Full Progression, Hierarchical (Process 25 & 27)',
2140    '1.2.840.10008.1.2.4.65' => 'JPEG Lossless, Hierarchical (Process 28) ',
2141    '1.2.840.10008.1.2.4.66' => 'JPEG Lossless, Hierarchical (Process 29) ',
2142    '1.2.840.10008.1.2.4.70' => 'JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14-1)',
2143    '1.2.840.10008.1.2.4.80' => 'JPEG-LS Lossless Image Compression',
2144    '1.2.840.10008.1.2.4.81' => 'JPEG-LS Lossy (Near-Lossless) Image Compression',
2145    '1.2.840.10008.1.2.4.90' => 'JPEG 2000 Image Compression (Lossless Only)',
2146    '1.2.840.10008.1.2.4.91' => 'JPEG 2000 Image Compression',
2147    '1.2.840.10008.1.2.4.100' => 'MPEG2 Main Profile @ Main Level',
2148    '1.2.840.10008.1.2.5' => 'RLE Lossless',
2149    '1.2.840.10008.1.3.10' => 'Media Storage Directory Storage',
2150    '1.2.840.10008.1.4.1.1' => 'Talairach Brain Atlas Frame of Reference',
2151    '1.2.840.10008.1.4.1.2' => 'SPM2 T1 Frame of Reference',
2152    '1.2.840.10008.1.4.1.3' => 'SPM2 T2 Frame of Reference',
2153    '1.2.840.10008.1.4.1.4' => 'SPM2 PD Frame of Reference',
2154    '1.2.840.10008.1.4.1.5' => 'SPM2 EPI Frame of Reference',
2155    '1.2.840.10008.1.4.1.6' => 'SPM2 FIL T1 Frame of Reference',
2156    '1.2.840.10008.1.4.1.7' => 'SPM2 PET Frame of Reference',
2157    '1.2.840.10008.1.4.1.8' => 'SPM2 TRANSM Frame of Reference',
2158    '1.2.840.10008.1.4.1.9' => 'SPM2 SPECT Frame of Reference',
2159    '1.2.840.10008.1.4.1.10' => 'SPM2 GRAY Frame of Reference',
2160    '1.2.840.10008.1.4.1.11' => 'SPM2 WHITE Frame of Reference',
2161    '1.2.840.10008.1.4.1.12' => 'SPM2 CSF Frame of Reference',
2162    '1.2.840.10008.1.4.1.13' => 'SPM2 BRAINMASK Frame of Reference',
2163    '1.2.840.10008.1.4.1.14' => 'SPM2 AVG305T1 Frame of Reference',
2164    '1.2.840.10008.1.4.1.15' => 'SPM2 AVG152T1 Frame of Reference',
2165    '1.2.840.10008.1.4.1.16' => 'SPM2 AVG152T2 Frame of Reference',
2166    '1.2.840.10008.1.4.1.17' => 'SPM2 AVG152PD Frame of Reference',
2167    '1.2.840.10008.1.4.1.18' => 'SPM2 SINGLESUBJT1 Frame of Reference',
2168    '1.2.840.10008.1.4.2.1' => 'ICBM 452 T1 Frame of Reference',
2169    '1.2.840.10008.1.4.2.2' => 'ICBM Single Subject MRI Frame of Reference',
2170    '1.2.840.10008.1.9' => 'Basic Study Content Notification SOP Class',
2171    '1.2.840.10008.1.20.1' => 'Storage Commitment Push Model SOP Class',
2172    '1.2.840.10008.1.20.1.1' => 'Storage Commitment Push Model SOP Instance',
2173    '1.2.840.10008.1.20.2' => 'Storage Commitment Pull Model SOP Class ',
2174    '1.2.840.10008.1.20.2.1' => 'Storage Commitment Pull Model SOP Instance ',
2175    '1.2.840.10008.1.40' => 'Procedural Event Logging SOP Class',
2176    '1.2.840.10008.1.40.1' => 'Procedural Event Logging SOP Instance',
2177    '1.2.840.10008.2.16.4' => 'DICOM Controlled Terminology Coding Scheme PS 3.16',
2178    '1.2.840.10008.3.1.1.1' => 'DICOM Application Context Name',
2179    '1.2.840.10008.3.1.2.1.1' => 'Detached Patient Management SOP Class',
2180    '1.2.840.10008.3.1.2.1.4' => 'Detached Patient Management Meta SOP Class',
2181    '1.2.840.10008.3.1.2.2.1' => 'Detached Visit Management SOP Class',
2182    '1.2.840.10008.3.1.2.3.1' => 'Detached Study Management SOP Class',
2183    '1.2.840.10008.3.1.2.3.2' => 'Study Component Management SOP Class',
2184    '1.2.840.10008.3.1.2.3.3' => 'Modality Performed Procedure Step SOP Class',
2185    '1.2.840.10008.3.1.2.3.4' => 'Modality Performed Procedure Step Retrieve SOP Class',
2186    '1.2.840.10008.3.1.2.3.5' => 'Modality Performed Procedure Step Notification SOP Class',
2187    '1.2.840.10008.3.1.2.5.1' => 'Detached Results Management SOP Class',
2188    '1.2.840.10008.3.1.2.5.4' => 'Detached Results Management Meta SOP Class',
2189    '1.2.840.10008.3.1.2.5.5' => 'Detached Study Management Meta SOP Class',
2190    '1.2.840.10008.3.1.2.6.1' => 'Detached Interpretation Management SOP Class',
2191    '1.2.840.10008.4.2' => 'Storage Service Class Service Class PS 3.4',
2192    '1.2.840.10008.5.1.1.1' => 'Basic Film Session SOP Class',
2193    '1.2.840.10008.5.1.1.2' => 'Basic Film Box SOP Class',
2194    '1.2.840.10008.5.1.1.4' => 'Basic Grayscale Image Box SOP Class',
2195    '1.2.840.10008.5.1.1.4.1' => 'Basic Color Image Box SOP Class',
2196    '1.2.840.10008.5.1.1.4.2' => 'Referenced Image Box SOP Class',
2197    '1.2.840.10008.5.1.1.9' => 'Basic Grayscale Print ManagementMeta SOP Class',
2198    '1.2.840.10008.5.1.1.9.1' => 'Referenced Grayscale Print Management Meta SOP Class',
2199    '1.2.840.10008.5.1.1.14' => 'Print Job SOP Class',
2200    '1.2.840.10008.5.1.1.15' => 'Basic Annotation Box SOP Class',
2201    '1.2.840.10008.5.1.1.16' => 'Printer SOP Class',
2202    '1.2.840.10008.5.1.1.16.376' => 'Printer Configuration Retrieval SOP Class',
2203    '1.2.840.10008.5.1.1.17' => 'Printer SOP Instance',
2204    '1.2.840.10008.5.1.1.17.376' => 'Printer Configuration RetrievalSOP Instance',
2205    '1.2.840.10008.5.1.1.18' => 'Basic Color Print Management Meta SOP Class',
2206    '1.2.840.10008.5.1.1.18.1' => 'Referenced Color Print Management Meta SOP Class',
2207    '1.2.840.10008.5.1.1.22' => 'VOI LUT Box SOP Class',
2208    '1.2.840.10008.5.1.1.23' => 'Presentation LUT SOP Class',
2209    '1.2.840.10008.5.1.1.24' => 'Image Overlay Box SOP Class',
2210    '1.2.840.10008.5.1.1.24.1' => 'Basic Print Image Overlay Box SOP Class',
2211    '1.2.840.10008.5.1.1.25' => 'Print Queue SOP Instance',
2212    '1.2.840.10008.5.1.1.26' => 'Print Queue Management SOP Class',
2213    '1.2.840.10008.5.1.1.27' => 'Stored Print Storage SOP Class',
2214    '1.2.840.10008.5.1.1.29' => 'Hardcopy Grayscale Image',
2215    '1.2.840.10008.5.1.1.30' => 'Hardcopy Color Image Storage SOP Class',
2216    '1.2.840.10008.5.1.1.31' => 'Pull Print Request SOP Class',
2217    '1.2.840.10008.5.1.1.32' => 'Pull Stored Print Management Meta SOP Class',
2218    '1.2.840.10008.5.1.1.33' => 'Media Creation Management SOP Class',
2219    '1.2.840.10008.5.1.4.1.1.1' => 'Computed Radiography Image Storage',
2220    '1.2.840.10008.5.1.4.1.1.1.1' => 'Digital X-Ray Image Storage Ð For Presentation',
2221    '1.2.840.10008.5.1.4.1.1.1.1.1' => 'Digital X-Ray Image Storage Ð For Processing',
2222    '1.2.840.10008.5.1.4.1.1.1.2' => 'Digital Mammography X-Ray Image Storage Ð For Presentation',
2223    '1.2.840.10008.5.1.4.1.1.1.2.1' => 'Digital Mammography X-Ray Image Storage Ð For Processing',
2224    '1.2.840.10008.5.1.4.1.1.1.3' => 'Digital Intra-oral X-Ray Image Storage Ð For Presentation',
2225    '1.2.840.10008.5.1.4.1.1.1.3.1' => 'Digital Intra-oral X-Ray Image Storage Ð For Processing',
2226    '1.2.840.10008.5.1.4.1.1.2' => 'CT Image Storage',
2227    '1.2.840.10008.5.1.4.1.1.2.1' => 'Enhanced CT Image Storage',
2228    '1.2.840.10008.5.1.4.1.1.3' => 'Ultrasound Multi-frame Image Storage ',
2229    '1.2.840.10008.5.1.4.1.1.3.1' => 'Ultrasound Multi-frame Image Storage',
2230    '1.2.840.10008.5.1.4.1.1.4' => 'MR Image Storage',
2231    '1.2.840.10008.5.1.4.1.1.4.1' => 'Enhanced MR Image Storage',
2232    '1.2.840.10008.5.1.4.1.1.4.2' => 'MR Spectroscopy Storage',
2233    '1.2.840.10008.5.1.4.1.1.5' => 'Nuclear Medicine Image Storage',
2234    '1.2.840.10008.5.1.4.1.1.6' => 'Ultrasound Image Storage',
2235    '1.2.840.10008.5.1.4.1.1.6.1' => 'Ultrasound Image Storage',
2236    '1.2.840.10008.5.1.4.1.1.7' => 'Secondary Capture Image Storage',
2237    '1.2.840.10008.5.1.4.1.1.7.1' => 'Multi-frame Single Bit Secondary',
2238    '1.2.840.10008.5.1.4.1.1.7.2' => 'Multi-frame Grayscale Byte Secondary Capture Image Storage',
2239    '1.2.840.10008.5.1.4.1.1.7.3' => 'Multi-frame Grayscale Word Secondary Capture Image Storage',
2240    '1.2.840.10008.5.1.4.1.1.7.4' => 'Multi-frame True Color Secondary Capture Image Storage',
2241    '1.2.840.10008.5.1.4.1.1.8' => 'Standalone Overlay Storage',
2242    '1.2.840.10008.5.1.4.1.1.9' => 'Standalone Curve Storage',
2243    '1.2.840.10008.5.1.4.1.1.9.1.1' => '12-lead ECG Waveform Storage',
2244    '1.2.840.10008.5.1.4.1.1.9.1.2' => 'General ECG Waveform Storage',
2245    '1.2.840.10008.5.1.4.1.1.9.1.3' => 'Ambulatory ECG Waveform Storage',
2246    '1.2.840.10008.5.1.4.1.1.9.2.1' => 'Hemodynamic Waveform Storage',
2247    '1.2.840.10008.5.1.4.1.1.9.3.1' => 'Cardiac Electrophysiology Waveform Storage',
2248    '1.2.840.10008.5.1.4.1.1.9.4.1' => 'Basic Voice Audio Waveform Storage',
2249    '1.2.840.10008.5.1.4.1.1.10' => 'Standalone Modality LUT Storage',
2250    '1.2.840.10008.5.1.4.1.1.11' => 'Standalone VOI LUT Storage',
2251    '1.2.840.10008.5.1.4.1.1.11.1' => 'Grayscale Softcopy Presentation State Storage SOP Class',
2252    '1.2.840.10008.5.1.4.1.1.12.1' => 'X-Ray Angiographic Image Storage',
2253    '1.2.840.10008.5.1.4.1.1.12.2' => 'X-Ray Radiofluoroscopic Image Storage',
2254    '1.2.840.10008.5.1.4.1.1.12.3' => 'X-Ray Angiographic Bi-Plane Image Storage ',
2255    '1.2.840.10008.5.1.4.1.1.20' => 'Nuclear Medicine Image Storage',
2256    '1.2.840.10008.5.1.4.1.1.66' => 'Raw Data Storage',
2257    '1.2.840.10008.5.1.4.1.1.66.1' => 'Spatial Registration Storage',
2258    '1.2.840.10008.5.1.4.1.1.66.2' => 'Spatial Fiducials Storage',
2259    '1.2.840.10008.5.1.4.1.1.77.1' => 'VL Image Storage ',
2260    '1.2.840.10008.5.1.4.1.1.77.2' => 'VL Multi-frame Image Storage',
2261    '1.2.840.10008.5.1.4.1.1.77.1.1' => 'VL Endoscopic Image Storage',
2262    '1.2.840.10008.5.1.4.1.1.77.1.1.1' => 'Video Endoscopic Image Storage',
2263    '1.2.840.10008.5.1.4.1.1.77.1.2' => 'VL Microscopic Image Storage',
2264    '1.2.840.10008.5.1.4.1.1.77.1.2.1' => 'Video Microscopic Image Storage',
2265    '1.2.840.10008.5.1.4.1.1.77.1.3' => 'VL Slide-Coordinates Microscopic Image Storage',
2266    '1.2.840.10008.5.1.4.1.1.77.1.4' => 'VL Photographic Image Storage',
2267    '1.2.840.10008.5.1.4.1.1.77.1.4.1' => 'Video Photographic Image Storage',
2268    '1.2.840.10008.5.1.4.1.1.77.1.5.1' => 'Ophthalmic Photography 8 Bit Image Storage',
2269    '1.2.840.10008.5.1.4.1.1.77.1.5.2' => 'Ophthalmic Photography 16 Bit Image Storage',
2270    '1.2.840.10008.5.1.4.1.1.77.1.5.3' => 'Stereometric Relationship Storage',
2271    '1.2.840.10008.5.1.4.1.1.88.11' => 'Basic Text SR',
2272    '1.2.840.10008.5.1.4.1.1.88.22' => 'Enhanced SR',
2273    '1.2.840.10008.5.1.4.1.1.88.33' => 'Comprehensive SR',
2274    '1.2.840.10008.5.1.4.1.1.88.40' => 'Procedure Log Storage',
2275    '1.2.840.10008.5.1.4.1.1.88.50' => 'Mammography CAD SR',
2276    '1.2.840.10008.5.1.4.1.1.88.59' => 'Key Object Selection Document',
2277    '1.2.840.10008.5.1.4.1.1.88.65' => 'Chest CAD SR',
2278    '1.2.840.10008.5.1.4.1.1.128' => 'Positron Emission Tomography Image Storage',
2279    '1.2.840.10008.5.1.4.1.1.129' => 'Standalone PET Curve Storage',
2280    '1.2.840.10008.5.1.4.1.1.481.1' => 'RT Image Storage',
2281    '1.2.840.10008.5.1.4.1.1.481.2' => 'RT Dose Storage',
2282    '1.2.840.10008.5.1.4.1.1.481.3' => 'RT Structure Set Storage',
2283    '1.2.840.10008.5.1.4.1.1.481.4' => 'RT Beams Treatment Record Storage',
2284    '1.2.840.10008.5.1.4.1.1.481.5' => 'RT Plan Storage',
2285    '1.2.840.10008.5.1.4.1.1.481.6' => 'RT Brachy Treatment Record Storage',
2286    '1.2.840.10008.5.1.4.1.1.481.7' => 'RT Treatment Summary Record Storage',
2287    '1.2.840.10008.5.1.4.1.2.1.1' => 'Patient Root Query/Retrieve Information Model Ð FIND',
2288    '1.2.840.10008.5.1.4.1.2.1.2' => 'Patient Root Query/Retrieve Information Model Ð MOVE',
2289    '1.2.840.10008.5.1.4.1.2.1.3' => 'Patient Root Query/Retrieve Information Model Ð GET',
2290    '1.2.840.10008.5.1.4.1.2.2.1' => 'Study Root Query/Retrieve Information Model Ð FIND',
2291    '1.2.840.10008.5.1.4.1.2.2.2' => 'Study Root Query/Retrieve Information Model Ð MOVE',
2292    '1.2.840.10008.5.1.4.1.2.2.3' => 'Study Root Query/Retrieve Information Model Ð GET',
2293    '1.2.840.10008.5.1.4.1.2.3.1' => 'Patient/Study Only Query/Retrieve Information Model - FIND',
2294    '1.2.840.10008.5.1.4.1.2.3.2' => 'Patient/Study Only Query/Retrieve Information Model - MOVE',
2295    '1.2.840.10008.5.1.4.1.2.3.3' => 'Patient/Study Only Query/Retrieve Information Model - GET',
2296    '1.2.840.10008.5.1.4.31' => 'Modality Worklist Information Model Ð FIND',
2297    '1.2.840.10008.5.1.4.32.1' => 'General Purpose Worklist Information Model Ð FIND',
2298    '1.2.840.10008.5.1.4.32.2' => 'General Purpose Scheduled Procedure Step SOP Class',
2299    '1.2.840.10008.5.1.4.32.3' => 'General Purpose Performed Procedure Step SOP Class',
2300    '1.2.840.10008.5.1.4.32' => 'General Purpose Worklist Management Meta SOP Class',
2301    '1.2.840.10008.5.1.4.33' => 'Instance Availability Notification SOP Class',
2302    '1.2.840.10008.5.1.4.37.1' => 'General Relevant Patient Information Query',
2303    '1.2.840.10008.5.1.4.37.2' => 'Breast Imaging Relevant Patient Information Query',
2304    '1.2.840.10008.5.1.4.37.3' => 'Cardiac Relevant Patient Information Query',
2305    '1.2.840.10008.15.0.3.1' => 'dicomDeviceName',
2306    '1.2.840.10008.15.0.3.2' => 'dicomDescription',
2307    '1.2.840.10008.15.0.3.3' => 'dicomManufacturer',
2308    '1.2.840.10008.15.0.3.4' => 'dicomManufacturerModelName',
2309    '1.2.840.10008.15.0.3.5' => 'dicomSoftwareVersion',
2310    '1.2.840.10008.15.0.3.6' => 'dicomVendorData',
2311    '1.2.840.10008.15.0.3.7' => 'dicomAETitle',
2312    '1.2.840.10008.15.0.3.8' => 'dicomNetworkConnectionReference',
2313    '1.2.840.10008.15.0.3.9' => 'dicomApplicationCluster',
2314    '1.2.840.10008.15.0.3.10' => 'dicomAssociationInitiator',
2315    '1.2.840.10008.15.0.3.11' => 'dicomAssociationAcceptor',
2316    '1.2.840.10008.15.0.3.12' => 'dicomHostname',
2317    '1.2.840.10008.15.0.3.13' => 'dicomPort',
2318    '1.2.840.10008.15.0.3.14' => 'dicomSOPClass',
2319    '1.2.840.10008.15.0.3.15' => 'dicomTransferRole',
2320    '1.2.840.10008.15.0.3.16' => 'dicomTransferSyntax',
2321    '1.2.840.10008.15.0.3.17' => 'dicomPrimaryDeviceType',
2322    '1.2.840.10008.15.0.3.18' => 'dicomRelatedDeviceReference',
2323    '1.2.840.10008.15.0.3.19' => 'dicomPreferredCalledAETitle',
2324    '1.2.840.10008.15.0.3.20' => 'dicomTLSCyphersuite',
2325    '1.2.840.10008.15.0.3.21' => 'dicomAuthorizedNodeCertificateReference',
2326    '1.2.840.10008.15.0.3.22' => 'dicomThisNodeCertificateReference',
2327    '1.2.840.10008.15.0.3.23' => 'dicomInstalled',
2328    '1.2.840.10008.15.0.3.24' => 'dicomStationName',
2329    '1.2.840.10008.15.0.3.25' => 'dicomDeviceSerialNumber',
2330    '1.2.840.10008.15.0.3.26' => 'dicomInstitutionName',
2331    '1.2.840.10008.15.0.3.27' => 'dicomInstitutionAddress',
2332    '1.2.840.10008.15.0.3.28' => 'dicomInstitutionDepartmentName',
2333    '1.2.840.10008.15.0.3.29' => 'dicomIssuerOfPatientID',
2334    '1.2.840.10008.15.0.3.30' => 'dicomPreferredCallingAETitle',
2335    '1.2.840.10008.15.0.3.31' => 'dicomSupportedCharacterSet',
2336    '1.2.840.10008.15.0.4.1' => 'dicomConfigurationRoot',
2337    '1.2.840.10008.15.0.4.2' => 'dicomDevicesRoot',
2338    '1.2.840.10008.15.0.4.3' => 'dicomUniqueAETitlesRegistryRoot',
2339    '1.2.840.10008.15.0.4.4' => 'dicomDevice',
2340    '1.2.840.10008.15.0.4.5' => 'dicomNetworkAE',
2341    '1.2.840.10008.15.0.4.6' => 'dicomNetworkConnection',
2342    '1.2.840.10008.15.0.4.7' => 'dicomUniqueAETitle',
2343    '1.2.840.10008.15.0.4.8' => 'dicomTransferCapability',
2344);
2345
2346#------------------------------------------------------------------------------
2347# Extract information from a DICOM (DCM) image
2348# Inputs: 0) ExifTool object reference, 1) DirInfo reference
2349# Returns: 1 on success, 0 if this wasn't a valid DICOM file
2350sub ProcessDICM($$)
2351{
2352    my ($exifTool, $dirInfo) = @_;
2353    my $raf = $$dirInfo{RAF};
2354    my $unknown = $exifTool->Options('Unknown');
2355    my $verbose = $exifTool->Options('Verbose');
2356    my ($hdr, $buff, $implicit, $vr, $len);
2357#
2358# identify the DICOM or ACR-NEMA file
2359#
2360    $raf->Read($hdr, 12) == 12 or return 0; # save for ACR identification later
2361    $raf->Seek(128, 0) or return 0;         # skip to end of DICM header
2362    $raf->Read($buff, 4) == 4 or return 0;  # read signature
2363    if ($buff eq 'DICM') {
2364        # file meta information transfer syntax is explicit little endian
2365        SetByteOrder('II');
2366        $exifTool->SetFileType('DICOM');
2367    } else {
2368        # test for a RAW DCM image (ACR-NEMA format, ie. no header)
2369        foreach ('II','MM','') {
2370            return 0 unless $_; # no luck identifying the syntax
2371            SetByteOrder($_);
2372            my $g = Get16u(\$hdr, 0);
2373            # expect group number to be small and even
2374            next if $g < 2 or $g > 8 or $g & 0x01;
2375            my $e = Get16u(\$hdr, 2);
2376            next if $e > 0x20;          # expect a low element number at start
2377            $vr = substr($hdr, 4, 2);   # look for explicit VR
2378            if ($vr =~ /^[A-Z]{2}$/) {
2379                $implicit = 0;
2380                if ($vr32{$vr}) {
2381                    next unless Get16u(\$hdr, 6) == 0;  # must be 2 zero bytes
2382                    $len = Get32u(\$hdr, 8);
2383                } else {
2384                    next if $e == 0 and $vr ne 'UL';    # group length must be UL
2385                    $len = Get16u(\$hdr, 6);
2386                }
2387            } else {
2388                $implicit = 1;
2389                $len = Get32u(\$hdr, 4);
2390            }
2391            next if $e == 0 and $len != 4;  # group length value must be 4 bytes
2392            next if $len > 64;      # first element shouldn't be too long
2393            last;   # success!
2394        }
2395        $raf->Seek(0, 0) or return 0;   # rewind to start of file
2396        $exifTool->SetFileType('ACR');
2397    }
2398#
2399# process the meta information
2400#
2401    my $tagTablePtr = GetTagTable('Image::ExifTool::DICOM::Main');
2402    my $pos = $raf->Tell();
2403    my $err = 1;
2404    my ($transferSyntax, $group2end);
2405    for (;;) {
2406        $raf->Read($buff, 8) == 8 or $err = 0, last;
2407        $pos += 8;
2408        my $group = Get16u(\$buff, 0);
2409        # implement the transfer syntax at the end of the group 2 data
2410        if ($transferSyntax and ($group != 0x0002 or
2411            ($group2end and $pos > $group2end)))
2412        {
2413            # 1.2.840.10008.1.2   = implicit VR little endian
2414            # 1.2.840.10008.1.2.2 = explicit VR big endian
2415            # 1.2.840.10008.1.2.x = explicit VR little endian
2416            # 1.2.840.10008.1.2.1.99 = deflated
2417            unless ($transferSyntax =~ /^1\.2\.840\.10008\.1\.2(\.\d+)?(\.\d+)?/) {
2418                $exifTool->Warn("Unrecognized transfer syntax $transferSyntax");
2419                last;
2420            }
2421            if (not $1) {
2422                $implicit = 1;
2423            } elsif ($1 eq '.2') {
2424                SetByteOrder('MM');
2425                $group = Get16u(\$buff, 0); # must get group again
2426            } elsif ($1 eq '.1' and $2 and $2 eq '.99') {
2427                # inflate compressed data stream
2428                if (eval 'require Compress::Zlib') {
2429                    # must use undocumented zlib feature to disable zlib header information
2430                    # because DICOM deflated data doesn't have the zlib header (ref 3)
2431                    my $wbits = -Compress::Zlib::MAX_WBITS();
2432                    my $inflate = Compress::Zlib::inflateInit(-WindowBits => $wbits);
2433                    if ($inflate) {
2434                        $raf->Seek(-8, 1) or last;
2435                        my $data = '';
2436                        while ($raf->Read($buff, 65536)) {
2437                            my ($buf, $stat) = $inflate->inflate($buff);
2438                            if ($stat == Compress::Zlib::Z_OK() or
2439                                $stat == Compress::Zlib::Z_STREAM_END())
2440                            {
2441                                $data .= $buf;
2442                                last if $stat == Compress::Zlib::Z_STREAM_END();
2443                            } else {
2444                                $exifTool->Warn('Error inflating compressed data stream');
2445                                return 1;
2446                            }
2447                        }
2448                        last if length $data < 8;
2449                        # create new RAF object from inflated data stream
2450                        $raf = new File::RandomAccess(\$data);
2451                        # re-read start of stream (now decompressed)
2452                        $raf->Read($buff, 8) == 8 or last;
2453                        $group = Get16u(\$buff, 0);
2454                    } else {
2455                        $exifTool->Warn('Error initializing inflation');
2456                        return 1;
2457                    }
2458                } else {
2459                    $exifTool->Warn('Install Compress::Zlib to decode compressed data stream');
2460                    return 1;
2461                }
2462            }
2463            undef $transferSyntax;
2464        }
2465        my $element = Get16u(\$buff,2);
2466        my $tag = sprintf('%.4X,%.4X', $group, $element);
2467
2468        if ($implicit or $implicitVR{$tag}) {
2469            # treat everything as string if implicit VR because it
2470            # isn't worth it to generate the necessary VR lookup tables
2471            # for the thousands of defined data elements
2472            $vr = '';       # no VR (treat everything as string)
2473            $len = Get32u(\$buff, 4);
2474        } else {
2475            $vr = substr($buff,4,2);
2476            last unless $vr =~ /^[A-Z]{2}$/;
2477            if ($vr32{$vr}) {
2478                $raf->Read($buff, 4) == 4 or last;
2479                $pos += 4;
2480                $len = Get32u(\$buff, 0);
2481                $len = 0 if $vr eq 'SQ';    # just recurse into sequences
2482            } else {
2483                $len = Get16u(\$buff, 6);
2484            }
2485        }
2486        if ($len == 0xffffffff) {
2487            $len = 0;   # don't read value if undefined length
2488            if ($verbose) {
2489                # start list of items in verbose output
2490                $exifTool->VPrint(0, "$exifTool->{INDENT}+ [List of items]\n");
2491                $exifTool->{INDENT} .= '| ';
2492            }
2493        }
2494        # read the element value
2495        if ($len) {
2496            $raf->Read($buff, $len) == $len or last;
2497            $pos += $len;
2498        } else {
2499            $buff = '';
2500        }
2501
2502        # handle tags not found in the table
2503        my $tagInfo = $$tagTablePtr{$tag};
2504        unless ($tagInfo) {
2505            # look for a tag like '60xx,1203' or '0020,31xx' in table
2506            my $xx;
2507            if ((($xx = $tag) =~ s/^(..)../$1xx/ and $$tagTablePtr{$xx}) or
2508                (($xx = $tag) =~ s/(..)$/xx/ and $$tagTablePtr{$xx}))
2509            {
2510                $tag = $xx;
2511                $tagInfo = $$tagTablePtr{$xx};
2512            } elsif ($unknown) {
2513                # create tag info hash for unknown elements
2514                if ($element == 0) {    # element zero is group length
2515                    $tagInfo = {
2516                        Name => sprintf("Group%.4X_Length", $group),
2517                        Description => sprintf("Group %.4X Length", $group),
2518                    };
2519                } else {
2520                    $tagInfo = {
2521                        Name => sprintf("DICOM_%.4X_%.4X", $group, $element),
2522                        Description => sprintf("DICOM %.4X,%.4X", $group, $element),
2523                    };
2524                }
2525                $$tagInfo{Unknown} = 1;
2526                Image::ExifTool::AddTagToTable($tagTablePtr, $tag, $tagInfo);
2527            }
2528        }
2529        # get VR from our tag information if implicit
2530        $vr = $$tagInfo{VR} || '  ' if $tagInfo and not $vr;
2531
2532        if ($element == 0) {
2533            $vr = 'UL'; # group length element is always unsigned long
2534        }
2535        my $val;
2536        my $format = $dicomFormat{$vr};
2537        if ($len > 1024) {
2538            # treat large data elements as binary data
2539            my $binData;
2540            if ($exifTool->Options('Binary') or ($tagInfo and
2541                $exifTool->{REQ_TAG_LOOKUP}->{lc($$tagInfo{Name})}))
2542            {
2543                $binData = $buff;   # must make a copy
2544            } else {
2545                $binData = "Binary data $len bytes";
2546            }
2547            $val = \$binData;
2548        } elsif ($format) {
2549            $val = ReadValue(\$buff, 0, $format, undef, $len);
2550        } else {
2551            $val = $buff;
2552            $format = 'string';
2553            if ($vr eq 'DA') {
2554                # format date values
2555                $val =~ s/^(\d{4})(\d{2})(\d{2})/$1:$2:$3/;
2556            } elsif ($vr eq 'TM') {
2557                # format time values
2558                $val =~ s/^(\d{2})(\d{2})(\d{2}.*)/$1:$2:$3/;
2559            } elsif ($vr eq 'DT') {
2560                # format date/time values
2561                $val =~ s/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2}.*)/$1:$2:$3 $4:$5:$6/;
2562            } elsif ($vr eq 'AT' and $len == 4) {
2563                # convert attribute tag ID to hex format
2564                my ($g, $e) = (Get16u(\$buff,0), Get16u(\$buff,2));
2565                $val = sprintf('%.4X,%.4X', $g, $e);
2566            } elsif ($vr eq 'UI') {
2567                # add PrintConv to translate registered UID's
2568                $val =~ s/\0.*//; # truncate at null
2569                $$tagInfo{PrintConv} = \%uid if $uid{$val} and $tagInfo;
2570            }
2571        }
2572        # save the group 2 end position and transfer syntax
2573        if ($group == 0x0002) {
2574            $element == 0x0000 and $group2end = $pos + $val;
2575            $element == 0x0010 and $transferSyntax = $val;
2576        }
2577
2578        # handle the new tag information
2579        $exifTool->HandleTag($tagTablePtr, $tag, $val,
2580            DataPt => \$buff,
2581            DataPos => $pos - $len,
2582            Format => $format,
2583            Start => 0,
2584            Size => $len,
2585            Extra => " ($vr)",
2586        );
2587
2588        # stop indenting for list if we reached EndOfItems tag
2589        $exifTool->{INDENT} =~ s/..$// if $verbose and $tag eq 'FFFE,E00D';
2590    }
2591    $err and $exifTool->Warn('Error reading DICOM file (corrupted?)');
2592    return 1;
2593}
2594
25951;  # end
2596
2597__END__
2598
2599=head1 NAME
2600
2601Image::ExifTool::DICOM - Read DICOM and ACR-NEMA medical images
2602
2603=head1 SYNOPSIS
2604
2605This module is used by Image::ExifTool
2606
2607=head1 DESCRIPTION
2608
2609This module contains routines required by Image::ExifTool to extract meta
2610information from DICOM (Digital Imaging and Communications in Medicine) DCM
2611and ACR-NEMA (American College of Radiology - National Electrical
2612Manufacturer's Association) ACR medical images.
2613
2614=head1 NOTES
2615
2616Values of retired elements in implicit VR format files are intepreted as
2617strings, hence they may not be displayed properly.  This is because the
2618specification no longer lists these VR's, but simply lists 'RET' for these
2619elements.  (Doh. Who's idea was that? :P)
2620
2621Images compressed using the DICOM deflated transfer syntax will be decoded
2622if Compress::Zlib is installed.
2623
2624No translation of special characters sets is done.
2625
2626=head1 AUTHOR
2627
2628Copyright 2003-2007, Phil Harvey (phil at owl.phy.queensu.ca)
2629
2630This library is free software; you can redistribute it and/or modify it
2631under the same terms as Perl itself.
2632
2633=head1 REFERENCES
2634
2635=over 4
2636
2637=item L<http://medical.nema.org/dicom/2004.html>
2638
2639=item L<http://www.sph.sc.edu/comd/rorden/dicom.html>
2640
2641=item L<http://www.dclunie.com/>
2642
2643=back
2644
2645=head1 SEE ALSO
2646
2647L<Image::ExifTool::TagNames/DICOM Tags>,
2648L<Image::ExifTool(3pm)|Image::ExifTool>
2649
2650=cut
2651
Note: See TracBrowser for help on using the browser.