~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Tina4/src/file/dicom.old/CTN/dicom_objects.h

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2           Copyright (C) 1993, 1994, RSNA and Washington University
  3 
  4           The software and supporting documentation for the Radiological
  5           Society of North America (RSNA) 1993, 1994 Digital Imaging and
  6           Communications in Medicine (DICOM) Demonstration were developed
  7           at the
  8                   Electronic Radiology Laboratory
  9                   Mallinckrodt Institute of Radiology
 10                   Washington University School of Medicine
 11                   510 S. Kingshighway Blvd.
 12                   St. Louis, MO 63110
 13           as part of the 1993, 1994 DICOM Central Test Node project for, and
 14           under contract with, the Radiological Society of North America.
 15 
 16           THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR
 17           WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS
 18           PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
 19           USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY
 20           SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF
 21           THE SOFTWARE IS WITH THE USER.
 22 
 23           Copyright of the software and supporting documentation is
 24           jointly owned by RSNA and Washington University, and free access
 25           is hereby granted as a license to use this software, copy this
 26           software and prepare derivative works based upon this software.
 27           However, any distribution of this software source code or
 28           supporting documentation or derivative works (source code and
 29           supporting documentation) must include the three paragraphs of
 30           the copyright notice.
 31 */
 32 /* Copyright marker.  Copyright will be inserted above.  Do not remove */
 33 
 34 /*
 35 **                              DICOM 93
 36 **                   Electronic Radiology Laboratory
 37 **                 Mallinckrodt Institute of Radiology
 38 **              Washington University School of Medicine
 39 **
 40 ** Module Name(s):
 41 ** Author, Date:        Stephen M. Moore, 22-Apr-93
 42 ** Intent:              This file contains definitions and function prototypes
 43 **                      for the OBJECT facility which allows the user to
 44 **                      manipulate DICOM Objects.
 45 ** Last Update:         $Author: smm $, $Date: 1998/11/17 19:09:09 $
 46 ** Source File:         $RCSfile: dicom_objects.h,v $
 47 ** Revision:            $Revision: 1.82 $
 48 ** Status:              $State: Exp $
 49 */
 50 
 51 #ifndef DCM_OBJECTS_IS_IN
 52 #define DCM_OBJECTS_IS_IN 1
 53 
 54 #ifdef  __cplusplus
 55 extern "C" {
 56 #endif
 57 
 58 
 59 typedef void *DCM_OBJECT;
 60 
 61 typedef enum {
 62     DCM_AE,                     /* Application Entity */
 63     DCM_AS,                     /* Age string */
 64     DCM_AT,                     /* Attribute tag */
 65     DCM_CS,                     /* Control string */
 66     DCM_DA,                     /* Date */
 67     DCM_DD,                     /* Data set */
 68     DCM_DS,                     /* Decimal string */
 69     DCM_FD,                     /* Floating double */
 70     DCM_FL,                     /* Float */
 71     DCM_IS,                     /* Integer string */
 72     DCM_LO,                     /* Long string */
 73     DCM_LT,                     /* Long text */
 74     DCM_OT,                     /* Other binary value */
 75     DCM_SH,                     /* Short string */
 76     DCM_SL,                     /* Signed long */
 77     DCM_SQ,                     /* Sequence of items */
 78     DCM_SS,                     /* Signed short */
 79     DCM_ST,                     /* Short text */
 80     DCM_TM,                     /* Time */
 81     DCM_UI,                     /* Unique identifier (UID) */
 82     DCM_UL,                     /* Unsigned long */
 83     DCM_US,                     /* Unsigned short */
 84     DCM_UNKNOWN,                /* Unknown/unspecified (non-standard) */
 85     DCM_RET,                    /* Retired */
 86     DCM_CTX,                    /* Context sensitive (non-standard) */
 87     DCM_PN,                     /* Person Name */
 88     DCM_OB,                     /* Other, byte */
 89     DCM_OW,                     /* Other, word */
 90     DCM_DT,                     /* Date/Time */
 91     DCM_DLM                     /* Delimiter (non-standard) */
 92 }   DCM_VALUEREPRESENTATION;
 93 
 94 typedef enum {
 95     DCM_OBJECTUNKNOWN,
 96     DCM_OBJECTCOMMAND,
 97     DCM_OBJECTIMAGE,
 98     DCM_OBJECTELEMENTLIST
 99 }   DCM_OBJECTTYPE;
100 
101 #if LONGSIZE == 64
102 typedef unsigned int DCM_TAG;
103 #define DCM_MAKETAG(g, e) (((((unsigned int)(g)) << 16) & 0xffff0000) \
104 | ((unsigned int)(e) & 0xffff))
105 #else
106 typedef unsigned long DCM_TAG;
107 #define DCM_MAKETAG(g, e) (((((unsigned long)(g)) << 16) & 0xffff0000) \
108 | ((unsigned long)(e) & 0xffff))
109 
110 #endif
111 
112 #define DCM_TAG_GROUP(t) (unsigned short) ((t) >> 16)
113 #define DCM_TAG_ELEMENT(t) (unsigned short) ((t) & 0xffff)
114 
115 
116 typedef struct {
117     DCM_TAG tag;
118     DCM_VALUEREPRESENTATION representation;
119     char description[48];
120     unsigned long multiplicity;
121     U32 length;
122     union {
123         char *string;
124         char **stringArray;
125         short *ss;
126         S32 *sl;
127         unsigned short *us;
128         U32 *ul;
129         void *ot;
130         unsigned short *ow;
131         unsigned char *ob;
132         LST_HEAD *sq;
133         DCM_TAG *at;
134     }   d;
135 }   DCM_ELEMENT;
136 
137 typedef struct {
138     void *reserved[2];
139     DCM_ELEMENT e;
140 }   DCM_ELEMENT_NODE;
141 typedef struct {
142     void *reserved[2];
143     DCM_TAG tag;
144 }   DCM_TAG_NODE;
145 
146 typedef struct {
147     DCM_ELEMENT e;
148     long flag;
149     long *flagAddress;
150 }   DCM_FLAGGED_ELEMENT;
151 
152 typedef struct {
153     void *reserved[2];
154     DCM_OBJECT *object;
155 }   DCM_SEQUENCE_ITEM;
156 
157 #define DCM_PREAMBLELENGTH 128
158 
159 #define DCM_FILEMETA_IMPLEMENTATIONVERSIONNAME  (1 << 0)
160 #define DCM_FILEMETA_SOURCEAPPLICATIONENTITYTITLE (1 << 1)
161 #define DCM_FILEMETA_PRIVATEINFORMATIONCREATORUID (1 << 2)
162 #define DCM_FILEMETA_PRIVATEINFORMATION                 (1 << 3)
163 
164 typedef struct {
165     long flag;
166     unsigned char preamble[DCM_PREAMBLELENGTH];
167     unsigned char fileMetaInformationVersion[2];
168     char mediaStorageSOPClassUID[DICOM_UI_LENGTH + 1];
169     char mediaStorageSOPInstanceUID[DICOM_UI_LENGTH + 1];
170     char transferSyntaxUID[DICOM_UI_LENGTH + 1];
171     char implementationClassUID[DICOM_UI_LENGTH + 1];
172     char implementationVersionName[DICOM_SH_LENGTH + 1];
173     char sourceApplicationEntityTitle[DICOM_AE_LENGTH + 1];
174     char privateInformationCreatorUID[DICOM_UI_LENGTH + 1];
175     unsigned char *privateInformation;
176     unsigned long privateInformationLength;
177 }   DCM_FILE_META;
178 
179 
180 #define DCM_ORDERMASK           0x7f
181 #define DCM_ORDERNATIVE         0x01
182 #define DCM_ORDERLITTLEENDIAN   0x02
183 #define DCM_ORDERBIGENDIAN      0x03
184 #define DCM_EXPLICITLITTLEENDIAN        0x04
185 #define DCM_EXPLICITBIGENDIAN           0x05
186 
187 #define DCM_FILEFORMATMASK      0x80
188 #define DCM_PART10FILE          0x80
189 
190 #define DCM_CONVERTMASK         0x100
191 #define DCM_FORMATCONVERSION    0x100
192 
193 #define DCM_DELETEMASK          0x200
194 #define DCM_DELETEONCLOSE       0x200
195 
196 #define DCM_GROUPLENGTHMASK     0x400
197 #define DCM_NOGROUPLENGTH       0x400
198 
199 #define DCM_SEQUENCELENGTHMASK  0x800
200 #define DCM_UNSPECIFIEDLENGTHFLAG 0x800
201 
202 #define DCM_LENGTHTOENDMASK     0x1000
203 #define DCM_USELENGTHTOEND      0x1000
204 
205 /* These bits allow us to modify the file name during the open
206 ** to map from upper to lower case and \ to / to allow compatibility
207 ** between Unix filenames and Win filenames.
208 */
209 #define DCM_FILENAMEMASK        0x2000
210 #define DCM_TRYFILENAMECHANGE   0x2000
211 
212 /* These bits allow us to accept objects with explicit VR with improper
213 ** VRs (according to our dictionary).  Examples are people who send
214 ** a VR of US when we expect SS.
215 */
216 #define DCM_VRMASK              0x4000
217 #define DCM_ACCEPTVRMISMATCH    0x4000
218 /* Define prototypes for functions provided by this facility.
219 */
220 CONDITION DCM_OpenFile(const char *name, unsigned long opt, DCM_OBJECT ** object);
221 CONDITION DCM_CreateObject(DCM_OBJECT ** obj, unsigned long opt);
222 CONDITION DCM_CopyObject(DCM_OBJECT ** src, DCM_OBJECT** dst);
223 CONDITION DCM_AddElement(DCM_OBJECT ** obj, DCM_ELEMENT * ele);
224 CONDITION DCM_AddSequenceElement(DCM_OBJECT ** obj, DCM_ELEMENT * ele);
225 CONDITION DCM_RemoveElement(DCM_OBJECT ** obj, DCM_TAG tag);
226 CONDITION DCM_RemoveGroup(DCM_OBJECT ** callerObject, unsigned short group);
227 CONDITION
228 DCM_ImportStream(unsigned char *buf, unsigned long length,
229                  unsigned long opt, DCM_OBJECT ** rntObj);
230 CONDITION
231 DCM_ReadStream(DCM_OBJECT ** obj, unsigned long opt, long size, void *ctx,
232           CONDITION(*rd) (void *ctx, void *buf, int toRead, int *bytesRead),
233                CONDITION(*sk) (void *ctx, int offset, int flag));
234 CONDITION DCM_CloseObject(DCM_OBJECT ** obj);
235 CONDITION
236 DCM_ExportStream(DCM_OBJECT ** obj, unsigned long opt, void *buf,
237                  unsigned long maxlen,
238 CONDITION(*callback) (void *buf, U32 bytesExported, int lastFlag, void *ctx),
239                  void *ctx);
240 CONDITION
241 DCM_GetElementValue(DCM_OBJECT ** obj, DCM_ELEMENT * element,
242                     U32 * rtnLength, void **ctx);
243 CONDITION
244 DCM_GetElement(DCM_OBJECT ** obj, DCM_TAG tag,
245                DCM_ELEMENT * attribute);
246 CONDITION
247 DCM_GetElementSize(DCM_OBJECT ** obj, DCM_TAG tag,
248                    U32 * retlen);
249 CONDITION
250 DCM_GetElementValueOffset(DCM_OBJECT **obj, DCM_ELEMENT *element,
251                 unsigned long offset);
252 CONDITION
253 DCM_GetCompressedValue(DCM_OBJECT ** obj, DCM_TAG tag, void *buf, size_t bufSize,
254  CONDITION(*callback)(void *buf, U32 bytesExported, int index, int startFlag, int lastFlag, void *ctx),
255                     void *ctx);
256 
257 CONDITION DCM_GetObjectSize(DCM_OBJECT ** obj, unsigned long *retlen);
258 CONDITION DCM_DumpElements(DCM_OBJECT ** obj, long vm);
259 CONDITION DCM_LookupElement(DCM_ELEMENT * attribute);
260 CONDITION
261 DCM_GroupDictionary(unsigned short group, void *ctx,
262          void (*callback) (unsigned short g, char *description, void *ctx));
263 CONDITION
264 DCM_ElementDictionary(DCM_TAG tag, void *ctx,
265                       void (*callback) (DCM_TAG t, char *description, DCM_VALUEREPRESENTATION r, void *ctx));
266 char *DCM_Message(CONDITION cond);
267 void DCM_Debug(CTNBOOLEAN flag);
268 CONDITION DCM_WriteFile(DCM_OBJECT ** obj, unsigned long opt, const char *file);
269 CONDITION 
270 DCM_ComputeExportLength(DCM_OBJECT ** obj, unsigned long opt,
271                         unsigned long *length);
272 CONDITION
273 DCM_ModifyElements(DCM_OBJECT ** obj, DCM_ELEMENT * element,
274              int count, DCM_FLAGGED_ELEMENT * flaggedElement, int flagCount,
275                    int *updateCount);
276 CONDITION DCM_ListToString(LST_HEAD * list, long offset, char **string);
277 CONDITION
278 DCM_ParseObject(DCM_OBJECT ** obj, DCM_ELEMENT * list, int count,
279       DCM_FLAGGED_ELEMENT * flaggedElement, int flagCount, int *parseCount);
280 CONDITION
281 DCM_ScanParseObject(DCM_OBJECT ** object, void *buf, size_t bufferSize,
282     DCM_FLAGGED_ELEMENT * vector, int vectorLength, CONDITION(*callback) (),
283                     void *ctx);
284 CTNBOOLEAN DCM_IsString(DCM_VALUEREPRESENTATION representation);
285 CONDITION
286 DCM_GetSequenceList(DCM_OBJECT ** object, DCM_TAG tag, LST_HEAD ** list);
287 CONDITION
288 DCM_GetSequenceElement(DCM_OBJECT** obj, DCM_TAG top, DCM_ELEMENT* e);
289 CONDITION
290 DCM_GetSequenceByOffset(DCM_OBJECT ** object, DCM_TAG tag, unsigned long offset,
291                         DCM_OBJECT ** rtnObject);
292 CONDITION
293 DCM_GetElementValueList(DCM_OBJECT ** object, DCM_TAG tag,
294                  size_t structureSize, long stringOffset, LST_HEAD ** list);
295 CONDITION
296 DCM_AddElementList(DCM_OBJECT ** callerObject, DCM_ELEMENT * element,
297                    LST_HEAD * list, long offset);
298 CONDITION
299 DCM_GetFileMeta(DCM_OBJECT ** callerObject, DCM_FILE_META ** fileMeta);
300 CONDITION
301 DCM_SetFileMeta(DCM_OBJECT ** callerObject, DCM_FILE_META * fileMeta);
302 CONDITION
303 DCM_FreeFileMeta(DCM_FILE_META ** fileMeta);
304 CONDITION
305 DCM_DefaultFileMeta(DCM_OBJECT ** object, DCM_FILE_META ** fileMeta);
306 CONDITION
307 DCM_CompareAttributes(DCM_OBJECT **o1, DCM_OBJECT **o2,
308                       void (*callback) (const DCM_ELEMENT *e1,
309                                         const DCM_ELEMENT *e2,
310                                         void *ctx),
311                         void *ctx);
312 
313 #define DCM_NORMAL              /* Normal return from DCM package */ \
314         FORM_COND(FAC_DCM, SEV_SUCC, 1)
315 #define DCM_FILEOPENFAILED      /* Failed to open file requested by caller */ \
316         FORM_COND(FAC_DCM, SEV_ERROR, 2)
317 #define DCM_FILEACCESSERROR     /* Error accessing open file */ \
318         FORM_COND(FAC_DCM, SEV_ERROR, 3)
319 #define DCM_OBJECTCREATEFAILED  /* Failed to create a new DCM object */ \
320         FORM_COND(FAC_DCM, SEV_ERROR, 4)
321 #define DCM_NULLOBJECT  /* Null object passed to DCM routine */ \
322         FORM_COND(FAC_DCM, SEV_ERROR, 5)
323 #define DCM_ILLEGALOBJECT       /* Illegal object passed to DCM routine */ \
324         FORM_COND(FAC_DCM, SEV_ERROR, 6)
325 #define DCM_ELEMENTNOTFOUND     /* Requested element not found in object */ \
326         FORM_COND(FAC_DCM, SEV_ERROR, 7)
327 #define DCM_ILLEGALSTREAMLENGTH /* Illegal length for stream (too short) */ \
328         FORM_COND(FAC_DCM, SEV_ERROR, 8)
329 #define DCM_ELEMENTCREATEFAILED /* Failed to create a new DCM element */ \
330         FORM_COND(FAC_DCM, SEV_ERROR, 9)
331 #define DCM_UNRECOGNIZEDGROUP   /* Unrecognized group */ \
332         FORM_COND(FAC_DCM, SEV_WARN, 10)
333 #define DCM_UNRECOGNIZEDELEMENT /* Unrecognized element */ \
334         FORM_COND(FAC_DCM, SEV_WARN, 11)
335 #define DCM_ELEMENTOUTOFORDER   /* Element out of order in DCM stream */ \
336         FORM_COND(FAC_DCM, SEV_ERROR, 12)
337 #define DCM_LISTFAILURE         /* Failure by a list routine */ \
338         FORM_COND(FAC_DCM, SEV_ERROR, 13)
339 #define DCM_ILLEGALOPTION       /* Illegal option for processing stream */ \
340         FORM_COND(FAC_DCM, SEV_ERROR, 14)
341 #define DCM_ILLEGALADD          /* Illegal Add of an element */ \
342         FORM_COND(FAC_DCM, SEV_ERROR, 19)
343 #define DCM_GETINCOMPLETE       /* Incomplete data get operation */ \
344         FORM_COND(FAC_DCM, SEV_WARN, 20)
345 #define DCM_ILLEGALCONTEXT      /* Illegal context value */ \
346         FORM_COND(FAC_DCM, SEV_ERROR, 21)
347 #define DCM_ILLEGALREPRESENTATION       /* Illegal rep given by caller */ \
348         FORM_COND(FAC_DCM, SEV_ERROR, 22)
349 #define DCM_UNEVENELEMENTLENGTH /* Uneven element data length */ \
350         FORM_COND(FAC_DCM, SEV_ERROR, 23)
351 #define DCM_ELEMENTLENGTHERROR  /* Element length > remaining bytes in data */\
352         FORM_COND(FAC_DCM, SEV_ERROR, 25)
353 #define DCM_GROUPNOTFOUND       /* Did not find requested group */ \
354         FORM_COND(FAC_DCM, SEV_ERROR, 27)
355 #define DCM_FILECREATEFAILED    /* Failed to create a file */ \
356         FORM_COND(FAC_DCM, SEV_ERROR, 28)
357 #define DCM_FILEIOERROR         /* File I/O error */ \
358         FORM_COND(FAC_DCM, SEV_ERROR, 29)
359 #define DCM_INSERTFAILED        /* Failed to insert a new element */ \
360         FORM_COND(FAC_DCM, SEV_ERROR, 30)
361 #define DCM_CANNOTGETSEQUENCEVALUE      FORM_COND(FAC_DCM, SEV_ERROR, 31)
362 #define DCM_FILEDELETEFAILED            FORM_COND(FAC_DCM, SEV_ERROR, 32)
363 #define DCM_MALLOCFAILURE               FORM_COND(FAC_DCM, SEV_ERROR, 33)
364 #define DCM_NULLADDRESS                 FORM_COND(FAC_DCM, SEV_ERROR, 34)
365 #define DCM_UNEXPECTEDREPRESENTATION    FORM_COND(FAC_DCM, SEV_ERROR, 35)
366 #define DCM_BADELEMENTINGROUP           FORM_COND(FAC_DCM, SEV_ERROR, 36)
367 #define DCM_CALLBACKABORTED             FORM_COND(FAC_DCM, SEV_WARN, 37)
368 #define DCM_READSTREAMFAILED            FORM_COND(FAC_DCM, SEV_ERROR, 38)
369 #define DCM_STREAMCOMPLETE              FORM_COND(FAC_DCM, SEV_SUCC, 39)
370 #define DCM_UNRECOGNIZEDVRCODE          FORM_COND(FAC_DCM, SEV_ERROR, 40)
371 #define DCM_VRMISMATCH                  FORM_COND(FAC_DCM, SEV_ERROR, 41)
372 #define DCM_EXPORTBUFFERTOOSMALL        FORM_COND(FAC_DCM, SEV_ERROR, 42)
373 #define DCM_BADOFFSET                   FORM_COND(FAC_DCM, SEV_ERROR, 43)
374 #define DCM_BADLENGTH                   FORM_COND(FAC_DCM, SEV_ERROR, 44)
375 #define DCM_NOTASEQUENCE                FORM_COND(FAC_DCM, SEV_ERROR, 45)
376 #define DCM_GENERALWARNING              FORM_COND(FAC_DCM, SEV_WARN, 46)
377 
378 /*  Define all of the known groups and elements in those groups.  This
379 **  will allow coders to use symbolic references to these rather than
380 **  remember the values.
381 */
382 
383 /*  Define the known groups
384 */
385 #define DCM_GROUPCOMMAND                0x0000
386 #define DCM_GROUPFILEMETA               0x0002
387 #define DCM_GROUPBASICDIRINFO           0x0004  /* Part 10, Media */
388 #define DCM_GROUPIDENTIFYING            0x0008
389 #define DCM_GROUPPATIENTINFO            0x0010
390 #define DCM_GROUPACQUISITION            0x0018
391 #define DCM_GROUPRELATIONSHIP           0x0020
392 #define DCM_GROUPIMAGE                  0x0028
393 #define DCM_GROUPSTUDY                  0x0032
394 #define DCM_GROUPVISIT                  0x0038
395 #define DCM_GROUPWAVEFORM               0x003a
396 #define DCM_GRPPROCEDURE                0x0040
397 #define DCM_GROUPDEVICE                 0x0050
398 #define DCM_GROUPNMIMAGE                0x0054
399 #define DCM_GROUPMEDIA                  0x0088
400 #define DCM_GROUPBASICFILMSESSION       0x2000
401 #define DCM_GROUPBASICFILMBOX           0x2010
402 #define DCM_GROUPBASICIMAGEBOX          0x2020
403 #define DCM_GROUPBASICANNOTATIONBOX     0x2030
404 #define DCM_GROUPBASICIMAGEOVERLAYBOX   0x2040
405 #define DCM_GROUPPRINTJOB               0x2100
406 #define DCM_GROUPPRINTER                0x2110
407 #define DCM_GROUPTEXT                   0x4000
408 #define DCM_GROUPRESULTS                0x4008
409 #define DCM_GROUPCURVE                  0x5000
410 #define DCM_GROUPOVERLAY                0x6000
411 #define DCM_GROUPPIXEL                  0x7fe0
412 #define DCM_GROUPPAD                    0xfffc
413 #define DCM_GROUPDELIMITER              0xfffe
414 
415 
416 #define DCM_CMDGROUPLENGTH              DCM_MAKETAG(DCM_GROUPCOMMAND,0x0000)
417 #define DCM_CMDAFFECTEDCLASSUID         DCM_MAKETAG(DCM_GROUPCOMMAND,0x0002)
418 #define DCM_CMDREQUESTEDCLASSUID        DCM_MAKETAG(DCM_GROUPCOMMAND,0x0003)
419 #define DCM_CMDCOMMANDFIELD             DCM_MAKETAG(DCM_GROUPCOMMAND,0x0100)
420 #define DCM_CMDMSGID                    DCM_MAKETAG(DCM_GROUPCOMMAND,0x0110)
421 #define DCM_CMDMSGIDRESPOND             DCM_MAKETAG(DCM_GROUPCOMMAND,0x0120)
422 #define DCM_CMDMOVEDESTINATION          DCM_MAKETAG(DCM_GROUPCOMMAND,0x0600)
423 #define DCM_CMDPRIORITY                 DCM_MAKETAG(DCM_GROUPCOMMAND,0x0700)
424 #define DCM_CMDDATASETTYPE              DCM_MAKETAG(DCM_GROUPCOMMAND,0x0800)
425 #define DCM_CMDSTATUS                   DCM_MAKETAG(DCM_GROUPCOMMAND,0x0900)
426 #define DCM_CMDOFFENDINGELEMENT         DCM_MAKETAG(DCM_GROUPCOMMAND,0x0901)
427 #define DCM_CMDERRORCOMMENT             DCM_MAKETAG(DCM_GROUPCOMMAND,0x0902)
428 #define DCM_CMDERRORID                  DCM_MAKETAG(DCM_GROUPCOMMAND,0x0903)
429 #define DCM_CMDAFFECTEDINSTANCEUID      DCM_MAKETAG(DCM_GROUPCOMMAND,0x1000)
430 #define DCM_CMDREQUESTEDINSTANCEUID     DCM_MAKETAG(DCM_GROUPCOMMAND,0x1001)
431 #define DCM_CMDEVENTTYPEID              DCM_MAKETAG(DCM_GROUPCOMMAND,0x1002)
432 #define DCM_CMDATTRIBUTEIDLIST          DCM_MAKETAG(DCM_GROUPCOMMAND,0x1005)
433 #define DCM_CMDACTIONTYPEID             DCM_MAKETAG(DCM_GROUPCOMMAND,0x1008)
434 #define DCM_CMDREMAININGSUBOPERATIONS   DCM_MAKETAG(DCM_GROUPCOMMAND,0x1020)
435 #define DCM_CMDCOMPLETEDSUBOPERATIONS   DCM_MAKETAG(DCM_GROUPCOMMAND,0x1021)
436 #define DCM_CMDFAILEDSUBOPERATIONS      DCM_MAKETAG(DCM_GROUPCOMMAND,0x1022)
437 #define DCM_CMDWARNINGSUBOPERATIONS     DCM_MAKETAG(DCM_GROUPCOMMAND,0x1023)
438 #define DCM_CMDMOVEAETITLE              DCM_MAKETAG(DCM_GROUPCOMMAND,0x1030)
439 #define DCM_CMDMOVEMESSAGEID            DCM_MAKETAG(DCM_GROUPCOMMAND,0x1031)
440 
441 /*  Define the legal values for the Command Field in the COMMAND group
442 */
443 
444 #define DCM_STORE_REQUEST               0x0001
445 #define DCM_STORE_RESPONSE              0x8001
446 #define DCM_GET_REQUEST                 0x0010
447 #define DCM_GET_RESPONSE                0x8010
448 #define DCM_FIND_REQUEST                0x0020
449 #define DCM_FIND_RESPONSE               0x8020
450 #define DCM_MOVE_REQUEST                0x0021
451 #define DCM_MOVE_RESPONSE               0x8021
452 #define DCM_ECHO_REQUEST                0x0030
453 #define DCM_ECHO_RESPONSE               0x8030
454 #define DCM_CANCEL_REQUEST              0x0fff
455 #define DCM_CANCEL_RESPONSE             0x8fff
456 #define DCM_DIALOG_REQUEST              0x0080
457 #define DCM_DIALOG_RESPONSE             0x8080
458 #define DCM_N_EVENT_REPORT_REQUEST      0x0100
459 #define DCM_N_EVENT_REPORT_RESPONSE     0x8100
460 #define DCM_N_GET_REQUEST               0x0110
461 #define DCM_N_GET_RESPONSE              0x8110
462 #define DCM_N_SET_REQUEST               0x0120
463 #define DCM_N_SET_RESPONSE              0x8120
464 #define DCM_N_ACTION_REQUEST            0x0130
465 #define DCM_N_ACTION_RESPONSE           0x8130
466 #define DCM_N_CREATE_REQUEST            0x0140
467 #define DCM_N_CREATE_RESPONSE           0x8140
468 #define DCM_N_DELETE_REQUEST            0x0150
469 #define DCM_N_DELETE_RESPONSE           0x8150
470 
471 /*  Define the elements in the COMMAND group
472 */
473 #define DCM_CMDLENGTHTOEND              DCM_MAKETAG(DCM_GROUPCOMMAND,0x0001)
474 #define DCM_CMDRECOGNITIONCODE          DCM_MAKETAG(DCM_GROUPCOMMAND,0x0010)
475 #define DCM_CMDINITIATOR                DCM_MAKETAG(DCM_GROUPCOMMAND,0x0200)
476 #define DCM_CMDRECEIVER                 DCM_MAKETAG(DCM_GROUPCOMMAND,0x0300)
477 #define DCM_CMDFINDLOCATION             DCM_MAKETAG(DCM_GROUPCOMMAND,0x0400)
478 #define DCM_CMDNUMBERMATCHES            DCM_MAKETAG(DCM_GROUPCOMMAND,0x0850)
479 #define DCM_CMDRESPSEQNUMBER            DCM_MAKETAG(DCM_GROUPCOMMAND,0x0860)
480 #define DCM_CMDDIALOGRECEIVOR           DCM_MAKETAG(DCM_GROUPCOMMAND,0x4000)
481 #define DCM_CMDTERMINALTYPE             DCM_MAKETAG(DCM_GROUPCOMMAND,0x4010)
482 #define DCM_CMDMSGSETID                 DCM_MAKETAG(DCM_GROUPCOMMAND,0x5010)
483 #define DCM_CMDENDMSGD                  DCM_MAKETAG(DCM_GROUPCOMMAND,0x5020)
484 #define DCM_CMDDISPLAYFORMAT            DCM_MAKETAG(DCM_GROUPCOMMAND,0x5110)
485 #define DCM_CMDPAGEPOSITIONID           DCM_MAKETAG(DCM_GROUPCOMMAND,0x5120)
486 #define DCM_CMDTEXTFORMATID             DCM_MAKETAG(DCM_GROUPCOMMAND,0x5130)
487 #define DCM_CMDNORREV                   DCM_MAKETAG(DCM_GROUPCOMMAND,0x5140)
488 #define DCM_CMDADDGRAYSCALE             DCM_MAKETAG(DCM_GROUPCOMMAND,0x5150)
489 #define DCM_CMDBORDERS                  DCM_MAKETAG(DCM_GROUPCOMMAND,0x5160)
490 #define DCM_CMDCOPIES                   DCM_MAKETAG(DCM_GROUPCOMMAND,0x5170)
491 #define DCM_CMDMAGNIFICATIONTYPE        DCM_MAKETAG(DCM_GROUPCOMMAND,0x5180)
492 #define DCM_CMDERASE                    DCM_MAKETAG(DCM_GROUPCOMMAND,0x5190)
493 #define DCM_CMDPRINT                    DCM_MAKETAG(DCM_GROUPCOMMAND,0x51a0)
494 #define DCM_CMDOVERLAYS                 DCM_MAKETAG(DCM_GROUPCOMMAND,0x51b0)
495 
496 /* Define the elements in the File Meta Header Group (0x0002) */
497 
498 #define DCM_METAGROUPLENGTH             DCM_MAKETAG(DCM_GROUPFILEMETA,0x0000)
499 #define DCM_METAINFORMATIONVERSION      DCM_MAKETAG(DCM_GROUPFILEMETA,0x0001)
500 #define DCM_METAMEDIASTORAGESOPCLASS    DCM_MAKETAG(DCM_GROUPFILEMETA,0x0002)
501 #define DCM_METAMEDIASTORAGESOPINSTANCE DCM_MAKETAG(DCM_GROUPFILEMETA,0x0003)
502 #define DCM_METATRANSFERSYNTAX          DCM_MAKETAG(DCM_GROUPFILEMETA,0x0010)
503 #define DCM_METAIMPLEMENTATIONCLASS     DCM_MAKETAG(DCM_GROUPFILEMETA,0x0012)
504 #define DCM_METAIMPLEMENTATIONVERSION   DCM_MAKETAG(DCM_GROUPFILEMETA,0x0013)
505 #define DCM_METASOURCEAETITLE           DCM_MAKETAG(DCM_GROUPFILEMETA,0x0016)
506 #define DCM_METAPRIVATEINFORMATIONCREATOR DCM_MAKETAG(DCM_GROUPFILEMETA,0x0100)
507 #define DCM_METAPRIVATEINFORMATION      DCM_MAKETAG(DCM_GROUPFILEMETA,0x0102)
508 
509 /* Define the elements in the Basic Directory information group, (0x0004) */
510 
511 #define DCM_DIRFILESETID          DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1130)
512 #define DCM_DIRFILESETDESCRFILEID DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1141)
513 #define DCM_DIRSPECIFICCHARACTER  DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1142)
514 #define DCM_DIRFIRSTOFFSET        DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1200)
515 #define DCM_DIRLASTOFFSET         DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1202)
516 #define DCM_DIRFILESETCONSISTENCY DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1212)
517 #define DCM_DIRRECORDSEQUENCE     DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1220)
518 #define DCM_DIRNEXTRECORDOFFSET   DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1400)
519 #define DCM_DIRRECORDINUSE        DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1410)
520 #define DCM_DIRLOWERLEVELOFFSET   DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1420)
521 #define DCM_DIRRECORDTYPE         DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1430)
522 #define DCM_DIRPRIVATERECORDUID   DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1432)
523 #define DCM_DIRREFERENCEDFILEID   DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1500)
524 #define DCM_DIRMRDRRECORDOFFSET   DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1504)
525 #define DCM_DIRREFSOPCLASSUID     DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1510)
526 #define DCM_DIRREFSOPINSTANCEUID  DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1511)
527 #define DCM_DIRREFTRANSFERSYNTAXUID DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1512)
528 #define DCM_DIRNUMREFERENCES      DCM_MAKETAG(DCM_GROUPBASICDIRINFO, 0x1600)
529 
530 /* Define the elements in the IDENTIFYING group, 0008
531 */
532 #define DCM_IDGROUPLENGTH               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0000)
533 #define DCM_IDLENGTHTOEND               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0001)
534 #define DCM_IDSPECIFICCHARACTER         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0005)
535 #define DCM_IDIMAGETYPE                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0008)
536 #define DCM_IDRECOGNITIONCODE           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0010)
537 #define DCM_IDINSTANCECREATEDATE        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0012)
538 #define DCM_IDINSTANCECREATETIME        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0013)
539 #define DCM_IDINSTANCECREATORUID        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0014)
540 #define DCM_IDSOPCLASSUID               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0016)
541 #define DCM_IDSOPINSTANCEUID            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0018)
542 #define DCM_IDSTUDYDATE                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0020)
543 #define DCM_IDSERIESDATE                DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0021)
544 #define DCM_IDACQUISITIONDATE           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0022)
545 #define DCM_IDIMAGEDATE                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0023)
546 #define DCM_IDOVERLAYDATE               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0024)
547 #define DCM_IDCURVEDATE                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0025)
548 #define DCM_IDSTUDYTIME                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0030)
549 #define DCM_IDSERIESTIME                DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0031)
550 #define DCM_IDACQUISITIONTIME           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0032)
551 #define DCM_IDIMAGETIME                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0033)
552 #define DCM_IDOVERLAYTIME               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0034)
553 #define DCM_IDCURVETIME                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0035)
554 /* Retired 0040, 0041, 0042 */
555 #define DCM_IDDATASETTYPE               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0040)
556 #define DCM_IDDATASETSUBTYPE            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0041)
557 #define DCM_IDNMSERIESTYPE              DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0042)
558 
559 #define DCM_IDACCESSIONNUMBER           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0050)
560 #define DCM_IDQUERYLEVEL                DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0052)
561 #define DCM_IDRETRIEVEAETITLE           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0054)
562 #define DCM_IDFAILEDINSTANCEUIDLIST     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0058)
563 #define DCM_IDMODALITY                  DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0060)
564 #define DCM_IDMODALITYSUBTYPE           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0062)
565 #define DCM_IDCONVERSIONTYPE            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0064)
566 #define DCM_IDMANUFACTURER              DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0070)
567 #define DCM_IDINSTITUTIONNAME           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0080)
568 #define DCM_IDINSTITUTIONADDR           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0081)
569 #define DCM_IDINSTITUTECODESEQUENCE     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0082)
570 #define DCM_IDREFERRINGPHYSICIAN        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0090)
571 #define DCM_IDREFERRINGPHYSADDR         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0092)
572 #define DCM_IDREFERRINGPHYSPHONE        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0094)
573 #define DCM_IDCODEVALUE                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0100)
574 #define DCM_IDCODINGSCHEMEDESIGNATOR    DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0102)
575 #define DCM_IDCODINGSCHEMEVERSION       DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0103)
576 #define DCM_IDCODEMEANING               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0104)
577 #define DCM_IDMAPPINGRESOURCE           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0105)
578 #define DCM_IDCONTEXTGROUPVERSION       DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x0106)
579 #define DCM_IDCODESETEXTENSIONFLAG      DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x010B)
580 #define DCM_IDPRIVATECODINGSCHEMECREATORUID DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x010C)
581 #define DCM_IDCODESETEXTENSIONCREATORUID DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x010D)
582 #define DCM_IDMAPPINGRESOURCESEQ        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x010E)
583 #define DCM_IDCONTEXTIDENTIFIER         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x010F)
584 #define DCM_IDNETWORKID                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1000)
585 #define DCM_IDSTATIONNAME               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1010)
586 #define DCM_IDSTUDYDESCRIPTION          DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1030)
587 #define DCM_IDPROCEDURECODESEQUENCE     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1032)
588 #define DCM_IDSERIESDESCR               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x103e)
589 #define DCM_IDINSTITUTIONALDEPT         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1040)
590 #define DCM_IDPHYSICIANOFRECORD         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1048)
591 #define DCM_IDPERFORMINGPHYSICIAN       DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1050)
592 #define DCM_IDPHYSREADINGSTUDY          DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1060)
593 #define DCM_IDOPERATORNAME              DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1070)
594 #define DCM_IDADMITTINGDIAGDESCR        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1080)
595 #define DCM_IDADMITDIAGCODESEQUENCE     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1084)
596 #define DCM_IDMANUFACTURERMODEL         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1090)
597 #define DCM_IDREFERENCEDRESULTSSEQ      DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1100)
598 #define DCM_IDREFERENCEDSTUDYSEQ        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1110)
599 #define DCM_IDREFERENCEDSTUDYCOMPONENTSEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1111)
600 #define DCM_IDREFERENCEDSERIESSEQ       DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1115)
601 #define DCM_IDREFERENCEDPATIENTSEQ      DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1120)
602 #define DCM_IDREFERENCEDVISITSEQ        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1125)
603 #define DCM_IDREFERENCEDOVERLAYSEQ      DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1130)
604 #define DCM_IDREFERENCEDIMAGESEQ        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1140)
605 #define DCM_IDREFERENCEDCURVESEQ        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1145)
606 #define DCM_IDREFERENCEDPREVIOUSWAVEFORM DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1148)
607 #define DCM_IDREFERENCEDSIMULTANEOUSWAVEFORMS DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x114A)
608 #define DCM_IDREFERENCEDSUBSEQUENTWAVEFORM DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x114C)
609 #define DCM_IDREFERENCEDSOPCLASSUID     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1150)
610 #define DCM_IDREFERENCEDSOPINSTUID      DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1155)
611 #define DCM_IDREFERENCEDFRAMENUMBER     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1160)
612 #define DCM_IDTRANSACTIONUID            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1195)
613 #define DCM_IDFAILUREREASON             DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1197)
614 #define DCM_IDFAILEDSOPSEQUENCE         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1198)
615 #define DCM_IDREFERENCEDSOPSEQUENCE     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x1199)
616 #define DCM_IDLOSSYIMAGECOMPRESSION     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2110)
617 #define DCM_IDDERIVATIONDESCR           DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2111)
618 #define DCM_IDSOURCEIMAGESEQ            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2112)
619 #define DCM_IDSTAGENAME                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2120)
620 #define DCM_IDSTAGENUMBER               DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2122)
621 #define DCM_IDNUMBEROFSTAGES            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2124)
622 #define DCM_IDVIEWNUMBER                DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2128)
623 #define DCM_IDNUMBEROFEVENTTIMERS       DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2129)
624 #define DCM_IDNUMBERVIEWSINSTAGE        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x212a)
625 #define DCM_IDEVENTELAPSEDTIME          DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2130)
626 #define DCM_IDEVENTTIMERNAME            DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2132)
627 #define DCM_IDSTARTTRIM                 DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2142)
628 #define DCM_IDSTOPTRIM                  DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2143)
629 #define DCM_IDDISPLAYFRAMERATE          DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2144)
630 #define DCM_IDTRANSDUCERPOSITION        DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2200)
631 #define DCM_IDTRANSDUCERORIENTATION     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2204)
632 #define DCM_IDANATOMICSTRUCTURE         DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2208)
633 #define DCM_IDANATOMICREGIONSEQUENCE    DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2218)
634 #define DCM_IDANATOMICREGIONMODIFIERSEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2220)
635 #define DCM_IDPRIMARYANATOMICSTRUCTURESEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2228)
636 #define DCM_IDPRIMARYANATOMICSTRUCTUREMODIFIERSEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2230)
637 #define DCM_IDTRANSDUCERPOSITIONSEQ     DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2240)
638 #define DCM_IDTRANSDUCERPOSITIONMODIFIERSEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2242)
639 #define DCM_IDTRANSDUCERORIENTATIONSEQ  DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2244)
640 #define DCM_IDTRANSDUCERORIENTATIONMODIFIERSEQ DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x2246)
641 #define DCM_IDCOMMENTS                  DCM_MAKETAG(DCM_GROUPIDENTIFYING,0x4000)
642 
643 /*  Define the elements in the PATIENT INFORMATION group (0x0010)
644 */
645 #define DCM_PATGROUPLENGTH              DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0000)
646 #define DCM_PATNAME                     DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0010)
647 #define DCM_PATID                       DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0020)
648 #define DCM_ISSUERPATIENTID             DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0021)
649 #define DCM_PATBIRTHDATE                DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0030)
650 #define DCM_PATBIRTHTIME                DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0032)
651 #define DCM_PATSEX                      DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0040)
652 #define DCM_PATSSN                      DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0042)
653 #define DCM_PATINSURANCEPLANCODESEQ     DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x0050)
654 #define DCM_PATOTHERIDS                 DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1000)
655 #define DCM_PATOTHERNAMES               DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1001)
656 #define DCM_PATBIRTHNAME                DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1005)
657 #define DCM_PATAGE                      DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1010)
658 #define DCM_PATSIZE                     DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1020)
659 #define DCM_PATWEIGHT                   DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1030)
660 #define DCM_PATADDRESS                  DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1040)
661 #define DCM_PATINSURANCEPLANID          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1050)
662 #define DCM_PATMOTHERBIRTHNAME          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1060)
663 #define DCM_PATMILITARYRANK             DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1080)
664 #define DCM_PATBRANCHOFSERVICE          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1081)
665 #define DCM_PATMEDICALRECORDLOCATOR     DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x1090)
666 #define DCM_PATMEDICALALERTS            DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2000)
667 #define DCM_PATCONTRASTALLERGIES        DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2110)
668 #define DCM_COUNTRYOFRESIDENCE          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2150)
669 #define DCM_REGIONOFRESIDENCE           DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2152)
670 #define DCM_PATTELEPHONENUMBER          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2154)
671 #define DCM_PATETHNICGROUP              DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2160)
672 #define DCM_PATOCCUPATION               DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x2180)
673 #define DCM_PATSMOKINGSTATUS            DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x21a0)
674 #define DCM_PATADDITIONALPATHISTORY     DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x21b0)
675 #define DCM_PATPREGNANCYSTATUS          DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x21c0)
676 #define DCM_PATLASTMENSTRUALDATE        DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x21d0)
677 #define DCM_PATRELIGIOUSPREFERENCE      DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x21f0)
678 #define DCM_PATCOMMENTS                 DCM_MAKETAG(DCM_GROUPPATIENTINFO,0x4000)
679 
680 /*  Define the elements in the ACQUISITION INFORMATION group (0018)
681 */
682 
683 #define DCM_ACQGROUPLENGTH              DCM_MAKETAG(DCM_GROUPACQUISITION,0x0000)
684 #define DCM_ACQCONTRASTBOLUSAGENT       DCM_MAKETAG(DCM_GROUPACQUISITION,0x0010)
685 #define DCM_ACQCONTRASTBOLUSAGENTSEQ    DCM_MAKETAG(DCM_GROUPACQUISITION,0x0012)
686 #define DCM_ACQCONTRASTBOLUSADMINROUTESEQ DCM_MAKETAG(DCM_GROUPACQUISITION,0x0014)
687 #define DCM_ACQBODYPARTEXAMINED         DCM_MAKETAG(DCM_GROUPACQUISITION,0x0015)
688 #define DCM_ACQSCANNINGSEQUENCE         DCM_MAKETAG(DCM_GROUPACQUISITION,0x0020)
689 #define DCM_ACQSEQUENCEVARIANT          DCM_MAKETAG(DCM_GROUPACQUISITION,0x0021)
690 #define DCM_ACQSCANOPTIONS              DCM_MAKETAG(DCM_GROUPACQUISITION,0x0022)
691 #define DCM_ACQMRACQUISITIONTYPE        DCM_MAKETAG(DCM_GROUPACQUISITION,0x0023)
692 #define DCM_ACQSEQUENCENAME             DCM_MAKETAG(DCM_GROUPACQUISITION,0x0024)
693 #define DCM_ACQANGIOFLAG                DCM_MAKETAG(DCM_GROUPACQUISITION,0x0025)
694 #define DCM_ACQINTERVENTIONDRUGINFOSEQ  DCM_MAKETAG(DCM_GROUPACQUISITION,0x0026)
695 #define DCM_ACQINTERVENTIONDRUGSTOPTIME DCM_MAKETAG(DCM_GROUPACQUISITION,0x0027)
696 #define DCM_ACQINTERVENTIONDRUGDOSE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x0028)
697 #define DCM_ACQINTERVENTIONDRUGCODESEQ  DCM_MAKETAG(DCM_GROUPACQUISITION,0x0029)
698 #define DCM_ACQADDITIONALDRUGSEQ        DCM_MAKETAG(DCM_GROUPACQUISITION,0x002a)
699 #define DCM_ACQRADIONUCLIDE             DCM_MAKETAG(DCM_GROUPACQUISITION,0x0030)
700 #define DCM_ACQRADIOPHARMACEUTICAL      DCM_MAKETAG(DCM_GROUPACQUISITION,0x0031)
701 #define DCM_ACQENERGYWCENTERLINE        DCM_MAKETAG(DCM_GROUPACQUISITION,0x0032)
702 #define DCM_ACQENERGYWTOTALWIDTH        DCM_MAKETAG(DCM_GROUPACQUISITION,0x0033)
703 #define DCM_ACQINTERVENTIONDRUGNAME     DCM_MAKETAG(DCM_GROUPACQUISITION,0x0034)
704 #define DCM_ACQINTERVENTIONDRUGSTART    DCM_MAKETAG(DCM_GROUPACQUISITION,0x0035)
705 #define DCM_ACQINTERVENTIONALTHERAPYSEQ DCM_MAKETAG(DCM_GROUPACQUISITION,0x0036)
706 #define DCM_ACQTHERAPYTYPE              DCM_MAKETAG(DCM_GROUPACQUISITION,0x0037)
707 #define DCM_ACQINTERVENTIONALSTATUS     DCM_MAKETAG(DCM_GROUPACQUISITION,0x0038)
708 #define DCM_ACQTHERAPYDESCRIPTION       DCM_MAKETAG(DCM_GROUPACQUISITION,0x0039)
709 #define DCM_ACQCINERATE                 DCM_MAKETAG(DCM_GROUPACQUISITION,0x0040)
710 #define DCM_ACQSLICETHICKNESS           DCM_MAKETAG(DCM_GROUPACQUISITION,0x0050)
711 #define DCM_ACQKVP                      DCM_MAKETAG(DCM_GROUPACQUISITION,0x0060)
712 #define DCM_ACQCOUNTSACCUMULATED        DCM_MAKETAG(DCM_GROUPACQUISITION,0x0070)
713 #define DCM_ACQTERMINATIONCONDITION     DCM_MAKETAG(DCM_GROUPACQUISITION,0x0071)
714 #define DCM_ACQEFFECTIVESERIESDURATION  DCM_MAKETAG(DCM_GROUPACQUISITION,0x0072)
715 #define DCM_ACQSTARTCONDITION           DCM_MAKETAG(DCM_GROUPACQUISITION,0x0073)
716 #define DCM_ACQSTARTCONDITIONDATA       DCM_MAKETAG(DCM_GROUPACQUISITION,0x0074)
717 #define DCM_ACQTERMINATIONCONDITIONDATA DCM_MAKETAG(DCM_GROUPACQUISITION,0x0075)
718 #define DCM_ACQREPETITIONTIME           DCM_MAKETAG(DCM_GROUPACQUISITION,0x0080)
719 #define DCM_ACQECHOTIME                 DCM_MAKETAG(DCM_GROUPACQUISITION,0x0081)
720 #define DCM_ACQINVERSIONTIME            DCM_MAKETAG(DCM_GROUPACQUISITION,0x0082)
721 #define DCM_ACQNUMBEROFAVERAGES         DCM_MAKETAG(DCM_GROUPACQUISITION,0x0083)
722 #define DCM_ACQIMAGINGFREQUENCY         DCM_MAKETAG(DCM_GROUPACQUISITION,0x0084)
723 #define DCM_ACQIMAGEDNUCLEUS            DCM_MAKETAG(DCM_GROUPACQUISITION,0x0085)
724 #define DCM_ACQECHONUMBER               DCM_MAKETAG(DCM_GROUPACQUISITION,0x0086)
725 #define DCM_ACQMAGNETICFIELDSTRENGTH    DCM_MAKETAG(DCM_GROUPACQUISITION,0x0087)
726 #define DCM_ACQSLICESPACING             DCM_MAKETAG(DCM_GROUPACQUISITION,0x0088)
727 #define DCM_ACQPHASEENCODINGSTEPS       DCM_MAKETAG(DCM_GROUPACQUISITION,0x0089)
728 #define DCM_ACQDATACOLLECTIONDIAMETER   DCM_MAKETAG(DCM_GROUPACQUISITION,0x0090)
729 #define DCM_ACQECHOTRAINLENGTH          DCM_MAKETAG(DCM_GROUPACQUISITION,0x0091)
730 #define DCM_ACQPERCENTSAMPLING          DCM_MAKETAG(DCM_GROUPACQUISITION,0x0093)
731 #define DCM_ACQPERCENTPHASEFIELDVIEW    DCM_MAKETAG(DCM_GROUPACQUISITION,0x0094)
732 #define DCM_ACQPIXELBANDWIDTH           DCM_MAKETAG(DCM_GROUPACQUISITION,0x0095)
733 #define DCM_ACQDEVICESERIALNUM          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1000)
734 #define DCM_ACQPLATEID                  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1004)
735 #define DCM_ACQSECONDARYCAPTUREDEVID    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1010)
736 #define DCM_ACQDATESECONDARYCAPTURE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1012)
737 #define DCM_ACQTIMESECONDARYCAPTURE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1014)
738 #define DCM_ACQSECONDARYCAPTMANUFACTURER DCM_MAKETAG(DCM_GROUPACQUISITION,0x1016)
739 #define DCM_ACQSECONDARYCAPTMODEL       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1018)
740 #define DCM_ACQSECONDARYCAPTSOFTWAREVERSION DCM_MAKETAG(DCM_GROUPACQUISITION,0x1019)
741 #define DCM_ACQSOFTWAREVERSION          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1020)
742 #define DCM_ACQVIDEOIMAGEFORMATACQ      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1022)
743 #define DCM_ACQDIGITALIMAGEFORMATACQ    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1023)
744 #define DCM_ACQPROTOCOLNAME             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1030)
745 #define DCM_ACQCONTRASTBOLUSROUTE       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1040)
746 #define DCM_ACQCONTRASTBOLUSVOL         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1041)
747 #define DCM_ACQCONTRASTBOLUSSTARTTIME   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1042)
748 #define DCM_ACQCONTRASTBOLUSSTOPTIME    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1043)
749 #define DCM_ACQCONTRASTBOLUSTOTALDOSE   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1044)
750 #define DCM_ACQSYRINGECOUNTS            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1045)
751 #define DCM_ACQCONTRASTFLOWRATE         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1046)
752 #define DCM_ACQCONTRASTFLOWDURATION     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1047)
753 #define DCM_ACQCONTRASTBOLUSINGREDIENT  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1048)
754 #define DCM_ACQCONTRASTBOLUSINGREDIENTCONCENTRATION DCM_MAKETAG(DCM_GROUPACQUISITION,0x1049)
755 #define DCM_ACQSPATIALRESOLUTION        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1050)
756 #define DCM_ACQTRIGGERTIME              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1060)
757 #define DCM_ACQTRIGGERSRCTYPE           DCM_MAKETAG(DCM_GROUPACQUISITION,0x1061)
758 #define DCM_ACQNOMINALINTERVAL          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1062)
759 #define DCM_ACQFRAMETIME                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1063)
760 #define DCM_ACQFRAMINGTYPE              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1064)
761 #define DCM_ACQFRAMETIMEVECTOR          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1065)
762 #define DCM_ACQFRAMEDELAY               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1066)
763 #define DCM_ACQIMAGETRIGGERDELAY        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1067)
764 #define DCM_ACQGROUPTIMEOFFSET          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1068)
765 #define DCM_ACQTRIGGERTIMEOFFSET        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1069)
766 #define DCM_ACQSYNCTRIGGER              DCM_MAKETAG(DCM_GROUPACQUISITION,0x106A)
767 #define DCM_ACQSYNCFRAMEOFREFERENCE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x106B)
768 #define DCM_ACQTRIGGERSAMPLEPOSITION    DCM_MAKETAG(DCM_GROUPACQUISITION,0x106E)
769 #define DCM_ACQRADIOPHARMROUTE          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1070)
770 #define DCM_ACQRADIOPHARMVOLUME         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1071)
771 #define DCM_ACQRADIOPHARMSTARTTIME      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1072)
772 #define DCM_ACQRADIOPHARMSTOPTIME       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1073)
773 #define DCM_ACQRADIONUCLIDETOTALDOSE    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1074)
774 #define DCM_ACQRADIONUCLIDEHALFLIFE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1075)
775 #define DCM_ACQRADIONUCLIDEPOSITRONFRACTION DCM_MAKETAG(DCM_GROUPACQUISITION,0x1076)
776 #define DCM_ACQRADIOPHARMACEUTICALSPECIFICACTIVITY DCM_MAKETAG(DCM_GROUPACQUISITION,0x1077)
777 #define DCM_ACQBEATREJECTIONFLAG        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1080)
778 #define DCM_ACQLOWRRVALUE               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1081)
779 #define DCM_ACQHIGHRRVALUE              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1082)
780 #define DCM_ACQINTERVALSACQUIRED        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1083)
781 #define DCM_ACQINTERVALSREJECTED        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1084)
782 #define DCM_ACQPVCREJECTION             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1085)
783 #define DCM_ACQSKIPBEATS                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1086)
784 #define DCM_ACQHEARTRATE                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1088)
785 #define DCM_ACQCARDIACNUMBEROFIMAGES    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1090)
786 #define DCM_ACQTRIGGERWINDOW            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1094)
787 #define DCM_ACQRECONSTRUCTIONDIAMETER   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1100)
788 #define DCM_ACQDISTANCESRCTODETECTOR    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1110)
789 #define DCM_ACQDISTANCESRCTOPATIENT     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1111)
790 #define DCM_ACQESTIMATEDRADIOGRAPHICMAGFACTOR   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1114)
791 #define DCM_ACQGANTRYTILT               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1120)
792 #define DCM_ACQGANTRYSLEW               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1121)
793 #define DCM_ACQTABLEHEIGHT              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1130)
794 #define DCM_ACQTABLETRAVERSE            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1131)
795 #define DCM_ACQTABLEMOTION              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1134)
796 #define DCM_ACQTABLEVERTICALINCREMENT   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1135)
797 #define DCM_ACQTABLELATERALINCREMENT    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1136)
798 #define DCM_ACQTABLELONGITUDINALINCREMENT       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1137)
799 #define DCM_ACQTABLEANGLE               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1138)
800 #define DCM_ACQROTATIONDIRECTION        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1140)
801 #define DCM_ACQANGULARPOSITION          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1141)
802 #define DCM_ACQRADIALPOSITION           DCM_MAKETAG(DCM_GROUPACQUISITION,0x1142)
803 #define DCM_ACQSCANARC                  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1143)
804 #define DCM_ACQANGULARSTEP              DCM_MAKETAG(DCM_GROUPACQUISITION,0x1144)
805 #define DCM_ACQCENTERROTATIONOFFSET     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1145)
806 #define DCM_ACQROTATIONOFFSET           DCM_MAKETAG(DCM_GROUPACQUISITION,0x1146)
807 #define DCM_ACQFIELDOFVIEWSHAPE         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1147)
808 #define DCM_ACQFIELDOFVIEWDIMENSION     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1149)
809 #define DCM_ACQEXPOSURETIME             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1150)
810 #define DCM_ACQXRAYTUBECURRENT          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1151)
811 #define DCM_ACQEXPOSURE                 DCM_MAKETAG(DCM_GROUPACQUISITION,0x1152)
812 #define DCM_ACQAVERAGEPULSEWIDTH        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1154)
813 #define DCM_ACQRADIATIONSETTING         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1155)
814 #define DCM_ACQRADIATIONMODE            DCM_MAKETAG(DCM_GROUPACQUISITION,0x115a)
815 #define DCM_ACQIMAGEAREADOSEPRODUCT     DCM_MAKETAG(DCM_GROUPACQUISITION,0x115e)
816 #define DCM_ACQFILTERTYPE               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1160)
817 #define DCM_ACQTYPEOFFILTERS            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1161)
818 #define DCM_ACQINTENSIFIERSIZE          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1162)
819 #define DCM_ACQIMAGERPIXELSPACING       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1164)
820 #define DCM_ACQGRID                     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1166)
821 #define DCM_ACQGENERATORPOWER           DCM_MAKETAG(DCM_GROUPACQUISITION,0x1170)
822 #define DCM_ACQCOLLIMATORGRIDNAME       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1180)
823 #define DCM_ACQCOLLIMATORTYPE           DCM_MAKETAG(DCM_GROUPACQUISITION,0x1181)
824 #define DCM_ACQFOCALDISTANCE            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1182)
825 #define DCM_ACQXFOCUSCENTER             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1183)
826 #define DCM_ACQYFOCUSCENTER             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1184)
827 #define DCM_ACQFOCALSPOT                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1190)
828 #define DCM_ACQDATELASTCALIBRATION      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1200)
829 #define DCM_ACQTIMELASTCALIBRATION      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1201)
830 #define DCM_ACQCONVOLUTIONKERNEL        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1210)
831 #define DCM_ACQUPPERLOWERPIXELVALUES    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1240)
832 #define DCM_ACQACTUALFRAMEDURATION      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1242)
833 #define DCM_ACQCOUNTRATE                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1243)
834 #define DCM_ACQPREFPLAYBACKSEQUENCING   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1244)
835 #define DCM_ACQRECEIVINGCOIL            DCM_MAKETAG(DCM_GROUPACQUISITION,0x1250)
836 #define DCM_ACQTRANSMITTINGCOIL         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1251)
837 #define DCM_ACQPLATETYPE                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1260)
838 #define DCM_ACQPHOSPHORTYPE             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1261)
839 #define DCM_ACQSCANVELOCITY             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1300)
840 #define DCM_ACQWHOLEBODYTECHNIQUE       DCM_MAKETAG(DCM_GROUPACQUISITION,0x1301)
841 #define DCM_ACQSCANLENGTH               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1302)
842 #define DCM_ACQACQUISITIONMATRIX        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1310)
843 #define DCM_ACQPHASEENCODINGDIRECTION   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1312)
844 #define DCM_ACQFLIPANGLE                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1314)
845 #define DCM_ACQVARIABLEFLIPANGLE        DCM_MAKETAG(DCM_GROUPACQUISITION,0x1315)
846 #define DCM_ACQSAR                      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1316)
847 #define DCM_ACQDBDT                     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1318)
848 #define DCM_ACQDEVICEPROCESSINGDESCR    DCM_MAKETAG(DCM_GROUPACQUISITION,0x1400)
849 #define DCM_ACQDEVICEPROCESSINGCODE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1401)
850 #define DCM_ACQCASSETTEORIENTATION      DCM_MAKETAG(DCM_GROUPACQUISITION,0x1402)
851 #define DCM_ACQCASSETTESIZE             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1403)
852 #define DCM_ACQEXPOSURESONPLATE         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1404)
853 #define DCM_ACQRELATIVEXRAYEXPOSURE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1405)
854 #define DCM_ACQCOLUMNANGULATION         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1450)
855 #define DCM_ACQTOMOLAYERHEIGHT          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1460)
856 #define DCM_ACQTOMOANGLE                DCM_MAKETAG(DCM_GROUPACQUISITION,0x1470)
857 #define DCM_ACQTOMOTIME                 DCM_MAKETAG(DCM_GROUPACQUISITION,0x1480)
858 #define DCM_ACQPOSITIONERMOTION         DCM_MAKETAG(DCM_GROUPACQUISITION,0x1500)
859 #define DCM_ACQPOSITIONERPRIMARYANGLE   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1510)
860 #define DCM_ACQPOSITIONERSECONDARYANGLE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1511)
861 #define DCM_ACQPOSITIONERPRIMARYANGLEINCR DCM_MAKETAG(DCM_GROUPACQUISITION,0x1520)
862 #define DCM_ACQPOSITIONERSECONDARYANGLEINCR DCM_MAKETAG(DCM_GROUPACQUISITION,0x1521)
863 #define DCM_ACQDETECTORPRIMARYANGLE     DCM_MAKETAG(DCM_GROUPACQUISITION,0x1530)
864 #define DCM_ACQDETECTORSECONDARYANGLE   DCM_MAKETAG(DCM_GROUPACQUISITION,0x1531)
865 #define DCM_ACQSHUTTERSHAPE             DCM_MAKETAG(DCM_GROUPACQUISITION,0x1600)
866 #define DCM_ACQSHUTTERLEFTVERTICALEDGE  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1602)
867 #define DCM_ACQSHUTTERRIGHTVERTICALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1604)
868 #define DCM_ACQSHUTTERUPPERHORIZONTALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1606)
869 #define DCM_ACQSHUTTERLOWERHORIZONTALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1608)
870 #define DCM_ACQCENTEROFCIRCULARSHUTTER  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1610)
871 #define DCM_ACQRADIUSOFCIRCULARSHUTTER  DCM_MAKETAG(DCM_GROUPACQUISITION,0x1612)
872 #define DCM_ACQVERTICESOFPOLYGONALSHUTTER DCM_MAKETAG(DCM_GROUPACQUISITION,0x1620)
873 #define DCM_ACQCOLLIMATORSHAPE          DCM_MAKETAG(DCM_GROUPACQUISITION,0x1700)
874 #define DCM_ACQCOLLIMATORLEFTVERTICALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1702)
875 #define DCM_ACQCOLLIMATORRIGHTVERTICALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1704)
876 #define DCM_ACQCOLLIMATORUPPERHORIZONTALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1706)
877 #define DCM_ACQCOLLIMATORLOWERHORIZONTALEDGE DCM_MAKETAG(DCM_GROUPACQUISITION,0x1708)
878 #define DCM_ACQCENTEROFCIRCULARCOLLIMATOR DCM_MAKETAG(DCM_GROUPACQUISITION,0x1710)
879 #define DCM_ACQRADIUSOFCIRCULARCOLLIMATOR DCM_MAKETAG(DCM_GROUPACQUISITION,0x1712)
880 #define DCM_ACQVERTICESOFPOLYGONALCOLLIMATOR DCM_MAKETAG(DCM_GROUPACQUISITION,0x1720)
881 #define DCM_ACQACQUISITIONTIMESYNCHRONIZED DCM_MAKETAG(DCM_GROUPACQUISITION,0x1800)
882 #define DCM_ACQTIMESOURCE               DCM_MAKETAG(DCM_GROUPACQUISITION,0x1801)
883 #define DCM_ACQTIMEDISTRIBUTIONPROTOCOL DCM_MAKETAG(DCM_GROUPACQUISITION,0x1802)
884 #define DCM_ACQCOMMENTS                 DCM_MAKETAG(DCM_GROUPACQUISITION,0x4000)
885 #define DCM_ACQOUTPUTPOWER              DCM_MAKETAG(DCM_GROUPACQUISITION,0x5000)
886 #define DCM_ACQTRANSDUCERDATA           DCM_MAKETAG(DCM_GROUPACQUISITION,0x5010)
887 #define DCM_ACQFOCUSDEPTH               DCM_MAKETAG(DCM_GROUPACQUISITION,0x5012)
888 #define DCM_ACQPROCESSINGFUNCTION       DCM_MAKETAG(DCM_GROUPACQUISITION,0x5020)
889 #define DCM_ACQPOSTPROCESSINGFUNCTION   DCM_MAKETAG(DCM_GROUPACQUISITION,0x5021)
890 #define DCM_ACQMECHANICALINDEX          DCM_MAKETAG(DCM_GROUPACQUISITION,0x5022)
891 #define DCM_ACQTHERMALINDEX             DCM_MAKETAG(DCM_GROUPACQUISITION,0x5024)
892 #define DCM_ACQCRANIALTHERMALINDEX      DCM_MAKETAG(DCM_GROUPACQUISITION,0x5026)
893 #define DCM_ACQSOFTTISSUETHERMALINDEX   DCM_MAKETAG(DCM_GROUPACQUISITION,0x5027)
894 #define DCM_ACQSOFTTISSUEFOCUSTHERMALINDEX DCM_MAKETAG(DCM_GROUPACQUISITION,0x5028)
895 #define DCM_ACQSOFTTISSUESURFACETHERMALINDEX DCM_MAKETAG(DCM_GROUPACQUISITION,0x5029)
896 #define DCM_ACQDEPTHOFSCANFIELD         DCM_MAKETAG(DCM_GROUPACQUISITION,0x5050)
897 #define DCM_ACQPATIENTPOSITION          DCM_MAKETAG(DCM_GROUPACQUISITION,0x5100)
898 #define DCM_ACQVIEWPOSITION             DCM_MAKETAG(DCM_GROUPACQUISITION,0x5101)
899 #define DCM_ACQIMAGETRANSFORMATIONMATRIX DCM_MAKETAG(DCM_GROUPACQUISITION,0x5210)
900 #define DCM_ACQIMAGETRANSLATIONVECTOR   DCM_MAKETAG(DCM_GROUPACQUISITION,0x5212)
901 #define DCM_ACQSENSITIVITY              DCM_MAKETAG(DCM_GROUPACQUISITION,0x6000)
902 #define DCM_ACQUSREGIONSEQUENCE         DCM_MAKETAG(DCM_GROUPACQUISITION,0x6011)
903 #define DCM_ACQREGIONSPATIALFORMAT      DCM_MAKETAG(DCM_GROUPACQUISITION,0x6012)
904 #define DCM_ACQREGIONDATATYPE           DCM_MAKETAG(DCM_GROUPACQUISITION,0x6014)
905 #define DCM_ACQREGIONFLAGS              DCM_MAKETAG(DCM_GROUPACQUISITION,0x6016)
906 #define DCM_ACQREGIONLOCATIONMINX0      DCM_MAKETAG(DCM_GROUPACQUISITION,0x6018)
907 #define DCM_ACQREGIONLOCATIONMINY0      DCM_MAKETAG(DCM_GROUPACQUISITION,0x601a)
908 #define DCM_ACQREGIONLOCATIONMAXX1      DCM_MAKETAG(DCM_GROUPACQUISITION,0x601c)
909 #define DCM_ACQREGIONLOCATIONMAXY1      DCM_MAKETAG(DCM_GROUPACQUISITION,0x601e)
910 #define DCM_ACQREFERENCEPIXELX          DCM_MAKETAG(DCM_GROUPACQUISITION,0x6020)
911 #define DCM_ACQREFERENCEPIXELY          DCM_MAKETAG(DCM_GROUPACQUISITION,0x6022)
912 #define DCM_ACQPHYSICALUNITSXDIRECTION  DCM_MAKETAG(DCM_GROUPACQUISITION,0x6024)
913 #define DCM_ACQPHYSICALUNITSYDIRECTION  DCM_MAKETAG(DCM_GROUPACQUISITION,0x6026)
914 #define DCM_ACQREFPIXELPHYSICALVALUEX   DCM_MAKETAG(DCM_GROUPACQUISITION,0x6028)
915 #define DCM_ACQREFPIXELPHYSICALVALUEY   DCM_MAKETAG(DCM_GROUPACQUISITION,0x602a)
916 #define DCM_ACQPHYSICALDELTAX           DCM_MAKETAG(DCM_GROUPACQUISITION,0x602c)
917 #define DCM_ACQPHYSICALDELTAY           DCM_MAKETAG(DCM_GROUPACQUISITION,0x602e)
918 #define DCM_ACQTRANSDUCERFREQUENCY      DCM_MAKETAG(DCM_GROUPACQUISITION,0x6030)
919 #define DCM_ACQTRANSDUCERTYPE           DCM_MAKETAG(DCM_GROUPACQUISITION,0x6031)
920 #define DCM_ACQPULSEREPETITIONFREQ      DCM_MAKETAG(DCM_GROUPACQUISITION,0x6032)
921 #define DCM_ACQDOPPLERCORRECTIONANGLE   DCM_MAKETAG(DCM_GROUPACQUISITION,0x6034)
922 #define DCM_ACQSTERRINGANGLE            DCM_MAKETAG(DCM_GROUPACQUISITION,0x6036)
923 #define DCM_ACQDOPPLERSAMPLEVOLXPOS     DCM_MAKETAG(DCM_GROUPACQUISITION,0x6038)
924 #define DCM_ACQDOPPLERSAMPLEVOLYPOS     DCM_MAKETAG(DCM_GROUPACQUISITION,0x603a)
925 #define DCM_ACQTMLINEPOSITIONX0         DCM_MAKETAG(DCM_GROUPACQUISITION,0x603c)
926 #define DCM_ACQTMLINEPOSITIONY0         DCM_MAKETAG(DCM_GROUPACQUISITION,0x603e)
927 #define DCM_ACQTMLINEPOSITIONX1         DCM_MAKETAG(DCM_GROUPACQUISITION,0x6040)
928 #define DCM_ACQTMLINEPOSITIONY1         DCM_MAKETAG(DCM_GROUPACQUISITION,0x6042)
929 #define DCM_ACQPIXELCOMPORGANIZATION    DCM_MAKETAG(DCM_GROUPACQUISITION,0x6044)
930 #define DCM_ACQPIXELCOMPMASK            DCM_MAKETAG(DCM_GROUPACQUISITION,0x6046)
931 #define DCM_ACQPIXELCOMPRANGESTART      DCM_MAKETAG(DCM_GROUPACQUISITION,0x6048)
932 #define DCM_ACQPIXELCOMPRANGESTOP       DCM_MAKETAG(DCM_GROUPACQUISITION,0x604a)
933 #define DCM_ACQPIXELCOMPPHYSUNITS       DCM_MAKETAG(DCM_GROUPACQUISITION,0x604c)
934 #define DCM_ACQPIXELCOMPDATATYPE        DCM_MAKETAG(DCM_GROUPACQUISITION,0x604e)
935 #define DCM_ACQNUMBERTABLEBREAKPOINTS   DCM_MAKETAG(DCM_GROUPACQUISITION,0x6050)
936 #define DCM_ACQTABLEXBREAKPOINTS        DCM_MAKETAG(DCM_GROUPACQUISITION,0x6052)
937 #define DCM_ACQTABLEYBREAKPOINTS        DCM_MAKETAG(DCM_GROUPACQUISITION,0x6054)
938 #define DCM_ACQNUMBEROFTABLEENTRIES     DCM_MAKETAG(DCM_GROUPACQUISITION,0x6056)
939 #define DCM_ACQTABLEOFPIXELVALUES       DCM_MAKETAG(DCM_GROUPACQUISITION,0x6058)
940 #define DCM_ACQTABLEOFPARAMETERVALUES   DCM_MAKETAG(DCM_GROUPACQUISITION,0x605a)
941 
942 
943 /*  Define the elements for the RELATIONSHIP group (0x0020)
944 */
945 
946 #define DCM_RELGROUPLENGTH              DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0000)
947 #define DCM_RELSTUDYINSTANCEUID         DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x000d)
948 #define DCM_RELSERIESINSTANCEUID        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x000e)
949 #define DCM_RELSTUDYID                  DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0010)
950 #define DCM_RELSERIESNUMBER             DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0011)
951 #define DCM_RELACQUISITIONNUMBER        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0012)
952 #define DCM_RELIMAGENUMBER              DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0013)
953 
954 /* The following attributes are retired (0014 - 0018) */
955 #define DCM_RELISOTOPENUMBER            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0014)
956 #define DCM_RELPHASENUMBER              DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0015)
957 #define DCM_RELINTERVALNUMBER           DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0016)
958 #define DCM_RELTIMESLOTNUMBER           DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0017)
959 #define DCM_RELANGLENUMBER              DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0018)
960 
961 #define DCM_RELPATIENTORIENTATION       DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0020)
962 #define DCM_RELOVERLAYNUMBER            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0022)
963 #define DCM_RELCURVENUMBER              DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0024)
964 #define DCM_RELLOOKUPTABLENUMBER        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0026)
965 /* Retired 0030 */
966 #define DCM_RELIMAGEPOSITION            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0030)
967 #define DCM_RELIMAGEPOSITIONPATIENT     DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0032)
968 /* Retired 0035 */
969 #define DCM_RELIMAGEORIENTATION         DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0035)
970 #define DCM_RELIMAGEORIENTATIONPATIENT  DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0037)
971 /* Retired 0050 */
972 #define DCM_RELLOCATION                 DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0050)
973 #define DCM_RELFRAMEOFREFERENCEUID      DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0052)
974 #define DCM_RELLATERALITY               DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0060)
975 
976 /* Retired 0070, 0080 */
977 #define DCM_RELIMAGEGEOMETRYTYPE        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0070)
978 #define DCM_RELMASKINGIMAGE             DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0080)
979 
980 #define DCM_RELTEMPORALPOSITIONID       DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0100)
981 #define DCM_RELNUMBERTEMPORALPOSITIONS  DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0105)
982 #define DCM_RELTEMPORALRESOLUTION       DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x0110)
983 #define DCM_RELSERIESINSTUDY            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1000)
984 #define DCM_RELACQUISITIONSINSERIES     DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1001)
985 #define DCM_RELIMAGESINACQUISITION      DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1002)
986 #define DCM_RELACQUISITIONSINSTUDY      DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1004)
987 
988 /* Retired, 1020 */
989 #define DCM_RELREFERENCE                DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1020)
990 #define DCM_RELPOSITIONREFINDICATOR     DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1040)
991 #define DCM_RELSLICELOCATION            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1041)
992 #define DCM_RELOTHERSTUDYNUMBERS        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1070)
993 #define DCM_RELNUMBERPATRELATEDSTUDIES  DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1200)
994 #define DCM_RELNUMBERPATRELATEDSERIES   DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1202)
995 #define DCM_RELNUMBERPATRELATEDIMAGES   DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1204)
996 #define DCM_RELNUMBERSTUDYRELATEDSERIES DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1206)
997 #define DCM_RELNUMBERSTUDYRELATEDIMAGES DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x1208)
998 
999 #define DCM_RELSOURCEIMAGEID            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3100)
1000 #define DCM_RELMODIFYINGDEVICEID        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3401)
1001 #define DCM_RELMODIFIEDIMAGEID          DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3402)
1002 #define DCM_RELMODIFIEDIMAGEDATE        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3403)
1003 #define DCM_RELMODIFYINGDEVICEMFR       DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3404)
1004 #define DCM_RELMODIFIEDIMAGETIME        DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3405)
1005 #define DCM_RELMODIFIEDIMAGEDESCRIPTION DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x3406)
1006 #define DCM_RELIMAGECOMMENTS            DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x4000)
1007 #define DCM_RELORIGINALIMAGEID          DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x5000)
1008 #define DCM_RELORIGINALIMAGEIDNOMENCLATURE DCM_MAKETAG(DCM_GROUPRELATIONSHIP,0x5002)
1009 
1010 /*  Define the elements for the IMAGE PRESENTATION group (0028)
1011 */
1012 #define DCM_IMGGROUPLENGTH              DCM_MAKETAG(DCM_GROUPIMAGE,0x0000)
1013 #define DCM_IMGSAMPLESPERPIXEL          DCM_MAKETAG(DCM_GROUPIMAGE,0x0002)
1014 #define DCM_IMGPHOTOMETRICINTERP        DCM_MAKETAG(DCM_GROUPIMAGE,0x0004)
1015 #define DCM_IMGIMAGEDIMENSIONS          DCM_MAKETAG(DCM_GROUPIMAGE,0x0005)
1016 #define DCM_IMGPLANARCONFIGURATION      DCM_MAKETAG(DCM_GROUPIMAGE,0x0006)
1017 #define DCM_IMGNUMBEROFFRAMES           DCM_MAKETAG(DCM_GROUPIMAGE,0x0008)
1018 #define DCM_IMGFRAMEINCREMENTPOINTER    DCM_MAKETAG(DCM_GROUPIMAGE,0x0009)
1019 #define DCM_IMGROWS                     DCM_MAKETAG(DCM_GROUPIMAGE,0x0010)
1020 #define DCM_IMGCOLUMNS                  DCM_MAKETAG(DCM_GROUPIMAGE,0x0011)
1021 #define DCM_IMGPLANES                   DCM_MAKETAG(DCM_GROUPIMAGE,0x0012)
1022 #define DCM_IMGUSOUNDCOLORDATAPRESENT   DCM_MAKETAG(DCM_GROUPIMAGE,0x0014)
1023 #define DCM_IMGPIXELSPACING             DCM_MAKETAG(DCM_GROUPIMAGE,0x0030)
1024 #define DCM_IMGZOOMFACTOR               DCM_MAKETAG(DCM_GROUPIMAGE,0x0031)
1025 #define DCM_IMGZOOMCENTER               DCM_MAKETAG(DCM_GROUPIMAGE,0x0032)
1026 #define DCM_IMGPIXELASPECTRATIO         DCM_MAKETAG(DCM_GROUPIMAGE,0x0034)
1027 
1028 /* Retired 0040, 0050 */
1029 #define DCM_IMGIMAGEFORMAT              DCM_MAKETAG(DCM_GROUPIMAGE,0x0040)
1030 #define DCM_IMGMANIPULATEDIMAGE         DCM_MAKETAG(DCM_GROUPIMAGE,0x0050)
1031 #define DCM_IMGCORRECTEDIMAGE           DCM_MAKETAG(DCM_GROUPIMAGE,0x0051)
1032 
1033 /* Retired 0060 */
1034 #define DCM_IMGCOMPRESSIONCODE          DCM_MAKETAG(DCM_GROUPIMAGE,0x0060)
1035 #define DCM_IMGBITSALLOCATED            DCM_MAKETAG(DCM_GROUPIMAGE,0x0100)
1036 #define DCM_IMGBITSSTORED               DCM_MAKETAG(DCM_GROUPIMAGE,0x0101)
1037 #define DCM_IMGHIGHBIT                  DCM_MAKETAG(DCM_GROUPIMAGE,0x0102)
1038 #define DCM_IMGPIXELREPRESENTATION      DCM_MAKETAG(DCM_GROUPIMAGE,0x0103)
1039 #define DCM_IMGSMALLESTPIXELVALUE       DCM_MAKETAG(DCM_GROUPIMAGE,0x0104)
1040 #define DCM_IMGLARGESTPIXELVALUE        DCM_MAKETAG(DCM_GROUPIMAGE,0x0105)
1041 #define DCM_IMGSMALLESTIMAGEPIXELVALUE  DCM_MAKETAG(DCM_GROUPIMAGE,0x0106)
1042 #define DCM_IMGLARGESTIMAGEPIXELVALUE   DCM_MAKETAG(DCM_GROUPIMAGE,0x0107)
1043 #define DCM_IMGSMALLESTPIXELVALUESERIES DCM_MAKETAG(DCM_GROUPIMAGE,0x0108)
1044 #define DCM_IMGLARGESTPIXELVALUESERIES  DCM_MAKETAG(DCM_GROUPIMAGE,0x0109)
1045 #define DCM_IMGSMALLESTIMAGEPIXELVALUEPLANE DCM_MAKETAG(DCM_GROUPIMAGE, 0x0110)
1046 #define DCM_IMGLARGESTIMAGEPIXELVALUEPLANE DCM_MAKETAG(DCM_GROUPIMAGE, 0x0111)
1047 #define DCM_IMGPIXELPADDINGVALUE        DCM_MAKETAG(DCM_GROUPIMAGE,0x0120)
1048 #define DCM_IMGWAVEFORMPADDINGVALUE     DCM_MAKETAG(DCM_GROUPIMAGE,0x0122)
1049 
1050 /* Retired 0200 */
1051 #define DCM_IMGIMAGELOCATION            DCM_MAKETAG(DCM_GROUPIMAGE,0x0200)
1052 #define DCM_IMGPIXELINTENSITYRELATIONSHIP DCM_MAKETAG(DCM_GROUPIMAGE,0x1040)
1053 #define DCM_IMGWINDOWCENTER             DCM_MAKETAG(DCM_GROUPIMAGE,0x1050)
1054 #define DCM_IMGWINDOWWIDTH              DCM_MAKETAG(DCM_GROUPIMAGE,0x1051)
1055 #define DCM_IMGRESCALEINTERCEPT         DCM_MAKETAG(DCM_GROUPIMAGE,0x1052)
1056 #define DCM_IMGRESCALESLOPE             DCM_MAKETAG(DCM_GROUPIMAGE,0x1053)
1057 #define DCM_IMGRESCALETYPE              DCM_MAKETAG(DCM_GROUPIMAGE,0x1054)
1058 #define DCM_IMGWINDOWCWEXPLANATION      DCM_MAKETAG(DCM_GROUPIMAGE,0x1055)
1059 
1060 /* Retired 1080 */
1061 #define DCM_IMGGRAYSCALE                DCM_MAKETAG(DCM_GROUPIMAGE,0x1080)
1062 #define DCM_IMGRECOMMENDEDVIEWINGMODE   DCM_MAKETAG(DCM_GROUPIMAGE,0x1090)
1063 
1064 /* Retired 1100 */
1065 #define DCM_IMGLUTDESCRIPTGRAY          DCM_MAKETAG(DCM_GROUPIMAGE,0x1100)
1066 #define DCM_IMGLUTDESCRIPTRED           DCM_MAKETAG(DCM_GROUPIMAGE,0x1101)
1067 #define DCM_IMGLUTDESCRIPTGREEN         DCM_MAKETAG(DCM_GROUPIMAGE,0x1102)
1068 #define DCM_IMGLUTDESCRIPTBLUE          DCM_MAKETAG(DCM_GROUPIMAGE,0x1103)
1069 #define DCM_IMGPALETTECOLORLUTUID       DCM_MAKETAG(DCM_GROUPIMAGE,0x1199)
1070 
1071 /* Retired, 1200 */
1072 #define DCM_IMGLOOKUPDATAGRAY           DCM_MAKETAG(DCM_GROUPIMAGE,0x1200)
1073 #define DCM_IMGLOOKUPDATARED            DCM_MAKETAG(DCM_GROUPIMAGE,0x1201)
1074 #define DCM_IMGLOOKUPDATAGREEN          DCM_MAKETAG(DCM_GROUPIMAGE,0x1202)
1075 #define DCM_IMGLOOKUPDATABLUE           DCM_MAKETAG(DCM_GROUPIMAGE,0x1203)
1076 #define DCM_IMGSEGMENTEDREDLUTDATA      DCM_MAKETAG(DCM_GROUPIMAGE,0x1221)
1077 #define DCM_IMGSEGMENTEDGREENLUTDATA    DCM_MAKETAG(DCM_GROUPIMAGE,0x1222)
1078 #define DCM_IMGSEGMENTEDBLUELUTDATA     DCM_MAKETAG(DCM_GROUPIMAGE,0x1223)
1079 #define DCM_IMGLOSSYIMAGECOMPRESSION    DCM_MAKETAG(DCM_GROUPIMAGE,0x2110)
1080 #define DCM_IMGMODALITYLUTSEQUENCE      DCM_MAKETAG(DCM_GROUPIMAGE,0x3000)
1081 #define DCM_IMGLUTDESCRIPTOR            DCM_MAKETAG(DCM_GROUPIMAGE,0x3002)
1082 #define DCM_IMGLUTEXPLANATION           DCM_MAKETAG(DCM_GROUPIMAGE,0x3003)
1083 #define DCM_IMGMODALITYLUTTYPE          DCM_MAKETAG(DCM_GROUPIMAGE,0x3004)
1084 #define DCM_IMGLUTDATA                  DCM_MAKETAG(DCM_GROUPIMAGE,0x3006)
1085 #define DCM_IMGVOILUTSEQUENCE           DCM_MAKETAG(DCM_GROUPIMAGE,0x3010)
1086 
1087 /* Retired, 4000 */
1088 #define DCM_IMGCOMMENTS                 DCM_MAKETAG(DCM_GROUPIMAGE,0x4000)
1089 #define DCM_IMGBIPLANEACQSEQUENCE       DCM_MAKETAG(DCM_GROUPIMAGE,0x5000)
1090 #define DCM_IMGREPRESENTATIVEFRAMENUMBER DCM_MAKETAG(DCM_GROUPIMAGE,0x6010)
1091 #define DCM_IMGFRAMENUMBERSOFINTEREST   DCM_MAKETAG(DCM_GROUPIMAGE,0x6020)
1092 #define DCM_IMGFRAMEOFINTERESTDESCRIPTION DCM_MAKETAG(DCM_GROUPIMAGE,0x6022)
1093 #define DCM_IMGMASKPOINTER              DCM_MAKETAG(DCM_GROUPIMAGE,0x6030)
1094 #define DCM_IMGRWAVEPOINTER             DCM_MAKETAG(DCM_GROUPIMAGE,0x6040)
1095 #define DCM_IMGMASKSUBTRACTIONSEQ       DCM_MAKETAG(DCM_GROUPIMAGE,0x6100)
1096 #define DCM_IMGMASKOPERATION            DCM_MAKETAG(DCM_GROUPIMAGE,0x6101)
1097 #define DCM_IMGAPPLICABLEFRAMERANGE     DCM_MAKETAG(DCM_GROUPIMAGE,0x6102)
1098 #define DCM_IMGMASKFRAMENUMBERS         DCM_MAKETAG(DCM_GROUPIMAGE,0x6110)
1099 #define DCM_IMGCONTRASTFRAMEAVERAGING   DCM_MAKETAG(DCM_GROUPIMAGE,0x6112)
1100 #define DCM_IMGMASKSUBPIXELSHIFT        DCM_MAKETAG(DCM_GROUPIMAGE,0x6114)
1101 #define DCM_IMGTIDOFFSET                DCM_MAKETAG(DCM_GROUPIMAGE,0x6120)
1102 #define DCM_MASKOPERATIONEXPLANATION    DCM_MAKETAG(DCM_GROUPIMAGE,0x6190)
1103 
1104 
1105 /*  Define the elements for the STUDY group (0x0032)
1106 */
1107 
1108 #define DCM_SDYGROUPLENGTH              DCM_MAKETAG(DCM_GROUPSTUDY,0x0000)
1109 #define DCM_SDYSTATUSID                 DCM_MAKETAG(DCM_GROUPSTUDY,0x000A)
1110 #define DCM_SDYPRIORITYID               DCM_MAKETAG(DCM_GROUPSTUDY,0x000C)
1111 #define DCM_SDYIDISSUER                 DCM_MAKETAG(DCM_GROUPSTUDY,0x0012)
1112 #define DCM_SDYVERIFIEDDATE             DCM_MAKETAG(DCM_GROUPSTUDY,0x0032)
1113 #define DCM_SDYVERIFIEDTIME             DCM_MAKETAG(DCM_GROUPSTUDY,0x0033)
1114 #define DCM_SDYREADDATE                 DCM_MAKETAG(DCM_GROUPSTUDY,0x0034)
1115 #define DCM_SDYREADTIME                 DCM_MAKETAG(DCM_GROUPSTUDY,0x0035)
1116 #define DCM_SDYSCHEDULEDSTARTDATE       DCM_MAKETAG(DCM_GROUPSTUDY,0x1000)
1117 #define DCM_SDYSCHEDULEDSTARTTIME       DCM_MAKETAG(DCM_GROUPSTUDY,0x1001)
1118 #define DCM_SDYSCHEDULEDSTOPDATE        DCM_MAKETAG(DCM_GROUPSTUDY,0x1010)
1119 #define DCM_SDYSCHEDULEDSTOPTIME        DCM_MAKETAG(DCM_GROUPSTUDY,0x1011)
1120 #define DCM_SDYSCHEDULEDLOCATION        DCM_MAKETAG(DCM_GROUPSTUDY,0x1020)
1121 #define DCM_SDYSCHEDULEDLOCATIONAETITLE DCM_MAKETAG(DCM_GROUPSTUDY,0x1021)
1122 #define DCM_SDYREASON                   DCM_MAKETAG(DCM_GROUPSTUDY,0x1030)
1123 #define DCM_SDYREQUESTINGPHYSICIAN      DCM_MAKETAG(DCM_GROUPSTUDY,0x1032)
1124 #define DCM_SDYREQUESTINGSERVICE        DCM_MAKETAG(DCM_GROUPSTUDY,0x1033)
1125 #define DCM_SDYARRIVALDATE              DCM_MAKETAG(DCM_GROUPSTUDY,0x1040)
1126 #define DCM_SDYARRIVALTIME              DCM_MAKETAG(DCM_GROUPSTUDY,0x1041)
1127 #define DCM_SDYCOMPLETIONDATE           DCM_MAKETAG(DCM_GROUPSTUDY,0x1050)
1128 #define DCM_SDYCOMPLETIONTIME           DCM_MAKETAG(DCM_GROUPSTUDY,0x1051)
1129 #define DCM_SDYSTUDYCOMPONENTSTATUSID   DCM_MAKETAG(DCM_GROUPSTUDY,0x1055)
1130 #define DCM_SDYREQUESTEDPRODESCRIPTION  DCM_MAKETAG(DCM_GROUPSTUDY,0x1060)
1131 #define DCM_SDYREQUESTEDPROCODESEQ      DCM_MAKETAG(DCM_GROUPSTUDY,0x1064)
1132 #define DCM_SDYREQUESTEDCONTRASTAGENT   DCM_MAKETAG(DCM_GROUPSTUDY,0x1070)
1133 #define DCM_SDYCOMMENTS                 DCM_MAKETAG(DCM_GROUPSTUDY,0x4000)
1134 
1135 /* Define the elements for the VISIT group (0x0038)
1136 */
1137 
1138 #define DCM_VISGROUPLENGTH              DCM_MAKETAG(DCM_GROUPVISIT,0x0000)
1139 #define DCM_VISREFERENCEDPATALIASSEQ    DCM_MAKETAG(DCM_GROUPVISIT,0x0004)
1140 #define DCM_VISSTATUSID                 DCM_MAKETAG(DCM_GROUPVISIT,0x0008)
1141 #define DCM_VISADMISSIONID              DCM_MAKETAG(DCM_GROUPVISIT,0x0010)
1142 #define DCM_VISISSUEROFADMISSIONID      DCM_MAKETAG(DCM_GROUPVISIT,0x0011)
1143 #define DCM_VISROUTEOFADMISSION         DCM_MAKETAG(DCM_GROUPVISIT,0x0016)
1144 #define DCM_VISSCHEDULEDADMISSIONDATE   DCM_MAKETAG(DCM_GROUPVISIT,0x001a)
1145 #define DCM_VISSCHEDULEDADMISSIONTIME   DCM_MAKETAG(DCM_GROUPVISIT,0x001b)
1146 #define DCM_VISSCHEDULEDDISCHARGEDATE   DCM_MAKETAG(DCM_GROUPVISIT,0x001c)
1147 #define DCM_VISSCHEDULEDDISCHARGETIME   DCM_MAKETAG(DCM_GROUPVISIT,0x001d)
1148 #define DCM_VISSCHEDULEDPATINSTRESIDENCE DCM_MAKETAG(DCM_GROUPVISIT,0x001e)
1149 #define DCM_VISADMITTINGDATE            DCM_MAKETAG(DCM_GROUPVISIT,0x0020)
1150 #define DCM_VISADMITTINGTIME            DCM_MAKETAG(DCM_GROUPVISIT,0x0021)
1151 #define DCM_VISDISCHARGEDATE            DCM_MAKETAG(DCM_GROUPVISIT,0x0030)
1152 #define DCM_VISDISCHARGETIME            DCM_MAKETAG(DCM_GROUPVISIT,0x0032)
1153 #define DCM_VISDISCHARGEDIAGDESCRIPTION DCM_MAKETAG(DCM_GROUPVISIT,0x0040)
1154 #define DCM_VISDISCHARGEDIAGNOSISCODESEQ        DCM_MAKETAG(DCM_GROUPVISIT,0x0044)
1155 #define DCM_VISSPECIALNEEDS             DCM_MAKETAG(DCM_GROUPVISIT,0x0050)
1156 #define DCM_VISCURRENTPATIENTLOCATION   DCM_MAKETAG(DCM_GROUPVISIT,0x0300)
1157 #define DCM_VISPATIENTSINSTRESIDENCE    DCM_MAKETAG(DCM_GROUPVISIT,0x0400)
1158 #define DCM_VISPATIENTSTATE             DCM_MAKETAG(DCM_GROUPVISIT,0x0500)
1159 #define DCM_VISCOMMENTS                 DCM_MAKETAG(DCM_GROUPVISIT,0x4000)
1160 
1161 /* Define elements for the Procedure Step group (0040)
1162 */
1163 
1164 #define DCM_PRCGROUPLENGTH              DCM_MAKETAG(DCM_GRPPROCEDURE,0x0000)
1165 #define DCM_PRCSCHEDULEDSTATIONAETITLE  DCM_MAKETAG(DCM_GRPPROCEDURE,0x0001)
1166 #define DCM_PRCSCHEDULEDPROCSTEPSTARTDATE       DCM_MAKETAG(DCM_GRPPROCEDURE,0x0002)
1167 #define DCM_PRCSCHEDULEDPROCSTEPSTARTTIME       DCM_MAKETAG(DCM_GRPPROCEDURE,0x0003)
1168 #define DCM_PRCSCHEDULEDPROCSTEPENDDATE         DCM_MAKETAG(DCM_GRPPROCEDURE,0x0004)
1169 #define DCM_PRCSCHEDULEDPROCSTEPENDTIME         DCM_MAKETAG(DCM_GRPPROCEDURE,0x0005)
1170 #define DCM_PRCSCHEDULEDPERFORMINGPHYSNAME      DCM_MAKETAG(DCM_GRPPROCEDURE,0x0006)
1171 #define DCM_PRCSCHEDULEDPROCSTEPDESCRIPTION     DCM_MAKETAG(DCM_GRPPROCEDURE,0x0007)
1172 #define DCM_PRCSCHEDULEDACTIONITEMCODESEQ       DCM_MAKETAG(DCM_GRPPROCEDURE,0x0008)
1173 #define DCM_PRCSCHEDULEDPROCSTEPID      DCM_MAKETAG(DCM_GRPPROCEDURE,0x0009)
1174 #define DCM_PRCSCHEDULEDSTATIONNAME     DCM_MAKETAG(DCM_GRPPROCEDURE,0x0010)
1175 #define DCM_PRCSCHEDULEDPROCSTEPLOCATION        DCM_MAKETAG(DCM_GRPPROCEDURE,0x0011)
1176 #define DCM_PRCPREMEDICATION            DCM_MAKETAG(DCM_GRPPROCEDURE,0x0012)
1177 #define DCM_PRCSCHEDULEDPROCSTEPSEQ     DCM_MAKETAG(DCM_GRPPROCEDURE,0x0100)
1178 #define DCM_PRCCOMMENTSONSCHEDULEDPROCSTEP      DCM_MAKETAG(DCM_GRPPROCEDURE,0x0400)
1179 #define DCM_PRCREQUESTEDPROCEDUREID     DCM_MAKETAG(DCM_GRPPROCEDURE,0x1001)
1180 #define DCM_PRCREASONFORREQUESTEDPROC   DCM_MAKETAG(DCM_GRPPROCEDURE,0x1002)
1181 #define DCM_PRCREQUESTEDPROCPRIORITY    DCM_MAKETAG(DCM_GRPPROCEDURE,0x1003)
1182 #define DCM_PRCPATIENTTRANSPORTARRANGEMENTS     DCM_MAKETAG(DCM_GRPPROCEDURE,0x1004)
1183 #define DCM_PRCREQUESTEDPROCLOCATION    DCM_MAKETAG(DCM_GRPPROCEDURE,0x1005)
1184 #define DCM_PRCPLACERORDERNUMBERPROC    DCM_MAKETAG(DCM_GRPPROCEDURE,0x1006)
1185 #define DCM_PRCFILLERORDERNUMBERPROC    DCM_MAKETAG(DCM_GRPPROCEDURE,0x1007)
1186 #define DCM_PRCCONFIDENTIALITYCODE      DCM_MAKETAG(DCM_GRPPROCEDURE,0x1008)
1187 #define DCM_PRCREPORTINGPRIORITY        DCM_MAKETAG(DCM_GRPPROCEDURE,0x1009)
1188 #define DCM_PRCNAMESINTENDEDRECIPIENTSRESULTS   DCM_MAKETAG(DCM_GRPPROCEDURE,0x1010)
1189 #define DCM_PRCREQUESTEDPROCCOMMENTS    DCM_MAKETAG(DCM_GRPPROCEDURE,0x1400)
1190 #define DCM_PRCREASONFORIMAGINGSERVICEREQ       DCM_MAKETAG(DCM_GRPPROCEDURE,0x2001)
1191 #define DCM_PRCISSUEDATEIMAGINGSERVICEREQ       DCM_MAKETAG(DCM_GRPPROCEDURE,0x2004)
1192 #define DCM_PRCISSUETIMEIMAGINGSERVICEREQ       DCM_MAKETAG(DCM_GRPPROCEDURE,0x2005)
1193 #define DCM_PRCPLACERORDERNUMBERIMAGINGSRVREQ   DCM_MAKETAG(DCM_GRPPROCEDURE,0x2006)
1194 #define DCM_PRCFILLERORDERNUMBERIMAGINGSRVREQ   DCM_MAKETAG(DCM_GRPPROCEDURE,0x2007)
1195 #define DCM_PRCORDERENTEREDBY           DCM_MAKETAG(DCM_GRPPROCEDURE,0x2008)
1196 #define DCM_PRCORDERENTERERSLOCATION    DCM_MAKETAG(DCM_GRPPROCEDURE,0x2009)
1197 #define DCM_PRCORDERCALLBACKPHONENUMBER DCM_MAKETAG(DCM_GRPPROCEDURE,0x2010)
1198 #define DCM_PRCIMAGINGSERVICEREQCOMMENTS        DCM_MAKETAG(DCM_GRPPROCEDURE,0x2400)
1199 #define DCM_PRCCONFIDIENTIALITYCONSTRAINTPATIENTDATADES DCM_MAKETAG(DCM_GRPPROCEDURE,0x3001)
1200 
1201 /* Define the elements for the DEVICE group (0x0050)
1202 */
1203 
1204 #define DCM_DEVGROUPLENGTH              DCM_MAKETAG(DCM_GROUPDEVICE,0x0000)
1205 #define DCM_DEVCALIBRATIONOBJECT        DCM_MAKETAG(DCM_GROUPDEVICE,0x0004)
1206 #define DCM_DEVDEVICESEQUENCE           DCM_MAKETAG(DCM_GROUPDEVICE,0x0010)
1207 #define DCM_DEVDEVICELENGTH             DCM_MAKETAG(DCM_GROUPDEVICE,0x0014)
1208 #define DCM_DEVDEVICEDIAMETER           DCM_MAKETAG(DCM_GROUPDEVICE,0x0016)
1209 #define DCM_DEVDEVICEDIAMETERUNITS      DCM_MAKETAG(DCM_GROUPDEVICE,0x0017)
1210 #define DCM_DEVDEVICEVOLUME             DCM_MAKETAG(DCM_GROUPDEVICE,0x0018)
1211 #define DCM_DEVINTERMARKERDISTANCE      DCM_MAKETAG(DCM_GROUPDEVICE,0x0019)
1212 #define DCM_DEVDEVICEDESCRIPTION        DCM_MAKETAG(DCM_GROUPDEVICE,0x0020)
1213 
1214 /* define the elements of the RESULTS (0x4008) group
1215 */
1216 
1217 #define DCM_RESGROUPLENGTH              DCM_MAKETAG(DCM_GROUPRESULTS,0x0000)
1218 #define DCM_RESID                       DCM_MAKETAG(DCM_GROUPRESULTS,0x0040)
1219 #define DCM_RESIDISSUER                 DCM_MAKETAG(DCM_GROUPRESULTS,0x0042)
1220 #define DCM_RESREFERENCEDINTERPSEQ      DCM_MAKETAG(DCM_GROUPRESULTS,0x0050)
1221 #define DCM_RESINTERPRECORDEDDATE       DCM_MAKETAG(DCM_GROUPRESULTS,0x0100)
1222 #define DCM_RESINTERPRECORDEDTIME       DCM_MAKETAG(DCM_GROUPRESULTS,0x0101)
1223 #define DCM_RESINTERPRECORDER           DCM_MAKETAG(DCM_GROUPRESULTS,0x0102)
1224 #define DCM_RESREFERENCETORECORDEDSOUND DCM_MAKETAG(DCM_GROUPRESULTS,0x0103)
1225 #define DCM_RESINTERPTRANSCRIPTIONDATE  DCM_MAKETAG(DCM_GROUPRESULTS,0x0108)
1226 #define DCM_RESINTERPTRANSCRIPTIONTIME  DCM_MAKETAG(DCM_GROUPRESULTS,0x0109)
1227 #define DCM_RESINTERPTRANSCRIBER        DCM_MAKETAG(DCM_GROUPRESULTS,0x010a)
1228 #define DCM_RESINTERPTEXT               DCM_MAKETAG(DCM_GROUPRESULTS,0x010b)
1229 #define DCM_RESINTERPAUTHOR             DCM_MAKETAG(DCM_GROUPRESULTS,0x010c)
1230 #define DCM_RESINTERPAPPROVERSEQUENCE   DCM_MAKETAG(DCM_GROUPRESULTS,0x0111)
1231 #define DCM_RESINTERPAPPROVALDATE       DCM_MAKETAG(DCM_GROUPRESULTS,0x0112)
1232 #define DCM_RESINTERPAPPROVALTIME       DCM_MAKETAG(DCM_GROUPRESULTS,0x0113)
1233 #define DCM_RESPHYSICIANAPPROVINGINTERP DCM_MAKETAG(DCM_GROUPRESULTS,0x0114)
1234 #define DCM_RESDIAGNOSIS                DCM_MAKETAG(DCM_GROUPRESULTS,0x0115)
1235 #define DCM_RESDIAGNOSISCODESEQ         DCM_MAKETAG(DCM_GROUPRESULTS,0x0117)
1236 #define DCM_RESDISTRIBUTIIONLISTSEQUENCE DCM_MAKETAG(DCM_GROUPRESULTS,0x0118)
1237 #define DCM_RESDISTRIBUTIONNAME         DCM_MAKETAG(DCM_GROUPRESULTS,0x0119)
1238 #define DCM_RESDISTRIBUTIONADDRESS      DCM_MAKETAG(DCM_GROUPRESULTS,0x011a)
1239 #define DCM_RESINTERPID                 DCM_MAKETAG(DCM_GROUPRESULTS,0x0200)
1240 #define DCM_RESINTERPIDISSUER           DCM_MAKETAG(DCM_GROUPRESULTS,0x0202)
1241 #define DCM_RESINTERPTYPEID             DCM_MAKETAG(DCM_GROUPRESULTS,0x0210)
1242 #define DCM_RESINTERPSTATUSID           DCM_MAKETAG(DCM_GROUPRESULTS,0x0212)
1243 #define DCM_RESIMPRESSIONS              DCM_MAKETAG(DCM_GROUPRESULTS,0x0300)
1244 #define DCM_RESCOMMENTS                 DCM_MAKETAG(DCM_GROUPRESULTS,0x4000)
1245 
1246 /* Define the elements for the  Curve group (50xx) */
1247 #define DCM_CURVEGROUPLENGTH            DCM_MAKETAG(DCM_GROUPCURVE, 0x0000)
1248 #define DCM_CURVEDIMENSIONS             DCM_MAKETAG(DCM_GROUPCURVE, 0x0005)
1249 #define DCM_CURVENUMBEROFPOINTS         DCM_MAKETAG(DCM_GROUPCURVE, 0x0010)
1250 #define DCM_CURVETYPEOFDATA             DCM_MAKETAG(DCM_GROUPCURVE, 0x0020)
1251 #define DCM_CURVEDESCRIPTION            DCM_MAKETAG(DCM_GROUPCURVE, 0x0022)
1252 #define DCM_CURVEAXISUNITS              DCM_MAKETAG(DCM_GROUPCURVE, 0x0030)
1253 #define DCM_CURVEAXISLABELS             DCM_MAKETAG(DCM_GROUPCURVE, 0x0040)
1254 #define DCM_CURVEDATAVALUEREPRESENTATION   DCM_MAKETAG(DCM_GROUPCURVE, 0x0103)
1255 #define DCM_CURVEMINCOORDINATEVALUE     DCM_MAKETAG(DCM_GROUPCURVE, 0x0104)
1256 #define DCM_CURVEMAXCOORDINATEVALUE     DCM_MAKETAG(DCM_GROUPCURVE, 0x0105)
1257 #define DCM_CURVERANGE                  DCM_MAKETAG(DCM_GROUPCURVE, 0x0106)
1258 #define DCM_CURVEDATADESCRIPTOR         DCM_MAKETAG(DCM_GROUPCURVE, 0x0110)
1259 #define DCM_CURVECOORDINATESTARTVALUE   DCM_MAKETAG(DCM_GROUPCURVE, 0x0112)
1260 #define DCM_CURVECOORDINATESTEPVALUE    DCM_MAKETAG(DCM_GROUPCURVE, 0x0114)
1261 #define DCM_CURVEAUDIOTYPE              DCM_MAKETAG(DCM_GROUPCURVE, 0x2000)
1262 #define DCM_CURVEAUDIOSAMPLEFORMAT      DCM_MAKETAG(DCM_GROUPCURVE, 0x2002)
1263 #define DCM_CURVENUMBEROFCHANNELS       DCM_MAKETAG(DCM_GROUPCURVE, 0x2004)
1264 #define DCM_CURVENUMBEROFSAMPLES        DCM_MAKETAG(DCM_GROUPCURVE, 0x2006)
1265 #define DCM_CURVESAMPLERATE             DCM_MAKETAG(DCM_GROUPCURVE, 0x2008)
1266 #define DCM_CURVETOTALTIME              DCM_MAKETAG(DCM_GROUPCURVE, 0x200A)
1267 #define DCM_CURVEAUDIOSAMPLEDATA        DCM_MAKETAG(DCM_GROUPCURVE, 0x200C)
1268 #define DCM_CURVEAUDIOCOMMENTS          DCM_MAKETAG(DCM_GROUPCURVE, 0x200E)
1269 #define DCM_CURVELABEL                  DCM_MAKETAG(DCM_GROUPCURVE, 0x2500)
1270 #define DCM_CURVEREFOVERLAYSEQUENCE     DCM_MAKETAG(DCM_GROUPCURVE, 0x2600)
1271 #define DCM_CURVEREFOVERLAYGROUP        DCM_MAKETAG(DCM_GROUPCURVE, 0x2610)
1272 #define DCM_CURVEDATA                   DCM_MAKETAG(DCM_GROUPCURVE, 0x3000)
1273 
1274 /*  Define the elements for the NM Image group.  (0054) */
1275 #define DCM_NMIGROUPLENGTH              DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0000)
1276 #define DCM_NMIENERGYWINDOWVECTOR       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0010)
1277 #define DCM_NMINUMBEROFENERGYWINDOWS    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0011)
1278 #define DCM_NMIENERGYWINDOWINFOSEQ      DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0012)
1279 #define DCM_NMIENERGYWINDOWRANGESEQ     DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0013)
1280 #define DCM_NMIENERGYWINDOWLOWERLIMIT   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0014)
1281 #define DCM_NMIENERGYWINDOWUPPERLIMIT   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0015)
1282 #define DCM_NMIRADIOPHARMINFOSEQ        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0016)
1283 #define DCM_NMIRESIDUALSYRINGECOUNTS    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0017)
1284 #define DCM_NMIENERGYWINDOWNAME         DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0018)
1285 #define DCM_NMIDETECTORVECTOR           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0020)
1286 #define DCM_NMINUMBEROFDETECTORS        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0021)
1287 #define DCM_NMIDETECTORINFOSEQUENCE     DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0022)
1288 #define DCM_NMIPHASEVECTOR              DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0030)
1289 #define DCM_NMINUMBEROFPHASES           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0031)
1290 #define DCM_NMIPHASEINFOSEQUENCE        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0032)
1291 #define DCM_NMINUMBEROFFRAMESINPHASE    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0033)
1292 #define DCM_NMIPHASEDELAY               DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0036)
1293 #define DCM_NMIPAUSEBETWEENFRAMES       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0038)
1294 #define DCM_NMIROTATIONVECTOR           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0050)
1295 #define DCM_NMINUMBEROFROTATIONS        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0051)
1296 #define DCM_NMIROTATIONINFOSEQUENCE     DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0052)
1297 #define DCM_NMINUMBEROFFRAMESINROTATION DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0053)
1298 #define DCM_NMIRRINTERVALVECTOR         DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0060)
1299 #define DCM_NMINUMBEROFRRINTERVALS      DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0061)
1300 #define DCM_NMIGATEDINFOSEQUENCE        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0062)
1301 #define DCM_NMIDATAINFORMATIONSEQUENCE  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0063)
1302 #define DCM_NMITIMESLOTVECTOR           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0070)
1303 #define DCM_NMINUMBEROFTIMESLOTS        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0071)
1304 #define DCM_NMITIMESLOTINFOSEQUENCE     DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0072)
1305 #define DCM_NMITIMESLOTTIME             DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0073)
1306 #define DCM_NMISLICEVECTOR              DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0080)
1307 #define DCM_NMINUMBEROFSLICES           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0081)
1308 #define DCM_NMIANGULARVIEWVECTOR        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0090)
1309 #define DCM_NMITIMESLICEVECTOR          DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0100)
1310 #define DCM_NMINUMBEROFTIMESLICES       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0101)
1311 #define DCM_NMISTARTANGLE               DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0200)
1312 #define DCM_NMITYPEOFDETECTORMOTION     DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0202)
1313 #define DCM_NMITRIGGERVECTOR            DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0210)
1314 #define DCM_NMINUMBEROFTRIGGERSINPHASE  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0211)
1315 #define DCM_NMIVIEWCODESEQUENCE         DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0220)
1316 #define DCM_NMIVIEWANGULATIONMODIFIERCODESEQ DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0222)
1317 #define DCM_NMIRADIONUCLIDECODESEQUENCE DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0300)
1318 #define DCM_NMIRADIOPHARMROUTECODESEQUENCE DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0302)
1319 #define DCM_NMIRADIOPHARMCODESEQUENCE   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0304)
1320 #define DCM_NMICALIBRATIONDATASEQUENCE  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0306)
1321 #define DCM_NMIENERGYWINDOWNUMBER       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0308)
1322 #define DCM_NMIIMAGEID                  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0400)
1323 #define DCM_NMIPATIENTORIENTATIONCODESEQ        DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0410)
1324 #define DCM_NMIPATIENTORIENTATIONMODIFIERCODESEQ DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0412)
1325 #define DCM_NMIPATIENTGANTRYRELATIONSHIPCODESEQ DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x0414)
1326 #define DCM_NMISERIESTYPE               DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1000)
1327 #define DCM_NMIUNITS                    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1001)
1328 #define DCM_NMICOUNTSSOURCE             DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1002)
1329 #define DCM_NMIREPROJECTIONMETHOD       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1004)
1330 #define DCM_NMIRANDOMSCORRECTIONMETHOD  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1100)
1331 #define DCM_NMIATTENUATIONCORRECTIONMETHOD DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1101)
1332 #define DCM_NMIDECAYCORRECTION          DCM_MAKETAG(DCM_GROUPNMIMAGE,0x1102)
1333 #define DCM_NMIRECONSTRUCTIONMETHOD     DCM_MAKETAG(DCM_GROUPNMIMAGE,0x1103)
1334 #define DCM_NMIDETECTORLINESRESPONSEUSED DCM_MAKETAG(DCM_GROUPNMIMAGE,0x1104)
1335 #define DCM_NMISCATTERCORRECTIONMETHOD  DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1105)
1336 #define DCM_NMIAXIALACCEPTANCE          DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1200)
1337 #define DCM_NMIAXIALMASH                DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1201)
1338 #define DCM_NMITRANSVERSEMASH           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1202)
1339 #define DCM_NMIDETECTORELEMENTSIZE      DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1203)
1340 #define DCM_NMICOINCIDENCEWINDOWWIDTH   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1210)
1341 #define DCM_NMISECONDARYCOUNTSTYPE      DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1220)
1342 #define DCM_NMIFRAMEREFERENCETIME       DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1300)
1343 #define DCM_NMIPRIMARYCOUNTSACCUMULATED DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1310)
1344 #define DCM_NMISECONDARYCOUNTSACCUMULATED DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1311)
1345 #define DCM_NMISLICESENSITIVITYFACTOR   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1320)
1346 #define DCM_NMIDECAYFACTOR              DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1321)
1347 #define DCM_NMIDOSECALIBRATIONFACTOR    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1322)
1348 #define DCM_NMISCATTERFRACTIONFACTOR    DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1323)
1349 #define DCM_NMIDEADTIMEFACTOR           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1324)
1350 #define DCM_NMIIMAGEINDEX               DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1330)
1351 #define DCM_NMICOUNTSINCLUDED           DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1400)
1352 #define DCM_NMIDEADTIMECORRECTIONFLAG   DCM_MAKETAG(DCM_GROUPNMIMAGE, 0x1401)
1353 
1354 /*  Define the elements for the OVERLAY group. (60xx) */
1355 #define DCM_OLYGROUPLENGTH              DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0000)
1356 #define DCM_OLYROWS                     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0010)
1357 #define DCM_OLYCOLUMNS                  DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0011)
1358 #define DCM_OLYPLANES                   DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0012)
1359 #define DCM_OLYNUMBEROFFRAMESINOVERLAY  DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0015)
1360 #define DCM_OLYOVERLAYDESCRIPTION       DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0022)
1361 #define DCM_OLYTYPE                     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0040)
1362 #define DCM_OLYSUBTYPE                  DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0045)
1363 #define DCM_OLYORIGIN                   DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0050)
1364 #define DCM_OLYIMAGEFRAMEORIGIN         DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0051)
1365 #define DCM_OLYOVERLAYPLANEORIGIN       DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0052)
1366 
1367 /* Retired, 0060 */
1368 #define DCM_OLYCOMPRESSIONCODE          DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0060)
1369 #define DCM_OLYBITSALLOCATED            DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0100)
1370 #define DCM_OLYBITPOSITION              DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0102)
1371 
1372 /* Retired, 00110, 0200) */
1373 #define DCM_OLYOVERLAYFORMAT            DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0110)
1374 #define DCM_OLYOVERLAYLOCATION          DCM_MAKETAG(DCM_GROUPOVERLAY, 0x0200)
1375 #define DCM_OLYDESCRIPTORGRAY           DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1100)
1376 #define DCM_OLYDESCRIPTORRED            DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1101)
1377 #define DCM_OLYDESCRIPTORGREEN          DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1102)
1378 #define DCM_OLYDESCRIPTORBLUE           DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1103)
1379 #define DCM_OLYGRAY                     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1200)
1380 #define DCM_OLYRED                      DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1201)
1381 #define DCM_OLYGREEN                    DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1202)
1382 #define DCM_OLYBLUE                     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1203)
1383 #define DCM_OLYROIAREA                  DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1301)
1384 #define DCM_OLYROIMEAN                  DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1302)
1385 #define DCM_OLYROISTANDARDDEVIATION     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1303)
1386 #define DCM_OLYOVERLAYLABEL             DCM_MAKETAG(DCM_GROUPOVERLAY, 0x1500)
1387 #define DCM_OLYDATA                     DCM_MAKETAG(DCM_GROUPOVERLAY, 0x3000)
1388 
1389 /* Retired, 4000 */
1390 #define DCM_OLYCOMMENTS                 DCM_MAKETAG(DCM_GROUPOVERLAY, 0x4000)
1391 
1392 /*  Define the elements for the PIXEL group (7FE0)
1393 */
1394 #define DCM_PXLGROUPLENGTH              DCM_MAKETAG(DCM_GROUPPIXEL,0x0000)
1395 #define DCM_PXLPIXELDATA                DCM_MAKETAG(DCM_GROUPPIXEL,0x0010)
1396 
1397 /* Define the elements for the MEDIA group, 0x0088  */
1398 #define DCM_MEDIAGROUPLENGTH            DCM_MAKETAG(DCM_GROUPMEDIA,0x0000)
1399 #define DCM_MEDIASTORAGEFILESETID       DCM_MAKETAG(DCM_GROUPMEDIA,0x0130)
1400 #define DCM_MEDIASTORAGEFILESETUID      DCM_MAKETAG(DCM_GROUPMEDIA,0x0140)
1401 #define DCM_MEDIAICONIMAGE              DCM_MAKETAG(DCM_GROUPMEDIA,0x0200)
1402 #define DCM_MEDIATOPICTITLE             DCM_MAKETAG(DCM_GROUPMEDIA,0x0904)
1403 #define DCM_MEDIATOPICSUBJECT           DCM_MAKETAG(DCM_GROUPMEDIA,0x0906)
1404 #define DCM_MEDIATOPICAUTHOR            DCM_MAKETAG(DCM_GROUPMEDIA,0x0910)
1405 #define DCM_MEDIATOPICKEYWORD           DCM_MAKETAG(DCM_GROUPMEDIA,0x0912)
1406 
1407 /* Define the elements for the BASICFILMSESSION group (2000)
1408 */
1409 #define DCM_BFSGROUPLENGTH              DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x000)
1410 #define DCM_BFSCOPIES                   DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0010)
1411 #define DCM_BFSPRINTPRIORITY            DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0020)
1412 #define DCM_BFSMEDIUMTYPE               DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0030)
1413 #define DCM_BFSFILMDESTINATION          DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0040)
1414 #define DCM_BFSFILMSESSIONLABEL         DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0050)
1415 #define DCM_BFSMEMORYALLOCATION         DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0060)
1416 #define DCM_BFSREFERENCEDFILMBOXSEQ     DCM_MAKETAG(DCM_GROUPBASICFILMSESSION,0x0500)
1417 
1418 /* Define the elements for the BASICFILMBOX group (2010)
1419 */
1420 #define DCM_BFBGROUPLENGTH              DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0000)
1421 #define DCM_BFBIMAGEDISPLAYFORMAT       DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0010)
1422 #define DCM_BFBANNOTATIONDISPLAYFORMAT  DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0030)
1423 #define DCM_BFBFILMORIENTATION          DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0040)
1424 #define DCM_BFBFILMSIZEID               DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0050)
1425 #define DCM_BFBMAGNIFICATIONTYPE        DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0060)
1426 #define DCM_BFBSMOOTHINGTYPE            DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0080)
1427 #define DCM_BFBBORDERDENSITY            DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0100)
1428 #define DCM_BFBEMPTYIMAGEDENSITY        DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0110)
1429 #define DCM_BFBMINDENSITY               DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0120)
1430 #define DCM_BFBMAXDENSITY               DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0130)
1431 #define DCM_BFBTRIM                     DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0140)
1432 #define DCM_BFBCONFIGURATIONINFO        DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0150)
1433 #define DCM_BFBREFBASICFILMSESSIONSEQ   DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0500)
1434 #define DCM_BFBREFBASICIMAGEBOXSEQ      DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0510)
1435 #define DCM_BFBREFBASICANNOTBOXSEQ      DCM_MAKETAG(DCM_GROUPBASICFILMBOX,0x0520)
1436 
1437 /* Define the elements of the BASICIMAGEBOX group (2020)
1438 */
1439 #define DCM_BIBGROUPLENGTH              DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0000)
1440 #define DCM_BIBIMAGEPOSITION            DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0010)
1441 #define DCM_BIBPOLARITY                 DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0020)
1442 #define DCM_BIBREQUESTEDIMAGESIZE       DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0030)
1443 #define DCM_BIBPREFORMATGREYSCALEIMAGESEQ       DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0110)
1444 #define DCM_BIBPREFORMATCOLORIMAGESEQ   DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0111)
1445 #define DCM_BIBREFIMAGEOVERLAYBOXSEQ    DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0130)
1446 #define DCM_BIBREFVOILUTSEQ             DCM_MAKETAG(DCM_GROUPBASICIMAGEBOX,0x0140)
1447 
1448 /* Define the elements of the BASICANNOTATIONBOX group (2030)
1449 */
1450 #define DCM_BABGROUPLENGTH              DCM_MAKETAG(DCM_GROUPBASICANNOTATIONBOX,0x0000)
1451 #define DCM_BABANNOTATIONPOSITION       DCM_MAKETAG(DCM_GROUPBASICANNOTATIONBOX,0x0010)
1452 #define DCM_BABTEXTSTRING               DCM_MAKETAG(DCM_GROUPBASICANNOTATIONBOX,0x0020)
1453 
1454 /* Defines the elements of the BASICIMAGEOVERLAYBOX group (2040)
1455 */
1456 #define DCM_IOBGROUPLENGTH              DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0000)
1457 #define DCM_IOBREFOVERLAYPLANESEQ       DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0010)
1458 #define DCM_IOBREFOVERLAYPLANEGROUPS    DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0011)
1459 #define DCM_IOBOVERLAYMAGNIFICATIONTYPE DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0060)
1460 #define DCM_IOBOVERLAYSMOOTHINGTYPE     DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0070)
1461 #define DCM_IOBOVERLAYFOREGROUNDDENSITY DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0080)
1462 #define DCM_IOBOVERLAYMODE              DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0090)
1463 #define DCM_IOBTHRESHOLDDENSITY         DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0100)
1464 #define DCM_IOBREFIMAGEBOXSEQUENCE      DCM_MAKETAG(DCM_GROUPBASICIMAGEOVERLAYBOX,0x0500)
1465 
1466 /* Define the elements of the PRINTJOB group (2100)
1467 */
1468 #define DCM_PJGROUPLENGTH               DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0000)
1469 #define DCM_PJEXECUTIONSTATUS           DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0020)
1470 #define DCM_PJEXECUTIONSTATUSINFO       DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0030)
1471 #define DCM_PJCREATIONDATE              DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0040)
1472 #define DCM_PJCREATIONTIME              DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0050)
1473 #define DCM_PJORIGINATOR                DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0070)
1474 #define DCM_PJREFPRINTJOBSEQ            DCM_MAKETAG(DCM_GROUPPRINTJOB,0x0500)
1475 
1476 /* Define the elements of the PRINTER group, 0x2110
1477 */
1478 #define DCM_PRINTERGROUPLENGTH          DCM_MAKETAG(DCM_GROUPPRINTER,0x0000)
1479 #define DCM_PRINTERSTATUS               DCM_MAKETAG(DCM_GROUPPRINTER,0x0010)
1480 #define DCM_PRINTERSTATUSINFO           DCM_MAKETAG(DCM_GROUPPRINTER,0x0020)
1481 #define DCM_PRINTERNAME                 DCM_MAKETAG(DCM_GROUPPRINTER,0x0030)
1482 #define DCM_PRINTERQUEUEID              DCM_MAKETAG(DCM_GROUPPRINTER,0x0099)
1483 
1484 /*  Define any semantics associated with pixel representation
1485 */
1486 #define DCM_PIXELUNSIGNED       0
1487 #define DCM_PIXELTWOSCOMPLEMENT 1
1488 
1489 /* Define the attributes in the Padding group, 0xfffc
1490 */
1491 
1492 #define DCM_PADITEM                     DCM_MAKETAG(DCM_GROUPPAD, 0xfffc)
1493 
1494 /* Define the attributes in the Delimiter group
1495 */
1496 
1497 #define DCM_DLMITEM                     DCM_MAKETAG(DCM_GROUPDELIMITER, 0xe000)
1498 #define DCM_DLMITEMDELIMITATIONITEM     DCM_MAKETAG(DCM_GROUPDELIMITER, 0xe00d)
1499 #define DCM_DLMSEQUENCEDELIMITATIONITEM DCM_MAKETAG(DCM_GROUPDELIMITER, 0xe0dd)
1500 
1501 /* Define the values for the Data Set Type in the Command Field
1502 */
1503 
1504 #define DCM_CMDDATAIMAGE        0x0000
1505 #define DCM_CMDDATAGRAPHICS     0x0002
1506 #define DCM_CMDDATATEXT         0x0003
1507 #define DCM_CMDDATAOTHER        0x0100
1508 #define DCM_CMDDATANULL         0x0101
1509 #define DCM_CMDDATAIDENTIFIER   0x0102
1510 #define DCM_CMDDATAPRIVIMAGE    0x8000
1511 #define DCM_CMDDATAPRIVGRAPHICS 0x8002
1512 #define DCM_CMDDATAPRIVTEXT     0x8003
1513 
1514 /* Define status values */
1515 
1516 #define DCM_STATUS_SUCCESS      0x0000
1517 #define DCM_STATUS_PENDING      0xff00
1518 #define DCM_STATUS_REFUSED      0x01
1519 #define DCM_STATUS_FAILED       0x02
1520 
1521 /* Define priority values in messages */
1522 
1523 #define DCM_PRIORITYLOW         0x2
1524 #define DCM_PRIORITYMEDIUM      0x0
1525 #define DCM_PRIORITYHIGH        0x1
1526 
1527 /* Define legal values to be transmitted as Query Level */
1528 
1529 #define DCM_QUERYLEVELPATIENT   "PATIENT"
1530 #define DCM_QUERYLEVELSTUDY     "STUDY"
1531 #define DCM_QUERYLEVELSERIES    "SERIES"
1532 #define DCM_QUERYLEVELIMAGE     "IMAGE"
1533 
1534 /* Define legal values for the Photometric Interpretation */
1535 
1536 #define DCM_IMGPHOTOINTERPMONOCHROME1   "MONOCHROME1"
1537 #define DCM_IMGPHOTOINTERPMONOCHROME2   "MONOCHROME2"
1538 #define DCM_IMGPHOTOINTERPPALETTECOLOR  "PALETTE COLOR"
1539 #define DCM_IMGPHOTOINTERPRGB           "RGB"
1540 #define DCM_IMGPHOTOINTERPHSV           "HSV"
1541 #define DCM_IMGPHOTOINTERPRGBA          "RGBA"
1542 #define DCM_IMGPHOTOINTERPCMYK          "CMYK"
1543 
1544 #define DCM_UNSPECIFIEDLENGTH   0xffffffff
1545 #define DCM_DELIMITOR   '\\'
1546 
1547 #ifdef  __cplusplus
1548 }
1549 #endif
1550 
1551 #endif
1552 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.