1 /*
2  *
3  *  Copyright (C) 1994-2020, OFFIS e.V.
4  *  All rights reserved.  See COPYRIGHT file for details.
5  *
6  *  This software and supporting documentation were developed by
7  *
8  *    OFFIS e.V.
9  *    R&D Division Health
10  *    Escherweg 2
11  *    D-26121 Oldenburg, Germany
12  *
13  *
14  *  Module:  dcmdata
15  *
16  *  Author:  Andrew Hewett
17  *
18  *  Purpose:
19  *  Definitions of "well known" DICOM Unique Identifiers,
20  *  routines for finding and creating UIDs.
21  *
22  */
23 
24 #ifndef DCUID_H
25 #define DCUID_H
26 
27 #include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
28 
29 #include "dcmtk/ofstd/oftypes.h"
30 #include "dcmtk/dcmdata/dcdefine.h"
31 
32 #define INCLUDE_CSTDLIB
33 #define INCLUDE_UNISTD
34 #include "dcmtk/ofstd/ofstdinc.h"
35 
36 // include this file in doxygen documentation
37 
38 /** @file dcuid.h
39  *  @brief global definitions and functions for UID handling
40  */
41 
42 
43 /// type of Storage SOP Class
44 typedef enum {
45     /// patient objects
46     ESSC_Patient    = 0x01,
47     /// non-patient objects
48     ESSC_NonPatient = 0x02,
49     /// image objects (subset of patient objects)
50     ESSC_Image      = 0x04,
51     /// all types (patient and non-patient objects)
52     ESSC_All        = 0x03
53 } E_StorageSOPClassType;
54 
55 
56 /** return the name of a UID.
57  *  Performs a table lookup and returns a pointer to a read-only string.
58  *  @param uid UID string for which the name is to be looked up
59  *  @param defaultValue default to return if UID not known
60  *  @return name string or defaultValue if UID is unknown
61  */
62 DCMTK_DCMDATA_EXPORT const char* dcmFindNameOfUID(const char* uid, const char* defaultValue = NULL);
63 
64 /** return the UID of a name.
65  *  Performs a table lookup and returns a pointer to a read-only string.
66  *  @param name name string for which the corresponding UID is to be looked up
67  *  @return UID string or NULL if name is unknown
68  */
69 DCMTK_DCMDATA_EXPORT const char* dcmFindUIDFromName(const char* name);
70 
71 /** an array of const strings containing all known Storage SOP Classes
72  *  that fit into the conventional PATIENT-STUDY-SERIES-INSTANCE information
73  *  model, i.e. everything a Storage SCP might want to store in a PACS.
74  *  Special cases such as Hanging Protocol or Color Palette Storage SOP Class
75  *  are not included in this list.
76  *  WARNING: This list contains more than 64 entries, i.e. it is not possible
77  *  to use this list to configure the association negotiation behavior of
78  *  a Storage SCU that always proposes two presentation contexts for each
79  *  SOP class.
80  */
81 extern DCMTK_DCMDATA_EXPORT const char* dcmAllStorageSOPClassUIDs[];
82 
83 /// number of entries in dcmAllStorageSOPClassUIDs.
84 extern DCMTK_DCMDATA_EXPORT const int numberOfDcmAllStorageSOPClassUIDs;
85 
86 /** an array of const strings containing all storage SOP classes that
87  *  are proposed by default by those Storage SCU components in DCMTK
88  *  that always propose one presentation context for each SOP class,
89  *  e.g. movescu or dcmqrdb. This list is guaranteed to have at most
90  *  120 entries (to leave room for FIND/MOVE presentation contexts).
91  */
92 extern DCMTK_DCMDATA_EXPORT const char* dcmLongSCUStorageSOPClassUIDs[];
93 
94 /// number of entries in dcmLongSCUStorageSOPClassUIDs.
95 extern DCMTK_DCMDATA_EXPORT const int numberOfDcmLongSCUStorageSOPClassUIDs;
96 
97 /** an array of const strings containing all storage SOP classes that
98  *  are proposed by default by those Storage SCU components in DCMTK
99  *  that always propose TWO presentation context for each SOP class,
100  *  e.g. storescu. This list is guaranteed to have at most
101  *  64 entries.
102  */
103 extern DCMTK_DCMDATA_EXPORT const char* dcmShortSCUStorageSOPClassUIDs[];
104 
105 /// number of entries in dcmShortSCUStorageSOPClassUIDs.
106 extern DCMTK_DCMDATA_EXPORT const int numberOfDcmShortSCUStorageSOPClassUIDs;
107 
108 /** returns true if the uid is one of the Storage SOP Classes.
109  *  Performs a table lookup in the dcmAllStorageSOPClassUIDs, dcmImageSOPClassUIDs
110  *  and/or other tables depending on the requested type of Storage SOP Class.
111  *  Please note that, by default, this function only covers those Storage SOP
112  *  Classes that fit into the conventional PATIENT-STUDY-SERIES-INSTANCE
113  *  information model, i.e. non-patient DICOM objects are missing. This can
114  *  be changed by setting the optional type parameter to ESSC_NonPatient.
115  *  @param uid UID string
116  *  @param type type of Storage SOP Class (default: patient objects only)
117  *  @return true if UID is a known Storage SOP Class, false otherwise
118  */
119 DCMTK_DCMDATA_EXPORT OFBool dcmIsaStorageSOPClassUID(const char* uid, const E_StorageSOPClassType type = ESSC_Patient);
120 
121 /** a global constant array of
122  *  string pointers containing the UIDs of all known Image SOP
123  *  Classes.  The global variable numberOfDcmImageSOPClassUIDs
124  *  defines the size of the array.
125  *  NOTE: this list represents a subset of the dcmAllStorageSOPClassUIDs list
126  */
127 extern DCMTK_DCMDATA_EXPORT const char* dcmImageSOPClassUIDs[];
128 
129 /// number of entries in dcmImageSOPClassUIDs
130 extern DCMTK_DCMDATA_EXPORT const int numberOfDcmImageSOPClassUIDs;
131 
132 /** returns true if the uid is one of the Image Storage SOP Classes.
133  *  This is just a shortcut for dcmIsaStorageSOPClassUID(uid, ESSC_Image).
134  *  @param uid UID string
135  *  @return true if UID is a known Image Storage SOP Class, false otherwise
136  */
137 DCMTK_DCMDATA_EXPORT OFBool dcmIsImageStorageSOPClassUID(const char* uid);
138 
139 /** creates a Unique Identifier in uid and returns uid.
140  *  uid must be at least 65 bytes. Care is taken to make sure
141  *  that the generated UID is 64 characters or less.
142  *  If a prefix string is not passed as the second argument a
143  *  default of SITE_INSTANCE_UID_ROOT (see below) will be used.
144  *  Otherwise the supplied prefix string will appear at the beginning
145  *  of uid.
146  *  The UID is created by appending to the prefix the following:
147  *  - the host ID (if obtainable, zero otherwise),
148  *  - the process ID (if obtainable, zero otherwise),
149  *  - the system calendar time, and
150  *  - an accumulating counter for this process.
151  *  @param uid pointer to buffer of 65 or more characters in which the UID is returned
152  *  @param prefix prefix for UID creation
153  *  @return pointer to UID, identical to uid parameter
154  */
155 DCMTK_DCMDATA_EXPORT char *dcmGenerateUniqueIdentifier(char *uid, const char* prefix=NULL);
156 
157 /** performs a table lookup and returns a short modality identifier
158  *  that can be used for building file names etc.
159  *  Identifiers are defined for all storage SOP classes.
160  *  Returns 'defaultValue' if no modality identifier found or sopClassUID==NULL.
161  *  @param sopClassUID UID string
162  *  @param defaultValue default to return if UID not known
163  *  @return modality string for modality UID, or defaultValue if not found
164  */
165 DCMTK_DCMDATA_EXPORT const char *dcmSOPClassUIDToModality(const char *sopClassUID, const char *defaultValue = NULL);
166 
167 /** performs a table lookup and returns a guessed average
168  *  file size for the given SOP class.
169  *  Average sizes are defined for all storage SOP classes, but may be very far off.
170  *  @param sopClassUID UID string
171  *  @return estimated average size for objects of this SOP class
172  */
173 DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID);
174 
175 /*
176 ** String Constants
177 */
178 
179 /*
180 ** OFFIS UID is: 1.2.276.0.7230010
181 ** UID root for OFFIS DCMTK project:   1.2.276.0.7230010.3
182 **          for OFFIS GO-Kard project: 1.2.276.0.7230010.8
183 */
184 
185 #ifndef PACKAGE_DATE
186 #error Required compiler definition PACKAGE_DATE undefined
187 #endif
188 #ifndef PACKAGE_VERSION
189 #error Required compiler definition PACKAGE_VERSION undefined
190 #endif
191 #ifndef PACKAGE_VERSION_NUMBER
192 #error Required compiler definition PACKAGE_VERSION_NUMBER undefined
193 #endif
194 
195 // helper macros for version number conversion
196 
197 #define PACKAGE_VERSION_NUMBER_TO_STRING_( x ) #x
198 #define PACKAGE_VERSION_NUMBER_TO_STRING( x ) PACKAGE_VERSION_NUMBER_TO_STRING_( x )
199 
200 /* NOTE: Implementation version name VR=SH may not be longer than 16 chars
201  *       The second name is used to identify files written without dcmdata
202  *       (i.e. using the --bit-preserving switch in various tools)
203  */
204 
205 /// implementation version name for this version of the toolkit
206 #define OFFIS_DTK_IMPLEMENTATION_VERSION_NAME   "OFFIS_DCMTK_" PACKAGE_VERSION_NUMBER_TO_STRING(PACKAGE_VERSION_NUMBER)
207 
208 /// implementation version name for this version of the toolkit, used for files received in "bit preserving" mode
209 #define OFFIS_DTK_IMPLEMENTATION_VERSION_NAME2  "OFFIS_DCMBP_" PACKAGE_VERSION_NUMBER_TO_STRING(PACKAGE_VERSION_NUMBER)
210 
211 /// release date of current toolkit release
212 #ifdef DCMTK_BUILD_DATE
213 #define OFFIS_DCMTK_RELEASEDATE                 DCMTK_BUILD_DATE
214 #else
215 #define OFFIS_DCMTK_RELEASEDATE                 PACKAGE_DATE
216 #endif
217 
218 /// UID root for DCMTK, registered for OFFIS with DIN in Germany
219 #define OFFIS_UID_ROOT                          "1.2.276.0.7230010.3"
220 
221 /// DCMTK version number for this release
222 #define OFFIS_DCMTK_VERSION_NUMBER              PACKAGE_VERSION_NUMBER
223 
224 /// DCMTK version number (as string) for this release
225 #define OFFIS_DCMTK_VERSION_STRING              PACKAGE_VERSION
226 
227 /// DCMTK version number suffix string for this release
228 #define OFFIS_DCMTK_VERSION_SUFFIX              PACKAGE_VERSION_SUFFIX
229 
230 /// DCMTK version number string including suffix
231 #define OFFIS_DCMTK_VERSION                     OFFIS_DCMTK_VERSION_STRING OFFIS_DCMTK_VERSION_SUFFIX
232 
233 /// Implementation class UID for this release of the toolkit
234 #define OFFIS_IMPLEMENTATION_CLASS_UID          OFFIS_UID_ROOT ".0." OFFIS_DCMTK_VERSION_STRING
235 
236 /// Instance creator UID for this release of the toolkit
237 #define OFFIS_INSTANCE_CREATOR_UID              OFFIS_IMPLEMENTATION_CLASS_UID
238 
239 /// private coding scheme UID root for coding schemes generated by OFFIS
240 #define OFFIS_CODING_SCHEME_UID_ROOT            OFFIS_UID_ROOT ".0.0"
241 
242 /// private coding scheme version for coding schemes generated by OFFIS
243 #define OFFIS_CODING_SCHEME_VERSION             "1"
244 
245 /// private coding scheme UID for coding schemes generated by OFFIS
246 #define OFFIS_CODING_SCHEME_UID                 OFFIS_CODING_SCHEME_UID_ROOT "." OFFIS_CODING_SCHEME_VERSION
247 
248 /*
249 ** Each site should define its own SITE_UID_ROOT
250 */
251 #ifndef SITE_UID_ROOT
252 /// UID root to be used when generating UIDs. By default uses the DCMTK root, but can be replaced at compile time.
253 #define SITE_UID_ROOT                           OFFIS_UID_ROOT  /* default */
254 #endif
255 
256 /*
257 ** Useful UID prefixes. These can be whatever you want.
258 **
259 ** These site UIDs are arbitrary, non-standard, with no meaning
260 ** and can be changed at any time.  Do _not_ rely on these values.
261 ** Do _not_ assume any semantics when using these suffixes.
262 **
263 */
264 
265 /// UID root for study instance UIDs
266 #define SITE_STUDY_UID_ROOT                     SITE_UID_ROOT ".1.2"
267 
268 /// UID root for series instance UIDs
269 #define SITE_SERIES_UID_ROOT                    SITE_UID_ROOT ".1.3"
270 
271 /// UID root for SOP instance UIDs
272 #define SITE_INSTANCE_UID_ROOT                  SITE_UID_ROOT ".1.4"
273 
274 /** A private SOP Class UID which is used in a file meta-header when no
275  *  instance of a Storage SOP Class is stored in the file. -- NON-STANDARD
276  */
277 #define UID_PrivateGenericFileSOPClass          SITE_UID_ROOT ".1.0.1"
278 
279 /// DICOM Defined Standard Application Context UID
280 #define UID_StandardApplicationContext          "1.2.840.10008.3.1.1.1"
281 
282 /*
283 ** Defined Transfer Syntax UIDs
284 */
285 
286 /// Implicit VR Little Endian: Default Transfer Syntax for DICOM
287 #define UID_LittleEndianImplicitTransferSyntax  "1.2.840.10008.1.2"
288 /// Explicit VR Little Endian
289 #define UID_LittleEndianExplicitTransferSyntax  "1.2.840.10008.1.2.1"
290 /// Explicit VR Big Endian - RETIRED
291 #define UID_BigEndianExplicitTransferSyntax     "1.2.840.10008.1.2.2"
292 /// Deflated Explicit VR Little Endian
293 #define UID_DeflatedExplicitVRLittleEndianTransferSyntax "1.2.840.10008.1.2.1.99"
294 /** JPEG Baseline (Process 1): Default Transfer Syntax
295  *  for Lossy JPEG 8 Bit Image Compression
296  */
297 #define UID_JPEGProcess1TransferSyntax          "1.2.840.10008.1.2.4.50"
298 /** JPEG Extended (Process 2 & 4): Default Transfer Syntax
299  *  for Lossy JPEG 12 Bit Image Compression (Process 4 only)
300  */
301 #define UID_JPEGProcess2_4TransferSyntax        "1.2.840.10008.1.2.4.51"
302 /// JPEG Extended (Process 3 & 5) - RETIRED
303 #define UID_JPEGProcess3_5TransferSyntax        "1.2.840.10008.1.2.4.52"
304 /// JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8) - RETIRED
305 #define UID_JPEGProcess6_8TransferSyntax        "1.2.840.10008.1.2.4.53"
306 /// JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9) - RETIRED
307 #define UID_JPEGProcess7_9TransferSyntax        "1.2.840.10008.1.2.4.54"
308 /// JPEG Full Progression, Non-Hierarchical (Process 10 & 12) - RETIRED
309 #define UID_JPEGProcess10_12TransferSyntax      "1.2.840.10008.1.2.4.55"
310 /// JPEG Full Progression, Non-Hierarchical (Process 11 & 13) - RETIRED
311 #define UID_JPEGProcess11_13TransferSyntax      "1.2.840.10008.1.2.4.56"
312 /// JPEG Lossless, Non-Hierarchical (Process 14)
313 #define UID_JPEGProcess14TransferSyntax         "1.2.840.10008.1.2.4.57"
314 /// JPEG Lossless, Non-Hierarchical (Process 15) - RETIRED
315 #define UID_JPEGProcess15TransferSyntax         "1.2.840.10008.1.2.4.58"
316 /// JPEG Extended, Hierarchical (Process 16 & 18) - RETIRED
317 #define UID_JPEGProcess16_18TransferSyntax      "1.2.840.10008.1.2.4.59"
318 /// JPEG Extended, Hierarchical (Process 17 & 19) - RETIRED
319 #define UID_JPEGProcess17_19TransferSyntax      "1.2.840.10008.1.2.4.60"
320 /// JPEG Spectral Selection, Hierarchical (Process 20 & 22) - RETIRED
321 #define UID_JPEGProcess20_22TransferSyntax      "1.2.840.10008.1.2.4.61"
322 /// JPEG Spectral Selection, Hierarchical (Process 21 & 23) - RETIRED
323 #define UID_JPEGProcess21_23TransferSyntax      "1.2.840.10008.1.2.4.62"
324 /// JPEG Full Progression, Hierarchical (Process 24 & 26) - RETIRED
325 #define UID_JPEGProcess24_26TransferSyntax      "1.2.840.10008.1.2.4.63"
326 /// JPEG Full Progression, Hierarchical (Process 25 & 27) - RETIRED
327 #define UID_JPEGProcess25_27TransferSyntax      "1.2.840.10008.1.2.4.64"
328 /// JPEG Lossless, Hierarchical (Process 28) - RETIRED
329 #define UID_JPEGProcess28TransferSyntax         "1.2.840.10008.1.2.4.65"
330 /// JPEG Lossless, Hierarchical (Process 29) - RETIRED
331 #define UID_JPEGProcess29TransferSyntax         "1.2.840.10008.1.2.4.66"
332 /** JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14
333  *  [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression
334  */
335 #define UID_JPEGProcess14SV1TransferSyntax      "1.2.840.10008.1.2.4.70"
336 /// JPEG-LS Lossless Image Compression
337 #define UID_JPEGLSLosslessTransferSyntax        "1.2.840.10008.1.2.4.80"
338 /// JPEG-LS Lossy (Near-Lossless) Image Compression
339 #define UID_JPEGLSLossyTransferSyntax           "1.2.840.10008.1.2.4.81"
340 /// JPEG 2000 Image Compression (Lossless Only)
341 #define UID_JPEG2000LosslessOnlyTransferSyntax  "1.2.840.10008.1.2.4.90"
342 /// JPEG 2000 Image Compression (Lossless or Lossy)
343 #define UID_JPEG2000TransferSyntax              "1.2.840.10008.1.2.4.91"
344 /// JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only)
345 #define UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.92"
346 /// JPEG 2000 Part 2 Multi-component Image Compression (Lossless or Lossy)
347 #define UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax "1.2.840.10008.1.2.4.93"
348 /// JPIP Referenced
349 #define UID_JPIPReferencedTransferSyntax        "1.2.840.10008.1.2.4.94"
350 /// JPIP Referenced Deflate
351 #define UID_JPIPReferencedDeflateTransferSyntax "1.2.840.10008.1.2.4.95"
352 /// MPEG2 Main Profile @ Main Level (changed with DICOM 2016e to: MPEG2 Main Profile / Main Level)
353 #define UID_MPEG2MainProfileAtMainLevelTransferSyntax "1.2.840.10008.1.2.4.100"
354 /// MPEG2 Main Profile @ High Level (changed with DICOM 2016e to: MPEG2 Main Profile / High Level)
355 #define UID_MPEG2MainProfileAtHighLevelTransferSyntax "1.2.840.10008.1.2.4.101"
356 /// MPEG-4 AVC/H.264 High Profile / Level 4.1
357 #define UID_MPEG4HighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.102"
358 /// MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1
359 #define UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax "1.2.840.10008.1.2.4.103"
360 /// MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video
361 #define UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax "1.2.840.10008.1.2.4.104"
362 /// MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video
363 #define UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax "1.2.840.10008.1.2.4.105"
364 /// MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2
365 #define UID_MPEG4StereoHighProfileLevel4_2TransferSyntax "1.2.840.10008.1.2.4.106"
366 /// HEVC/H.265 Main Profile / Level 5.1
367 #define UID_HEVCMainProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.107"
368 /// HEVC/H.265 Main 10 Profile / Level 5.1
369 #define UID_HEVCMain10ProfileLevel5_1TransferSyntax "1.2.840.10008.1.2.4.108"
370 /// RLE Lossless
371 #define UID_RLELosslessTransferSyntax           "1.2.840.10008.1.2.5"
372 /// SMPTE ST 2110-20 Uncompressed Progressive Active Video
373 #define UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax "1.2.840.10008.1.2.7.1"
374 /// SMPTE ST 2110-20 Uncompressed Interlaced Active Video
375 #define UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax "1.2.840.10008.1.2.7.2"
376 /// SMPTE ST 2110-30 PCM Digital Audio
377 #define UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax "1.2.840.10008.1.2.7.3"
378 
379 /** RFC 2557 MIME Encapsulation (RETIRED) was only a pseudo transfer syntax used
380  *  to refer to MIME encapsulated HL7 CDA documents from a DICOMDIR when stored
381  *  on a DICOM storage medium. It was never used for network communication
382  *  or encoding of DICOM objects.
383  */
384 #define UID_RFC2557MIMEEncapsulationTransferSyntax "1.2.840.10008.1.2.6.1"
385 
386 /** XML Encoding (RETIRED) was only a pseudo transfer syntax used to refer to
387  *  encapsulated HL7 CDA documents from a DICOMDIR when stored on a DICOM storage
388  *  medium. It was never used for network communication or encoding of DICOM objects.
389  */
390 #define UID_XMLEncodingTransferSyntax "1.2.840.10008.1.2.6.2"
391 
392 /** Private transfer syntax defined by GE. This transfer syntax is identical to
393  *  Implicit VR Little Endian, except that Pixel Data are encoded in big endian.
394  */
395 #define UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax "1.2.840.113619.5.2"
396 
397 /*
398 ** Defined SOP Class UIDs according to DICOM standard
399 */
400 
401 // Storage (DICOM)
402 #define UID_RETIRED_StoredPrintStorage                             "1.2.840.10008.5.1.1.27"
403 #define UID_RETIRED_HardcopyGrayscaleImageStorage                  "1.2.840.10008.5.1.1.29"
404 #define UID_RETIRED_HardcopyColorImageStorage                      "1.2.840.10008.5.1.1.30"
405 #define UID_ComputedRadiographyImageStorage                        "1.2.840.10008.5.1.4.1.1.1"
406 #define UID_DigitalXRayImageStorageForPresentation                 "1.2.840.10008.5.1.4.1.1.1.1"
407 #define UID_DigitalXRayImageStorageForProcessing                   "1.2.840.10008.5.1.4.1.1.1.1.1"
408 #define UID_DigitalMammographyXRayImageStorageForPresentation      "1.2.840.10008.5.1.4.1.1.1.2"
409 #define UID_DigitalMammographyXRayImageStorageForProcessing        "1.2.840.10008.5.1.4.1.1.1.2.1"
410 #define UID_DigitalIntraOralXRayImageStorageForPresentation        "1.2.840.10008.5.1.4.1.1.1.3"
411 #define UID_DigitalIntraOralXRayImageStorageForProcessing          "1.2.840.10008.5.1.4.1.1.1.3.1"
412 #define UID_CTImageStorage                                         "1.2.840.10008.5.1.4.1.1.2"
413 #define UID_EnhancedCTImageStorage                                 "1.2.840.10008.5.1.4.1.1.2.1"
414 #define UID_LegacyConvertedEnhancedCTImageStorage                  "1.2.840.10008.5.1.4.1.1.2.2"
415 #define UID_RETIRED_UltrasoundMultiframeImageStorage               "1.2.840.10008.5.1.4.1.1.3"
416 #define UID_UltrasoundMultiframeImageStorage                       "1.2.840.10008.5.1.4.1.1.3.1"
417 #define UID_MRImageStorage                                         "1.2.840.10008.5.1.4.1.1.4"
418 #define UID_EnhancedMRImageStorage                                 "1.2.840.10008.5.1.4.1.1.4.1"
419 #define UID_MRSpectroscopyStorage                                  "1.2.840.10008.5.1.4.1.1.4.2"
420 #define UID_EnhancedMRColorImageStorage                            "1.2.840.10008.5.1.4.1.1.4.3"
421 #define UID_LegacyConvertedEnhancedMRImageStorage                  "1.2.840.10008.5.1.4.1.1.4.4"
422 #define UID_RETIRED_NuclearMedicineImageStorage                    "1.2.840.10008.5.1.4.1.1.5"
423 #define UID_RETIRED_UltrasoundImageStorage                         "1.2.840.10008.5.1.4.1.1.6"
424 #define UID_UltrasoundImageStorage                                 "1.2.840.10008.5.1.4.1.1.6.1"
425 #define UID_EnhancedUSVolumeStorage                                "1.2.840.10008.5.1.4.1.1.6.2"
426 #define UID_SecondaryCaptureImageStorage                           "1.2.840.10008.5.1.4.1.1.7"
427 #define UID_MultiframeSingleBitSecondaryCaptureImageStorage        "1.2.840.10008.5.1.4.1.1.7.1"
428 #define UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage    "1.2.840.10008.5.1.4.1.1.7.2"
429 #define UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage    "1.2.840.10008.5.1.4.1.1.7.3"
430 #define UID_MultiframeTrueColorSecondaryCaptureImageStorage        "1.2.840.10008.5.1.4.1.1.7.4"
431 #define UID_RETIRED_StandaloneOverlayStorage                       "1.2.840.10008.5.1.4.1.1.8"
432 #define UID_RETIRED_StandaloneCurveStorage                         "1.2.840.10008.5.1.4.1.1.9"
433 #define UID_TwelveLeadECGWaveformStorage                           "1.2.840.10008.5.1.4.1.1.9.1.1"
434 #define UID_GeneralECGWaveformStorage                              "1.2.840.10008.5.1.4.1.1.9.1.2"
435 #define UID_AmbulatoryECGWaveformStorage                           "1.2.840.10008.5.1.4.1.1.9.1.3"
436 #define UID_HemodynamicWaveformStorage                             "1.2.840.10008.5.1.4.1.1.9.2.1"
437 #define UID_CardiacElectrophysiologyWaveformStorage                "1.2.840.10008.5.1.4.1.1.9.3.1"
438 #define UID_BasicVoiceAudioWaveformStorage                         "1.2.840.10008.5.1.4.1.1.9.4.1"
439 #define UID_GeneralAudioWaveformStorage                            "1.2.840.10008.5.1.4.1.1.9.4.2"
440 #define UID_ArterialPulseWaveformStorage                           "1.2.840.10008.5.1.4.1.1.9.5.1"
441 #define UID_RespiratoryWaveformStorage                             "1.2.840.10008.5.1.4.1.1.9.6.1"
442 #define UID_MultichannelRespiratoryWaveformStorage                 "1.2.840.10008.5.1.4.1.1.9.6.2"
443 #define UID_RoutineScalpElectroencephalogramWaveformStorage        "1.2.840.10008.5.1.4.1.1.9.7.1"
444 #define UID_ElectromyogramWaveformStorage                          "1.2.840.10008.5.1.4.1.1.9.7.2"
445 #define UID_ElectrooculogramWaveformStorage                        "1.2.840.10008.5.1.4.1.1.9.7.3"
446 #define UID_SleepElectroencephalogramWaveformStorage               "1.2.840.10008.5.1.4.1.1.9.7.4"
447 #define UID_BodyPositionWaveformStorage                            "1.2.840.10008.5.1.4.1.1.9.8.1"
448 #define UID_RETIRED_StandaloneModalityLUTStorage                   "1.2.840.10008.5.1.4.1.1.10"
449 #define UID_RETIRED_StandaloneVOILUTStorage                        "1.2.840.10008.5.1.4.1.1.11"
450 #define UID_GrayscaleSoftcopyPresentationStateStorage              "1.2.840.10008.5.1.4.1.1.11.1"
451 #define UID_ColorSoftcopyPresentationStateStorage                  "1.2.840.10008.5.1.4.1.1.11.2"
452 #define UID_PseudoColorSoftcopyPresentationStateStorage            "1.2.840.10008.5.1.4.1.1.11.3"
453 #define UID_BlendingSoftcopyPresentationStateStorage               "1.2.840.10008.5.1.4.1.1.11.4"
454 #define UID_XAXRFGrayscaleSoftcopyPresentationStateStorage         "1.2.840.10008.5.1.4.1.1.11.5"
455 #define UID_GrayscalePlanarMPRVolumetricPresentationStateStorage   "1.2.840.10008.5.1.4.1.1.11.6"
456 #define UID_CompositingPlanarMPRVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.7"
457 #define UID_AdvancedBlendingPresentationStateStorage               "1.2.840.10008.5.1.4.1.1.11.8"
458 #define UID_VolumeRenderingVolumetricPresentationStateStorage      "1.2.840.10008.5.1.4.1.1.11.9"
459 #define UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.10"
460 #define UID_MultipleVolumeRenderingVolumetricPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.11"
461 #define UID_XRayAngiographicImageStorage                           "1.2.840.10008.5.1.4.1.1.12.1"
462 #define UID_EnhancedXAImageStorage                                 "1.2.840.10008.5.1.4.1.1.12.1.1"
463 #define UID_XRayRadiofluoroscopicImageStorage                      "1.2.840.10008.5.1.4.1.1.12.2"
464 #define UID_EnhancedXRFImageStorage                                "1.2.840.10008.5.1.4.1.1.12.2.1"
465 #define UID_RETIRED_XRayAngiographicBiPlaneImageStorage            "1.2.840.10008.5.1.4.1.1.12.3"
466 #define UID_XRay3DAngiographicImageStorage                         "1.2.840.10008.5.1.4.1.1.13.1.1"
467 #define UID_XRay3DCraniofacialImageStorage                         "1.2.840.10008.5.1.4.1.1.13.1.2"
468 #define UID_BreastTomosynthesisImageStorage                        "1.2.840.10008.5.1.4.1.1.13.1.3"
469 #define UID_BreastProjectionXRayImageStorageForPresentation        "1.2.840.10008.5.1.4.1.1.13.1.4"
470 #define UID_BreastProjectionXRayImageStorageForProcessing          "1.2.840.10008.5.1.4.1.1.13.1.5"
471 #define UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.14.1"
472 #define UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.14.2"
473 #define UID_NuclearMedicineImageStorage                            "1.2.840.10008.5.1.4.1.1.20"
474 #define UID_ParametricMapStorage                                   "1.2.840.10008.5.1.4.1.1.30"
475 #define UID_RawDataStorage                                         "1.2.840.10008.5.1.4.1.1.66"
476 #define UID_SpatialRegistrationStorage                             "1.2.840.10008.5.1.4.1.1.66.1"
477 #define UID_SpatialFiducialsStorage                                "1.2.840.10008.5.1.4.1.1.66.2"
478 #define UID_DeformableSpatialRegistrationStorage                   "1.2.840.10008.5.1.4.1.1.66.3"
479 #define UID_SegmentationStorage                                    "1.2.840.10008.5.1.4.1.1.66.4"
480 #define UID_SurfaceSegmentationStorage                             "1.2.840.10008.5.1.4.1.1.66.5"
481 #define UID_TractographyResultsStorage                             "1.2.840.10008.5.1.4.1.1.66.6"
482 #define UID_RealWorldValueMappingStorage                           "1.2.840.10008.5.1.4.1.1.67"
483 #define UID_SurfaceScanMeshStorage                                 "1.2.840.10008.5.1.4.1.1.68.1"
484 #define UID_SurfaceScanPointCloudStorage                           "1.2.840.10008.5.1.4.1.1.68.2"
485 #define UID_RETIRED_VLImageStorage                                 "1.2.840.10008.5.1.4.1.1.77.1"
486 #define UID_VLEndoscopicImageStorage                               "1.2.840.10008.5.1.4.1.1.77.1.1"
487 #define UID_VideoEndoscopicImageStorage                            "1.2.840.10008.5.1.4.1.1.77.1.1.1"
488 #define UID_VLMicroscopicImageStorage                              "1.2.840.10008.5.1.4.1.1.77.1.2"
489 #define UID_VideoMicroscopicImageStorage                           "1.2.840.10008.5.1.4.1.1.77.1.2.1"
490 #define UID_VLSlideCoordinatesMicroscopicImageStorage              "1.2.840.10008.5.1.4.1.1.77.1.3"
491 #define UID_VLPhotographicImageStorage                             "1.2.840.10008.5.1.4.1.1.77.1.4"
492 #define UID_VideoPhotographicImageStorage                          "1.2.840.10008.5.1.4.1.1.77.1.4.1"
493 #define UID_OphthalmicPhotography8BitImageStorage                  "1.2.840.10008.5.1.4.1.1.77.1.5.1"
494 #define UID_OphthalmicPhotography16BitImageStorage                 "1.2.840.10008.5.1.4.1.1.77.1.5.2"
495 #define UID_StereometricRelationshipStorage                        "1.2.840.10008.5.1.4.1.1.77.1.5.3"
496 #define UID_OphthalmicTomographyImageStorage                       "1.2.840.10008.5.1.4.1.1.77.1.5.4"
497 #define UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.5"
498 #define UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.6"
499 #define UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage "1.2.840.10008.5.1.4.1.1.77.1.5.7"
500 #define UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage "1.2.840.10008.5.1.4.1.1.77.1.5.8"
501 #define UID_VLWholeSlideMicroscopyImageStorage                     "1.2.840.10008.5.1.4.1.1.77.1.6"
502 #define UID_DermoscopicPhotographyImageStorage                     "1.2.840.10008.5.1.4.1.1.77.1.7"
503 #define UID_RETIRED_VLMultiframeImageStorage                       "1.2.840.10008.5.1.4.1.1.77.2"
504 #define UID_LensometryMeasurementsStorage                          "1.2.840.10008.5.1.4.1.1.78.1"
505 #define UID_AutorefractionMeasurementsStorage                      "1.2.840.10008.5.1.4.1.1.78.2"
506 #define UID_KeratometryMeasurementsStorage                         "1.2.840.10008.5.1.4.1.1.78.3"
507 #define UID_SubjectiveRefractionMeasurementsStorage                "1.2.840.10008.5.1.4.1.1.78.4"
508 #define UID_VisualAcuityMeasurementsStorage                        "1.2.840.10008.5.1.4.1.1.78.5"
509 #define UID_SpectaclePrescriptionReportStorage                     "1.2.840.10008.5.1.4.1.1.78.6"
510 #define UID_OphthalmicAxialMeasurementsStorage                     "1.2.840.10008.5.1.4.1.1.78.7"
511 #define UID_IntraocularLensCalculationsStorage                     "1.2.840.10008.5.1.4.1.1.78.8"
512 #define UID_MacularGridThicknessAndVolumeReportStorage             "1.2.840.10008.5.1.4.1.1.79.1"
513 #define UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage "1.2.840.10008.5.1.4.1.1.80.1"
514 #define UID_OphthalmicThicknessMapStorage                          "1.2.840.10008.5.1.4.1.1.81.1"
515 #define UID_CornealTopographyMapStorage                            "1.2.840.10008.5.1.4.1.1.82.1"
516 #define UID_BasicTextSRStorage                                     "1.2.840.10008.5.1.4.1.1.88.11"
517 #define UID_EnhancedSRStorage                                      "1.2.840.10008.5.1.4.1.1.88.22"
518 #define UID_ComprehensiveSRStorage                                 "1.2.840.10008.5.1.4.1.1.88.33"
519 #define UID_Comprehensive3DSRStorage                               "1.2.840.10008.5.1.4.1.1.88.34"
520 #define UID_ExtensibleSRStorage                                    "1.2.840.10008.5.1.4.1.1.88.35"
521 #define UID_ProcedureLogStorage                                    "1.2.840.10008.5.1.4.1.1.88.40"
522 #define UID_MammographyCADSRStorage                                "1.2.840.10008.5.1.4.1.1.88.50"
523 #define UID_KeyObjectSelectionDocumentStorage                      "1.2.840.10008.5.1.4.1.1.88.59"
524 #define UID_ChestCADSRStorage                                      "1.2.840.10008.5.1.4.1.1.88.65"
525 #define UID_XRayRadiationDoseSRStorage                             "1.2.840.10008.5.1.4.1.1.88.67"
526 #define UID_RadiopharmaceuticalRadiationDoseSRStorage              "1.2.840.10008.5.1.4.1.1.88.68"
527 #define UID_ColonCADSRStorage                                      "1.2.840.10008.5.1.4.1.1.88.69"
528 #define UID_ImplantationPlanSRDocumentStorage                      "1.2.840.10008.5.1.4.1.1.88.70"
529 #define UID_AcquisitionContextSRStorage                            "1.2.840.10008.5.1.4.1.1.88.71"
530 #define UID_SimplifiedAdultEchoSRStorage                           "1.2.840.10008.5.1.4.1.1.88.72"
531 #define UID_PatientRadiationDoseSRStorage                          "1.2.840.10008.5.1.4.1.1.88.73"
532 #define UID_PlannedImagingAgentAdministrationSRStorage             "1.2.840.10008.5.1.4.1.1.88.74"
533 #define UID_PerformedImagingAgentAdministrationSRStorage           "1.2.840.10008.5.1.4.1.1.88.75"
534 #define UID_ContentAssessmentResultsStorage                        "1.2.840.10008.5.1.4.1.1.90.1"
535 #define UID_EncapsulatedPDFStorage                                 "1.2.840.10008.5.1.4.1.1.104.1"
536 #define UID_EncapsulatedCDAStorage                                 "1.2.840.10008.5.1.4.1.1.104.2"
537 #define UID_EncapsulatedSTLStorage                                 "1.2.840.10008.5.1.4.1.1.104.3"
538 #define UID_EncapsulatedOBJStorage                                 "1.2.840.10008.5.1.4.1.1.104.4"
539 #define UID_EncapsulatedMTLStorage                                 "1.2.840.10008.5.1.4.1.1.104.5"
540 #define UID_PositronEmissionTomographyImageStorage                 "1.2.840.10008.5.1.4.1.1.128"
541 #define UID_LegacyConvertedEnhancedPETImageStorage                 "1.2.840.10008.5.1.4.1.1.128.1"
542 #define UID_RETIRED_StandalonePETCurveStorage                      "1.2.840.10008.5.1.4.1.1.129"
543 #define UID_EnhancedPETImageStorage                                "1.2.840.10008.5.1.4.1.1.130"
544 #define UID_BasicStructuredDisplayStorage                          "1.2.840.10008.5.1.4.1.1.131"
545 #define UID_CTDefinedProcedureProtocolStorage                      "1.2.840.10008.5.1.4.1.1.200.1"
546 #define UID_CTPerformedProcedureProtocolStorage                    "1.2.840.10008.5.1.4.1.1.200.2"
547 #define UID_ProtocolApprovalStorage                                "1.2.840.10008.5.1.4.1.1.200.3"
548 #define UID_RTImageStorage                                         "1.2.840.10008.5.1.4.1.1.481.1"
549 #define UID_RTDoseStorage                                          "1.2.840.10008.5.1.4.1.1.481.2"
550 #define UID_RTStructureSetStorage                                  "1.2.840.10008.5.1.4.1.1.481.3"
551 #define UID_RTBeamsTreatmentRecordStorage                          "1.2.840.10008.5.1.4.1.1.481.4"
552 #define UID_RTPlanStorage                                          "1.2.840.10008.5.1.4.1.1.481.5"
553 #define UID_RTBrachyTreatmentRecordStorage                         "1.2.840.10008.5.1.4.1.1.481.6"
554 #define UID_RTTreatmentSummaryRecordStorage                        "1.2.840.10008.5.1.4.1.1.481.7"
555 #define UID_RTIonPlanStorage                                       "1.2.840.10008.5.1.4.1.1.481.8"
556 #define UID_RTIonBeamsTreatmentRecordStorage                       "1.2.840.10008.5.1.4.1.1.481.9"
557 #define UID_RTPhysicianIntentStorage                               "1.2.840.10008.5.1.4.1.1.481.10"
558 #define UID_RTSegmentAnnotationStorage                             "1.2.840.10008.5.1.4.1.1.481.11"
559 #define UID_RTRadiationSetStorage                                  "1.2.840.10008.5.1.4.1.1.481.12"
560 #define UID_CArmPhotonElectronRadiationStorage                     "1.2.840.10008.5.1.4.1.1.481.13"
561 #define UID_TomotherapeuticRadiationStorage                        "1.2.840.10008.5.1.4.1.1.481.14"
562 #define UID_RoboticArmRadiationStorage                             "1.2.840.10008.5.1.4.1.1.481.15"
563 #define UID_RTRadiationRecordSetStorage                            "1.2.840.10008.5.1.4.1.1.481.16"
564 #define UID_RTRadiationSalvageRecordStorage                        "1.2.840.10008.5.1.4.1.1.481.17"
565 #define UID_TomotherapeuticRadiationRecordStorage                  "1.2.840.10008.5.1.4.1.1.481.18"
566 #define UID_CArmPhotonElectronRadiationRecordStorage               "1.2.840.10008.5.1.4.1.1.481.19"
567 #define UID_RoboticRadiationRecordStorage                          "1.2.840.10008.5.1.4.1.1.481.20"
568 #define UID_RTBeamsDeliveryInstructionStorage                      "1.2.840.10008.5.1.4.34.7"
569 #define UID_RTBrachyApplicationSetupDeliveryInstructionStorage     "1.2.840.10008.5.1.4.34.10"
570 #define UID_HangingProtocolStorage                                 "1.2.840.10008.5.1.4.38.1"
571 #define UID_GenericImplantTemplateStorage                          "1.2.840.10008.5.1.4.43.1"
572 #define UID_ImplantAssemblyTemplateStorage                         "1.2.840.10008.5.1.4.44.1"
573 #define UID_ImplantTemplateGroupStorage                            "1.2.840.10008.5.1.4.45.1"
574 
575 // DICOMDIR (was UID_BasicDirectoryStorageSOPClass in DCMTK versions prior to 3.5.3)
576 #define UID_MediaStorageDirectoryStorage                           "1.2.840.10008.1.3.10"
577 
578 // DICOS Storage
579 #define UID_DICOS_CTImageStorage                                   "1.2.840.10008.5.1.4.1.1.501.1"
580 #define UID_DICOS_DigitalXRayImageStorageForPresentation           "1.2.840.10008.5.1.4.1.1.501.2.1"
581 #define UID_DICOS_DigitalXRayImageStorageForProcessing             "1.2.840.10008.5.1.4.1.1.501.2.2"
582 #define UID_DICOS_ThreatDetectionReportStorage                     "1.2.840.10008.5.1.4.1.1.501.3"
583 #define UID_DICOS_2DAITStorage                                     "1.2.840.10008.5.1.4.1.1.501.4"
584 #define UID_DICOS_3DAITStorage                                     "1.2.840.10008.5.1.4.1.1.501.5"
585 #define UID_DICOS_QuadrupoleResonanceStorage                       "1.2.840.10008.5.1.4.1.1.501.6"
586 
587 // DICONDE Storage
588 #define UID_DICONDE_EddyCurrentImageStorage                        "1.2.840.10008.5.1.4.1.1.601.1"
589 #define UID_DICONDE_EddyCurrentMultiframeImageStorage              "1.2.840.10008.5.1.4.1.1.601.2"
590 
591 // Query/Retrieve
592 #define UID_FINDPatientRootQueryRetrieveInformationModel           "1.2.840.10008.5.1.4.1.2.1.1"
593 #define UID_MOVEPatientRootQueryRetrieveInformationModel           "1.2.840.10008.5.1.4.1.2.1.2"
594 #define UID_GETPatientRootQueryRetrieveInformationModel            "1.2.840.10008.5.1.4.1.2.1.3"
595 #define UID_FINDStudyRootQueryRetrieveInformationModel             "1.2.840.10008.5.1.4.1.2.2.1"
596 #define UID_MOVEStudyRootQueryRetrieveInformationModel             "1.2.840.10008.5.1.4.1.2.2.2"
597 #define UID_GETStudyRootQueryRetrieveInformationModel              "1.2.840.10008.5.1.4.1.2.2.3"
598 #define UID_RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.1"
599 #define UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.2"
600 #define UID_RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel  "1.2.840.10008.5.1.4.1.2.3.3"
601 #define UID_MOVECompositeInstanceRootRetrieve                      "1.2.840.10008.5.1.4.1.2.4.2"
602 #define UID_GETCompositeInstanceRootRetrieve                       "1.2.840.10008.5.1.4.1.2.4.3"
603 #define UID_GETCompositeInstanceRetrieveWithoutBulkData            "1.2.840.10008.5.1.4.1.2.5.3"
604 
605 // Modality Worklist
606 #define UID_FINDModalityWorklistInformationModel                   "1.2.840.10008.5.1.4.31"
607 
608 // General Purpose Worklist
609 #define UID_RETIRED_FINDGeneralPurposeWorklistInformationModel     "1.2.840.10008.5.1.4.32.1"
610 #define UID_RETIRED_GeneralPurposeScheduledProcedureStepSOPClass   "1.2.840.10008.5.1.4.32.2"
611 #define UID_RETIRED_GeneralPurposePerformedProcedureStepSOPClass   "1.2.840.10008.5.1.4.32.3"
612 #define UID_RETIRED_GeneralPurposeWorklistManagementMetaSOPClass   "1.2.840.10008.5.1.4.32"
613 
614 // MPPS
615 #define UID_ModalityPerformedProcedureStepSOPClass                 "1.2.840.10008.3.1.2.3.3"
616 #define UID_ModalityPerformedProcedureStepRetrieveSOPClass         "1.2.840.10008.3.1.2.3.4"
617 #define UID_ModalityPerformedProcedureStepNotificationSOPClass     "1.2.840.10008.3.1.2.3.5"
618 
619 // Radiotherapy
620 #define UID_RTConventionalMachineVerification                      "1.2.840.10008.5.1.4.34.8"
621 #define UID_RTIonMachineVerification                               "1.2.840.10008.5.1.4.34.9"
622 
623 // Unified Worklist and Procedure Step
624 #define UID_UnifiedWorklistAndProcedureStepServiceClass            "1.2.840.10008.5.1.4.34.6"
625 #define UID_UnifiedProcedureStepPushSOPClass                       "1.2.840.10008.5.1.4.34.6.1"
626 #define UID_UnifiedProcedureStepWatchSOPClass                      "1.2.840.10008.5.1.4.34.6.2"
627 #define UID_UnifiedProcedureStepPullSOPClass                       "1.2.840.10008.5.1.4.34.6.3"
628 #define UID_UnifiedProcedureStepEventSOPClass                      "1.2.840.10008.5.1.4.34.6.4"
629 #define UID_UnifiedProcedureStepQuerySOPClass                      "1.2.840.10008.5.1.4.34.6.5"
630 #define UID_UPSGlobalSubscriptionSOPInstance                       "1.2.840.10008.5.1.4.34.5"
631 #define UID_UPSFilteredGlobalSubscriptionSOPInstance               "1.2.840.10008.5.1.4.34.5.1"
632 
633 // Storage Commitment
634 #define UID_StorageCommitmentPushModelSOPClass                     "1.2.840.10008.1.20.1"
635 #define UID_StorageCommitmentPushModelSOPInstance                  "1.2.840.10008.1.20.1.1"
636 #define UID_RETIRED_StorageCommitmentPullModelSOPClass             "1.2.840.10008.1.20.2"
637 #define UID_RETIRED_StorageCommitmentPullModelSOPInstance          "1.2.840.10008.1.20.2.1"
638 
639 // Hanging Protocols
640 #define UID_FINDHangingProtocolInformationModel                    "1.2.840.10008.5.1.4.38.2"
641 #define UID_MOVEHangingProtocolInformationModel                    "1.2.840.10008.5.1.4.38.3"
642 
643 // Relevant Patient Information Query
644 #define UID_RelevantPatientInformationQuery_Prefix                 "1.2.840.10008.5.1.4.37."
645 #define UID_GeneralRelevantPatientInformationQuery                 "1.2.840.10008.5.1.4.37.1"
646 #define UID_BreastImagingRelevantPatientInformationQuery           "1.2.840.10008.5.1.4.37.2"
647 #define UID_CardiacRelevantPatientInformationQuery                 "1.2.840.10008.5.1.4.37.3"
648 
649 // Color Palette Storage and Query/Retrieve
650 #define UID_ColorPaletteStorage                                    "1.2.840.10008.5.1.4.39.1"
651 #define UID_FINDColorPaletteInformationModel                       "1.2.840.10008.5.1.4.39.2"
652 #define UID_MOVEColorPaletteInformationModel                       "1.2.840.10008.5.1.4.39.3"
653 #define UID_GETColorPaletteInformationModel                        "1.2.840.10008.5.1.4.39.4"
654 
655 // Implant Template Query/Retrieve
656 #define UID_FINDGenericImplantTemplateInformationModel             "1.2.840.10008.5.1.4.43.2"
657 #define UID_MOVEGenericImplantTemplateInformationModel             "1.2.840.10008.5.1.4.43.3"
658 #define UID_GETGenericImplantTemplateInformationModel              "1.2.840.10008.5.1.4.43.4"
659 #define UID_FINDImplantAssemblyTemplateInformationModel            "1.2.840.10008.5.1.4.44.2"
660 #define UID_MOVEImplantAssemblyTemplateInformationModel            "1.2.840.10008.5.1.4.44.3"
661 #define UID_GETImplantAssemblyTemplateInformationModel             "1.2.840.10008.5.1.4.44.4"
662 #define UID_FINDImplantTemplateGroupInformationModel               "1.2.840.10008.5.1.4.45.2"
663 #define UID_MOVEImplantTemplateGroupInformationModel               "1.2.840.10008.5.1.4.45.3"
664 #define UID_GETImplantTemplateGroupInformationModel                "1.2.840.10008.5.1.4.45.4"
665 
666 // Defined Procedure Protocol Query/Retrieve
667 #define UID_FINDDefinedProcedureProtocolInformationModel           "1.2.840.10008.5.1.4.20.1"
668 #define UID_MOVEDefinedProcedureProtocolInformationModel           "1.2.840.10008.5.1.4.20.2"
669 #define UID_GETDefinedProcedureProtocolInformationModel            "1.2.840.10008.5.1.4.20.3"
670 
671 // Protocol Approval Query/Retrieve
672 #define UID_FINDProtocolApprovalInformationModel                   "1.2.840.10008.5.1.4.1.1.200.4"
673 #define UID_MOVEProtocolApprovalInformationModel                   "1.2.840.10008.5.1.4.1.1.200.5"
674 #define UID_GETProtocolApprovalInformationModel                    "1.2.840.10008.5.1.4.1.1.200.6"
675 
676 // Print Management
677 #define UID_BasicFilmSessionSOPClass                               "1.2.840.10008.5.1.1.1"
678 #define UID_BasicFilmBoxSOPClass                                   "1.2.840.10008.5.1.1.2"
679 #define UID_BasicGrayscaleImageBoxSOPClass                         "1.2.840.10008.5.1.1.4"
680 #define UID_BasicColorImageBoxSOPClass                             "1.2.840.10008.5.1.1.4.1"
681 #define UID_RETIRED_ReferencedImageBoxSOPClass                     "1.2.840.10008.5.1.1.4.2"
682 #define UID_BasicGrayscalePrintManagementMetaSOPClass              "1.2.840.10008.5.1.1.9"
683 #define UID_RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass "1.2.840.10008.5.1.1.9.1"
684 #define UID_PrintJobSOPClass                                       "1.2.840.10008.5.1.1.14"
685 #define UID_BasicAnnotationBoxSOPClass                             "1.2.840.10008.5.1.1.15"
686 #define UID_PrinterSOPClass                                        "1.2.840.10008.5.1.1.16"
687 #define UID_PrinterConfigurationRetrievalSOPClass                  "1.2.840.10008.5.1.1.16.376"
688 #define UID_PrinterSOPInstance                                     "1.2.840.10008.5.1.1.17"
689 #define UID_PrinterConfigurationRetrievalSOPInstance               "1.2.840.10008.5.1.1.17.376"
690 #define UID_BasicColorPrintManagementMetaSOPClass                  "1.2.840.10008.5.1.1.18"
691 #define UID_RETIRED_ReferencedColorPrintManagementMetaSOPClass     "1.2.840.10008.5.1.1.18.1"
692 #define UID_VOILUTBoxSOPClass                                      "1.2.840.10008.5.1.1.22"
693 #define UID_PresentationLUTSOPClass                                "1.2.840.10008.5.1.1.23"
694 #define UID_RETIRED_ImageOverlayBoxSOPClass                        "1.2.840.10008.5.1.1.24"
695 #define UID_RETIRED_BasicPrintImageOverlayBoxSOPClass              "1.2.840.10008.5.1.1.24.1"
696 #define UID_RETIRED_PrintQueueSOPInstance                          "1.2.840.10008.5.1.1.25"
697 #define UID_RETIRED_PrintQueueManagementSOPClass                   "1.2.840.10008.5.1.1.26"
698 #define UID_RETIRED_PullPrintRequestSOPClass                       "1.2.840.10008.5.1.1.31"
699 #define UID_RETIRED_PullStoredPrintManagementMetaSOPClass          "1.2.840.10008.5.1.1.32"
700 
701 // Detached Management
702 #define UID_RETIRED_DetachedPatientManagementSOPClass              "1.2.840.10008.3.1.2.1.1"
703 #define UID_RETIRED_DetachedPatientManagementMetaSOPClass          "1.2.840.10008.3.1.2.1.4"
704 #define UID_RETIRED_DetachedVisitManagementSOPClass                "1.2.840.10008.3.1.2.2.1"
705 #define UID_RETIRED_DetachedStudyManagementSOPClass                "1.2.840.10008.3.1.2.3.1"
706 #define UID_RETIRED_DetachedResultsManagementSOPClass              "1.2.840.10008.3.1.2.5.1"
707 #define UID_RETIRED_DetachedResultsManagementMetaSOPClass          "1.2.840.10008.3.1.2.5.4"
708 #define UID_RETIRED_DetachedStudyManagementMetaSOPClass            "1.2.840.10008.3.1.2.5.5"
709 #define UID_RETIRED_DetachedInterpretationManagementSOPClass       "1.2.840.10008.3.1.2.6.1"
710 
711 // Procedure Log
712 #define UID_ProceduralEventLoggingSOPClass                         "1.2.840.10008.1.40"
713 #define UID_ProceduralEventLoggingSOPInstance                      "1.2.840.10008.1.40.1"
714 
715 // Substance Administration
716 #define UID_SubstanceAdministrationLoggingSOPClass                 "1.2.840.10008.1.42"
717 #define UID_SubstanceAdministrationLoggingSOPInstance              "1.2.840.10008.1.42.1"
718 #define UID_ProductCharacteristicsQuerySOPClass                    "1.2.840.10008.5.1.4.41"
719 #define UID_SubstanceApprovalQuerySOPClass                         "1.2.840.10008.5.1.4.42"
720 
721 // Media Creation
722 #define UID_MediaCreationManagementSOPClass                        "1.2.840.10008.5.1.1.33"
723 
724 // SOP Class Relationship Negotiation
725 #define UID_StorageServiceClass                                    "1.2.840.10008.4.2"
726 
727 // Instance Availability Notification
728 #define UID_InstanceAvailabilityNotificationSOPClass               "1.2.840.10008.5.1.4.33"
729 
730 // Application Hosting
731 #define UID_NativeDICOMModel                                       "1.2.840.10008.7.1.1"
732 #define UID_AbstractMultiDimensionalImageModel                     "1.2.840.10008.7.1.2"
733 
734 // Communication of Display Parameters
735 #define UID_DisplaySystemSOPClass                                  "1.2.840.10008.5.1.1.40"
736 #define UID_DisplaySystemSOPInstance                               "1.2.840.10008.5.1.1.40.1"
737 
738 // Real-Time Video
739 #define UID_VideoEndoscopicImageRealTimeCommunication              "1.2.840.10008.10.1"
740 #define UID_VideoPhotographicImageRealTimeCommunication            "1.2.840.10008.10.2"
741 #define UID_AudioWaveformRealTimeCommunication                     "1.2.840.10008.10.3"
742 #define UID_RenditionSelectionDocumentRealTimeCommunication        "1.2.840.10008.10.4"
743 
744 // Other
745 #define UID_VerificationSOPClass                                   "1.2.840.10008.1.1"
746 #define UID_RETIRED_BasicStudyContentNotificationSOPClass          "1.2.840.10008.1.9"
747 #define UID_RETIRED_StudyComponentManagementSOPClass               "1.2.840.10008.3.1.2.3.2"
748 
749 /*
750 ** All other UIDs according to DICOM standard
751 */
752 
753 // Mapping Resources
754 #define UID_DICOMContentMappingResource                            "1.2.840.10008.8.1.1"
755 
756 // Coding Schemes
757 #define UID_DICOMControlledTerminologyCodingScheme                 "1.2.840.10008.2.16.4"
758 #define UID_DICOMUIDRegistryCodingScheme                           "1.2.840.10008.2.6.1"
759 
760 // Configuration Management LDAP UIDs
761 #define UID_LDAP_dicomDeviceName                                   "1.2.840.10008.15.0.3.1"
762 #define UID_LDAP_dicomDescription                                  "1.2.840.10008.15.0.3.2"
763 #define UID_LDAP_dicomManufacturer                                 "1.2.840.10008.15.0.3.3"
764 #define UID_LDAP_dicomManufacturerModelName                        "1.2.840.10008.15.0.3.4"
765 #define UID_LDAP_dicomSoftwareVersion                              "1.2.840.10008.15.0.3.5"
766 #define UID_LDAP_dicomVendorData                                   "1.2.840.10008.15.0.3.6"
767 #define UID_LDAP_dicomAETitle                                      "1.2.840.10008.15.0.3.7"
768 #define UID_LDAP_dicomNetworkConnectionReference                   "1.2.840.10008.15.0.3.8"
769 #define UID_LDAP_dicomApplicationCluster                           "1.2.840.10008.15.0.3.9"
770 #define UID_LDAP_dicomAssociationInitiator                         "1.2.840.10008.15.0.3.10"
771 #define UID_LDAP_dicomAssociationAcceptor                          "1.2.840.10008.15.0.3.11"
772 #define UID_LDAP_dicomHostname                                     "1.2.840.10008.15.0.3.12"
773 #define UID_LDAP_dicomPort                                         "1.2.840.10008.15.0.3.13"
774 #define UID_LDAP_dicomSOPClass                                     "1.2.840.10008.15.0.3.14"
775 #define UID_LDAP_dicomTransferRole                                 "1.2.840.10008.15.0.3.15"
776 #define UID_LDAP_dicomTransferSyntax                               "1.2.840.10008.15.0.3.16"
777 #define UID_LDAP_dicomPrimaryDeviceType                            "1.2.840.10008.15.0.3.17"
778 #define UID_LDAP_dicomRelatedDeviceReference                       "1.2.840.10008.15.0.3.18"
779 #define UID_LDAP_dicomPreferredCalledAETitle                       "1.2.840.10008.15.0.3.19"
780 #define UID_LDAP_dicomTLSCyphersuite                               "1.2.840.10008.15.0.3.20"
781 #define UID_LDAP_dicomAuthorizedNodeCertificateReference           "1.2.840.10008.15.0.3.21"
782 #define UID_LDAP_dicomThisNodeCertificateReference                 "1.2.840.10008.15.0.3.22"
783 #define UID_LDAP_dicomInstalled                                    "1.2.840.10008.15.0.3.23"
784 #define UID_LDAP_dicomStationName                                  "1.2.840.10008.15.0.3.24"
785 #define UID_LDAP_dicomDeviceSerialNumber                           "1.2.840.10008.15.0.3.25"
786 #define UID_LDAP_dicomInstitutionName                              "1.2.840.10008.15.0.3.26"
787 #define UID_LDAP_dicomInstitutionAddress                           "1.2.840.10008.15.0.3.27"
788 #define UID_LDAP_dicomInstitutionDepartmentName                    "1.2.840.10008.15.0.3.28"
789 #define UID_LDAP_dicomIssuerOfPatientID                            "1.2.840.10008.15.0.3.29"
790 #define UID_LDAP_dicomPreferredCallingAETitle                      "1.2.840.10008.15.0.3.30"
791 #define UID_LDAP_dicomSupportedCharacterSet                        "1.2.840.10008.15.0.3.31"
792 #define UID_LDAP_dicomConfigurationRoot                            "1.2.840.10008.15.0.4.1"
793 #define UID_LDAP_dicomDevicesRoot                                  "1.2.840.10008.15.0.4.2"
794 #define UID_LDAP_dicomUniqueAETitlesRegistryRoot                   "1.2.840.10008.15.0.4.3"
795 #define UID_LDAP_dicomDevice                                       "1.2.840.10008.15.0.4.4"
796 #define UID_LDAP_dicomNetworkAE                                    "1.2.840.10008.15.0.4.5"
797 #define UID_LDAP_dicomNetworkConnection                            "1.2.840.10008.15.0.4.6"
798 #define UID_LDAP_dicomUniqueAETitle                                "1.2.840.10008.15.0.4.7"
799 #define UID_LDAP_dicomTransferCapability                           "1.2.840.10008.15.0.4.8"
800 
801 // UTC Synchronization Frame of Reference
802 #define UID_UniversalCoordinatedTimeSynchronizationFrameOfReference "1.2.840.10008.15.1.1"
803 
804 // Well-known Frame of References
805 #define UID_TalairachBrainAtlasFrameOfReference                    "1.2.840.10008.1.4.1.1"
806 #define UID_SPM2T1FrameOfReference                                 "1.2.840.10008.1.4.1.2"
807 #define UID_SPM2T2FrameOfReference                                 "1.2.840.10008.1.4.1.3"
808 #define UID_SPM2PDFrameOfReference                                 "1.2.840.10008.1.4.1.4"
809 #define UID_SPM2EPIFrameOfReference                                "1.2.840.10008.1.4.1.5"
810 #define UID_SPM2FILT1FrameOfReference                              "1.2.840.10008.1.4.1.6"
811 #define UID_SPM2PETFrameOfReference                                "1.2.840.10008.1.4.1.7"
812 #define UID_SPM2TRANSMFrameOfReference                             "1.2.840.10008.1.4.1.8"
813 #define UID_SPM2SPECTFrameOfReference                              "1.2.840.10008.1.4.1.9"
814 #define UID_SPM2GRAYFrameOfReference                               "1.2.840.10008.1.4.1.10"
815 #define UID_SPM2WHITEFrameOfReference                              "1.2.840.10008.1.4.1.11"
816 #define UID_SPM2CSFFrameOfReference                                "1.2.840.10008.1.4.1.12"
817 #define UID_SPM2BRAINMASKFrameOfReference                          "1.2.840.10008.1.4.1.13"
818 #define UID_SPM2AVG305T1FrameOfReference                           "1.2.840.10008.1.4.1.14"
819 #define UID_SPM2AVG152T1FrameOfReference                           "1.2.840.10008.1.4.1.15"
820 #define UID_SPM2AVG152T2FrameOfReference                           "1.2.840.10008.1.4.1.16"
821 #define UID_SPM2AVG152PDFrameOfReference                           "1.2.840.10008.1.4.1.17"
822 #define UID_SPM2SINGLESUBJT1FrameOfReference                       "1.2.840.10008.1.4.1.18"
823 #define UID_ICBM452T1FrameOfReference                              "1.2.840.10008.1.4.2.1"
824 #define UID_ICBMSingleSubjectMRIFrameOfReference                   "1.2.840.10008.1.4.2.2"
825 #define UID_IEC61217FixedCoordinateSystemFrameOfReference          "1.2.840.10008.1.4.3.1"
826 #define UID_StandardRoboticCoordinateSystemFrameOfReference        "1.2.840.10008.1.4.3.2"
827 #define UID_SRI24FrameOfReference                                  "1.2.840.10008.1.4.4.1"
828 #define UID_Colin27FrameOfReference                                "1.2.840.10008.1.4.5.1"
829 #define UID_LPBA40AIRFrameOfReference                              "1.2.840.10008.1.4.6.1"
830 #define UID_LPBA40FLIRTFrameOfReference                            "1.2.840.10008.1.4.6.2"
831 #define UID_LPBA40SPM5FrameOfReference                             "1.2.840.10008.1.4.6.3"
832 
833 // Well-known SOP Instances for Color Palettes
834 #define UID_HotIronColorPaletteSOPInstance                         "1.2.840.10008.1.5.1"
835 #define UID_PETColorPaletteSOPInstance                             "1.2.840.10008.1.5.2"
836 #define UID_HotMetalBlueColorPaletteSOPInstance                    "1.2.840.10008.1.5.3"
837 #define UID_PET20StepColorPaletteSOPInstance                       "1.2.840.10008.1.5.4"
838 #define UID_SpringColorPaletteSOPInstance                          "1.2.840.10008.1.5.5"
839 #define UID_SummerColorPaletteSOPInstance                          "1.2.840.10008.1.5.6"
840 #define UID_FallColorPaletteSOPInstance                            "1.2.840.10008.1.5.7"
841 #define UID_WinterColorPaletteSOPInstance                          "1.2.840.10008.1.5.8"
842 
843 /*
844 ** Private DCMTK UIDs
845 */
846 
847 // Private SOP Class UID used to shutdown external network applications
848 #define UID_PrivateShutdownSOPClass                                "1.2.276.0.7230010.3.4.1915765545.18030.917282194.0"
849 
850 
851 /* DRAFT SUPPLEMENTS - EXPERIMENTAL USE ONLY */
852 
853 /*
854  * The following UIDs were defined in "frozen draft for trial implementation" versions
855  * of various DICOM supplements and are or will be changed before final text.
856  * Since it is likely that trial implementations exist, we leave the UIDs in the dictionary.
857  */
858 
859 /* Supplement 23 Frozen Draft (November 1997) */
860 #define UID_DRAFT_SRTextStorage                                    "1.2.840.10008.5.1.4.1.1.88.1"
861 #define UID_DRAFT_SRAudioStorage                                   "1.2.840.10008.5.1.4.1.1.88.2"
862 #define UID_DRAFT_SRDetailStorage                                  "1.2.840.10008.5.1.4.1.1.88.3"
863 #define UID_DRAFT_SRComprehensiveStorage                           "1.2.840.10008.5.1.4.1.1.88.4"
864 
865 /* Supplement 30 Draft 08 for Demonstration (October 1997) */
866 #define UID_DRAFT_WaveformStorage                                  "1.2.840.10008.5.1.4.1.1.9.1"
867 
868 /* Supplement 74 Frozen Draft (October 2007) */
869 #define UID_DRAFT_RTBeamsDeliveryInstructionStorage                "1.2.840.10008.5.1.4.34.1"
870 #define UID_DRAFT_RTConventionalMachineVerification                "1.2.840.10008.5.1.4.34.2"
871 #define UID_DRAFT_RTIonMachineVerification                         "1.2.840.10008.5.1.4.34.3"
872 
873 // Supplement 96 Frozen Draft (October 2007), also part of DICOM 2008 and 2009
874 #define UID_DRAFT_UnifiedWorklistAndProcedureStepServiceClass      "1.2.840.10008.5.1.4.34.4"
875 #define UID_DRAFT_UnifiedProcedureStepPushSOPClass                 "1.2.840.10008.5.1.4.34.4.1"
876 #define UID_DRAFT_UnifiedProcedureStepWatchSOPClass                "1.2.840.10008.5.1.4.34.4.2"
877 #define UID_DRAFT_UnifiedProcedureStepPullSOPClass                 "1.2.840.10008.5.1.4.34.4.3"
878 #define UID_DRAFT_UnifiedProcedureStepEventSOPClass                "1.2.840.10008.5.1.4.34.4.4"
879 
880 #endif /* DCUID_H */
881