Created
          April 7, 2024 21:58 
        
      - 
      
- 
        Save bartlomieju/a00a74d32947eef6a0811483d8619a0e to your computer and use it in GitHub Desktop. 
    CJS analysis bug
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | /******/ (() => { // webpackBootstrap | |
| /******/ "use strict"; | |
| /******/ var __webpack_modules__ = ({ | |
| /***/ "./src/base.ts": | |
| /*!*********************!*\ | |
| !*** ./src/base.ts ***! | |
| \*********************/ | |
| /***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| var desc = Object.getOwnPropertyDescriptor(m, k); | |
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | |
| desc = { enumerable: true, get: function() { return m[k]; } }; | |
| } | |
| Object.defineProperty(o, k2, desc); | |
| }) : (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| o[k2] = m[k]; | |
| })); | |
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | |
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | |
| }) : function(o, v) { | |
| o["default"] = v; | |
| }); | |
| var __importStar = (this && this.__importStar) || function (mod) { | |
| if (mod && mod.__esModule) return mod; | |
| var result = {}; | |
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | |
| __setModuleDefault(result, mod); | |
| return result; | |
| }; | |
| var __importDefault = (this && this.__importDefault) || function (mod) { | |
| return (mod && mod.__esModule) ? mod : { "default": mod }; | |
| }; | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.tagToBytes = exports.tagToBytesLE = exports.tagToBytesBE = exports.intToBytes = exports.shortToBytes = exports.shortToBytesLE = exports.shortToBytesBE = exports.intToBytesLE = exports.intToBytesBE = exports.bytesToDouble = exports.bytesToDoubleLE = exports.bytesToDoubleBE = exports.bytesToFloat = exports.bytesToFloatLE = exports.bytesToFloatBE = exports.bytesToTag = exports.bytesToTagLE = exports.bytesToTagBE = exports.bytesToUInt = exports.bytesToUIntLE = exports.bytesToUIntBE = exports.bytesToInt = exports.bytesToIntLE = exports.bytesToIntBE = exports.bytesToVR = exports.bytesToUShort = exports.bytesToUShortLE = exports.bytesToUShortBE = exports.bytesToShort = exports.bytesToShortLE = exports.bytesToShortBE = exports.elementNumber = exports.groupNumber = exports.shiftLeftUnsigned = exports.toInt32 = exports.toUInt32 = exports.emptyBuffer = exports.multiValueDelimiter = exports.randomUID = exports.nameBasedUID = exports.toUID = exports.hexToDec = exports.concatArrays = exports.prependToArray = exports.appendToArray = exports.flatten = exports.concatv = exports.concat = exports.zero4Bytes = exports.indeterminateLength = void 0; | |
| exports.pipe = exports.createNameBasedUIDFromRoot = exports.createNameBasedUID = exports.createUIDFromRoot = exports.createUID = exports.defaultCharacterSet = exports.systemZone = exports.isDeflated = exports.isGroupLength = exports.isFileMetaInformation = exports.sequenceDelimitationNonZeroLength = exports.sequenceDelimitation = exports.sequenceDelimitationBE = exports.sequenceDelimitationLE = exports.itemDelimitation = exports.itemDelimitationBE = exports.itemDelimitationLE = exports.item = exports.itemBE = exports.itemLE = exports.padToEvenLength = exports.trim = exports.tagToString = exports.doubleToBytes = exports.floatToBytes = void 0; | |
| const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
| const multipipe_1 = __importDefault(__webpack_require__(/*! multipipe */ "multipipe")); | |
| const uuid_1 = __webpack_require__(/*! uuid */ "uuid"); | |
| const CS = __importStar(__webpack_require__(/*! ./character-sets */ "./src/character-sets.ts")); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
| // eslint:disable: no-bitwise | |
| exports.indeterminateLength = 0xffffffff; | |
| exports.zero4Bytes = Buffer.from([0, 0, 0, 0]); | |
| function concat(a, b) { | |
| return Buffer.concat([a, b], a.length + b.length); | |
| } | |
| exports.concat = concat; | |
| function concatv(...buffers) { | |
| return Buffer.concat(buffers); | |
| } | |
| exports.concatv = concatv; | |
| function flatten(array) { | |
| return [].concat(...array); | |
| } | |
| exports.flatten = flatten; | |
| function appendToArray(object, array) { | |
| const newArray = array.slice(); | |
| newArray.push(object); | |
| return newArray; | |
| } | |
| exports.appendToArray = appendToArray; | |
| function prependToArray(object, array) { | |
| const newArray = array.slice(); | |
| newArray.unshift(object); | |
| return newArray; | |
| } | |
| exports.prependToArray = prependToArray; | |
| function concatArrays(array1, array2) { | |
| const newArray = array1.slice(); | |
| array2.forEach((i) => newArray.push(i)); | |
| return newArray; | |
| } | |
| exports.concatArrays = concatArrays; | |
| const uidRoot = '2.25'; | |
| const uuidNamespace = 'd181d67b-0a1c-45bf-8616-070f1bb0d0cf'; | |
| function hexToDec(s) { | |
| const digits = [0]; | |
| let carry; | |
| for (let i = 0; i < s.length; i++) { | |
| carry = parseInt(s.charAt(i), 16); | |
| for (let j = 0; j < digits.length; j++) { | |
| digits[j] = digits[j] * 16 + carry; | |
| carry = (digits[j] / 10) | 0; | |
| digits[j] %= 10; | |
| } | |
| while (carry > 0) { | |
| digits.push(carry % 10); | |
| carry = (carry / 10) | 0; | |
| } | |
| } | |
| return digits.reverse().join(''); | |
| } | |
| exports.hexToDec = hexToDec; | |
| function toUID(root, uuid) { | |
| const hexStr = uuid.replace(/-/g, ''); | |
| const docStr = hexToDec(hexStr).replace(/^0+/, ''); | |
| return (root + '.' + docStr).substring(0, 64); | |
| } | |
| exports.toUID = toUID; | |
| function nameBasedUID(name, root) { | |
| return toUID(root, (0, uuid_1.v5)(name, uuidNamespace)); | |
| } | |
| exports.nameBasedUID = nameBasedUID; | |
| function randomUID(root) { | |
| return toUID(root, (0, uuid_1.v4)()); | |
| } | |
| exports.randomUID = randomUID; | |
| exports.multiValueDelimiter = '\\'; | |
| exports.emptyBuffer = Buffer.alloc(0); | |
| function toUInt32(num) { | |
| return num >>> 0; | |
| } | |
| exports.toUInt32 = toUInt32; | |
| function toInt32(num) { | |
| return num >> 0; | |
| } | |
| exports.toInt32 = toInt32; | |
| function shiftLeftUnsigned(num, n) { | |
| return toUInt32(num << n); | |
| } | |
| exports.shiftLeftUnsigned = shiftLeftUnsigned; | |
| function groupNumber(tag) { | |
| return tag >>> 16; | |
| } | |
| exports.groupNumber = groupNumber; | |
| function elementNumber(tag) { | |
| return tag & 0xffff; | |
| } | |
| exports.elementNumber = elementNumber; | |
| function bytesToShortBE(bytes) { | |
| return bytes.readInt16BE(0); | |
| } | |
| exports.bytesToShortBE = bytesToShortBE; | |
| function bytesToShortLE(bytes) { | |
| return bytes.readInt16LE(0); | |
| } | |
| exports.bytesToShortLE = bytesToShortLE; | |
| function bytesToShort(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToShortBE(bytes) : bytesToShortLE(bytes); | |
| } | |
| exports.bytesToShort = bytesToShort; | |
| function bytesToUShortBE(bytes) { | |
| return bytes.readUInt16BE(0); | |
| } | |
| exports.bytesToUShortBE = bytesToUShortBE; | |
| function bytesToUShortLE(bytes) { | |
| return bytes.readUInt16LE(0); | |
| } | |
| exports.bytesToUShortLE = bytesToUShortLE; | |
| function bytesToUShort(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToUShortBE(bytes) : bytesToUShortLE(bytes); | |
| } | |
| exports.bytesToUShort = bytesToUShort; | |
| function bytesToVR(bytes) { | |
| return bytesToUShortBE(bytes); | |
| } | |
| exports.bytesToVR = bytesToVR; | |
| function bytesToIntBE(bytes) { | |
| return bytes.readInt32BE(0); | |
| } | |
| exports.bytesToIntBE = bytesToIntBE; | |
| function bytesToIntLE(bytes) { | |
| return bytes.readInt32LE(0); | |
| } | |
| exports.bytesToIntLE = bytesToIntLE; | |
| function bytesToInt(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToIntBE(bytes) : bytesToIntLE(bytes); | |
| } | |
| exports.bytesToInt = bytesToInt; | |
| function bytesToUIntBE(bytes) { | |
| return bytes.readUInt32BE(0); | |
| } | |
| exports.bytesToUIntBE = bytesToUIntBE; | |
| function bytesToUIntLE(bytes) { | |
| return bytes.readUInt32LE(0); | |
| } | |
| exports.bytesToUIntLE = bytesToUIntLE; | |
| function bytesToUInt(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToUIntBE(bytes) : bytesToUIntLE(bytes); | |
| } | |
| exports.bytesToUInt = bytesToUInt; | |
| function bytesToTagBE(bytes) { | |
| return bytesToUIntBE(bytes); | |
| } | |
| exports.bytesToTagBE = bytesToTagBE; | |
| function bytesToTagLE(bytes) { | |
| return shiftLeftUnsigned(bytes.readUInt16LE(0), 16) + bytes.readUInt16LE(2); | |
| } | |
| exports.bytesToTagLE = bytesToTagLE; | |
| function bytesToTag(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToTagBE(bytes) : bytesToTagLE(bytes); | |
| } | |
| exports.bytesToTag = bytesToTag; | |
| function bytesToFloatBE(bytes) { | |
| return bytes.readFloatBE(0); | |
| } | |
| exports.bytesToFloatBE = bytesToFloatBE; | |
| function bytesToFloatLE(bytes) { | |
| return bytes.readFloatLE(0); | |
| } | |
| exports.bytesToFloatLE = bytesToFloatLE; | |
| function bytesToFloat(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToFloatBE(bytes) : bytesToFloatLE(bytes); | |
| } | |
| exports.bytesToFloat = bytesToFloat; | |
| function bytesToDoubleBE(bytes) { | |
| return bytes.readDoubleBE(0); | |
| } | |
| exports.bytesToDoubleBE = bytesToDoubleBE; | |
| function bytesToDoubleLE(bytes) { | |
| return bytes.readDoubleLE(0); | |
| } | |
| exports.bytesToDoubleLE = bytesToDoubleLE; | |
| function bytesToDouble(bytes, bigEndian = false) { | |
| return bigEndian ? bytesToDoubleBE(bytes) : bytesToDoubleLE(bytes); | |
| } | |
| exports.bytesToDouble = bytesToDouble; | |
| function intToBytesBE(i) { | |
| return Buffer.from([i >> 24, i >> 16, i >> 8, i]); | |
| } | |
| exports.intToBytesBE = intToBytesBE; | |
| function intToBytesLE(i) { | |
| return Buffer.from([i, i >> 8, i >> 16, i >> 24]); | |
| } | |
| exports.intToBytesLE = intToBytesLE; | |
| function shortToBytesBE(i) { | |
| return Buffer.from([i >> 8, i]); | |
| } | |
| exports.shortToBytesBE = shortToBytesBE; | |
| function shortToBytesLE(i) { | |
| return Buffer.from([i, i >> 8]); | |
| } | |
| exports.shortToBytesLE = shortToBytesLE; | |
| function shortToBytes(i, bigEndian = false) { | |
| return bigEndian ? shortToBytesBE(i) : shortToBytesLE(i); | |
| } | |
| exports.shortToBytes = shortToBytes; | |
| function intToBytes(i, bigEndian = false) { | |
| return bigEndian ? intToBytesBE(i) : intToBytesLE(i); | |
| } | |
| exports.intToBytes = intToBytes; | |
| function tagToBytesBE(tag) { | |
| return intToBytesBE(tag); | |
| } | |
| exports.tagToBytesBE = tagToBytesBE; | |
| function tagToBytesLE(tag) { | |
| return Buffer.from([tag >> 16, tag >> 24, tag, tag >> 8]); | |
| } | |
| exports.tagToBytesLE = tagToBytesLE; | |
| function tagToBytes(tag, bigEndian = false) { | |
| return bigEndian ? tagToBytesBE(tag) : tagToBytesLE(tag); | |
| } | |
| exports.tagToBytes = tagToBytes; | |
| function floatToBytes(f, bigEndian = false) { | |
| const buf = Buffer.allocUnsafe(4); | |
| if (bigEndian) { | |
| buf.writeFloatBE(f, 0); | |
| } | |
| else { | |
| buf.writeFloatLE(f, 0); | |
| } | |
| return buf; | |
| } | |
| exports.floatToBytes = floatToBytes; | |
| function doubleToBytes(f, bigEndian = false) { | |
| const buf = Buffer.allocUnsafe(8); | |
| if (bigEndian) { | |
| buf.writeDoubleBE(f, 0); | |
| } | |
| else { | |
| buf.writeDoubleLE(f, 0); | |
| } | |
| return buf; | |
| } | |
| exports.doubleToBytes = doubleToBytes; | |
| function tagToString(tag) { | |
| const hex = ('00000000' + tag.toString(16)).slice(-8); | |
| return '(' + hex.slice(0, 4) + ',' + hex.slice(4, 8) + ')'; | |
| } | |
| exports.tagToString = tagToString; | |
| function trim(s) { | |
| return s.replace(/^[\x00-\x20]*/g, '').replace(/[\x00-\x20]*$/g, ''); | |
| } | |
| exports.trim = trim; | |
| function padToEvenLength(bytes, tagOrVR) { | |
| const vr = isNaN(tagOrVR) ? tagOrVR : lookup_1.Lookup.vrOf(tagOrVR); | |
| return (bytes.length & 1) !== 0 ? concat(bytes, Buffer.from([vr.paddingByte])) : bytes; | |
| } | |
| exports.padToEvenLength = padToEvenLength; | |
| exports.itemLE = concat(tagToBytesLE(tag_1.Tag.Item), intToBytesLE(exports.indeterminateLength)); | |
| exports.itemBE = concat(tagToBytesBE(tag_1.Tag.Item), intToBytesBE(exports.indeterminateLength)); | |
| function item(length = exports.indeterminateLength, bigEndian = false) { | |
| return length === exports.indeterminateLength | |
| ? bigEndian | |
| ? exports.itemBE | |
| : exports.itemLE | |
| : concat(tagToBytes(tag_1.Tag.Item, bigEndian), intToBytes(length, bigEndian)); | |
| } | |
| exports.item = item; | |
| exports.itemDelimitationLE = concat(tagToBytesLE(tag_1.Tag.ItemDelimitationItem), exports.zero4Bytes); | |
| exports.itemDelimitationBE = concat(tagToBytesBE(tag_1.Tag.ItemDelimitationItem), exports.zero4Bytes); | |
| function itemDelimitation(bigEndian = false) { | |
| return bigEndian ? exports.itemDelimitationBE : exports.itemDelimitationLE; | |
| } | |
| exports.itemDelimitation = itemDelimitation; | |
| exports.sequenceDelimitationLE = concat(tagToBytesLE(tag_1.Tag.SequenceDelimitationItem), exports.zero4Bytes); | |
| exports.sequenceDelimitationBE = concat(tagToBytesBE(tag_1.Tag.SequenceDelimitationItem), exports.zero4Bytes); | |
| function sequenceDelimitation(bigEndian = false) { | |
| return bigEndian ? exports.sequenceDelimitationBE : exports.sequenceDelimitationLE; | |
| } | |
| exports.sequenceDelimitation = sequenceDelimitation; | |
| function sequenceDelimitationNonZeroLength(bigEndian = false) { | |
| return concatv(tagToBytes(tag_1.Tag.SequenceDelimitationItem, bigEndian), intToBytes(0x00000010, bigEndian)); | |
| } | |
| exports.sequenceDelimitationNonZeroLength = sequenceDelimitationNonZeroLength; | |
| function isFileMetaInformation(tag) { | |
| return (tag & 0xffff0000) === 0x00020000; | |
| } | |
| exports.isFileMetaInformation = isFileMetaInformation; | |
| function isGroupLength(tag) { | |
| return elementNumber(tag) === 0; | |
| } | |
| exports.isGroupLength = isGroupLength; | |
| function isDeflated(transferSyntaxUid) { | |
| return transferSyntaxUid === uid_1.UID.DeflatedExplicitVRLittleEndian || transferSyntaxUid === uid_1.UID.JPIPReferencedDeflate; | |
| } | |
| exports.isDeflated = isDeflated; | |
| exports.systemZone = js_joda_1.ZoneId.SYSTEM; | |
| exports.defaultCharacterSet = CS.defaultCharacterSet; | |
| function createUID() { | |
| return randomUID(uidRoot); | |
| } | |
| exports.createUID = createUID; | |
| function createUIDFromRoot(root) { | |
| return randomUID(root); | |
| } | |
| exports.createUIDFromRoot = createUIDFromRoot; | |
| function createNameBasedUID(name) { | |
| return nameBasedUID(name, uidRoot); | |
| } | |
| exports.createNameBasedUID = createNameBasedUID; | |
| function createNameBasedUIDFromRoot(name, root) { | |
| return nameBasedUID(name, root); | |
| } | |
| exports.createNameBasedUIDFromRoot = createNameBasedUIDFromRoot; | |
| function pipe(...streams) { | |
| return (0, multipipe_1.default)(streams); | |
| } | |
| exports.pipe = pipe; | |
| /***/ }), | |
| /***/ "./src/byte-parser.ts": | |
| /*!****************************!*\ | |
| !*** ./src/byte-parser.ts ***! | |
| \****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.ByteParser = exports.ByteReader = exports.ParseResult = exports.finishedParser = exports.ParseStep = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const recurse = true; | |
| const dontRecurse = false; | |
| const needMoreData = new Error(); | |
| class ParseStep { | |
| onTruncation(reader) { | |
| throw Error(reader.remainingSize() + ' bytes remain after finished parsing'); | |
| } | |
| } | |
| exports.ParseStep = ParseStep; | |
| class FinishedParser extends ParseStep { | |
| parse() { | |
| throw Error('No initial parser installed: you must use startWith(...)'); | |
| } | |
| } | |
| exports.finishedParser = new FinishedParser(); | |
| class ParseResult { | |
| constructor(result, nextStep) { | |
| this.result = result; | |
| this.nextStep = nextStep; | |
| } | |
| } | |
| exports.ParseResult = ParseResult; | |
| class ByteReader { | |
| constructor(input) { | |
| this.input = base_1.emptyBuffer; | |
| this.off = 0; | |
| this.setInput(input); | |
| } | |
| setInput(input) { | |
| this.input = input; | |
| this.off = 0; | |
| } | |
| hasRemaining() { | |
| return this.off < this.input.length; | |
| } | |
| remainingSize() { | |
| return this.input.length - this.off; | |
| } | |
| remainingData() { | |
| return this.hasRemaining() ? this.input.slice(this.off) : base_1.emptyBuffer; | |
| } | |
| ensure(n) { | |
| if (this.remainingSize() < n) { | |
| throw needMoreData; | |
| } | |
| } | |
| take(n) { | |
| if (this.off + n <= this.input.length) { | |
| const o = this.off; | |
| this.off = o + n; | |
| return this.input.slice(o, this.off); | |
| } | |
| else { | |
| throw needMoreData; | |
| } | |
| } | |
| } | |
| exports.ByteReader = ByteReader; | |
| class ByteParser { | |
| constructor(out) { | |
| this.out = out; | |
| this.current = exports.finishedParser; | |
| this.isCompleted = false; | |
| this.hasData = false; | |
| this.reader = new ByteReader(base_1.emptyBuffer); | |
| this.buffer = base_1.emptyBuffer; | |
| } | |
| parse(chunk) { | |
| this.buffer = (0, base_1.concat)(this.buffer, chunk); | |
| this.hasData = chunk.length > 0; | |
| while (this.hasData && !this.isCompleted) { | |
| this.doParse(1000); | |
| } | |
| } | |
| flush() { | |
| if (!this.isCompleted) { | |
| if (this.buffer.length > 0) { | |
| try { | |
| this.reader.setInput(this.buffer); | |
| this.current.onTruncation(this.reader); | |
| this.complete(); | |
| } | |
| catch (error) { | |
| this.fail(error); | |
| } | |
| } | |
| else { | |
| this.complete(); | |
| } | |
| } | |
| } | |
| startWith(step) { | |
| this.current = step; | |
| } | |
| complete() { | |
| this.isCompleted = true; | |
| this.buffer = base_1.emptyBuffer; | |
| this.reader = null; | |
| this.out.complete(); | |
| } | |
| fail(error) { | |
| error.message = 'Parsing failed: ' + (error && error.message ? error.message : ''); | |
| this.isCompleted = true; | |
| this.buffer = base_1.emptyBuffer; | |
| this.reader = null; | |
| this.out.fail(error); | |
| } | |
| doParseInner() { | |
| if (this.buffer.length > 0) { | |
| this.reader.setInput(this.buffer); | |
| try { | |
| const parseResult = this.current.parse(this.reader); | |
| if (parseResult.result) { | |
| this.out.next(parseResult.result); | |
| } | |
| if (parseResult.nextStep === exports.finishedParser) { | |
| this.complete(); | |
| return dontRecurse; | |
| } | |
| else { | |
| this.buffer = this.reader.remainingData(); | |
| this.current = parseResult.nextStep; | |
| if (!this.reader.hasRemaining()) { | |
| this.hasData = false; | |
| } | |
| // If this step didn't produce a result, continue parsing. | |
| if (!parseResult.result) { | |
| return recurse; | |
| } | |
| else { | |
| return dontRecurse; | |
| } | |
| } | |
| } | |
| catch (error) { | |
| if (error === needMoreData) { | |
| this.hasData = false; | |
| return dontRecurse; | |
| } | |
| this.fail(error); | |
| return dontRecurse; | |
| } | |
| } | |
| else { | |
| this.hasData = false; | |
| return dontRecurse; | |
| } | |
| } | |
| doParse(remainingRecursions) { | |
| if (remainingRecursions === 0) { | |
| this.fail(new Error("Parsing logic didn't produce result. Aborting processing to avoid infinite cycles.")); | |
| } | |
| else { | |
| const doRecurse = this.doParseInner(); | |
| if (doRecurse) { | |
| this.doParse(remainingRecursions - 1); | |
| } | |
| } | |
| } | |
| } | |
| exports.ByteParser = ByteParser; | |
| /***/ }), | |
| /***/ "./src/character-sets.ts": | |
| /*!*******************************!*\ | |
| !*** ./src/character-sets.ts ***! | |
| \*******************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.defaultCharacterSet = exports.CharacterSets = void 0; | |
| const dicom_character_set_1 = __webpack_require__(/*! dicom-character-set */ "dicom-character-set"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class CharacterSets { | |
| static isVrAffectedBySpecificCharacterSet(vr) { | |
| return vr === vr_1.VR.LO || vr === vr_1.VR.LT || vr === vr_1.VR.PN || vr === vr_1.VR.SH || vr === vr_1.VR.ST || vr === vr_1.VR.UT; | |
| } | |
| static fromNames(names) { | |
| return new CharacterSets(names); | |
| } | |
| static fromBytes(specificCharacterSetBytes) { | |
| return !specificCharacterSetBytes || specificCharacterSetBytes.length === 0 | |
| ? exports.defaultCharacterSet | |
| : new CharacterSets(specificCharacterSetBytes.toString().trim()); | |
| } | |
| static encode(s) { | |
| return Buffer.from(s, 'utf8'); | |
| } | |
| static defaultOnly() { | |
| return new CharacterSets(''); | |
| } | |
| constructor(charsets) { | |
| this.charsets = charsets; | |
| } | |
| decode(bytes, vr) { | |
| try { | |
| return (0, dicom_character_set_1.convertBytes)(this.charsets, bytes, { vr: vr.name }); | |
| } | |
| catch (err) { | |
| console.warn('Cannot decode using character set: ' + this.charsets + ', using default instead: ' + err); | |
| return exports.defaultCharacterSet.decode(bytes, vr); | |
| } | |
| } | |
| toString() { | |
| return 'CharacterSets [' + this.charsets.split('\\').join(',') + ']'; | |
| } | |
| } | |
| exports.CharacterSets = CharacterSets; | |
| exports.defaultCharacterSet = CharacterSets.defaultOnly(); | |
| /***/ }), | |
| /***/ "./src/collect-flow.ts": | |
| /*!*****************************!*\ | |
| !*** ./src/collect-flow.ts ***! | |
| \*****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.collectFromTagPathsFlow = exports.collectFlow = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
| const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
| function collectFlow(tagCondition, stopCondition, label, maxBufferSize = 1000000) { | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.EndEvent)((0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow))))) { | |
| constructor() { | |
| super(...arguments); | |
| this.buffer = []; | |
| this.currentBufferSize = 0; | |
| this.hasEmitted = false; | |
| this.bytes = base_1.emptyBuffer; | |
| this.currentValue = undefined; | |
| this.currentFragment = undefined; | |
| this.builder = new elements_builder_1.ElementsBuilder(); | |
| } | |
| elementsAndBuffer() { | |
| const parts = (0, base_1.prependToArray)(new dicom_parts_1.ElementsPart(label, this.builder.build()), this.buffer); | |
| this.hasEmitted = true; | |
| this.buffer = []; | |
| this.currentBufferSize = 0; | |
| return parts; | |
| } | |
| maybeAdd(element) { | |
| return tagCondition(this.tagPath) | |
| ? this.builder.addElement(element) | |
| : this.builder.noteElement(element); | |
| } | |
| onEnd() { | |
| return this.hasEmitted ? [] : this.elementsAndBuffer(); | |
| } | |
| onPart(part) { | |
| if (this.hasEmitted) { | |
| return [part]; | |
| } | |
| else { | |
| if (maxBufferSize > 0 && this.currentBufferSize > maxBufferSize) { | |
| throw Error('Error collecting elements: max buffer size exceeded'); | |
| } | |
| if (part !== dicom_flow_1.valueChunkMarker && | |
| part !== dicom_flow_1.sequenceDelimitationPartMarker && | |
| !(part instanceof dicom_flow_1.ItemDelimitationPartMarker)) { | |
| this.buffer.push(part); | |
| this.currentBufferSize += part.bytes.length; | |
| } | |
| if ('tag' in part && stopCondition(this.tagPath)) { | |
| return this.elementsAndBuffer(); | |
| } | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| this.currentValue = new dicom_elements_1.ValueElement(part.tag, part.vr, value_1.Value.empty(), part.bigEndian, part.explicitVR); | |
| this.bytes = base_1.emptyBuffer; | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ItemPart && this.inFragments) { | |
| this.currentFragment = new dicom_elements_1.FragmentElement(part.length, value_1.Value.empty(), part.bigEndian); | |
| this.bytes = base_1.emptyBuffer; | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ValueChunk) { | |
| this.bytes = (0, base_1.concat)(this.bytes, part.bytes); | |
| if (part.last) { | |
| if (this.inFragments && this.currentFragment) { | |
| this.maybeAdd(new dicom_elements_1.FragmentElement(this.currentFragment.length, new value_1.Value(this.bytes), this.currentFragment.bigEndian)); | |
| } | |
| else if (this.currentValue) { | |
| this.maybeAdd(new dicom_elements_1.ValueElement(this.currentValue.tag, this.currentValue.vr, new value_1.Value(this.bytes), this.currentValue.bigEndian, this.currentValue.explicitVR)); | |
| } | |
| this.currentFragment = undefined; | |
| this.currentValue = undefined; | |
| } | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.SequencePart) { | |
| this.maybeAdd(new dicom_elements_1.SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR)); | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.FragmentsPart) { | |
| this.maybeAdd(new dicom_elements_1.FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR)); | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ItemPart) { | |
| this.maybeAdd(new dicom_elements_1.ItemElement(part.length, part.bigEndian)); | |
| return []; | |
| } | |
| if (part instanceof dicom_flow_1.ItemDelimitationPartMarker) { | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
| this.maybeAdd(new dicom_elements_1.ItemDelimitationElement(part.bigEndian)); | |
| return []; | |
| } | |
| if (part === dicom_flow_1.sequenceDelimitationPartMarker) { | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
| this.maybeAdd(new dicom_elements_1.SequenceDelimitationElement(part.bigEndian)); | |
| return []; | |
| } | |
| return []; | |
| } | |
| } | |
| })()); | |
| } | |
| exports.collectFlow = collectFlow; | |
| function collectFromTagPathsFlow(allowlist, label, maxBufferSize) { | |
| const maxTag = allowlist.length > 0 ? Math.max(...allowlist.map((t) => t.head().tag())) : 0; | |
| const tagCondition = (currentPath) => allowlist.find((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)) !== undefined; | |
| const stopCondition = (tagPath) => allowlist.length === 0 || (tagPath.isRoot() && tagPath.tag() > maxTag); | |
| return collectFlow(tagCondition, stopCondition, label, maxBufferSize); | |
| } | |
| exports.collectFromTagPathsFlow = collectFromTagPathsFlow; | |
| /***/ }), | |
| /***/ "./src/detour.ts": | |
| /*!***********************!*\ | |
| !*** ./src/detour.ts ***! | |
| \***********************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Detour = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| class Detour extends stream_1.Transform { | |
| constructor(options, detourFlow) { | |
| super(options); | |
| this.options = options; | |
| this.detourFlow = detourFlow; | |
| this.detour = false; | |
| if (detourFlow) { | |
| this.setDetourFlow(detourFlow); | |
| } | |
| } | |
| setDetourFlow(detourFlow) { | |
| this.detourFlow = detourFlow; | |
| } | |
| setDetour(detour = true, initialChunk) { | |
| this.detour = detour; | |
| if (this.detourFlow !== undefined) { | |
| if (this.detour) { | |
| this.detourFlow.on('data', (chunk) => this.process(chunk)); | |
| this.detourFlow.once('end', () => this.cleanup()); | |
| this.detourFlow.once('error', (error) => this.emit('error', error)); | |
| } | |
| else { | |
| this.detourFlow.end(); | |
| } | |
| } | |
| if (initialChunk !== undefined && (initialChunk.length === undefined || initialChunk.length > 0)) { | |
| if (detour && this.detourFlow !== undefined) { | |
| this.detourFlow.write(initialChunk); | |
| } | |
| else { | |
| this.write(initialChunk); | |
| } | |
| } | |
| } | |
| cleanup() { | |
| // override to add custom cleanup code | |
| } | |
| _transform(chunk, encoding, callback) { | |
| if (this.detour !== undefined && this.detourFlow !== undefined) { | |
| if (!this.detourFlow.write(chunk)) { | |
| this.detourFlow.once('drain', callback); | |
| } | |
| else { | |
| process.nextTick(() => callback()); | |
| } | |
| } | |
| else { | |
| this.process(chunk); | |
| callback(); | |
| } | |
| } | |
| _flush(callback) { | |
| if (this.detour && this.detourFlow) { | |
| this.detourFlow.once('end', callback); | |
| this.detourFlow.end(); | |
| } | |
| else { | |
| this.cleanup(); | |
| process.nextTick(() => callback()); | |
| } | |
| } | |
| } | |
| exports.Detour = Detour; | |
| /***/ }), | |
| /***/ "./src/dicom-elements.ts": | |
| /*!*******************************!*\ | |
| !*** ./src/dicom-elements.ts ***! | |
| \*******************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Fragments = exports.Fragment = exports.Item = exports.Sequence = exports.SequenceDelimitationElement = exports.ItemDelimitationElement = exports.FragmentElement = exports.ItemElement = exports.FragmentsElement = exports.SequenceElement = exports.ValueElement = exports.preambleElement = exports.UnknownElement = exports.ElementSet = exports.Element = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class Element { | |
| constructor(bigEndian = false) { | |
| this.bigEndian = bigEndian; | |
| } | |
| toBytes() { | |
| return base_1.emptyBuffer; | |
| } | |
| toParts() { | |
| return []; | |
| } | |
| } | |
| exports.Element = Element; | |
| class ElementSet { | |
| constructor(tag, vr, bigEndian = false, explicitVR = true) { | |
| this.tag = tag; | |
| this.vr = vr; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| } | |
| toBytes() { | |
| return base_1.emptyBuffer; | |
| } | |
| toElements() { | |
| return []; | |
| } | |
| } | |
| exports.ElementSet = ElementSet; | |
| class UnknownElement extends Element { | |
| constructor(bigEndian) { | |
| super(bigEndian); | |
| } | |
| } | |
| exports.UnknownElement = UnknownElement; | |
| class PreambleElement extends Element { | |
| constructor() { | |
| super(false); | |
| } | |
| toBytes() { | |
| return (0, base_1.concat)(Buffer.from(new Array(128).fill(0)), Buffer.from('DICM')); | |
| } | |
| toString() { | |
| return 'PreambleElement(0, ..., 0, D, I, C, M)'; | |
| } | |
| toParts() { | |
| return [new dicom_parts_1.PreamblePart(this.toBytes())]; | |
| } | |
| } | |
| exports.preambleElement = new PreambleElement(); | |
| class ValueElement extends ElementSet { | |
| constructor(tag, vr, value, bigEndian, explicitVR) { | |
| super(tag, vr, bigEndian, explicitVR); | |
| this.value = value; | |
| this.length = value.length; | |
| } | |
| setValue(value) { | |
| return new ValueElement(this.tag, this.vr, value.ensurePadding(this.vr), this.bigEndian, this.explicitVR); | |
| } | |
| toBytes() { | |
| return this.toParts() | |
| .map((p) => p.bytes) | |
| .reduce(base_1.concat); | |
| } | |
| toParts() { | |
| const headerPart = dicom_parts_1.HeaderPart.create(this.tag, this.vr, this.length, this.bigEndian, this.explicitVR); | |
| if (this.length > 0) { | |
| return [headerPart, new dicom_parts_1.ValueChunk(this.bigEndian, this.value.bytes, true)]; | |
| } | |
| else { | |
| return [headerPart]; | |
| } | |
| } | |
| toElements() { | |
| return [this]; | |
| } | |
| toString() { | |
| const strings = this.value.toStrings(this.vr, this.bigEndian, base_1.defaultCharacterSet); | |
| const s = strings.join(base_1.multiValueDelimiter); | |
| const vm = strings.length + ''; | |
| return ('ValueElement(' + | |
| (0, base_1.tagToString)(this.tag) + | |
| ' ' + | |
| this.vr.name + | |
| ' [' + | |
| s + | |
| '] # ' + | |
| this.length + | |
| ', ' + | |
| vm + | |
| ' ' + | |
| lookup_1.Lookup.keywordOf(this.tag) || 0); | |
| } | |
| } | |
| exports.ValueElement = ValueElement; | |
| class SequenceElement extends Element { | |
| constructor(tag, length = base_1.indeterminateLength, bigEndian, explicitVR = true) { | |
| super(bigEndian); | |
| this.tag = tag; | |
| this.length = length; | |
| this.explicitVR = explicitVR; | |
| this.tag = tag; | |
| this.indeterminate = this.length === base_1.indeterminateLength; | |
| } | |
| toBytes() { | |
| return dicom_parts_1.HeaderPart.create(this.tag, vr_1.VR.SQ, this.length, this.bigEndian, this.explicitVR).bytes; | |
| } | |
| toParts() { | |
| return [new dicom_parts_1.SequencePart(this.tag, this.length, this.bigEndian, this.explicitVR, this.toBytes())]; | |
| } | |
| toString() { | |
| return ('SequenceElement(' + (0, base_1.tagToString)(this.tag) + ' SQ # ' + this.length + ' ' + lookup_1.Lookup.keywordOf(this.tag) || | |
| 0); | |
| } | |
| } | |
| exports.SequenceElement = SequenceElement; | |
| class FragmentsElement extends Element { | |
| constructor(tag, vr, bigEndian, explicitVR = true) { | |
| super(bigEndian); | |
| this.tag = tag; | |
| this.vr = vr; | |
| this.explicitVR = explicitVR; | |
| } | |
| toBytes() { | |
| return this.toParts()[0].bytes; | |
| } | |
| toParts() { | |
| return [ | |
| new dicom_parts_1.FragmentsPart(this.tag, base_1.indeterminateLength, this.vr, this.bigEndian, this.explicitVR, dicom_parts_1.HeaderPart.create(this.tag, this.vr, base_1.indeterminateLength, this.bigEndian, this.explicitVR).bytes), | |
| ]; | |
| } | |
| toString() { | |
| return ('FragmentsElement(' + (0, base_1.tagToString)(this.tag) + ' ' + this.vr.name + ' # ' + lookup_1.Lookup.keywordOf(this.tag) || | |
| 0); | |
| } | |
| } | |
| exports.FragmentsElement = FragmentsElement; | |
| class ItemElement extends Element { | |
| constructor(length = base_1.indeterminateLength, bigEndian) { | |
| super(bigEndian); | |
| this.length = length; | |
| this.indeterminate = this.length === base_1.indeterminateLength; | |
| } | |
| toBytes() { | |
| return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.Item, this.bigEndian), (0, base_1.intToBytes)(this.length, this.bigEndian)); | |
| } | |
| toParts() { | |
| return [new dicom_parts_1.ItemPart(this.length, this.bigEndian, this.toBytes())]; | |
| } | |
| toString() { | |
| return 'ItemElement(length = ' + this.length + ')'; | |
| } | |
| } | |
| exports.ItemElement = ItemElement; | |
| class FragmentElement extends Element { | |
| constructor(length, value, bigEndian) { | |
| super(bigEndian); | |
| this.length = length; | |
| this.value = value; | |
| } | |
| toBytes() { | |
| return this.toParts() | |
| .map((p) => p.bytes) | |
| .reduce(base_1.concat); | |
| } | |
| toParts() { | |
| const itemParts = new ItemElement(this.value.length, this.bigEndian).toParts(); | |
| if (this.value.length !== 0) { | |
| itemParts.push(new dicom_parts_1.ValueChunk(this.bigEndian, this.value.bytes, true)); | |
| } | |
| return itemParts; | |
| } | |
| toString() { | |
| return 'FragmentElement(length = ' + this.length + ')'; | |
| } | |
| } | |
| exports.FragmentElement = FragmentElement; | |
| class ItemDelimitationElement extends Element { | |
| constructor(bigEndian) { | |
| super(bigEndian); | |
| } | |
| toBytes() { | |
| return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.ItemDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0])); | |
| } | |
| toParts() { | |
| return [new dicom_parts_1.ItemDelimitationPart(this.bigEndian, this.toBytes())]; | |
| } | |
| toString() { | |
| return 'ItemDelimitationElement'; | |
| } | |
| } | |
| exports.ItemDelimitationElement = ItemDelimitationElement; | |
| class SequenceDelimitationElement extends Element { | |
| constructor(bigEndian) { | |
| super(bigEndian); | |
| } | |
| toBytes() { | |
| return (0, base_1.concat)((0, base_1.tagToBytes)(tag_1.Tag.SequenceDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0])); | |
| } | |
| toParts() { | |
| return [new dicom_parts_1.SequenceDelimitationPart(this.bigEndian, this.toBytes())]; | |
| } | |
| toString() { | |
| return 'SequenceDelimitationElement'; | |
| } | |
| } | |
| exports.SequenceDelimitationElement = SequenceDelimitationElement; | |
| class Sequence extends ElementSet { | |
| constructor(tag, length = base_1.indeterminateLength, items = [], bigEndian, explicitVR) { | |
| super(tag, vr_1.VR.SQ, bigEndian, explicitVR); | |
| this.tag = tag; | |
| this.length = length; | |
| this.items = items; | |
| this.indeterminate = length === base_1.indeterminateLength; | |
| this.size = items.length; | |
| } | |
| item(index) { | |
| return this.items.length >= index ? this.items[index - 1] : undefined; | |
| } | |
| addItem(item) { | |
| const newItems = (0, base_1.appendToArray)(item, this.items); | |
| const newLength = this.indeterminate ? this.length : this.length + item.toBytes().length; | |
| return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR); | |
| } | |
| removeItem(index) { | |
| const newItems = this.items.slice(); | |
| newItems.splice(index - 1, 1); | |
| const newLength = this.indeterminate ? this.length : this.length - this.item(index).toBytes().length; | |
| return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR); | |
| } | |
| toBytes() { | |
| return this.toElements() | |
| .map((e) => e.toBytes()) | |
| .reduce(base_1.concat, base_1.emptyBuffer); | |
| } | |
| toElements() { | |
| const elements = []; | |
| elements.push(new SequenceElement(this.tag, this.length, this.bigEndian, this.explicitVR)); | |
| for (let i = 1; i <= this.items.length; i++) { | |
| const itemElements = this.item(i).toElements(); | |
| itemElements.forEach((e) => elements.push(e)); | |
| } | |
| if (this.indeterminate) { | |
| elements.push(new SequenceDelimitationElement(this.bigEndian)); | |
| } | |
| return elements; | |
| } | |
| setItem(index, item) { | |
| const newItems = this.items.slice(); | |
| newItems[index - 1] = item; | |
| return new Sequence(this.tag, this.length, newItems, this.bigEndian, this.explicitVR); | |
| } | |
| toString() { | |
| return ('Sequence(' + | |
| (0, base_1.tagToString)(this.tag) + | |
| ' SQ # ' + | |
| this.length + | |
| ' ' + | |
| this.size + | |
| ' ' + | |
| lookup_1.Lookup.keywordOf(this.tag) || 0); | |
| } | |
| } | |
| exports.Sequence = Sequence; | |
| class Item { | |
| constructor(elements, length = base_1.indeterminateLength, bigEndian = false) { | |
| this.elements = elements; | |
| this.length = length; | |
| this.bigEndian = bigEndian; | |
| this.indeterminate = length === base_1.indeterminateLength; | |
| } | |
| toElements() { | |
| const elements = []; | |
| elements.push(new ItemElement(this.length, this.bigEndian)); | |
| this.elements.toElements(false).forEach((e) => elements.push(e)); | |
| if (this.indeterminate) { | |
| elements.push(new ItemDelimitationElement(this.bigEndian)); | |
| } | |
| return elements; | |
| } | |
| toBytes() { | |
| return this.toElements() | |
| .map((e) => e.toBytes()) | |
| .reduce(base_1.concat); | |
| } | |
| setElements(elements) { | |
| const newLength = this.indeterminate ? base_1.indeterminateLength : elements.toBytes(false).length; | |
| return new Item(elements, newLength, this.bigEndian); | |
| } | |
| toString() { | |
| return 'Item(length = ' + this.length + ', elements size = ' + this.elements.size + ')'; | |
| } | |
| } | |
| exports.Item = Item; | |
| class Fragment { | |
| constructor(length, value, bigEndian = false) { | |
| this.length = length; | |
| this.value = value; | |
| this.bigEndian = bigEndian; | |
| } | |
| toElement() { | |
| return new FragmentElement(this.length, this.value, this.bigEndian); | |
| } | |
| toString() { | |
| return 'Fragment(length = ' + this.length + ', value length = ' + this.value.length + ')'; | |
| } | |
| } | |
| exports.Fragment = Fragment; | |
| class Fragments extends ElementSet { | |
| constructor(tag, vr, offsets, fragments = [], bigEndian, explicitVR) { | |
| super(tag, vr, bigEndian, explicitVR); | |
| this.tag = tag; | |
| this.vr = vr; | |
| this.offsets = offsets; | |
| this.fragments = fragments; | |
| this.size = fragments.length; | |
| } | |
| fragment(index) { | |
| return this.fragments.length > index ? undefined : this.fragments[index - 1]; | |
| } | |
| frameCount() { | |
| return this.offsets === undefined && this.fragments.length === 0 | |
| ? 0 | |
| : this.offsets === undefined | |
| ? 1 | |
| : this.offsets.length; | |
| } | |
| addFragment(fragment) { | |
| if (this.size === 0 && this.offsets === undefined) { | |
| const bytes = fragment.value.bytes; | |
| const offsets = []; | |
| for (let i = 0; i < bytes.length; i += 4) { | |
| offsets.push((0, base_1.bytesToUInt)(bytes.slice(i), fragment.bigEndian)); | |
| } | |
| return new Fragments(this.tag, this.vr, offsets, this.fragments, this.bigEndian, this.explicitVR); | |
| } | |
| else { | |
| return new Fragments(this.tag, this.vr, this.offsets, (0, base_1.appendToArray)(fragment, this.fragments), this.bigEndian, this.explicitVR); | |
| } | |
| } | |
| toBytes() { | |
| return this.toElements() | |
| .map((e) => e.toBytes()) | |
| .reduce(base_1.concat); | |
| } | |
| toElements() { | |
| const elements = []; | |
| elements.push(new FragmentsElement(this.tag, this.vr, this.bigEndian, this.explicitVR)); | |
| if (this.offsets !== undefined) { | |
| elements.push(new FragmentElement(4 * this.offsets.length, new value_1.Value(this.offsets | |
| .map((offset) => (0, base_1.intToBytes)(offset, this.bigEndian), this.bigEndian) | |
| .reduce(base_1.concat, base_1.emptyBuffer)), this.bigEndian)); | |
| } | |
| else { | |
| elements.push(new FragmentElement(0, value_1.Value.empty())); | |
| } | |
| for (let i = 1; i <= this.fragments.length; i++) { | |
| elements.push(this.fragment(i).toElement()); | |
| } | |
| elements.push(new SequenceDelimitationElement(this.bigEndian)); | |
| return elements; | |
| } | |
| setFragment(index, fragment) { | |
| const newFragments = this.fragments.slice(); | |
| newFragments[index - 1] = fragment; | |
| return new Fragments(this.tag, this.vr, this.offsets, newFragments, this.bigEndian, this.explicitVR); | |
| } | |
| toString() { | |
| return `Fragments(${(0, base_1.tagToString)(this.tag)} ${this.vr.name} # ${this.fragments.length} ${lookup_1.Lookup.keywordOf(this.tag) || ''})`; | |
| } | |
| } | |
| exports.Fragments = Fragments; | |
| /***/ }), | |
| /***/ "./src/dicom-flow.ts": | |
| /*!***************************!*\ | |
| !*** ./src/dicom-flow.ts ***! | |
| \***************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.GroupLengthWarnings = exports.TagPathTracking = exports.InSequence = exports.GuaranteedDelimitationEvents = exports.itemDelimitationPartMarker = exports.ItemDelimitationPartMarker = exports.sequenceDelimitationPartMarker = exports.GuaranteedValueEvent = exports.valueChunkMarker = exports.InFragments = exports.EndEvent = exports.dicomEndMarker = exports.StartEvent = exports.dicomStartMarker = exports.DeferToPartFlow = exports.IdentityFlow = exports.DicomFlow = exports.createFlow = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const flows_1 = __webpack_require__(/*! ./flows */ "./src/flows.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| function createFlow(flow) { | |
| return (0, base_1.pipe)(flow.baseFlow(), (0, flows_1.flatMapFlow)(flow.handlePart.bind(flow))); | |
| } | |
| exports.createFlow = createFlow; | |
| class DicomFlow { | |
| baseFlow() { | |
| return (0, flows_1.identityFlow)(true); | |
| } | |
| handlePart(part) { | |
| if (part instanceof dicom_parts_1.PreamblePart) { | |
| return this.onPreamble(part); | |
| } | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| return this.onHeader(part); | |
| } | |
| if (part instanceof dicom_parts_1.ValueChunk) { | |
| return this.onValueChunk(part); | |
| } | |
| if (part instanceof dicom_parts_1.SequencePart) { | |
| return this.onSequence(part); | |
| } | |
| if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
| return this.onSequenceDelimitation(part); | |
| } | |
| if (part instanceof dicom_parts_1.FragmentsPart) { | |
| return this.onFragments(part); | |
| } | |
| if (part instanceof dicom_parts_1.ItemPart) { | |
| return this.onItem(part); | |
| } | |
| if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
| return this.onItemDelimitation(part); | |
| } | |
| if (part instanceof dicom_parts_1.DeflatedChunk) { | |
| return this.onDeflatedChunk(part); | |
| } | |
| if (part instanceof dicom_parts_1.UnknownPart) { | |
| return this.onUnknown(part); | |
| } | |
| return this.onPart(part); | |
| } | |
| } | |
| exports.DicomFlow = DicomFlow; | |
| /** | |
| * Depends on DicomFlow | |
| */ | |
| class IdentityFlow extends DicomFlow { | |
| onPreamble(part) { | |
| return [part]; | |
| } | |
| onHeader(part) { | |
| return [part]; | |
| } | |
| onValueChunk(part) { | |
| return [part]; | |
| } | |
| onSequence(part) { | |
| return [part]; | |
| } | |
| onSequenceDelimitation(part) { | |
| return [part]; | |
| } | |
| onFragments(part) { | |
| return [part]; | |
| } | |
| onItem(part) { | |
| return [part]; | |
| } | |
| onItemDelimitation(part) { | |
| return [part]; | |
| } | |
| onDeflatedChunk(part) { | |
| return [part]; | |
| } | |
| onUnknown(part) { | |
| return [part]; | |
| } | |
| onPart(part) { | |
| return [part]; | |
| } | |
| } | |
| exports.IdentityFlow = IdentityFlow; | |
| /** | |
| * Depends on DicomFlow | |
| */ | |
| class DeferToPartFlow extends DicomFlow { | |
| onPreamble(part) { | |
| return this.onPart(part); | |
| } | |
| onHeader(part) { | |
| return this.onPart(part); | |
| } | |
| onValueChunk(part) { | |
| return this.onPart(part); | |
| } | |
| onSequence(part) { | |
| return this.onPart(part); | |
| } | |
| onSequenceDelimitation(part) { | |
| return this.onPart(part); | |
| } | |
| onFragments(part) { | |
| return this.onPart(part); | |
| } | |
| onDeflatedChunk(part) { | |
| return this.onPart(part); | |
| } | |
| onUnknown(part) { | |
| return this.onPart(part); | |
| } | |
| onItem(part) { | |
| return this.onPart(part); | |
| } | |
| onItemDelimitation(part) { | |
| return this.onPart(part); | |
| } | |
| } | |
| exports.DeferToPartFlow = DeferToPartFlow; | |
| class DicomStartMarker extends dicom_parts_1.MetaPart { | |
| toString() { | |
| return 'Start Marker []'; | |
| } | |
| } | |
| exports.dicomStartMarker = new DicomStartMarker(); | |
| const StartEvent = (Super) => class extends Super { | |
| onStart() { | |
| throw Error('Not implemented'); | |
| } | |
| baseFlow() { | |
| return (0, base_1.pipe)((0, flows_1.prependFlow)(exports.dicomStartMarker, true), super.baseFlow()); | |
| } | |
| handlePart(part) { | |
| return part === exports.dicomStartMarker ? this.onStart() : super.handlePart(part); | |
| } | |
| }; | |
| exports.StartEvent = StartEvent; | |
| class DicomEndMarker extends dicom_parts_1.MetaPart { | |
| toString() { | |
| return 'End Marker []'; | |
| } | |
| } | |
| exports.dicomEndMarker = new DicomEndMarker(); | |
| const EndEvent = (Super) => class extends Super { | |
| onEnd() { | |
| throw Error('Not implemented'); | |
| } | |
| baseFlow() { | |
| return (0, base_1.pipe)((0, flows_1.appendFlow)(exports.dicomEndMarker, true), super.baseFlow()); | |
| } | |
| handlePart(part) { | |
| return part === exports.dicomEndMarker ? this.onEnd() : super.handlePart(part); | |
| } | |
| }; | |
| exports.EndEvent = EndEvent; | |
| const InFragments = (Super) => class extends Super { | |
| constructor() { | |
| super(...arguments); | |
| this.inFragments = false; | |
| } | |
| onFragments(part) { | |
| this.inFragments = true; | |
| return super.onFragments(part); | |
| } | |
| onSequenceDelimitation(part) { | |
| this.inFragments = false; | |
| return super.onSequenceDelimitation(part); | |
| } | |
| }; | |
| exports.InFragments = InFragments; | |
| class ValueChunkMarker extends dicom_parts_1.ValueChunk { | |
| constructor() { | |
| super(false, base_1.emptyBuffer, true); | |
| } | |
| toString() { | |
| return 'Value Chunk Marker []'; | |
| } | |
| } | |
| exports.valueChunkMarker = new ValueChunkMarker(); | |
| const GuaranteedValueEvent = (Super) => class extends Super { | |
| onHeader(part) { | |
| return part.length === 0 | |
| ? super.onHeader(part).concat(this.onValueChunk(exports.valueChunkMarker)) | |
| : super.onHeader(part); | |
| } | |
| onItem(part) { | |
| return this.inFragments && part.length === 0 | |
| ? super.onItem(part).concat(this.onValueChunk(exports.valueChunkMarker)) | |
| : super.onItem(part); | |
| } | |
| onValueChunk(part) { | |
| return super.onValueChunk(part).filter((c) => c !== exports.valueChunkMarker); | |
| } | |
| }; | |
| exports.GuaranteedValueEvent = GuaranteedValueEvent; | |
| class SequenceDelimitationPartMarker extends dicom_parts_1.SequenceDelimitationPart { | |
| constructor() { | |
| super(false, base_1.emptyBuffer); | |
| } | |
| toString() { | |
| return 'SequenceDelimitationMarker []'; | |
| } | |
| } | |
| exports.sequenceDelimitationPartMarker = new SequenceDelimitationPartMarker(); | |
| class ItemDelimitationPartMarker extends dicom_parts_1.ItemDelimitationPart { | |
| constructor() { | |
| super(false, base_1.emptyBuffer); | |
| } | |
| toString() { | |
| return 'ItemDelimitationMarker []'; | |
| } | |
| } | |
| exports.ItemDelimitationPartMarker = ItemDelimitationPartMarker; | |
| exports.itemDelimitationPartMarker = new ItemDelimitationPartMarker(); | |
| /** | |
| * Depends on InFragments | |
| */ | |
| const GuaranteedDelimitationEvents = (Super) => class extends Super { | |
| constructor() { | |
| super(...arguments); | |
| this.partStack = []; | |
| } | |
| onSequence(part) { | |
| this.subtractLength(part); | |
| this.partStack.unshift({ part, bytesLeft: part.length }); | |
| return super.onSequence(part).concat(this.maybeDelimit()); | |
| } | |
| onItem(part) { | |
| this.subtractLength(part); | |
| if (!this.inFragments) { | |
| this.partStack.unshift({ part, bytesLeft: part.length }); | |
| } | |
| return super.onItem(part).concat(this.maybeDelimit()); | |
| } | |
| onSequenceDelimitation(part) { | |
| if (this.partStack.length > 0 && part != exports.sequenceDelimitationPartMarker && !this.inFragments) { | |
| this.partStack.shift(); | |
| } | |
| return this.subtractAndEmit(part, (p) => super.onSequenceDelimitation(p).filter((d) => d !== exports.sequenceDelimitationPartMarker)); | |
| } | |
| onItemDelimitation(part) { | |
| if (this.partStack.length > 0 && !(part instanceof ItemDelimitationPartMarker)) { | |
| this.partStack.shift(); | |
| } | |
| return this.subtractAndEmit(part, (p) => super.onItemDelimitation(p).filter((d) => !(d instanceof ItemDelimitationPartMarker))); | |
| } | |
| onHeader(part) { | |
| return this.subtractAndEmit(part, super.onHeader.bind(this)); | |
| } | |
| onValueChunk(part) { | |
| return this.subtractAndEmit(part, super.onValueChunk.bind(this)); | |
| } | |
| onFragments(part) { | |
| return this.subtractAndEmit(part, super.onFragments.bind(this)); | |
| } | |
| subtractLength(part) { | |
| this.partStack.forEach((p) => { | |
| if (p.bytesLeft != base_1.indeterminateLength) { | |
| p.bytesLeft -= part.bytes.length; | |
| } | |
| }); | |
| } | |
| maybeDelimit() { | |
| let splitIndex = 0; | |
| while (splitIndex < this.partStack.length && | |
| this.partStack[splitIndex].bytesLeft != base_1.indeterminateLength && | |
| this.partStack[splitIndex].bytesLeft <= 0) { | |
| splitIndex++; | |
| } | |
| const inactive = this.partStack.slice(0, splitIndex); | |
| this.partStack = this.partStack.slice(splitIndex); | |
| const out = inactive.map((i) => i.part instanceof dicom_parts_1.ItemPart | |
| ? this.onItemDelimitation(exports.itemDelimitationPartMarker) | |
| : this.onSequenceDelimitation(exports.sequenceDelimitationPartMarker)); | |
| return [].concat(...out); | |
| } | |
| subtractAndEmit(part, handle) { | |
| this.subtractLength(part); | |
| return handle(part).concat(this.maybeDelimit()); | |
| } | |
| }; | |
| exports.GuaranteedDelimitationEvents = GuaranteedDelimitationEvents; | |
| /** | |
| * Depends on GuaranteedDelimitationEvents | |
| */ | |
| const InSequence = (Super) => class extends Super { | |
| constructor() { | |
| super(...arguments); | |
| this.sequenceStack = []; | |
| } | |
| sequenceDepth() { | |
| return this.sequenceStack.length; | |
| } | |
| inSequence() { | |
| return this.sequenceStack.length > 0; | |
| } | |
| onSequence(part) { | |
| this.sequenceStack.unshift(part); | |
| return super.onSequence(part); | |
| } | |
| onSequenceDelimitation(part) { | |
| if (!this.inFragments) { | |
| this.sequenceStack.shift(); | |
| } | |
| return super.onSequenceDelimitation(part); | |
| } | |
| }; | |
| exports.InSequence = InSequence; | |
| /** | |
| * Depends on GuaranteedValueEvent, GuaranteedDelimitationEvents, InFragments | |
| */ | |
| const TagPathTracking = (Super) => class extends Super { | |
| constructor() { | |
| super(...arguments); | |
| this.tagPath = tag_path_1.emptyTagPath; | |
| } | |
| onHeader(part) { | |
| const t = this.tagPath; | |
| this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag); | |
| return super.onHeader(part); | |
| } | |
| onFragments(part) { | |
| const t = this.tagPath; | |
| this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag); | |
| return super.onFragments(part); | |
| } | |
| onSequence(part) { | |
| const t = this.tagPath; | |
| this.tagPath = t instanceof tag_path_1.TagPathItem ? t.thenSequence(part.tag) : t.previous().thenSequence(part.tag); | |
| return super.onSequence(part); | |
| } | |
| onSequenceDelimitation(part) { | |
| const t = this.tagPath; | |
| if (!this.inFragments) { | |
| this.tagPath = t.previous().thenSequenceEnd(t.tag()); | |
| } | |
| return super.onSequenceDelimitation(part); | |
| } | |
| onItem(part) { | |
| const t = this.tagPath; | |
| if (!this.inFragments) { | |
| if (t instanceof tag_path_1.TagPathItemEnd) { | |
| this.tagPath = t.previous().thenItem(t.tag(), t.item + 1); | |
| } | |
| else { | |
| this.tagPath = t.previous().thenItem(t.tag(), 1); | |
| } | |
| } | |
| return super.onItem(part); | |
| } | |
| onItemDelimitation(part) { | |
| const t = this.tagPath; | |
| if (t instanceof tag_path_1.TagPathItem) { | |
| this.tagPath = t.previous().thenItemEnd(t.tag(), t.item); | |
| } | |
| else { | |
| const ti = t.previous(); | |
| if (ti instanceof tag_path_1.TagPathItem) { | |
| this.tagPath = ti.previous().thenItemEnd(ti.tag(), ti.item); | |
| } | |
| } | |
| return super.onItemDelimitation(part); | |
| } | |
| }; | |
| exports.TagPathTracking = TagPathTracking; | |
| /** | |
| * Depends on InFragments | |
| */ | |
| const GroupLengthWarnings = (Super) => class extends Super { | |
| constructor() { | |
| super(...arguments); | |
| this.silent = false; | |
| } | |
| setSilent(silent) { | |
| this.silent = silent; | |
| } | |
| onHeader(part) { | |
| if (!this.silent && (0, base_1.isGroupLength)(part.tag) && part.tag !== tag_1.Tag.FileMetaInformationGroupLength) { | |
| console.warn('Group length attribute detected, consider removing group lengths to maintain valid ' + | |
| 'DICOM information'); | |
| } | |
| return super.onHeader(part); | |
| } | |
| onSequence(part) { | |
| if (!this.silent && !part.indeterminate && part.length > 0) { | |
| console.warn('Determinate length sequence detected, consider re-encoding sequences to indeterminate ' + | |
| 'length to maintain valid DICOM information'); | |
| } | |
| return super.onSequence(part); | |
| } | |
| onItem(part) { | |
| if (!this.silent && !this.inFragments && !part.indeterminate && part.length > 0) { | |
| console.warn('Determinate length item detected, consider re-encoding items to indeterminate length to ' + | |
| 'maintain valid DICOM information'); | |
| } | |
| return super.onItem(part); | |
| } | |
| }; | |
| exports.GroupLengthWarnings = GroupLengthWarnings; | |
| /***/ }), | |
| /***/ "./src/dicom-flows.ts": | |
| /*!****************************!*\ | |
| !*** ./src/dicom-flows.ts ***! | |
| \****************************/ | |
| /***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
| var __importDefault = (this && this.__importDefault) || function (mod) { | |
| return (mod && mod.__esModule) ? mod : { "default": mod }; | |
| }; | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.deflateDatasetFlow = exports.toUtf8Flow = exports.toIndeterminateLengthSequences = exports.fmiGroupLengthFlow = exports.validateContextFlow = exports.ValidationContext = exports.headerFilter = exports.fmiDiscardFilter = exports.groupLengthDiscardFilter = exports.denyFilter = exports.allowFilter = exports.tagFilter = exports.stopTagFlow = exports.toBytesFlow = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
| const collect_flow_1 = __webpack_require__(/*! ./collect-flow */ "./src/collect-flow.ts"); | |
| const detour_1 = __webpack_require__(/*! ./detour */ "./src/detour.ts"); | |
| const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
| const modify_flow_1 = __webpack_require__(/*! ./modify-flow */ "./src/modify-flow.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| const tag_path_2 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| const tag_tree_1 = __webpack_require__(/*! ./tag-tree */ "./src/tag-tree.ts"); | |
| const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| function toBytesFlow() { | |
| return new stream_1.Transform({ | |
| writableObjectMode: true, | |
| transform(chunk, encoding, callback) { | |
| this.push(chunk.bytes); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.toBytesFlow = toBytesFlow; | |
| function stopTagFlow(tag) { | |
| let endReached = false; | |
| return (0, base_1.pipe)((0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.InSequence)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow))) { | |
| onHeader(part) { | |
| const out = super.onHeader(part); | |
| return this.inSequence() || part.tag < tag ? out : [dicom_flow_1.dicomEndMarker]; | |
| } | |
| })()), new stream_1.Transform({ | |
| objectMode: true, | |
| transform(chunk, encoding, callback) { | |
| if (!endReached) { | |
| if (chunk === dicom_flow_1.dicomEndMarker) { | |
| endReached = true; | |
| this.push(null); | |
| } | |
| else { | |
| this.push(chunk); | |
| } | |
| } | |
| process.nextTick(() => callback()); | |
| }, | |
| })); | |
| } | |
| exports.stopTagFlow = stopTagFlow; | |
| function tagFilter(keepCondition, defaultCondition = () => true, logGroupLengthWarnings = false) { | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow))))) { | |
| constructor() { | |
| super(); | |
| this.keeping = false; | |
| this.setSilent(!logGroupLengthWarnings); | |
| } | |
| onPart(part) { | |
| this.keeping = this.tagPath === tag_path_2.emptyTagPath ? defaultCondition(part) : keepCondition(this.tagPath); | |
| return this.keeping ? [part] : []; | |
| } | |
| })()); | |
| } | |
| exports.tagFilter = tagFilter; | |
| function allowFilter(allowlist, defaultCondition, logGroupLengthWarnings) { | |
| return tagFilter((currentPath) => allowlist.some((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)), defaultCondition, logGroupLengthWarnings); | |
| } | |
| exports.allowFilter = allowFilter; | |
| function denyFilter(denylist, defaultCondition, logGroupLengthWarnings) { | |
| return tagFilter((currentPath) => !denylist.some((t) => t.isTrunkOf(currentPath)), defaultCondition, logGroupLengthWarnings); | |
| } | |
| exports.denyFilter = denyFilter; | |
| function groupLengthDiscardFilter() { | |
| return tagFilter((tagPath) => !(0, base_1.isGroupLength)(tagPath.tag()) || (0, base_1.isFileMetaInformation)(tagPath.tag())); | |
| } | |
| exports.groupLengthDiscardFilter = groupLengthDiscardFilter; | |
| function fmiDiscardFilter() { | |
| return tagFilter((tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), () => false); | |
| } | |
| exports.fmiDiscardFilter = fmiDiscardFilter; | |
| function headerFilter(keepCondition, logGroupLengthWarnings = false) { | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow)) { | |
| constructor() { | |
| super(); | |
| this.keeping = false; | |
| this.setSilent(!logGroupLengthWarnings); | |
| } | |
| onPart(part) { | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| this.keeping = keepCondition(part); | |
| return this.keeping ? [part] : []; | |
| } | |
| if (part instanceof dicom_parts_1.ValueChunk) { | |
| return this.keeping ? [part] : []; | |
| } | |
| this.keeping = true; | |
| return [part]; | |
| } | |
| })()); | |
| } | |
| exports.headerFilter = headerFilter; | |
| class ValidationContext { | |
| constructor(sopClassUID, transferSyntaxUID) { | |
| this.sopClassUID = sopClassUID; | |
| this.transferSyntaxUID = transferSyntaxUID; | |
| } | |
| } | |
| exports.ValidationContext = ValidationContext; | |
| function validateContextFlow(contexts) { | |
| return (0, base_1.pipe)((0, collect_flow_1.collectFromTagPathsFlow)([ | |
| tag_tree_1.TagTree.fromTag(tag_1.Tag.MediaStorageSOPClassUID), | |
| tag_tree_1.TagTree.fromTag(tag_1.Tag.TransferSyntaxUID), | |
| tag_tree_1.TagTree.fromTag(tag_1.Tag.SOPClassUID), | |
| ], 'validatecontext'), (0, dicom_flow_1.createFlow)(new (class extends dicom_flow_1.DeferToPartFlow { | |
| onPart(part) { | |
| if (part instanceof dicom_parts_1.ElementsPart && part.label === 'validatecontext') { | |
| let scuid = part.elements.stringByTag(tag_1.Tag.MediaStorageSOPClassUID); | |
| if (scuid === undefined) { | |
| scuid = part.elements.stringByTag(tag_1.Tag.SOPClassUID); | |
| } | |
| if (scuid === undefined) { | |
| scuid = '<empty>'; | |
| } | |
| let tsuid = part.elements.stringByTag(tag_1.Tag.TransferSyntaxUID); | |
| if (tsuid === undefined) { | |
| tsuid = '<empty>'; | |
| } | |
| if (contexts.findIndex((c) => c.sopClassUID === scuid && c.transferSyntaxUID === tsuid) >= 0) { | |
| return []; | |
| } | |
| else { | |
| throw Error('The presentation context [SOPClassUID = ' + | |
| scuid + | |
| ', TransferSyntaxUID = ' + | |
| tsuid + | |
| '] is not supported'); | |
| } | |
| } | |
| return [part]; | |
| } | |
| })())); | |
| } | |
| exports.validateContextFlow = validateContextFlow; | |
| function fmiGroupLengthFlow() { | |
| return (0, base_1.pipe)((0, collect_flow_1.collectFlow)((tagPath) => tagPath.isRoot() && (0, base_1.isFileMetaInformation)(tagPath.tag()), (tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), 'fmigrouplength'), tagFilter((tagPath) => !(0, base_1.isFileMetaInformation)(tagPath.tag()), () => true, false), (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.EndEvent)(dicom_flow_1.DeferToPartFlow) { | |
| constructor() { | |
| super(...arguments); | |
| this.fmi = []; | |
| this.hasEmitted = false; | |
| } | |
| onEnd() { | |
| return this.hasEmitted ? [] : this.fmi; | |
| } | |
| onPart(part) { | |
| if (part instanceof dicom_parts_1.ElementsPart && part.label === 'fmigrouplength') { | |
| const elements = part.elements; | |
| if (elements.data.length > 0) { | |
| const bigEndian = elements.data[0].bigEndian; | |
| const explicitVR = elements.data[0].explicitVR; | |
| const fmiElementsNoLength = elements.filter((e) => e.tag !== tag_1.Tag.FileMetaInformationGroupLength); | |
| const length = fmiElementsNoLength.data | |
| .map((e) => e.toBytes().length) | |
| .reduce((l1, l2) => l1 + l2, 0); | |
| const lengthHeader = dicom_parts_1.HeaderPart.create(tag_1.Tag.FileMetaInformationGroupLength, vr_1.VR.UL, 4, bigEndian, explicitVR); | |
| const lengthChunk = new dicom_parts_1.ValueChunk(bigEndian, (0, base_1.intToBytes)(length, bigEndian), true); | |
| this.fmi = (0, base_1.concatArrays)([lengthHeader, lengthChunk], fmiElementsNoLength.toParts(false)); | |
| } | |
| return []; | |
| } | |
| if (!this.hasEmitted && part.bytes.length > 0) { | |
| this.hasEmitted = true; | |
| return part instanceof dicom_parts_1.PreamblePart | |
| ? (0, base_1.prependToArray)(part, this.fmi) | |
| : (0, base_1.appendToArray)(part, this.fmi); | |
| } | |
| return [part]; | |
| } | |
| })())); | |
| } | |
| exports.fmiGroupLengthFlow = fmiGroupLengthFlow; | |
| function toIndeterminateLengthSequences() { | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow)) { | |
| constructor() { | |
| super(...arguments); | |
| this.indeterminateBytes = Buffer.from([0xff, 0xff, 0xff, 0xff]); | |
| } | |
| onSequence(part) { | |
| return super.onSequence(part).map((p) => { | |
| if (p instanceof dicom_parts_1.SequencePart && !p.indeterminate) { | |
| return new dicom_parts_1.SequencePart(part.tag, base_1.indeterminateLength, part.bigEndian, part.explicitVR, (0, base_1.concat)(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes)); | |
| } | |
| return p; | |
| }); | |
| } | |
| onSequenceDelimitation(part) { | |
| const out = super.onSequenceDelimitation(part); | |
| if (part.bytes.length <= 0) { | |
| out.push(new dicom_parts_1.SequenceDelimitationPart(part.bigEndian, (0, base_1.sequenceDelimitation)(part.bigEndian))); | |
| } | |
| return out; | |
| } | |
| onItem(part) { | |
| return super.onItem(part).map((p) => { | |
| if (p instanceof dicom_parts_1.ItemPart && !this.inFragments && !p.indeterminate) { | |
| return new dicom_parts_1.ItemPart(base_1.indeterminateLength, part.bigEndian, (0, base_1.concat)(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes)); | |
| } | |
| return p; | |
| }); | |
| } | |
| onItemDelimitation(part) { | |
| const out = super.onItemDelimitation(part); | |
| if (part.bytes.length <= 0) { | |
| out.push(new dicom_parts_1.ItemDelimitationPart(part.bigEndian, (0, base_1.itemDelimitation)(part.bigEndian))); | |
| } | |
| return out; | |
| } | |
| })()); | |
| } | |
| exports.toIndeterminateLengthSequences = toIndeterminateLengthSequences; | |
| function toUtf8Flow() { | |
| return (0, base_1.pipe)((0, collect_flow_1.collectFromTagPathsFlow)([tag_tree_1.TagTree.fromTag(tag_1.Tag.SpecificCharacterSet)], 'toutf8'), (0, modify_flow_1.modifyFlow)([], [new modify_flow_1.TagInsertion(tag_path_1.TagPath.fromTag(tag_1.Tag.SpecificCharacterSet), () => Buffer.from('ISO_IR 192'))]), (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)(dicom_flow_1.IdentityFlow)) { | |
| constructor() { | |
| super(...arguments); | |
| this.characterSets = character_sets_1.defaultCharacterSet; | |
| this.currentValue = base_1.emptyBuffer; | |
| } | |
| onHeader(part) { | |
| if (part.length > 0 && character_sets_1.CharacterSets.isVrAffectedBySpecificCharacterSet(part.vr)) { | |
| this.currentHeader = part; | |
| this.currentValue = base_1.emptyBuffer; | |
| return []; | |
| } | |
| else { | |
| this.currentHeader = undefined; | |
| return [part]; | |
| } | |
| } | |
| onValueChunk(part) { | |
| if (this.currentHeader !== undefined && !this.inFragments) { | |
| this.currentValue = (0, base_1.concat)(this.currentValue, part.bytes); | |
| if (part.last) { | |
| const header = this.currentHeader; | |
| this.currentHeader = undefined; | |
| const newValue = Buffer.from(this.characterSets.decode(this.currentValue, header.vr)); | |
| const newLength = newValue.length; | |
| return [ | |
| header.withUpdatedLength(newLength), | |
| new dicom_parts_1.ValueChunk(header.bigEndian, newValue, true), | |
| ]; | |
| } | |
| else { | |
| return []; | |
| } | |
| } | |
| else { | |
| return [part]; | |
| } | |
| } | |
| onPart(part) { | |
| if (part instanceof dicom_parts_1.ElementsPart && part.label === 'toutf8') { | |
| if (part.elements.contains(tag_1.Tag.SpecificCharacterSet)) { | |
| this.characterSets = character_sets_1.CharacterSets.fromBytes(part.elements.bytesByTag(tag_1.Tag.SpecificCharacterSet)); | |
| } | |
| return []; | |
| } | |
| return [part]; | |
| } | |
| })())); | |
| } | |
| exports.toUtf8Flow = toUtf8Flow; | |
| class DeflateDatasetFlow extends detour_1.Detour { | |
| constructor() { | |
| super({ objectMode: true }); | |
| this.collectingTs = false; | |
| this.tsBytes = base_1.emptyBuffer; | |
| } | |
| process(part) { | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| if (part.isFmi) { | |
| this.collectingTs = part.tag === tag_1.Tag.TransferSyntaxUID; | |
| this.push(part); | |
| } | |
| else { | |
| if (this.tsBytes.toString().trim() === uid_1.UID.DeflatedExplicitVRLittleEndian) { | |
| const toDeflatedChunk = new stream_1.Transform({ | |
| readableObjectMode: true, | |
| transform(chunk, encoding, cb) { | |
| this.push(new dicom_parts_1.DeflatedChunk(false, chunk)); | |
| process.nextTick(() => cb()); | |
| }, | |
| }); | |
| this.setDetourFlow((0, base_1.pipe)(toBytesFlow(), zlib_1.default.createDeflateRaw(), toDeflatedChunk)); | |
| this.setDetour(true, part); | |
| } | |
| else { | |
| this.push(part); | |
| } | |
| } | |
| } | |
| else if (part instanceof dicom_parts_1.ValueChunk && this.collectingTs) { | |
| this.tsBytes = (0, base_1.concat)(this.tsBytes, part.bytes); | |
| this.push(part); | |
| } | |
| else { | |
| this.push(part); | |
| } | |
| } | |
| } | |
| function deflateDatasetFlow() { | |
| return new DeflateDatasetFlow(); | |
| } | |
| exports.deflateDatasetFlow = deflateDatasetFlow; | |
| /***/ }), | |
| /***/ "./src/dicom-parts.ts": | |
| /*!****************************!*\ | |
| !*** ./src/dicom-parts.ts ***! | |
| \****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.ElementsPart = exports.UnknownPart = exports.FragmentsPart = exports.SequenceDelimitationPart = exports.SequencePart = exports.ItemDelimitationPart = exports.ItemPart = exports.DeflatedChunk = exports.ValueChunk = exports.HeaderPart = exports.PreamblePart = exports.MetaPart = exports.DicomPart = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| class DicomPart { | |
| constructor(bigEndian, bytes) { | |
| this.bigEndian = bigEndian; | |
| this.bytes = bytes; | |
| } | |
| } | |
| exports.DicomPart = DicomPart; | |
| class MetaPart extends DicomPart { | |
| constructor() { | |
| super(false, base_1.emptyBuffer); | |
| } | |
| } | |
| exports.MetaPart = MetaPart; | |
| class PreamblePart extends DicomPart { | |
| constructor(bytes) { | |
| super(false, bytes); | |
| } | |
| toString() { | |
| return 'Preamble []'; | |
| } | |
| } | |
| exports.PreamblePart = PreamblePart; | |
| class HeaderPart extends DicomPart { | |
| static create(tag, vr, length, bigEndian = false, explicitVR = true) { | |
| const bytes = explicitVR | |
| ? vr.headerLength === 8 | |
| ? Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), Buffer.from(vr.name), (0, base_1.shortToBytes)(length, bigEndian)], 8) | |
| : Buffer.concat([ | |
| (0, base_1.tagToBytes)(tag, bigEndian), | |
| Buffer.from(vr.name), | |
| Buffer.from([0, 0]), | |
| (0, base_1.intToBytes)(length, bigEndian), | |
| ], 12) | |
| : Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), (0, base_1.intToBytes)(length, bigEndian)], 8); | |
| return new HeaderPart(tag, vr, length, (0, base_1.isFileMetaInformation)(tag), bigEndian, explicitVR, bytes); | |
| } | |
| constructor(tag, vr, length, isFmi, bigEndian, explicitVR, bytes) { | |
| super(bigEndian, bytes); | |
| this.tag = tag; | |
| this.vr = vr; | |
| this.length = length; | |
| this.isFmi = isFmi; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.bytes = bytes; | |
| if (!this.bytes) { | |
| this.bytes = this.explicitVR | |
| ? vr.headerLength === 8 | |
| ? Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), Buffer.from(vr.name), (0, base_1.shortToBytes)(length, bigEndian)], 8) | |
| : Buffer.concat([ | |
| (0, base_1.tagToBytes)(tag, bigEndian), | |
| Buffer.from(vr.name), | |
| Buffer.from([0, 0]), | |
| (0, base_1.intToBytes)(length, bigEndian), | |
| ], 12) | |
| : Buffer.concat([(0, base_1.tagToBytes)(tag, bigEndian), (0, base_1.intToBytes)(length, bigEndian)], 8); | |
| } | |
| } | |
| withUpdatedLength(newLength) { | |
| if (newLength === this.length) { | |
| return this; | |
| } | |
| else { | |
| let updated = null; | |
| if (this.bytes.length >= 8 && this.explicitVR && this.vr.headerLength === 8) { | |
| // explicit vr | |
| updated = (0, base_1.concat)(this.bytes.slice(0, 6), (0, base_1.shortToBytes)(newLength, this.bigEndian)); | |
| } | |
| else if (this.bytes.length >= 12 && this.explicitVR && this.vr.headerLength === 12) { | |
| // explicit vr | |
| updated = (0, base_1.concat)(this.bytes.slice(0, 8), (0, base_1.intToBytes)(newLength, this.bigEndian)); | |
| } | |
| else { | |
| // implicit vr | |
| updated = (0, base_1.concat)(this.bytes.slice(0, 4), (0, base_1.intToBytes)(newLength, this.bigEndian)); | |
| } | |
| return new HeaderPart(this.tag, this.vr, newLength, this.isFmi, this.bigEndian, this.explicitVR, updated); | |
| } | |
| } | |
| toString() { | |
| return ('Header [tag = ' + | |
| (0, base_1.tagToString)(this.tag) + | |
| ', vr = ' + | |
| this.vr.name + | |
| ', length = ' + | |
| this.length + | |
| ', bigEndian = ' + | |
| this.bigEndian + | |
| ', explicitVR = ' + | |
| this.explicitVR + | |
| ']'); | |
| } | |
| } | |
| exports.HeaderPart = HeaderPart; | |
| class ValueChunk extends DicomPart { | |
| constructor(bigEndian, bytes, last) { | |
| super(bigEndian, bytes); | |
| this.last = last; | |
| } | |
| toString() { | |
| let ascii = (0, base_1.trim)(this.bytes | |
| .slice(0, 100) | |
| .toString('ascii') | |
| .replace(/[^\x20-\x7E]/g, '')); | |
| if (this.bytes.length > 100) { | |
| ascii = ascii + '...'; | |
| } | |
| return 'ValueChunk [length = ' + this.bytes.length + ', last = ' + this.last + ', ascii = ' + ascii + ']'; | |
| } | |
| } | |
| exports.ValueChunk = ValueChunk; | |
| class DeflatedChunk extends DicomPart { | |
| constructor(bigEndian, bytes) { | |
| super(bigEndian, bytes); | |
| } | |
| toString() { | |
| return 'DeflatedChunk [length = ' + this.bytes.length + ']'; | |
| } | |
| } | |
| exports.DeflatedChunk = DeflatedChunk; | |
| class ItemPart extends DicomPart { | |
| constructor(length, bigEndian, bytes) { | |
| super(bigEndian, bytes); | |
| this.length = length; | |
| this.indeterminate = false; | |
| this.indeterminate = length === base_1.indeterminateLength; | |
| } | |
| toString() { | |
| return 'Item [length = ' + this.length + ']'; | |
| } | |
| } | |
| exports.ItemPart = ItemPart; | |
| class ItemDelimitationPart extends DicomPart { | |
| constructor(bigEndian, bytes) { | |
| super(bigEndian, bytes); | |
| } | |
| toString() { | |
| return 'ItemDelimitation'; | |
| } | |
| } | |
| exports.ItemDelimitationPart = ItemDelimitationPart; | |
| class SequencePart extends DicomPart { | |
| constructor(tag, length, bigEndian, explicitVR, bytes) { | |
| super(bigEndian, bytes); | |
| this.tag = tag; | |
| this.length = length; | |
| this.explicitVR = explicitVR; | |
| this.indeterminate = false; | |
| this.indeterminate = length === base_1.indeterminateLength; | |
| } | |
| toString() { | |
| return 'Sequence [tag = ' + (0, base_1.tagToString)(this.tag) + ', length = ' + this.length + ']'; | |
| } | |
| } | |
| exports.SequencePart = SequencePart; | |
| class SequenceDelimitationPart extends DicomPart { | |
| constructor(bigEndian, bytes) { | |
| super(bigEndian, bytes); | |
| } | |
| toString() { | |
| return 'SequenceDelimitation []'; | |
| } | |
| } | |
| exports.SequenceDelimitationPart = SequenceDelimitationPart; | |
| class FragmentsPart extends DicomPart { | |
| constructor(tag, length, vr, bigEndian, explicitVR, bytes) { | |
| super(bigEndian, bytes); | |
| this.tag = tag; | |
| this.length = length; | |
| this.vr = vr; | |
| this.explicitVR = explicitVR; | |
| } | |
| toString() { | |
| return ('Fragments [tag = ' + (0, base_1.tagToString)(this.tag) + ', vr = ' + this.vr.name + ', length = ' + this.length + ']'); | |
| } | |
| } | |
| exports.FragmentsPart = FragmentsPart; | |
| class UnknownPart extends DicomPart { | |
| constructor(bigEndian, bytes) { | |
| super(bigEndian, bytes); | |
| } | |
| toString() { | |
| return 'Unknown []'; | |
| } | |
| } | |
| exports.UnknownPart = UnknownPart; | |
| class ElementsPart extends MetaPart { | |
| constructor(label, elements) { | |
| super(); | |
| this.label = label; | |
| this.elements = elements; | |
| } | |
| } | |
| exports.ElementsPart = ElementsPart; | |
| /***/ }), | |
| /***/ "./src/element-flows.ts": | |
| /*!******************************!*\ | |
| !*** ./src/element-flows.ts ***! | |
| \******************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.elementFlow = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
| const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| function elementFlow() { | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.InFragments)(dicom_flow_1.DeferToPartFlow)) { | |
| constructor() { | |
| super(...arguments); | |
| this.bytes = base_1.emptyBuffer; | |
| } | |
| onPart(part) { | |
| if (part instanceof dicom_parts_1.PreamblePart) { | |
| return [dicom_elements_1.preambleElement]; | |
| } | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| this.currentValue = new dicom_elements_1.ValueElement(part.tag, part.vr, value_1.Value.empty(), part.bigEndian, part.explicitVR); | |
| this.bytes = base_1.emptyBuffer; | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ItemPart && this.inFragments) { | |
| this.currentFragment = new dicom_elements_1.FragmentElement(part.length, value_1.Value.empty(), part.bigEndian); | |
| this.bytes = base_1.emptyBuffer; | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.ValueChunk) { | |
| this.bytes = (0, base_1.concat)(this.bytes, part.bytes); | |
| if (part.last) { | |
| if (this.inFragments) { | |
| if (this.currentFragment === undefined) { | |
| return []; | |
| } | |
| else { | |
| return [ | |
| new dicom_elements_1.FragmentElement(this.currentFragment.length, new value_1.Value(this.bytes), this.currentFragment.bigEndian), | |
| ]; | |
| } | |
| } | |
| else { | |
| return [ | |
| new dicom_elements_1.ValueElement(this.currentValue.tag, this.currentValue.vr, new value_1.Value(this.bytes), this.currentValue.bigEndian, this.currentValue.explicitVR), | |
| ]; | |
| } | |
| } | |
| else { | |
| return []; | |
| } | |
| } | |
| if (part instanceof dicom_parts_1.SequencePart) { | |
| return [new dicom_elements_1.SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR)]; | |
| } | |
| if (part instanceof dicom_parts_1.FragmentsPart) { | |
| return [new dicom_elements_1.FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR)]; | |
| } | |
| if (part instanceof dicom_parts_1.ItemPart) { | |
| return [new dicom_elements_1.ItemElement(part.length, part.bigEndian)]; | |
| } | |
| if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
| return [new dicom_elements_1.ItemDelimitationElement(part.bigEndian)]; | |
| } | |
| if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
| return [new dicom_elements_1.SequenceDelimitationElement(part.bigEndian)]; | |
| } | |
| return []; | |
| } | |
| })()); | |
| } | |
| exports.elementFlow = elementFlow; | |
| /***/ }), | |
| /***/ "./src/element-sink.ts": | |
| /*!*****************************!*\ | |
| !*** ./src/element-sink.ts ***! | |
| \*****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.elementSink = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
| function elementSink(callback) { | |
| const builder = new elements_builder_1.ElementsBuilder(); | |
| const sink = new stream_1.Writable({ | |
| objectMode: true, | |
| write(element, encoding, cb) { | |
| try { | |
| builder.addElement(element); | |
| process.nextTick(() => cb()); | |
| } | |
| catch (error) { | |
| process.nextTick(() => this.emit('error', error)); | |
| } | |
| }, | |
| }); | |
| sink.once('finish', () => { | |
| callback(builder.build()); | |
| }); | |
| return sink; | |
| } | |
| exports.elementSink = elementSink; | |
| /***/ }), | |
| /***/ "./src/elements-builder.ts": | |
| /*!*********************************!*\ | |
| !*** ./src/elements-builder.ts ***! | |
| \*********************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.ElementsBuilder = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
| const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| const elements_1 = __webpack_require__(/*! ./elements */ "./src/elements.ts"); | |
| class DatasetBuilder { | |
| constructor(characterSets, zoneOffset) { | |
| this.characterSets = characterSets; | |
| this.zoneOffset = zoneOffset; | |
| this.data = new Array(64); | |
| this.pos = 0; | |
| } | |
| addElementSet(elementSet) { | |
| if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.SpecificCharacterSet) { | |
| this.characterSets = character_sets_1.CharacterSets.fromBytes(elementSet.value.bytes); | |
| } | |
| else if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.TimezoneOffsetFromUTC) { | |
| const newOffset = (0, elements_1.parseZoneOffset)(elementSet.value.toSingleString(vr_1.VR.SH, elementSet.bigEndian, this.characterSets)); | |
| this.zoneOffset = newOffset || this.zoneOffset; | |
| } | |
| if (this.data.length <= this.pos) { | |
| this.data.length *= 2; | |
| } | |
| this.data[this.pos++] = elementSet; | |
| return this; | |
| } | |
| isEmpty() { | |
| return this.data.length == 0; | |
| } | |
| build() { | |
| return new elements_1.Elements(this.characterSets, this.zoneOffset, this.data.slice(0, this.pos)); | |
| } | |
| } | |
| class ElementsBuilder { | |
| constructor() { | |
| this.builderStack = [new DatasetBuilder(base_1.defaultCharacterSet, base_1.systemZone)]; | |
| this.sequenceStack = []; | |
| this.lengthStack = []; | |
| } | |
| addElement(element) { | |
| if (element == dicom_elements_1.preambleElement && this.builderStack.length == 1 && this.builderStack[0].isEmpty()) { | |
| return this; | |
| } | |
| if (element instanceof dicom_elements_1.ValueElement) { | |
| this.subtractLength(element.length + (element.explicitVR ? element.vr.headerLength : 8)); | |
| const builder = this.builderStack[0]; | |
| builder.addElementSet(element); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.FragmentsElement) { | |
| this.subtractLength(element.explicitVR ? element.vr.headerLength : 8); | |
| this.updateFragments(new dicom_elements_1.Fragments(element.tag, element.vr, undefined, [], element.bigEndian, element.explicitVR)); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.FragmentElement) { | |
| this.subtractLength(8 + element.length); | |
| if (this.fragments !== undefined) { | |
| const updatedFragments = this.fragments.addFragment(new dicom_elements_1.Fragment(element.length, element.value, element.bigEndian)); | |
| this.updateFragments(updatedFragments); | |
| } | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.SequenceDelimitationElement && this.hasFragments()) { | |
| this.subtractLength(8); | |
| const builder = this.builderStack[0]; | |
| builder.addElementSet(this.fragments); | |
| this.updateFragments(undefined); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.SequenceElement) { | |
| this.subtractLength(element.explicitVR ? 12 : 8); | |
| if (!element.indeterminate) { | |
| this.pushLength(element, element.length); | |
| } | |
| this.pushSequence(new dicom_elements_1.Sequence(element.tag, element.indeterminate ? element.length : 0, [], element.bigEndian, element.explicitVR)); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.ItemElement && this.hasSequence()) { | |
| this.subtractLength(8); | |
| const builder = this.builderStack[0]; | |
| const sequence = this.sequenceStack[0].addItem(new dicom_elements_1.Item(elements_1.Elements.empty(), element.indeterminate ? element.length : 0, element.bigEndian)); | |
| if (!element.indeterminate) { | |
| this.pushLength(element, element.length); | |
| } | |
| this.pushBuilder(new DatasetBuilder(builder.characterSets, builder.zoneOffset)); | |
| this.updateSequence(sequence); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.ItemDelimitationElement && this.hasSequence()) { | |
| this.subtractLength(8); | |
| if (!this.itemIsIndeterminate() && this.lengthStack.length > 0) { | |
| this.lengthStack.shift(); // determinate length item with delimitation - handle gracefully | |
| } | |
| this.endItem(); | |
| return this.maybeDelimit(); | |
| } | |
| if (element instanceof dicom_elements_1.SequenceDelimitationElement && this.hasSequence()) { | |
| this.subtractLength(8); | |
| if (!this.sequenceIsIndeterminate() && this.lengthStack.length > 0) { | |
| this.lengthStack.shift(); // determinate length sequence with delimitation - handle gracefully | |
| } | |
| this.endSequence(); | |
| return this.maybeDelimit(); | |
| } | |
| console.warn(`Unexpected element ${element}`); | |
| this.subtractLength(element.toBytes().length); | |
| return this.maybeDelimit(); | |
| } | |
| noteElement(element) { | |
| this.subtractLength(element.toBytes().length); | |
| return this.maybeDelimit(); | |
| } | |
| currentDepth() { | |
| return this.sequenceStack.length; | |
| } | |
| build() { | |
| return this.builderStack.length === 0 ? elements_1.Elements.empty() : this.builderStack[0].build(); | |
| } | |
| updateSequence(sequence) { | |
| if (this.sequenceStack.length === 0) { | |
| this.sequenceStack = [sequence]; | |
| } | |
| else { | |
| this.sequenceStack[0] = sequence; | |
| } | |
| } | |
| updateFragments(fragments) { | |
| this.fragments = fragments; | |
| } | |
| subtractLength(length) { | |
| this.lengthStack.forEach((l) => (l.bytesLeft -= length)); | |
| } | |
| pushBuilder(builder) { | |
| this.builderStack.unshift(builder); | |
| } | |
| pushSequence(sequence) { | |
| this.sequenceStack.unshift(sequence); | |
| } | |
| pushLength(element, length) { | |
| this.lengthStack.unshift({ element, bytesLeft: length }); | |
| } | |
| popBuilder() { | |
| this.builderStack.shift(); | |
| } | |
| popSequence() { | |
| this.sequenceStack.shift(); | |
| } | |
| hasSequence() { | |
| return this.sequenceStack.length > 0; | |
| } | |
| hasFragments() { | |
| return this.fragments !== undefined; | |
| } | |
| sequenceIsIndeterminate() { | |
| return this.sequenceStack.length > 0 && this.sequenceStack[0].indeterminate; | |
| } | |
| itemIsIndeterminate() { | |
| return (this.sequenceStack.length > 0 && | |
| this.sequenceStack[0].items.length > 0 && | |
| this.sequenceStack[0].items[this.sequenceStack[0].items.length - 1].indeterminate); | |
| } | |
| endItem() { | |
| const builder = this.builderStack[0]; | |
| const sequence = this.sequenceStack[0]; | |
| const elements = builder.build(); | |
| const items = sequence.items; | |
| if (items.length > 0) { | |
| items[items.length - 1] = items[items.length - 1].setElements(elements); | |
| const updatedSequence = new dicom_elements_1.Sequence(sequence.tag, sequence.length, items, sequence.bigEndian, sequence.explicitVR); | |
| this.popBuilder(); | |
| this.updateSequence(updatedSequence); | |
| } | |
| } | |
| endSequence() { | |
| const sequence = this.sequenceStack[0]; | |
| const sequenceLength = sequence.indeterminate | |
| ? sequence.length | |
| : sequence.toBytes().length - (sequence.explicitVR ? 12 : 8); | |
| const updatedSequence = new dicom_elements_1.Sequence(sequence.tag, sequenceLength, sequence.items, sequence.bigEndian, sequence.explicitVR); | |
| const builder = this.builderStack[0]; | |
| builder.addElementSet(updatedSequence); | |
| this.popSequence(); | |
| } | |
| maybeDelimit() { | |
| const delimits = this.lengthStack.filter((e) => e.bytesLeft <= 0); | |
| if (delimits.length > 0) { | |
| this.lengthStack = this.lengthStack.filter((e) => e.bytesLeft > 0); | |
| delimits.forEach((e) => { | |
| if (e.element instanceof dicom_elements_1.ItemElement) { | |
| this.endItem(); | |
| } | |
| else { | |
| this.endSequence(); | |
| } | |
| }); | |
| } | |
| return this; | |
| } | |
| } | |
| exports.ElementsBuilder = ElementsBuilder; | |
| /***/ }), | |
| /***/ "./src/elements.ts": | |
| /*!*************************!*\ | |
| !*** ./src/elements.ts ***! | |
| \*************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Elements = exports.parseZoneOffset = void 0; | |
| const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
| const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| function parseZoneOffset(s) { | |
| if (s.length < 5) { | |
| return undefined; | |
| } | |
| try { | |
| return js_joda_1.ZoneOffset.ofTotalMinutes(parseInt(s.slice(0, 1) + (parseInt(s.slice(1, 3), 10) * 60 + parseInt(s.slice(4, 6), 10)), 10)); | |
| } | |
| catch (error) { | |
| return undefined; | |
| } | |
| } | |
| exports.parseZoneOffset = parseZoneOffset; | |
| class Elements { | |
| static empty(characterSets = base_1.defaultCharacterSet, zoneOffset = base_1.systemZone) { | |
| return new Elements(characterSets, zoneOffset, []); | |
| } | |
| constructor(characterSets = base_1.defaultCharacterSet, zoneOffset = base_1.systemZone, data = []) { | |
| this.characterSets = characterSets; | |
| this.zoneOffset = zoneOffset; | |
| this.data = data; | |
| this.size = data.length; | |
| } | |
| elementByTag(tag) { | |
| return this.data.find((e) => e.tag === tag); | |
| } | |
| elementByPath(tagPath) { | |
| const tp = tagPath.previous(); | |
| if (tp instanceof tag_path_1.TagPathItem) { | |
| const e = this.nestedByPath(tp); | |
| return e === undefined ? undefined : e.elementByTag(tagPath.tag()); | |
| } | |
| if (tp.isEmpty()) { | |
| return this.elementByTag(tagPath.tag()); | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| valueElementByTag(tag) { | |
| return this._valueByTag(tag, (f) => f); | |
| } | |
| valueElementByPath(tagPath) { | |
| return this._valueByPath(tagPath, (f) => f); | |
| } | |
| valueByTag(tag) { | |
| const e = this.valueElementByTag(tag); | |
| return e ? e.value : undefined; | |
| } | |
| valueByPath(tagPath) { | |
| const e = this.valueElementByPath(tagPath); | |
| return e ? e.value : undefined; | |
| } | |
| bytesByTag(tag) { | |
| const e = this.valueByTag(tag); | |
| return e ? e.bytes : undefined; | |
| } | |
| bytesByPath(tagPath) { | |
| const e = this.valueByPath(tagPath); | |
| return e ? e.bytes : undefined; | |
| } | |
| stringsByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| stringsByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| stringByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| stringByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| singleStringByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| singleStringByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets)); | |
| } | |
| numbersByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toNumbers(v.vr, v.bigEndian)); | |
| } | |
| numbersByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toNumbers(v.vr, v.bigEndian)); | |
| } | |
| numberByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toNumber(v.vr, v.bigEndian)); | |
| } | |
| numberByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toNumber(v.vr, v.bigEndian)); | |
| } | |
| datesByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toDates(v.vr)); | |
| } | |
| datesByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toDates(v.vr)); | |
| } | |
| dateByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toDate(v.vr)); | |
| } | |
| dateByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toDate(v.vr)); | |
| } | |
| timesByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toTimes(v.vr)); | |
| } | |
| timesByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toTimes(v.vr)); | |
| } | |
| timeByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toTime(v.vr)); | |
| } | |
| timeByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toTime(v.vr)); | |
| } | |
| dateTimesByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toDateTimes(v.vr, this.zoneOffset)); | |
| } | |
| dateTimesByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toDateTimes(v.vr, this.zoneOffset)); | |
| } | |
| dateTimeByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toDateTime(v.vr, this.zoneOffset)); | |
| } | |
| dateTimeByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toDateTime(v.vr, this.zoneOffset)); | |
| } | |
| personNamesByTag(tag) { | |
| return this._valuesByTag(tag, (v) => v.value.toPersonNames(v.vr, this.characterSets)); | |
| } | |
| personNamesByPath(tagPath) { | |
| return this._valuesByPath(tagPath, (v) => v.value.toPersonNames(v.vr, this.characterSets)); | |
| } | |
| personNameByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toPersonName(v.vr, this.characterSets)); | |
| } | |
| personNameByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toPersonName(v.vr, this.characterSets)); | |
| } | |
| urlByTag(tag) { | |
| return this._valueByTag(tag, (v) => v.value.toURL(v.vr)); | |
| } | |
| urlByPath(tagPath) { | |
| return this._valueByPath(tagPath, (v) => v.value.toURL(v.vr)); | |
| } | |
| sequenceByTag(tag) { | |
| const e = this.elementByTag(tag); | |
| return e instanceof dicom_elements_1.Sequence ? e : undefined; | |
| } | |
| sequenceByPath(tagPath) { | |
| const e = this._traverseTrunk(this, tagPath.previous()); | |
| return e ? e.sequenceByTag(tagPath.tag()) : undefined; | |
| } | |
| itemByTag(tag, index) { | |
| const s = this.sequenceByTag(tag); | |
| return s ? s.item(index) : undefined; | |
| } | |
| nestedByTag(tag, item) { | |
| const i = this.itemByTag(tag, item); | |
| return i ? i.elements : undefined; | |
| } | |
| nestedByPath(tagPath) { | |
| const e = this._traverseTrunk(this, tagPath.previous()); | |
| return e ? e.nestedByTag(tagPath.tag(), tagPath.item) : undefined; | |
| } | |
| fragmentsByTag(tag) { | |
| const e = this.elementByTag(tag); | |
| return e && e instanceof dicom_elements_1.Fragments ? e : undefined; | |
| } | |
| setElementSet(elementSet) { | |
| if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.SpecificCharacterSet) { | |
| return new Elements(character_sets_1.CharacterSets.fromBytes(elementSet.value.bytes), this.zoneOffset, this._insertOrdered(elementSet)); | |
| } | |
| if (elementSet instanceof dicom_elements_1.ValueElement && elementSet.tag === tag_1.Tag.TimezoneOffsetFromUTC) { | |
| const newOffset = parseZoneOffset(elementSet.value.toString(vr_1.VR.SH)); | |
| const zone = newOffset || base_1.systemZone; | |
| return new Elements(this.characterSets, zone, this._insertOrdered(elementSet)); | |
| } | |
| return new Elements(this.characterSets, this.zoneOffset, this._insertOrdered(elementSet)); | |
| } | |
| setElementSets(elementSets) { | |
| return elementSets.reduce((elements, elementSet) => elements.setElementSet(elementSet), this); | |
| } | |
| setSequence(sequence) { | |
| return this.setElementSet(sequence); | |
| } | |
| updateSequence(tag, index, update) { | |
| const s1 = this.sequenceByTag(tag); | |
| if (s1) { | |
| const i1 = s1.item(index); | |
| if (i1) { | |
| const e1 = i1.elements; | |
| const e2 = update(e1); | |
| const i2 = i1.setElements(e2); | |
| const s2 = s1.setItem(index, i2); | |
| return this.setElementSet(s2); | |
| } | |
| } | |
| return undefined; | |
| } | |
| updatePath(elems, tagPath, f) { | |
| if (tagPath.length === 0) { | |
| return f(elems); | |
| } | |
| const tp = tagPath[0]; | |
| if (tp instanceof tag_path_1.TagPathItem) { | |
| const updated = elems.updateSequence(tp.tag(), tp.item, (e) => this.updatePath(e, tagPath.slice(1), f)); | |
| return updated ? updated : elems; | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| setNested(tagPath, elements) { | |
| return this.updatePath(this, tagPath.toList(), () => elements); | |
| } | |
| setNestedElementSet(tagPath, elementSet) { | |
| return this.updatePath(this, tagPath.toList(), (elements) => elements.setElementSet(elementSet)); | |
| } | |
| setNestedSequence(tagPath, sequence) { | |
| return this.setNestedElementSet(tagPath, sequence); | |
| } | |
| addItem(tagPath, elements) { | |
| const sequence = this.sequenceByPath(tagPath); | |
| if (sequence) { | |
| const bigEndian = sequence.bigEndian; | |
| const indeterminate = sequence.indeterminate; | |
| const item = indeterminate | |
| ? new dicom_elements_1.Item(elements, base_1.indeterminateLength, bigEndian) | |
| : new dicom_elements_1.Item(elements, elements.toBytes(false).length, bigEndian); | |
| const updatedSequence = sequence.addItem(item); | |
| if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
| return this.setSequence(updatedSequence); | |
| } | |
| else if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
| return this.setNestedSequence(tagPath.previous(), updatedSequence); | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| return this; | |
| } | |
| setCharacterSets(characterSets) { | |
| return new Elements(characterSets, this.zoneOffset, this.data); | |
| } | |
| setZoneOffset(zoneOffset) { | |
| return new Elements(this.characterSets, zoneOffset, this.data); | |
| } | |
| setValue(tag, vr, value, bigEndian = false, explicitVR = true) { | |
| return this.setElementSet(new dicom_elements_1.ValueElement(tag, vr, value, bigEndian, explicitVR)); | |
| } | |
| setBytes(tag, vr, value, bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromBuffer(vr, value), bigEndian, explicitVR); | |
| } | |
| setStrings(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR); | |
| } | |
| setString(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromString(vr, value, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNumbers(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNumber(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR); | |
| } | |
| setDates(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromDates(vr, values), bigEndian, explicitVR); | |
| } | |
| setDate(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromDate(vr, value), bigEndian, explicitVR); | |
| } | |
| setTimes(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromTimes(vr, values), bigEndian, explicitVR); | |
| } | |
| setTime(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromTime(vr, value), bigEndian, explicitVR); | |
| } | |
| setDateTimes(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromDateTimes(vr, values), bigEndian, explicitVR); | |
| } | |
| setDateTime(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromDateTime(vr, value), bigEndian, explicitVR); | |
| } | |
| setPersonNames(tag, values, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromPersonNames(vr, values), bigEndian, explicitVR); | |
| } | |
| setPersonName(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromPersonName(vr, value), bigEndian, explicitVR); | |
| } | |
| setURL(tag, value, vr = lookup_1.Lookup.vrOf(tag), bigEndian = false, explicitVR = true) { | |
| return this.setValue(tag, vr, value_1.Value.fromURL(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedValue(tagPath, vr, value, bigEndian = false, explicitVR = true) { | |
| if (tagPath.isRoot()) { | |
| return this.setValue(tagPath.tag(), vr, value, bigEndian, explicitVR); | |
| } | |
| else { | |
| return this.setNested(tagPath.previous(), (this.nestedByPath(tagPath.previous()) || Elements.empty()).setValue(tagPath.tag(), vr, value, bigEndian, explicitVR)); | |
| } | |
| } | |
| setNestedBytes(tagPath, vr, value, bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromBuffer(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedStrings(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNestedString(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromString(vr, value, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNestedNumbers(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNestedNumber(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR); | |
| } | |
| setNestedDates(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromDates(vr, values), bigEndian, explicitVR); | |
| } | |
| setNestedDate(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromDate(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedTimes(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromTimes(vr, values), bigEndian, explicitVR); | |
| } | |
| setNestedTime(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromTime(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedDateTimes(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromDateTimes(vr, values), bigEndian, explicitVR); | |
| } | |
| setNestedDateTime(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromDateTime(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedPersonNames(tagPath, values, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromPersonNames(vr, values), bigEndian, explicitVR); | |
| } | |
| setNestedPersonName(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromPersonName(vr, value), bigEndian, explicitVR); | |
| } | |
| setNestedURL(tagPath, value, vr = lookup_1.Lookup.vrOf(tagPath.tag()), bigEndian = false, explicitVR = true) { | |
| return this.setNestedValue(tagPath, vr, value_1.Value.fromURL(vr, value), bigEndian, explicitVR); | |
| } | |
| removeByTag(tag) { | |
| return this.filter((elementSet) => elementSet.tag !== tag); | |
| } | |
| removeByPath(tagPath) { | |
| if (tagPath === tag_path_1.emptyTagPath) { | |
| return this; | |
| } | |
| if (tagPath instanceof tag_path_1.TagPathItem) { | |
| if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
| const s = this.sequenceByTag(tagPath.tag()); | |
| return s ? this.setSequence(s.removeItem(tagPath.item)) : this; | |
| } | |
| if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
| const e = this.nestedByPath(tagPath.previous()); | |
| return e | |
| ? this.setNested(tagPath.previous(), e.removeByPath(tag_path_1.TagPath.fromItem(tagPath.tag(), tagPath.item))) | |
| : this; | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| if (tagPath instanceof tag_path_1.TagPathTag) { | |
| if (tagPath.previous() === tag_path_1.emptyTagPath) { | |
| return this.removeByTag(tagPath.tag()); | |
| } | |
| if (tagPath.previous() instanceof tag_path_1.TagPathItem) { | |
| const e = this.nestedByPath(tagPath.previous()); | |
| return e ? this.setNested(tagPath.previous(), e.removeByTag(tagPath.tag())) : this; | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| filter(f) { | |
| return new Elements(this.characterSets, this.zoneOffset, this.data.filter(f)); | |
| } | |
| head() { | |
| return this.data.length > 0 ? this.data[0] : undefined; | |
| } | |
| isEmpty() { | |
| return this.data.length <= 0; | |
| } | |
| nonEmpty() { | |
| return !this.isEmpty(); | |
| } | |
| contains(tag) { | |
| return typeof tag === 'number' | |
| ? this.data.map((e) => e.tag).includes(tag) | |
| : tag instanceof tag_path_1.TagPathTag | |
| ? this.elementByPath(tag) !== undefined | |
| : tag instanceof tag_path_1.TagPathItem | |
| ? this.nestedByPath(tag) !== undefined | |
| : false; | |
| } | |
| sorted() { | |
| return new Elements(this.characterSets, this.zoneOffset, this.data.slice().sort((e1, e2) => e1.tag - e2.tag)); | |
| } | |
| toElements(withPreamble = true) { | |
| const elements = (0, base_1.flatten)(this.data.map((e) => e.toElements())); | |
| return withPreamble ? (0, base_1.prependToArray)(dicom_elements_1.preambleElement, elements) : elements; | |
| } | |
| toParts(withPreamble) { | |
| return (0, base_1.flatten)(this.toElements(withPreamble).map((e) => e.toParts())); | |
| } | |
| toBytes(withPreamble = true) { | |
| return this.data | |
| .map((e) => e.toBytes()) | |
| .reduce((p, e) => (0, base_1.concat)(p, e), withPreamble ? dicom_elements_1.preambleElement.toBytes() : base_1.emptyBuffer); | |
| } | |
| toStrings(indent) { | |
| const space = ' '; | |
| const space1 = (description) => { | |
| return space.repeat(Math.max(0, 40 - description.length)); | |
| }; | |
| const space2 = (length) => { | |
| return space.repeat(Math.max(0, 4 - (length + '').length)); | |
| }; | |
| return (0, base_1.flatten)(this.data.map((e) => { | |
| if (e instanceof dicom_elements_1.ValueElement) { | |
| const strings = e.value.toStrings(e.vr, e.bigEndian, this.characterSets); | |
| const s = strings.join(base_1.multiValueDelimiter); | |
| const vm = strings.length + ''; | |
| return [ | |
| indent + | |
| (0, base_1.tagToString)(e.tag) + | |
| space + | |
| e.vr.name + | |
| space + | |
| s + | |
| space + | |
| space1(s) + | |
| ' # ' + | |
| space2(e.length) + | |
| space + | |
| e.length + | |
| ', ' + | |
| vm + | |
| space + | |
| lookup_1.Lookup.keywordOf(e.tag) || '', | |
| ]; | |
| } | |
| if (e instanceof dicom_elements_1.Sequence) { | |
| const hDescription = e.length === base_1.indeterminateLength | |
| ? 'Sequence with indeterminate length' | |
| : 'Sequence with explicit length ' + e.length; | |
| const heading = indent + | |
| (0, base_1.tagToString)(e.tag) + | |
| ' SQ ' + | |
| hDescription + | |
| space + | |
| space1(hDescription) + | |
| ' # ' + | |
| space2((0, base_1.toInt32)(e.length)) + | |
| space + | |
| (0, base_1.toInt32)(e.length) + | |
| ', 1 ' + | |
| lookup_1.Lookup.keywordOf(e.tag) || ''; | |
| const items = (0, base_1.flatten)(e.items.map((i) => { | |
| const iDescription = i.indeterminate | |
| ? 'Item with indeterminate length' | |
| : 'Item with explicit length ' + i.length; | |
| const itemHeading = indent + | |
| ' ' + | |
| (0, base_1.tagToString)(tag_1.Tag.Item) + | |
| ' na ' + | |
| iDescription + | |
| space + | |
| space1(iDescription) + | |
| ' # ' + | |
| space2((0, base_1.toInt32)(i.length)) + | |
| space + | |
| (0, base_1.toInt32)(i.length) + | |
| ', 1 Item'; | |
| const elems = i.elements.toStrings(indent + ' '); | |
| const itemDelimitation = indent + | |
| ' ' + | |
| (0, base_1.tagToString)(tag_1.Tag.ItemDelimitationItem) + | |
| ' na ' + | |
| space.repeat(41) + | |
| ' # 0, 0 ItemDelimitationItem'; | |
| elems.unshift(itemHeading); | |
| elems.push(itemDelimitation); | |
| return elems; | |
| })); | |
| const delimitation = indent + | |
| (0, base_1.tagToString)(tag_1.Tag.SequenceDelimitationItem) + | |
| ' na ' + | |
| space.repeat(41) + | |
| ' # 0, 0 SequenceDelimitationItem'; | |
| items.unshift(heading); | |
| items.push(delimitation); | |
| return items; | |
| } | |
| if (e instanceof dicom_elements_1.Fragments) { | |
| const hDescription = 'Fragments with ' + e.size + ' fragment(s)'; | |
| const heading = indent + | |
| (0, base_1.tagToString)(e.tag) + | |
| space + | |
| e.vr.name + | |
| space + | |
| hDescription + | |
| space + | |
| space1(hDescription) + | |
| ' # na, 1 ' + | |
| lookup_1.Lookup.keywordOf(e.tag) || ''; | |
| let offsets = []; | |
| if (e.offsets !== undefined) { | |
| const len = e.offsets.length; | |
| const description = 'Offsets table with ' + len + ' offset(s)'; | |
| offsets = [ | |
| indent + | |
| space + | |
| space + | |
| (0, base_1.tagToString)(tag_1.Tag.Item) + | |
| ' na ' + | |
| description + | |
| space + | |
| space1(description) + | |
| ' # ' + | |
| space2(len * 4) + | |
| space + | |
| len * 4 + | |
| ', 1 Item', | |
| ]; | |
| } | |
| const fragments = e.fragments.map((f) => { | |
| const description = 'Fragment with length ' + f.length; | |
| return (indent + | |
| space + | |
| space + | |
| (0, base_1.tagToString)(tag_1.Tag.Item) + | |
| ' na ' + | |
| description + | |
| space + | |
| space1(description) + | |
| ' # ' + | |
| space2(f.length) + | |
| space + | |
| f.length + | |
| ', 1 Item'); | |
| }); | |
| const delimitation = indent + | |
| (0, base_1.tagToString)(tag_1.Tag.SequenceDelimitationItem) + | |
| ' na ' + | |
| space.repeat(43) + | |
| ' # 0, 0 SequenceDelimitationItem'; | |
| offsets.unshift(heading); | |
| for (const fragment of fragments) { | |
| offsets.push(fragment); | |
| } | |
| offsets.push(delimitation); | |
| return offsets; | |
| } | |
| return []; | |
| })); | |
| } | |
| toString() { | |
| return this.toStrings('').join('\r\n'); | |
| } | |
| _valueByTag(tag, f) { | |
| const e = this.elementByTag(tag); | |
| return e && e instanceof dicom_elements_1.ValueElement ? f(e) : undefined; | |
| } | |
| _valueByPath(tagPath, f) { | |
| const e = this.elementByPath(tagPath); | |
| return e && e instanceof dicom_elements_1.ValueElement ? f(e) : undefined; | |
| } | |
| _valuesByTag(tag, f) { | |
| const e = this.elementByTag(tag); | |
| return e && e instanceof dicom_elements_1.ValueElement ? f(e) : []; | |
| } | |
| _valuesByPath(tagPath, f) { | |
| const e = this.elementByPath(tagPath); | |
| return e && e instanceof dicom_elements_1.ValueElement ? f(e) : []; | |
| } | |
| _traverseTrunk(elems, trunk) { | |
| if (trunk.isEmpty()) { | |
| return elems; | |
| } | |
| else { | |
| if (trunk instanceof tag_path_1.TagPathItem) { | |
| const e = this._traverseTrunk(elems, trunk.previous()); | |
| return e ? e.nestedByTag(trunk.tag(), trunk.item) : undefined; | |
| } | |
| throw Error('Unsupported tag path type'); | |
| } | |
| } | |
| _insertOrdered(element) { | |
| if (this.isEmpty()) { | |
| return [element]; | |
| } | |
| else { | |
| const b = []; | |
| let isBelow = true; | |
| this.data.forEach((e) => { | |
| if (isBelow && e.tag > element.tag) { | |
| b.push(element); | |
| isBelow = false; | |
| } | |
| if (e.tag === element.tag) { | |
| b.push(element); | |
| isBelow = false; | |
| } | |
| else { | |
| b.push(e); | |
| } | |
| }); | |
| if (isBelow) { | |
| b.push(element); | |
| } | |
| return b; | |
| } | |
| } | |
| } | |
| exports.Elements = Elements; | |
| /***/ }), | |
| /***/ "./src/flows.ts": | |
| /*!**********************!*\ | |
| !*** ./src/flows.ts ***! | |
| \**********************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.flatMapFlow = exports.filterFlow = exports.mapFlow = exports.objectToStringFlow = exports.appendFlow = exports.prependFlow = exports.printFlow = exports.identityFlow = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| function identityFlow(objectMode = false) { | |
| return new stream_1.Transform({ | |
| objectMode, | |
| transform(chunk, encoding, callback) { | |
| this.push(chunk); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.identityFlow = identityFlow; | |
| function printFlow(objectMode = false) { | |
| return new stream_1.Transform({ | |
| objectMode, | |
| transform(chunk, encoding, callback) { | |
| console.log(chunk); | |
| this.push(chunk); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.printFlow = printFlow; | |
| function prependFlow(prependChunk, objectMode = false) { | |
| let hasEmitted = false; | |
| return new stream_1.Transform({ | |
| objectMode, | |
| transform(chunk, encoding, callback) { | |
| if (!hasEmitted) { | |
| this.push(prependChunk); | |
| hasEmitted = true; | |
| } | |
| this.push(chunk); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.prependFlow = prependFlow; | |
| function appendFlow(appendChunk, objectMode = false) { | |
| return new stream_1.Transform({ | |
| objectMode, | |
| transform(chunk, encoding, callback) { | |
| this.push(chunk); | |
| process.nextTick(() => callback()); | |
| }, | |
| flush(callback) { | |
| process.nextTick(() => callback(null, appendChunk)); | |
| }, | |
| }); | |
| } | |
| exports.appendFlow = appendFlow; | |
| function objectToStringFlow(toStringFunction) { | |
| return new stream_1.Transform({ | |
| writableObjectMode: true, | |
| transform(chunk, encoding, callback) { | |
| this.push(toStringFunction(chunk) + '\n'); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.objectToStringFlow = objectToStringFlow; | |
| function mapFlow(f) { | |
| return new stream_1.Transform({ | |
| objectMode: true, | |
| transform(chunk, encoding, callback) { | |
| try { | |
| this.push(f(chunk)); | |
| process.nextTick(() => callback()); | |
| } | |
| catch (error) { | |
| process.nextTick(() => this.emit('error', error)); | |
| } | |
| }, | |
| }); | |
| } | |
| exports.mapFlow = mapFlow; | |
| function filterFlow(f) { | |
| return new stream_1.Transform({ | |
| objectMode: true, | |
| transform(chunk, encoding, callback) { | |
| try { | |
| if (f(chunk) === true) { | |
| this.push(chunk); | |
| } | |
| process.nextTick(() => callback()); | |
| } | |
| catch (error) { | |
| process.nextTick(() => this.emit('error', error)); | |
| } | |
| }, | |
| }); | |
| } | |
| exports.filterFlow = filterFlow; | |
| function flatMapFlow(toChunks) { | |
| return new stream_1.Transform({ | |
| objectMode: true, | |
| transform(chunk, encoding, callback) { | |
| try { | |
| for (const outChunk of toChunks(chunk)) { | |
| this.push(outChunk); | |
| } | |
| process.nextTick(() => callback()); | |
| } | |
| catch (error) { | |
| process.nextTick(() => this.emit('error', error)); | |
| } | |
| }, | |
| }); | |
| } | |
| exports.flatMapFlow = flatMapFlow; | |
| /***/ }), | |
| /***/ "./src/index.ts": | |
| /*!**********************!*\ | |
| !*** ./src/index.ts ***! | |
| \**********************/ | |
| /***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| var desc = Object.getOwnPropertyDescriptor(m, k); | |
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | |
| desc = { enumerable: true, get: function() { return m[k]; } }; | |
| } | |
| Object.defineProperty(o, k2, desc); | |
| }) : (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| o[k2] = m[k]; | |
| })); | |
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | |
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | |
| }; | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.CharacterSets = void 0; | |
| __exportStar(__webpack_require__(/*! ./detour */ "./src/detour.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./base */ "./src/base.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./vr */ "./src/vr.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./uid */ "./src/uid.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./tag */ "./src/tag.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./lookup */ "./src/lookup.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./tag-tree */ "./src/tag-tree.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./person-name */ "./src/person-name.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"), exports); | |
| var character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
| Object.defineProperty(exports, "CharacterSets", ({ enumerable: true, get: function () { return character_sets_1.CharacterSets; } })); | |
| __exportStar(__webpack_require__(/*! ./sources */ "./src/sources.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./flows */ "./src/flows.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./sinks */ "./src/sinks.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./parse-flow */ "./src/parse-flow.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./dicom-flows */ "./src/dicom-flows.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./collect-flow */ "./src/collect-flow.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./modify-flow */ "./src/modify-flow.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./parser */ "./src/parser.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./value */ "./src/value.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./elements */ "./src/elements.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./element-flows */ "./src/element-flows.ts"), exports); | |
| __exportStar(__webpack_require__(/*! ./element-sink */ "./src/element-sink.ts"), exports); | |
| /***/ }), | |
| /***/ "./src/lookup.ts": | |
| /*!***********************!*\ | |
| !*** ./src/lookup.ts ***! | |
| \***********************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Lookup = void 0; | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const tag_to_vr_1 = __webpack_require__(/*! ./tag-to-vr */ "./src/tag-to-vr.ts"); | |
| const uid_to_name_1 = __webpack_require__(/*! ./uid-to-name */ "./src/uid-to-name.ts"); | |
| class Lookup { | |
| static keywordOf(tag) { | |
| if ((tag & 0x0000ffff) === 0 && (tag & 0xfffd0000) !== 0) { | |
| return 'GroupLength'; | |
| } | |
| if ((tag & 0x00010000) !== 0) { | |
| if ((tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0) { | |
| return 'PrivateCreatorID'; | |
| } | |
| return ''; | |
| } | |
| if ((tag & 0xffffff00) === tag_1.Tag.SourceImageIDs) { | |
| return 'SourceImageIDs'; | |
| } | |
| let tag2 = tag; | |
| if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) { | |
| tag2 = tag & 0xffe0ffff; | |
| } | |
| else if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) { | |
| tag2 = tag & 0xff00ffff; | |
| } | |
| return Lookup.keywords.find((key) => tag_1.Tag[key] === tag2); | |
| } | |
| static vrOf(tag) { | |
| return tag_to_vr_1.TagToVR.vrOf(tag); | |
| } | |
| static tagOf(keyword) { | |
| return tag_1.Tag[keyword]; | |
| } | |
| static nameOf(uid) { | |
| return uid_to_name_1.UIDToName.nameOf(uid); | |
| } | |
| } | |
| Lookup.keywords = Object.keys(tag_1.Tag); | |
| exports.Lookup = Lookup; | |
| /***/ }), | |
| /***/ "./src/modify-flow.ts": | |
| /*!****************************!*\ | |
| !*** ./src/modify-flow.ts ***! | |
| \****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.modifyFlow = exports.TagModificationsPart = exports.TagInsertion = exports.TagModification = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const dicom_flow_1 = __webpack_require__(/*! ./dicom-flow */ "./src/dicom-flow.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class TagModification { | |
| static equals(tagPath, modification) { | |
| return new TagModification(tagPath.isEqualTo.bind(tagPath), modification); | |
| } | |
| static endsWith(tagPath, modification) { | |
| return new TagModification((tp) => tp.endsWith(tagPath), modification); | |
| } | |
| constructor(matches, modification) { | |
| this.matches = matches; | |
| this.modification = modification; | |
| } | |
| } | |
| exports.TagModification = TagModification; | |
| class TagInsertion { | |
| constructor(tagPath, insertion) { | |
| this.tagPath = tagPath; | |
| this.insertion = insertion; | |
| this.tagPath = tagPath; | |
| this.insertion = insertion; | |
| } | |
| } | |
| exports.TagInsertion = TagInsertion; | |
| class TagModificationsPart extends dicom_parts_1.MetaPart { | |
| constructor(modifications = [], insertions = [], replace = false) { | |
| super(); | |
| this.modifications = modifications; | |
| this.insertions = insertions; | |
| this.replace = replace; | |
| } | |
| } | |
| exports.TagModificationsPart = TagModificationsPart; | |
| function modifyFlow(modifications = [], insertions = [], logGroupLengthWarnings = true) { | |
| const mods = modifications === undefined ? [] : modifications; | |
| const irts = insertions === undefined ? [] : insertions; | |
| const wrns = logGroupLengthWarnings === undefined ? true : logGroupLengthWarnings; | |
| const organizeInsertions = (inserts) => { | |
| const distinct = inserts.filter((a, pos, arr) => { | |
| return arr.findIndex((b) => b.tagPath.isEqualTo(a.tagPath)) === pos; | |
| }); // distinct by tag path | |
| return distinct.sort((a, b) => (a.tagPath.isBelow(b.tagPath) ? -1 : 1)); // ordered by tag path | |
| }; | |
| return (0, dicom_flow_1.createFlow)(new (class extends (0, dicom_flow_1.TagPathTracking)((0, dicom_flow_1.GuaranteedValueEvent)((0, dicom_flow_1.GuaranteedDelimitationEvents)((0, dicom_flow_1.GroupLengthWarnings)((0, dicom_flow_1.InFragments)((0, dicom_flow_1.EndEvent)(dicom_flow_1.DeferToPartFlow)))))) { | |
| constructor() { | |
| super(); | |
| this.currentModifications = mods; | |
| this.currentInsertions = organizeInsertions(irts.slice()); | |
| this.latestTagPath = tag_path_1.emptyTagPath; | |
| this.value = base_1.emptyBuffer; | |
| this.bigEndian = false; | |
| this.explicitVR = true; | |
| this.setSilent(!wrns); | |
| } | |
| onPart(part) { | |
| if (part instanceof TagModificationsPart) { | |
| if (part.replace) { | |
| this.currentModifications = part.modifications; | |
| this.currentInsertions = organizeInsertions(part.insertions.slice()); | |
| } | |
| else { | |
| this.currentModifications = (0, base_1.concatArrays)(this.currentModifications, part.modifications); | |
| this.currentInsertions = organizeInsertions((0, base_1.concatArrays)(this.currentInsertions, part.insertions)); | |
| } | |
| return []; | |
| } | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| this.updateSyntax(part); | |
| const insertParts = this.findInsertParts(); | |
| const modifyPart = this.findModifyPart(part); | |
| this.latestTagPath = this.tagPath; | |
| return (0, base_1.concatArrays)(insertParts, modifyPart); | |
| } | |
| if (part instanceof dicom_parts_1.SequencePart) { | |
| const insertParts = this.findInsertParts(); | |
| this.latestTagPath = this.tagPath; | |
| return (0, base_1.appendToArray)(part, insertParts); | |
| } | |
| if (part instanceof dicom_parts_1.ValueChunk) { | |
| if (this.currentModification !== undefined && this.currentHeader !== undefined) { | |
| this.value = (0, base_1.concat)(this.value, part.bytes); | |
| if (part.last) { | |
| const newValue = (0, base_1.padToEvenLength)(this.currentModification.modification(this.value), this.currentHeader.vr); | |
| const newHeader = this.currentHeader.withUpdatedLength(newValue.length); | |
| this.currentModification = undefined; | |
| this.currentHeader = undefined; | |
| return (0, base_1.prependToArray)(newHeader, this.valueOrNot(newValue)); | |
| } | |
| else { | |
| return []; | |
| } | |
| } | |
| else { | |
| return [part]; | |
| } | |
| } | |
| this.latestTagPath = this.tagPath; | |
| return [part]; | |
| } | |
| onEnd() { | |
| if (this.latestTagPath.isEmpty()) { | |
| return []; | |
| } | |
| else { | |
| return (0, base_1.flatten)(this.currentInsertions | |
| .filter((i) => i.tagPath.isRoot()) | |
| .filter((m) => this.latestTagPath.isBelow(m.tagPath)) | |
| .map((m) => this.headerAndValueParts(m.tagPath, (0, base_1.padToEvenLength)(m.insertion(undefined), m.tagPath.tag())))); | |
| } | |
| } | |
| updateSyntax(header) { | |
| this.bigEndian = header.bigEndian; | |
| this.explicitVR = header.explicitVR; | |
| } | |
| valueOrNot(bytes) { | |
| return bytes.length > 0 ? [new dicom_parts_1.ValueChunk(this.bigEndian, bytes, true)] : []; | |
| } | |
| headerAndValueParts(tagPath, valueBytes) { | |
| const vr = lookup_1.Lookup.vrOf(tagPath.tag()); | |
| if (vr === vr_1.VR.UN) { | |
| throw Error('Tag is not present in dictionary, cannot determine value representation'); | |
| } | |
| if (vr === vr_1.VR.SQ) { | |
| throw Error('Cannot insert sequences'); | |
| } | |
| const header = dicom_parts_1.HeaderPart.create(tagPath.tag(), vr, valueBytes.length, this.bigEndian, this.explicitVR); | |
| return (0, base_1.prependToArray)(header, this.valueOrNot(valueBytes)); | |
| } | |
| isBetween(lowerTag, tagToTest, upperTag) { | |
| return lowerTag.isBelow(tagToTest) && tagToTest.isBelow(upperTag); | |
| } | |
| isInDataset(tagToTest, tagPath) { | |
| return tagToTest.previous().isEqualTo(tagPath.previous()); | |
| } | |
| findInsertParts() { | |
| return (0, base_1.flatten)(this.currentInsertions | |
| .filter((i) => this.isBetween(this.latestTagPath, i.tagPath, this.tagPath)) | |
| .filter((i) => this.isInDataset(i.tagPath, this.tagPath)) | |
| .map((i) => this.headerAndValueParts(i.tagPath, (0, base_1.padToEvenLength)(i.insertion(undefined), i.tagPath.tag())))); | |
| } | |
| findModifyPart(header) { | |
| const mod = this.currentModifications.find((m) => m.matches(this.tagPath)); | |
| if (mod !== undefined) { | |
| this.currentHeader = header; | |
| this.currentModification = mod; | |
| this.value = base_1.emptyBuffer; | |
| return []; | |
| } | |
| else { | |
| const ins = this.currentInsertions.find((i) => i.tagPath.isEqualTo(this.tagPath)); | |
| if (ins !== undefined) { | |
| this.currentHeader = header; | |
| this.currentModification = new TagModification((tp) => tp.isEqualTo(ins.tagPath), (v) => ins.insertion(v)); | |
| this.value = base_1.emptyBuffer; | |
| return []; | |
| } | |
| else { | |
| return [header]; | |
| } | |
| } | |
| } | |
| })()); | |
| } | |
| exports.modifyFlow = modifyFlow; | |
| /***/ }), | |
| /***/ "./src/parse-flow.ts": | |
| /*!***************************!*\ | |
| !*** ./src/parse-flow.ts ***! | |
| \***************************/ | |
| /***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
| var __importDefault = (this && this.__importDefault) || function (mod) { | |
| return (mod && mod.__esModule) ? mod : { "default": mod }; | |
| }; | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.parseFlow = void 0; | |
| const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const byte_parser_1 = __webpack_require__(/*! ./byte-parser */ "./src/byte-parser.ts"); | |
| const detour_1 = __webpack_require__(/*! ./detour */ "./src/detour.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const parsing_1 = __webpack_require__(/*! ./parsing */ "./src/parsing.ts"); | |
| const dicom_parts_1 = __webpack_require__(/*! ./dicom-parts */ "./src/dicom-parts.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class DicomParseStep extends byte_parser_1.ParseStep { | |
| constructor(state, flow) { | |
| super(); | |
| this.state = state; | |
| this.flow = flow; | |
| } | |
| } | |
| class DatasetHeaderState { | |
| constructor(maySwitchTs, bigEndian, explicitVR) { | |
| this.maySwitchTs = maySwitchTs; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| } | |
| } | |
| class FmiHeaderState { | |
| constructor(tsuid, bigEndian, explicitVR, hasFmi, pos, fmiEndPos) { | |
| this.tsuid = tsuid; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.hasFmi = hasFmi; | |
| this.pos = pos; | |
| this.fmiEndPos = fmiEndPos; | |
| } | |
| } | |
| class ValueState { | |
| constructor(bigEndian, bytesLeft, nextStep) { | |
| this.bigEndian = bigEndian; | |
| this.bytesLeft = bytesLeft; | |
| this.nextStep = nextStep; | |
| } | |
| } | |
| class FragmentsState { | |
| constructor(bigEndian, explicitVR) { | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| } | |
| } | |
| class AtBeginning extends DicomParseStep { | |
| constructor(flow) { | |
| super(null, flow); | |
| } | |
| parse(reader) { | |
| let maybePreamble; | |
| if (reader.remainingSize() < parsing_1.dicomPreambleLength + 8) { | |
| if (reader | |
| .remainingData() | |
| .slice(0, 128) | |
| .every((b) => b === 0)) { | |
| reader.ensure(parsing_1.dicomPreambleLength + 8); | |
| } | |
| } | |
| else if ((0, parsing_1.isPreamble)(reader.remainingData())) { | |
| maybePreamble = new dicom_parts_1.PreamblePart(reader.take(parsing_1.dicomPreambleLength)); | |
| } | |
| reader.ensure(8); | |
| const info = (0, parsing_1.tryReadHeader)(reader.remainingData()); | |
| if (info) { | |
| let nextState; | |
| if (info.hasFmi) { | |
| if (!info.explicitVR) { | |
| console.warn('File meta information uses implicit VR encoding'); | |
| } | |
| if (info.bigEndian) { | |
| console.warn('File meta information uses big-endian encoding'); | |
| } | |
| nextState = new InFmiHeader(new FmiHeaderState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined), this.flow); | |
| } | |
| else { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(false, info.bigEndian, info.explicitVR), this.flow); | |
| } | |
| return new byte_parser_1.ParseResult(maybePreamble, nextState); | |
| } | |
| else { | |
| throw new Error('Not a DICOM stream'); | |
| } | |
| } | |
| onTruncation(reader) { | |
| if (reader.remainingSize() === parsing_1.dicomPreambleLength && (0, parsing_1.isPreamble)(reader.remainingData())) { | |
| this.flow.push(new dicom_parts_1.PreamblePart(reader.take(parsing_1.dicomPreambleLength))); | |
| } | |
| else { | |
| super.onTruncation(reader); | |
| } | |
| } | |
| } | |
| class InFmiHeader extends DicomParseStep { | |
| constructor(state, flow) { | |
| super(state, flow); | |
| this.transferSyntaxLengthLimit = 1024; | |
| } | |
| toDatasetStep(reader, valueLength) { | |
| let tsuid = this.state.tsuid; | |
| if (!tsuid) { | |
| console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian'); | |
| tsuid = uid_1.UID.ExplicitVRLittleEndian; | |
| } | |
| const bigEndian = tsuid === uid_1.UID.ExplicitVRBigEndianRetired; | |
| const explicitVR = tsuid !== uid_1.UID.ImplicitVRLittleEndian; | |
| if ((0, base_1.isDeflated)(tsuid)) { | |
| if (this.flow.inflate) { | |
| reader.ensure(valueLength + 2); | |
| let inflater = zlib_1.default.createInflateRaw(); | |
| const firstTwoBytes = reader.remainingData().slice(valueLength, valueLength + 2); | |
| const hasZLIBHeader = (0, base_1.bytesToUShortBE)(firstTwoBytes) === 0x789c; | |
| if (hasZLIBHeader) { | |
| console.warn('Deflated DICOM Stream with ZLIB Header'); | |
| inflater = zlib_1.default.createInflate(); | |
| } | |
| const valueBytes = reader.take(valueLength); | |
| const remainingBytes = reader.remainingData(); | |
| reader.setInput(valueBytes); | |
| this.flow.setDetourFlow(inflater); | |
| this.flow.setDetour(true, remainingBytes); | |
| } | |
| else { | |
| return new InDeflatedData(this.state, this.flow); | |
| } | |
| } | |
| return new InDatasetHeader(new DatasetHeaderState(true, bigEndian, explicitVR), this.flow); | |
| } | |
| parse(reader) { | |
| const header = (0, parsing_1.readHeader)(reader, this.state); | |
| (0, parsing_1.warnIfOdd)(header.tag, header.vr, header.valueLength); | |
| if ((0, base_1.groupNumber)(header.tag) !== 2) { | |
| console.warn('Missing or wrong File Meta Information Group Length (0002,0000)'); | |
| return new byte_parser_1.ParseResult(undefined, this.toDatasetStep(reader, header.valueLength)); | |
| } | |
| const updatedVr = header.vr === vr_1.VR.UN ? lookup_1.Lookup.vrOf(header.tag) : header.vr; | |
| const bytes = reader.take(header.headerLength); | |
| this.state.pos += header.headerLength + header.valueLength; | |
| if (header.tag === tag_1.Tag.FileMetaInformationGroupLength) { | |
| reader.ensure(4); | |
| const valueBytes = reader.remainingData().slice(0, 4); | |
| this.state.fmiEndPos = this.state.pos + (0, base_1.bytesToInt)(valueBytes, this.state.bigEndian); | |
| } | |
| else if (header.tag === tag_1.Tag.TransferSyntaxUID) { | |
| if (header.valueLength < this.transferSyntaxLengthLimit) { | |
| reader.ensure(header.valueLength); | |
| const valueBytes = reader.remainingData().slice(0, header.valueLength); | |
| this.state.tsuid = (0, base_1.trim)(valueBytes.toString()); | |
| } | |
| else { | |
| console.warn('Transfer syntax data is very large, skipping'); | |
| } | |
| } | |
| const part = new dicom_parts_1.HeaderPart(header.tag, updatedVr, header.valueLength, true, this.state.bigEndian, this.state.explicitVR, bytes); | |
| let nextStep = new InFmiHeader(this.state, this.flow); | |
| if (this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos) { | |
| if (reader.remainingSize() >= header.valueLength + 2 && | |
| !(this.state.tsuid && this.state.tsuid == uid_1.UID.DeflatedExplicitVRLittleEndian) && | |
| (0, base_1.bytesToShort)(reader.remainingData().slice(header.valueLength, header.valueLength + 2), this.state.bigEndian) == 2) { | |
| console.warn('Wrong File Meta Information Group Length (0002,0000)'); | |
| } | |
| else { | |
| if (this.state.fmiEndPos != this.state.pos) { | |
| console.warn('Wrong File Meta Information Group Length (0002,0000)'); | |
| } | |
| nextStep = this.toDatasetStep(reader, header.valueLength); | |
| } | |
| } | |
| return new byte_parser_1.ParseResult(part, new InValue(new ValueState(this.state.bigEndian, header.valueLength, nextStep), this.flow)); | |
| } | |
| } | |
| class InDatasetHeader extends DicomParseStep { | |
| constructor(state, flow) { | |
| super(state, flow); | |
| } | |
| maybeSwitchTs(reader, state) { | |
| reader.ensure(8); | |
| const data = reader.remainingData().slice(0, 8); | |
| const tag = (0, base_1.bytesToTag)(data, state.bigEndian); | |
| let explicitVR = undefined; | |
| try { | |
| explicitVR = vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4))); | |
| } | |
| catch (e) { } | |
| if ((0, parsing_1.isSpecial)(tag)) { | |
| return new DatasetHeaderState(false, state.bigEndian, state.explicitVR); | |
| } | |
| if (state.explicitVR && !explicitVR) { | |
| console.log('Implicit VR attributes detected in explicit VR dataset'); | |
| return new DatasetHeaderState(false, state.bigEndian, false); | |
| } | |
| if (!state.explicitVR && explicitVR) { | |
| return new DatasetHeaderState(false, state.bigEndian, true); | |
| } | |
| return new DatasetHeaderState(false, state.bigEndian, state.explicitVR); | |
| } | |
| readDatasetHeader(reader, state) { | |
| const header = (0, parsing_1.readHeader)(reader, state); | |
| (0, parsing_1.warnIfOdd)(header.tag, header.vr, header.valueLength); | |
| if (header.vr) { | |
| const bytes = reader.take(header.headerLength); | |
| if (header.vr === vr_1.VR.SQ || (header.vr === vr_1.VR.UN && header.valueLength === base_1.indeterminateLength)) { | |
| return new dicom_parts_1.SequencePart(header.tag, header.valueLength, state.bigEndian, state.explicitVR, bytes); | |
| } | |
| if (header.valueLength === base_1.indeterminateLength) { | |
| return new dicom_parts_1.FragmentsPart(header.tag, header.valueLength, header.vr, state.bigEndian, state.explicitVR, bytes); | |
| } | |
| return new dicom_parts_1.HeaderPart(header.tag, header.vr, header.valueLength, false, state.bigEndian, state.explicitVR, bytes); | |
| } | |
| switch (header.tag) { | |
| case 0xfffee000: | |
| return new dicom_parts_1.ItemPart(header.valueLength, state.bigEndian, reader.take(8)); | |
| case 0xfffee00d: | |
| return new dicom_parts_1.ItemDelimitationPart(state.bigEndian, reader.take(8)); | |
| case 0xfffee0dd: | |
| return new dicom_parts_1.SequenceDelimitationPart(state.bigEndian, reader.take(8)); | |
| } | |
| return new dicom_parts_1.UnknownPart(state.bigEndian, reader.take(header.headerLength)); | |
| } | |
| parse(reader) { | |
| const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state; | |
| const part = this.readDatasetHeader(reader, state); | |
| let nextState = byte_parser_1.finishedParser; | |
| if (part) { | |
| if (part instanceof dicom_parts_1.HeaderPart) { | |
| if (part.length > 0) { | |
| nextState = new InValue(new ValueState(part.bigEndian, part.length, new InDatasetHeader(state, this.flow)), this.flow); | |
| } | |
| else { | |
| nextState = new InDatasetHeader(state, this.flow); | |
| } | |
| } | |
| else if (part instanceof dicom_parts_1.FragmentsPart) { | |
| nextState = new InFragments(new FragmentsState(part.bigEndian, state.explicitVR), this.flow); | |
| } | |
| else if (part instanceof dicom_parts_1.SequencePart) { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
| } | |
| else if (part instanceof dicom_parts_1.ItemPart) { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(true, state.bigEndian, state.explicitVR), this.flow); | |
| } | |
| else if (part instanceof dicom_parts_1.ItemDelimitationPart) { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
| } | |
| else if (part instanceof dicom_parts_1.SequenceDelimitationPart) { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(true, state.bigEndian, state.explicitVR), this.flow); | |
| } | |
| else { | |
| nextState = new InDatasetHeader(new DatasetHeaderState(false, state.bigEndian, state.explicitVR), this.flow); | |
| } | |
| } | |
| return new byte_parser_1.ParseResult(part, nextState); | |
| } | |
| } | |
| class InValue extends DicomParseStep { | |
| constructor(state, flow) { | |
| super(state, flow); | |
| } | |
| parse(reader) { | |
| return this.state.bytesLeft <= this.flow.chunkSize | |
| ? new byte_parser_1.ParseResult(new dicom_parts_1.ValueChunk(this.state.bigEndian, reader.take(this.state.bytesLeft), true), this.state.nextStep) | |
| : new byte_parser_1.ParseResult(new dicom_parts_1.ValueChunk(this.state.bigEndian, reader.take(this.flow.chunkSize), false), new InValue(new ValueState(this.state.bigEndian, this.state.bytesLeft - this.flow.chunkSize, this.state.nextStep), this.flow)); | |
| } | |
| } | |
| class InFragments extends DicomParseStep { | |
| constructor(state, flow) { | |
| super(state, flow); | |
| } | |
| parse(reader) { | |
| const header = (0, parsing_1.readHeader)(reader, this.state); | |
| if (header.tag === 0xfffee000) { | |
| // begin fragment | |
| const nextState = header.valueLength > 0 | |
| ? new InValue(new ValueState(this.state.bigEndian, header.valueLength, new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR), this.flow)), this.flow) | |
| : new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR), this.flow); | |
| return new byte_parser_1.ParseResult(new dicom_parts_1.ItemPart(header.valueLength, this.state.bigEndian, reader.take(header.headerLength)), nextState); | |
| } | |
| if (header.tag === 0xfffee0dd) { | |
| // end fragments | |
| if (header.valueLength !== 0) { | |
| console.warn('Unexpected fragments delimitation length ' + header.valueLength); | |
| } | |
| return new byte_parser_1.ParseResult(new dicom_parts_1.SequenceDelimitationPart(this.state.bigEndian, reader.take(header.headerLength)), new InDatasetHeader(new DatasetHeaderState(false, this.state.bigEndian, this.state.explicitVR), this.flow)); | |
| } | |
| console.warn('Unexpected element (' + (0, base_1.tagToString)(header.tag) + ') in fragments with length ' + header.valueLength); | |
| return new byte_parser_1.ParseResult(new dicom_parts_1.UnknownPart(this.state.bigEndian, reader.take(header.headerLength + header.valueLength)), this); | |
| } | |
| } | |
| class InDeflatedData extends DicomParseStep { | |
| constructor(state, flow) { | |
| super(state, flow); | |
| } | |
| parse(reader) { | |
| return new byte_parser_1.ParseResult(new dicom_parts_1.DeflatedChunk(this.state.bigEndian, reader.take(Math.min(this.flow.chunkSize, reader.remainingSize()))), this); | |
| } | |
| } | |
| class ParseFlow extends detour_1.Detour { | |
| constructor(chunkSize = 1024 * 1024, inflate = true, bufferBytes = 1024 * 1024) { | |
| super({ highWaterMark: bufferBytes, readableObjectMode: true }); // FIXME should be writableHighWaterMark | |
| this.chunkSize = chunkSize; | |
| this.inflate = inflate; | |
| this.bufferBytes = bufferBytes; | |
| this.parser = new byte_parser_1.ByteParser(this); | |
| this.parser.startWith(new AtBeginning(this)); | |
| } | |
| /** | |
| * Overrides process in Detour. Process a chunk of binary data. | |
| */ | |
| process(chunk) { | |
| this.parser.parse(chunk); | |
| } | |
| /** | |
| * Overrides cleanup in Detour. If there are unparsed bytes left, try to parse these, or fail. | |
| */ | |
| cleanup() { | |
| this.parser.flush(); | |
| } | |
| /** | |
| * Called by byte parser when it is emitting the next parsed element | |
| */ | |
| next(part) { | |
| this.push(part); | |
| } | |
| /** | |
| * Called by byte parser when completing parser. Here we signal completion to the stream. | |
| */ | |
| complete() { | |
| this.push(null); | |
| } | |
| /** | |
| * Called by byte parser on error. Here we signal error to the stream. | |
| */ | |
| fail(error) { | |
| process.nextTick(() => this.emit('error', error)); | |
| } | |
| } | |
| function parseFlow(chunkSize, inflate, bufferBytes) { | |
| return new ParseFlow(chunkSize, inflate, bufferBytes); | |
| } | |
| exports.parseFlow = parseFlow; | |
| /***/ }), | |
| /***/ "./src/parser.ts": | |
| /*!***********************!*\ | |
| !*** ./src/parser.ts ***! | |
| \***********************/ | |
| /***/ (function(__unused_webpack_module, exports, __webpack_require__) { | |
| var __importDefault = (this && this.__importDefault) || function (mod) { | |
| return (mod && mod.__esModule) ? mod : { "default": mod }; | |
| }; | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Parser = void 0; | |
| const zlib_1 = __webpack_require__(/*! zlib */ "zlib"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const byte_parser_1 = __webpack_require__(/*! ./byte-parser */ "./src/byte-parser.ts"); | |
| const dicom_elements_1 = __webpack_require__(/*! ./dicom-elements */ "./src/dicom-elements.ts"); | |
| const elements_builder_1 = __webpack_require__(/*! ./elements-builder */ "./src/elements-builder.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const parsing_1 = __webpack_require__(/*! ./parsing */ "./src/parsing.ts"); | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const uid_1 = __webpack_require__(/*! ./uid */ "./src/uid.ts"); | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class Inflater { | |
| inflate(bytes) { | |
| return bytes; | |
| } | |
| } | |
| class FmiAttributeState { | |
| constructor(tsuid, bigEndian, explicitVR, hasFmi, pos, fmiEndPos) { | |
| this.tsuid = tsuid; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.hasFmi = hasFmi; | |
| this.pos = pos; | |
| this.fmiEndPos = fmiEndPos; | |
| } | |
| } | |
| class AttributeState { | |
| constructor(maySwitchTs, bigEndian, explicitVR, inflater) { | |
| this.maySwitchTs = maySwitchTs; | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.inflater = inflater; | |
| } | |
| } | |
| class FragmentsState { | |
| constructor(bigEndian, explicitVR, inflater) { | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.inflater = inflater; | |
| } | |
| } | |
| class DicomParseStep extends byte_parser_1.ParseStep { | |
| constructor(state, stop) { | |
| super(); | |
| this.state = state; | |
| this.stop = stop; | |
| } | |
| } | |
| class AtBeginning extends DicomParseStep { | |
| constructor(stop) { | |
| super(null, stop); | |
| } | |
| parse(reader) { | |
| if (reader.remainingSize() < parsing_1.dicomPreambleLength + 8) { | |
| if (reader | |
| .remainingData() | |
| .slice(0, 128) | |
| .every((b) => b === 0)) { | |
| reader.ensure(parsing_1.dicomPreambleLength + 8); | |
| } | |
| } | |
| else if ((0, parsing_1.isPreamble)(reader.remainingData())) { | |
| reader.take(parsing_1.dicomPreambleLength); | |
| } | |
| reader.ensure(8); | |
| const info = (0, parsing_1.tryReadHeader)(reader.remainingData()); | |
| if (info) { | |
| const nextState = info.hasFmi | |
| ? new InFmiAttribute(new FmiAttributeState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined), this.stop) | |
| : new InAttribute(new AttributeState(false, info.bigEndian, info.explicitVR, undefined), this.stop); | |
| return new byte_parser_1.ParseResult(undefined, nextState); | |
| } | |
| else { | |
| throw new Error('Not a DICOM file'); | |
| } | |
| } | |
| onTruncation(reader) { | |
| if (reader.remainingSize() !== parsing_1.dicomPreambleLength || !(0, parsing_1.isPreamble)(reader.remainingData())) { | |
| super.onTruncation(reader); | |
| } | |
| } | |
| } | |
| class InFmiAttribute extends DicomParseStep { | |
| constructor(state, stop) { | |
| super(state, stop); | |
| } | |
| parse(reader) { | |
| const header = (0, parsing_1.readHeader)(reader, this.state); | |
| if (this.stop(header)) { | |
| return new byte_parser_1.ParseResult(undefined, byte_parser_1.finishedParser); | |
| } | |
| if ((0, base_1.groupNumber)(header.tag) !== 2) { | |
| console.warn('Missing or wrong File Meta Information Group Length (0002,0000)'); | |
| return new byte_parser_1.ParseResult(undefined, this.toDatasetStep(reader)); | |
| } | |
| const updatedVr = header.vr === vr_1.VR.UN ? lookup_1.Lookup.vrOf(header.tag) : header.vr; | |
| const bytes = reader.take(header.headerLength + header.valueLength); | |
| const valueBytes = bytes.slice(header.headerLength); | |
| this.state.pos += header.headerLength + header.valueLength; | |
| if (header.tag === tag_1.Tag.FileMetaInformationGroupLength) { | |
| this.state.fmiEndPos = this.state.pos + (0, base_1.bytesToInt)(valueBytes, this.state.bigEndian); | |
| } | |
| else if (header.tag === tag_1.Tag.TransferSyntaxUID) { | |
| this.state.tsuid = (0, base_1.trim)(valueBytes.toString()); | |
| } | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.ValueElement(header.tag, updatedVr, new value_1.Value(valueBytes), this.state.bigEndian, this.state.explicitVR), this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos ? this.toDatasetStep(reader) : this); | |
| } | |
| toDatasetStep(reader) { | |
| let tsuid = this.state.tsuid; | |
| if (!tsuid) { | |
| console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian'); | |
| tsuid = uid_1.UID.ExplicitVRLittleEndian; | |
| } | |
| const bigEndian = tsuid === uid_1.UID.ExplicitVRBigEndianRetired; | |
| const explicitVR = tsuid !== uid_1.UID.ImplicitVRLittleEndian; | |
| let inflater; | |
| if ((0, base_1.isDeflated)(tsuid)) { | |
| reader.ensure(2); | |
| inflater = new (class extends Inflater { | |
| inflate(bytes) { | |
| return zlib_1.default.inflateRawSync(bytes); | |
| } | |
| })(); | |
| const firstTwoBytes = reader.remainingData().slice(0, 2); | |
| const hasZLIBHeader = (0, base_1.bytesToUShortBE)(firstTwoBytes) === 0x789c; | |
| if (hasZLIBHeader) { | |
| console.warn('Deflated DICOM Stream with ZLIB Header'); | |
| inflater = new (class extends Inflater { | |
| inflate(bytes) { | |
| return zlib_1.default.inflateSync(bytes); | |
| } | |
| })(); | |
| } | |
| reader.setInput(inflater.inflate(reader.remainingData())); | |
| } | |
| return new InAttribute(new AttributeState(true, bigEndian, explicitVR, inflater), this.stop); | |
| } | |
| } | |
| class InAttribute extends DicomParseStep { | |
| constructor(state, stop) { | |
| super(state, stop); | |
| } | |
| maybeSwitchTs(reader, state) { | |
| reader.ensure(8); | |
| const data = reader.remainingData().slice(0, 8); | |
| const tag = (0, base_1.bytesToTag)(data, state.bigEndian); | |
| let explicitVR = undefined; | |
| try { | |
| explicitVR = vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4))); | |
| } | |
| catch (e) { } | |
| if ((0, parsing_1.isSpecial)(tag)) { | |
| return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater); | |
| } | |
| if (state.explicitVR && !explicitVR) { | |
| console.log('Implicit VR attributes detected in explicit VR dataset'); | |
| return new AttributeState(false, state.bigEndian, false, state.inflater); | |
| } | |
| if (!state.explicitVR && explicitVR) { | |
| return new AttributeState(false, state.bigEndian, true, state.inflater); | |
| } | |
| return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater); | |
| } | |
| parse(reader) { | |
| const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state; | |
| const header = (0, parsing_1.readHeader)(reader, state); | |
| reader.take(header.headerLength); | |
| if (header.vr) { | |
| if (this.stop(header)) { | |
| return new byte_parser_1.ParseResult(undefined, byte_parser_1.finishedParser); | |
| } | |
| if (header.vr === vr_1.VR.SQ || (header.vr === vr_1.VR.UN && header.valueLength === base_1.indeterminateLength)) { | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceElement(header.tag, header.valueLength, state.bigEndian, state.explicitVR), new InAttribute(new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
| } | |
| if (header.valueLength === base_1.indeterminateLength) { | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.FragmentsElement(header.tag, header.vr, state.bigEndian, state.explicitVR), new InFragments(new FragmentsState(state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
| } | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.ValueElement(header.tag, header.vr, new value_1.Value(reader.take(header.valueLength)), state.bigEndian, state.explicitVR), this); | |
| } | |
| switch (header.tag) { | |
| case 0xfffee000: | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.ItemElement(header.valueLength, state.bigEndian), new InAttribute(new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
| case 0xfffee00d: | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.ItemDelimitationElement(state.bigEndian), new InAttribute(new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
| case 0xfffee0dd: | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceDelimitationElement(state.bigEndian), new InAttribute(new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater), this.stop)); | |
| } | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.UnknownElement(state.bigEndian), this); | |
| } | |
| } | |
| class InFragments extends DicomParseStep { | |
| constructor(state, stop) { | |
| super(state, stop); | |
| } | |
| parse(reader) { | |
| const header = (0, parsing_1.readHeader)(reader, this.state); | |
| reader.take(header.headerLength); | |
| if (header.tag === 0xfffee000) { | |
| // begin fragment | |
| const valueBytes = reader.take(header.valueLength); | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.FragmentElement(header.valueLength, new value_1.Value(valueBytes), this.state.bigEndian), new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR, this.state.inflater), this.stop)); | |
| } | |
| if (header.tag === 0xfffee0dd) { | |
| // end fragments | |
| if (header.valueLength !== 0) { | |
| console.warn('Unexpected fragments delimitation length ' + header.valueLength); | |
| } | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.SequenceDelimitationElement(this.state.bigEndian), new InAttribute(new AttributeState(false, this.state.bigEndian, this.state.explicitVR, this.state.inflater), this.stop)); | |
| } | |
| reader.take(header.valueLength); | |
| console.warn('Unexpected element (' + (0, base_1.tagToString)(header.tag) + ') in fragments with length ' + header.valueLength); | |
| return new byte_parser_1.ParseResult(new dicom_elements_1.UnknownElement(this.state.bigEndian), this); | |
| } | |
| } | |
| class Parser { | |
| constructor(stop) { | |
| this.stop = stop; | |
| this.builder = new elements_builder_1.ElementsBuilder(); | |
| this.byteParser = new byte_parser_1.ByteParser(this); | |
| const shouldStop = stop | |
| ? (attributeInfo) => stop(attributeInfo, this.builder.currentDepth()) | |
| : () => false; | |
| this.byteParser.startWith(new AtBeginning(shouldStop)); | |
| } | |
| /** | |
| * Parse the input binary data, producing DICOM elements that are added to the internal builder. An elements | |
| * structure can be fetched based on the builder at any time. | |
| */ | |
| parse(chunk) { | |
| const step = this.byteParser.current instanceof DicomParseStep ? this.byteParser.current : undefined; | |
| if (step && step.state && step.state.inflater) { | |
| chunk = step.state.inflater.inflate(chunk); | |
| } | |
| this.byteParser.parse(chunk); | |
| } | |
| /** | |
| * Called by byte parser when it is emitting the next parsed element. | |
| */ | |
| next(element) { | |
| this.builder.addElement(element); | |
| } | |
| /** | |
| * Get the current elements as represented by the builder | |
| */ | |
| result() { | |
| return this.builder.build(); | |
| } | |
| /** | |
| * Returns true the parser has completed parsing (stop condition was met) | |
| */ | |
| isComplete() { | |
| return this.byteParser.isCompleted; | |
| } | |
| /** | |
| * Called by byte parser when completing parser. Nothing to do here. | |
| */ | |
| complete() { | |
| // do nothing | |
| } | |
| /** | |
| * Called by byte parser on error. Here we just throw the error. | |
| */ | |
| fail(error) { | |
| throw error; | |
| } | |
| } | |
| exports.Parser = Parser; | |
| /***/ }), | |
| /***/ "./src/parsing.ts": | |
| /*!************************!*\ | |
| !*** ./src/parsing.ts ***! | |
| \************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.warnIfOdd = exports.readHeader = exports.AttributeInfo = exports.readTagVr = exports.isSpecial = exports.TagVr = exports.isPreamble = exports.headerInfo = exports.tryReadHeader = exports.HeaderInfo = exports.isDICM = exports.dicomPreambleLength = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| exports.dicomPreambleLength = 132; | |
| function isDICM(bytes) { | |
| return bytes[0] === 68 && bytes[1] === 73 && bytes[2] === 67 && bytes[3] === 77; | |
| } | |
| exports.isDICM = isDICM; | |
| class HeaderInfo { | |
| constructor(bigEndian, explicitVR, hasFmi) { | |
| this.bigEndian = bigEndian; | |
| this.explicitVR = explicitVR; | |
| this.hasFmi = hasFmi; | |
| } | |
| } | |
| exports.HeaderInfo = HeaderInfo; | |
| function tryReadHeader(data) { | |
| const info = headerInfo(data, false); | |
| return info === undefined ? headerInfo(data, true) : info; | |
| } | |
| exports.tryReadHeader = tryReadHeader; | |
| function headerInfo(data, assumeBigEndian) { | |
| const tag = (0, base_1.bytesToTag)(data, assumeBigEndian); | |
| const vr = lookup_1.Lookup.vrOf(tag); | |
| if (vr === vr_1.VR.UN || ((0, base_1.groupNumber)(tag) !== 2 && (0, base_1.groupNumber)(tag) < 8)) { | |
| return undefined; | |
| } | |
| if ((0, base_1.bytesToVR)(data.slice(4, 6)) === vr.code) { | |
| return { | |
| bigEndian: assumeBigEndian, | |
| explicitVR: true, | |
| hasFmi: (0, base_1.isFileMetaInformation)(tag), | |
| }; | |
| } | |
| if ((0, base_1.bytesToUInt)(data.slice(4, 8), assumeBigEndian) >= 0) { | |
| if (assumeBigEndian) { | |
| throw Error('Implicit VR Big Endian encoded DICOM Stream'); | |
| } | |
| else { | |
| return { | |
| bigEndian: false, | |
| explicitVR: false, | |
| hasFmi: (0, base_1.isFileMetaInformation)(tag), | |
| }; | |
| } | |
| } | |
| return undefined; | |
| } | |
| exports.headerInfo = headerInfo; | |
| function isPreamble(data) { | |
| return data.length >= exports.dicomPreambleLength && isDICM(data.slice(exports.dicomPreambleLength - 4, exports.dicomPreambleLength)); | |
| } | |
| exports.isPreamble = isPreamble; | |
| class TagVr { | |
| constructor(tag, vr) { | |
| this.tag = tag; | |
| this.vr = vr; | |
| } | |
| } | |
| exports.TagVr = TagVr; | |
| function isSpecial(tag) { | |
| return tag === 0xfffee000 || tag === 0xfffee00d || tag === 0xfffee0dd; | |
| } | |
| exports.isSpecial = isSpecial; | |
| function readTagVr(data, bigEndian, explicitVr) { | |
| const tag = (0, base_1.bytesToTag)(data, bigEndian); | |
| if (isSpecial(tag)) { | |
| return new TagVr(tag, undefined); | |
| } | |
| if (explicitVr) { | |
| return new TagVr(tag, vr_1.VR.valueOf((0, base_1.bytesToVR)(data.slice(4, 6)))); | |
| } | |
| return new TagVr(tag, lookup_1.Lookup.vrOf(tag)); | |
| } | |
| exports.readTagVr = readTagVr; | |
| class AttributeInfo { | |
| constructor(tag, vr, headerLength, valueLength) { | |
| this.tag = tag; | |
| this.vr = vr; | |
| this.headerLength = headerLength; | |
| this.valueLength = valueLength; | |
| } | |
| } | |
| exports.AttributeInfo = AttributeInfo; | |
| function readHeader(reader, state) { | |
| reader.ensure(8); | |
| const tagVrBytes = reader.remainingData().slice(0, 8); | |
| const tagVr = readTagVr(tagVrBytes, state.bigEndian, state.explicitVR); | |
| if (tagVr.vr && state.explicitVR) { | |
| if (tagVr.vr.headerLength === 8) { | |
| return new AttributeInfo(tagVr.tag, tagVr.vr, 8, (0, base_1.bytesToUShort)(tagVrBytes.slice(6), state.bigEndian)); | |
| } | |
| reader.ensure(12); | |
| return new AttributeInfo(tagVr.tag, tagVr.vr, 12, (0, base_1.bytesToUInt)(reader.remainingData().slice(8), state.bigEndian)); | |
| } | |
| return new AttributeInfo(tagVr.tag, tagVr.vr, 8, (0, base_1.bytesToUInt)(tagVrBytes.slice(4), state.bigEndian)); | |
| } | |
| exports.readHeader = readHeader; | |
| function warnIfOdd(tag, vr, valueLength) { | |
| if (valueLength % 2 > 0 && valueLength != base_1.indeterminateLength && vr != null && vr != vr_1.VR.SQ) { | |
| console.warn(`Element ${(0, base_1.tagToString)(tag)} has odd length`); | |
| } | |
| } | |
| exports.warnIfOdd = warnIfOdd; | |
| /***/ }), | |
| /***/ "./src/person-name.ts": | |
| /*!****************************!*\ | |
| !*** ./src/person-name.ts ***! | |
| \****************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.PersonName = exports.ComponentGroup = void 0; | |
| const value_1 = __webpack_require__(/*! ./value */ "./src/value.ts"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| class ComponentGroup { | |
| constructor(alphabetic, ideographic = '', phonetic = '') { | |
| this.alphabetic = alphabetic; | |
| this.ideographic = ideographic; | |
| this.phonetic = phonetic; | |
| } | |
| } | |
| exports.ComponentGroup = ComponentGroup; | |
| class PersonName { | |
| constructor(familyName, givenName, middleName = new ComponentGroup(''), prefix = new ComponentGroup(''), suffix = new ComponentGroup('')) { | |
| this.familyName = familyName; | |
| this.givenName = givenName; | |
| this.middleName = middleName; | |
| this.prefix = prefix; | |
| this.suffix = suffix; | |
| } | |
| static parse(s) { | |
| return s | |
| .split(base_1.multiValueDelimiter) | |
| .map(base_1.trim) | |
| .map((s1) => (0, value_1.parsePersonName)(s1)); | |
| } | |
| toString() { | |
| const components = [this.familyName, this.givenName, this.middleName, this.prefix, this.suffix]; | |
| const representations = ['alphabetic', 'ideographic', 'phonetic']; | |
| return representations | |
| .map((repr) => { | |
| return components | |
| .map((c) => c[repr]) | |
| .join('^') | |
| .replace(/\^+$/, ''); // Trim trailing ^ separators | |
| }) | |
| .join('=') | |
| .replace(/=+$/, ''); // Trim trailing = separators | |
| } | |
| } | |
| exports.PersonName = PersonName; | |
| /***/ }), | |
| /***/ "./src/sinks.ts": | |
| /*!**********************!*\ | |
| !*** ./src/sinks.ts ***! | |
| \**********************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.arraySink = exports.ignoreSink = exports.byteSink = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| function byteSink(callback) { | |
| let buffer = base_1.emptyBuffer; | |
| const sink = new stream_1.Writable({ | |
| write(chunk, encoding, cb) { | |
| buffer = (0, base_1.concat)(buffer, chunk); | |
| process.nextTick(() => cb()); | |
| }, | |
| }); | |
| sink.once('finish', () => { | |
| callback(buffer); | |
| }); | |
| return sink; | |
| } | |
| exports.byteSink = byteSink; | |
| function ignoreSink(objectMode = false) { | |
| return new stream_1.Writable({ | |
| objectMode, | |
| write(chunk, encoding, callback) { | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| } | |
| exports.ignoreSink = ignoreSink; | |
| function arraySink(arrayCallback) { | |
| const array = []; | |
| const sink = new stream_1.Writable({ | |
| objectMode: true, | |
| write(chunk, encoding, callback) { | |
| array.push(chunk); | |
| process.nextTick(() => callback()); | |
| }, | |
| }); | |
| sink.once('finish', () => arrayCallback(array)); | |
| return sink; | |
| } | |
| exports.arraySink = arraySink; | |
| /***/ }), | |
| /***/ "./src/sources.ts": | |
| /*!************************!*\ | |
| !*** ./src/sources.ts ***! | |
| \************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.arraySource = exports.singleSource = void 0; | |
| const stream_1 = __webpack_require__(/*! stream */ "stream"); | |
| function singleSource(element, objectMode = false) { | |
| return new stream_1.Readable({ | |
| objectMode, | |
| read() { | |
| this.push(element); | |
| this.push(null); | |
| }, | |
| }); | |
| } | |
| exports.singleSource = singleSource; | |
| function arraySource(array, objectMode = false) { | |
| let pos = 0; | |
| return new stream_1.Readable({ | |
| highWaterMark: 1, | |
| objectMode, | |
| read(size) { | |
| size = size || 1; | |
| const maxPos = Math.min(pos + size, array.length); | |
| let i = pos; | |
| while (i < maxPos && this.push(array[i++])) { | |
| // do nothing | |
| } | |
| if (i === array.length) { | |
| this.push(null); | |
| } | |
| pos = i; | |
| }, | |
| }); | |
| } | |
| exports.arraySource = arraySource; | |
| /***/ }), | |
| /***/ "./src/tag-path-like.ts": | |
| /*!******************************!*\ | |
| !*** ./src/tag-path-like.ts ***! | |
| \******************************/ | |
| /***/ ((__unused_webpack_module, exports) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.TagPathLike = void 0; | |
| class TagPathLike { | |
| isRoot() { | |
| return this.previous().isEmpty(); | |
| } | |
| toList() { | |
| const toListRec = (path, list) => { | |
| if (!path.isRoot()) { | |
| toListRec(path.previous(), list); | |
| } | |
| list.push(path); | |
| return list; | |
| }; | |
| return toListRec(this, []); | |
| } | |
| contains(tag) { | |
| return (this.toList() | |
| .map((tp) => tp.tag()) | |
| .indexOf(tag) >= 0); | |
| } | |
| depth() { | |
| const depthRec = (path, d) => { | |
| if (path.isRoot()) { | |
| return d; | |
| } | |
| else { | |
| return depthRec(path.previous(), d + 1); | |
| } | |
| }; | |
| return this.isEmpty() ? 0 : depthRec(this, 1); | |
| } | |
| head() { | |
| return this.take(1); | |
| } | |
| tail() { | |
| return this.drop(1); | |
| } | |
| take(n) { | |
| const takeRec = (path, i) => { | |
| return i <= 0 ? path : takeRec(path.previous(), i - 1); | |
| }; | |
| return takeRec(this, this.depth() - n); | |
| } | |
| } | |
| exports.TagPathLike = TagPathLike; | |
| /***/ }), | |
| /***/ "./src/tag-path.ts": | |
| /*!*************************!*\ | |
| !*** ./src/tag-path.ts ***! | |
| \*************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.TagPathItemEnd = exports.TagPathItem = exports.TagPathSequenceEnd = exports.TagPathSequence = exports.TagPathTag = exports.emptyTagPath = exports.TagPathTrunk = exports.TagPath = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const tag_path_like_1 = __webpack_require__(/*! ./tag-path-like */ "./src/tag-path-like.ts"); | |
| class TagPath extends tag_path_like_1.TagPathLike { | |
| static fromTag(tag) { | |
| return exports.emptyTagPath.thenTag(tag); | |
| } | |
| static fromSequence(tag) { | |
| return exports.emptyTagPath.thenSequence(tag); | |
| } | |
| static fromSequenceEnd(tag) { | |
| return exports.emptyTagPath.thenSequenceEnd(tag); | |
| } | |
| static fromItem(tag, item) { | |
| return exports.emptyTagPath.thenItem(tag, item); | |
| } | |
| static fromItemEnd(tag, item) { | |
| return exports.emptyTagPath.thenItemEnd(tag, item); | |
| } | |
| static parse(s) { | |
| const indexPart = (s1) => s1.substring(s1.lastIndexOf('[') + 1, s1.length - 1); | |
| const tagPart = (s1) => s1.substring(0, s1.indexOf('[')); | |
| const parseTag = (s1) => { | |
| const tag = lookup_1.Lookup.tagOf(s1); | |
| if (!tag) { | |
| if (s1.length === 11 && s1[0] === '(' && s1[5] === ',' && s1[10] === ')') { | |
| const i = parseInt(s1.substring(1, 5) + s1.substring(6, 10), 16); | |
| if (!isNaN(i)) { | |
| return i; | |
| } | |
| } | |
| throw Error(s1 + ' is not a tag or name string'); | |
| } | |
| return tag; | |
| }; | |
| const parseIndex = (s1) => { | |
| const i = parseInt(s1, 10); | |
| if (isNaN(i)) { | |
| throw Error(s1 + ' is not a number'); | |
| } | |
| return i; | |
| }; | |
| const createTag = (s1) => TagPath.fromTag(parseTag(s1)); | |
| const addTag = (s1, path) => path.thenTag(parseTag(s1)); | |
| const createSeq = (s1) => TagPath.fromItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1))); | |
| const addSeq = (s1, path) => path.thenItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1))); | |
| const tags = s.indexOf('.') > 0 ? s.split('.') : [s]; | |
| const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any | |
| const lastTag = tags[tags.length - 1]; // tag or sequence | |
| try { | |
| const first = seqTags.length > 0 ? seqTags[0] : undefined; | |
| if (first) { | |
| const path = seqTags.slice(1, seqTags.length).reduce((p, tag) => addSeq(tag, p), createSeq(first)); | |
| return addTag(lastTag, path); | |
| } | |
| return createTag(lastTag); | |
| } | |
| catch (error) { | |
| throw Error('Tag path could not be parsed: ' + error.message); | |
| } | |
| } | |
| constructor(tag, previous) { | |
| super(); | |
| this.tagVal = tag; | |
| this.previousVal = previous; | |
| } | |
| tag() { | |
| return this.tagVal; | |
| } | |
| previous() { | |
| return this.previousVal; | |
| } | |
| isEmpty() { | |
| return this === exports.emptyTagPath; | |
| } | |
| isBelow(that) { | |
| const thisList = this.toList(); | |
| const thatList = that.toList(); | |
| for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
| const thisPath = thisList[i]; | |
| const thatPath = thatList[i]; | |
| if (thisPath.isEmpty()) { | |
| return !thatPath.isEmpty(); | |
| } | |
| if (thatPath.isEmpty()) { | |
| return false; | |
| } | |
| if (thisPath.tag() !== thatPath.tag()) { | |
| return thisPath.tag() < thatPath.tag(); | |
| } | |
| if (thisPath instanceof TagPathSequence && 'item' in thatPath) { | |
| return true; | |
| } | |
| if (thisPath instanceof TagPathSequence && thatPath instanceof TagPathSequenceEnd) { | |
| return true; | |
| } | |
| if (thisPath instanceof TagPathSequenceEnd && 'item' in thatPath) { | |
| return false; | |
| } | |
| if (thisPath instanceof TagPathSequenceEnd && thatPath instanceof TagPathSequence) { | |
| return false; | |
| } | |
| if ('item' in thisPath && thatPath instanceof TagPathSequence) { | |
| return false; | |
| } | |
| if ('item' in thisPath && thatPath instanceof TagPathSequenceEnd) { | |
| return true; | |
| } | |
| if ('item' in thisPath && | |
| 'item' in thatPath && | |
| thisPath.item !== thatPath.item) { | |
| return thisPath.item < thatPath.item; | |
| } | |
| if (thisPath instanceof TagPathItem && thatPath instanceof TagPathItemEnd) { | |
| return true; | |
| } | |
| if (thisPath instanceof TagPathItemEnd && thatPath instanceof TagPathItem) { | |
| return false; | |
| } | |
| } | |
| return thisList.length < thatList.length; | |
| } | |
| isEqualTo(that) { | |
| if (this.isEmpty() && that.isEmpty()) { | |
| return true; | |
| } | |
| if (this instanceof TagPathTag && that instanceof TagPathTag) { | |
| return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagPathSequence && that instanceof TagPathSequence) { | |
| return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagPathSequenceEnd && that instanceof TagPathSequenceEnd) { | |
| return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagPathItem && that instanceof TagPathItem) { | |
| return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagPathItemEnd && that instanceof TagPathItemEnd) { | |
| return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
| } | |
| return false; | |
| } | |
| startsWith(that) { | |
| const thisDepth = this.depth(); | |
| const thatDepth = that.depth(); | |
| if (thisDepth >= thatDepth) { | |
| const n = Math.min(thisDepth, thatDepth); | |
| return this.take(n).isEqualTo(that.take(n)); | |
| } | |
| else { | |
| return false; | |
| } | |
| } | |
| endsWith(that) { | |
| const n = this.depth() - that.depth(); | |
| return n >= 0 ? this.drop(n).isEqualTo(that) : false; | |
| } | |
| drop(n) { | |
| const dropRec = (path, i) => { | |
| if (i < 0) { | |
| return exports.emptyTagPath; | |
| } | |
| if (i === 0) { | |
| if (path.isEmpty()) { | |
| return exports.emptyTagPath; | |
| } | |
| if (path instanceof TagPathItem) { | |
| return TagPath.fromItem(path.tag(), path.item); | |
| } | |
| if (path instanceof TagPathItemEnd) { | |
| return TagPath.fromItemEnd(path.tag(), path.item); | |
| } | |
| if (path instanceof TagPathSequence) { | |
| return TagPath.fromSequence(path.tag()); | |
| } | |
| if (path instanceof TagPathSequenceEnd) { | |
| return TagPath.fromSequenceEnd(path.tag()); | |
| } | |
| return TagPath.fromTag(path.tag()); | |
| } | |
| const p = dropRec(path.previous(), i - 1); | |
| if (path instanceof TagPathItem) { | |
| return p.thenItem(path.tag(), path.item); | |
| } | |
| if (path instanceof TagPathItemEnd) { | |
| return p.thenItemEnd(path.tag(), path.item); | |
| } | |
| if (path instanceof TagPathSequence) { | |
| return p.thenSequence(path.tag()); | |
| } | |
| if (path instanceof TagPathSequenceEnd) { | |
| return p.thenSequenceEnd(path.tag()); | |
| } | |
| if (path instanceof TagPathTag) { | |
| return p.thenTag(path.tag()); | |
| } | |
| return exports.emptyTagPath; | |
| }; | |
| return dropRec(this, this.depth() - n - 1); | |
| } | |
| toNamedString(lookup) { | |
| const toTagString = (tag) => { | |
| if (lookup) { | |
| const keyword = lookup_1.Lookup.keywordOf(tag); | |
| if (keyword) { | |
| return keyword; | |
| } | |
| } | |
| return (0, base_1.tagToString)(tag); | |
| }; | |
| const toTagPathString = (path, tail) => { | |
| const itemIndexSuffix = 'item' in path ? '[' + path.item + ']' : ''; | |
| const head = toTagString(path.tag()) + itemIndexSuffix; | |
| const part = head + tail; | |
| return path.isRoot() ? part : toTagPathString(path.previous(), '.' + part); | |
| }; | |
| return this.isEmpty() ? '<empty path>' : toTagPathString(this, ''); | |
| } | |
| } | |
| exports.TagPath = TagPath; | |
| class TagPathTrunk extends TagPath { | |
| thenTag(tag) { | |
| return new TagPathTag(tag, this); | |
| } | |
| thenSequence(tag) { | |
| return new TagPathSequence(tag, this); | |
| } | |
| thenSequenceEnd(tag) { | |
| return new TagPathSequenceEnd(tag, this); | |
| } | |
| thenItem(tag, item) { | |
| return new TagPathItem(tag, item, this); | |
| } | |
| thenItemEnd(tag, item) { | |
| return new TagPathItemEnd(tag, item, this); | |
| } | |
| } | |
| exports.TagPathTrunk = TagPathTrunk; | |
| class EmptyTagPath extends TagPathTrunk { | |
| tag() { | |
| throw Error('Empty tag path'); | |
| } | |
| previous() { | |
| return exports.emptyTagPath; | |
| } | |
| } | |
| exports.emptyTagPath = new EmptyTagPath(-1, null); | |
| class TagPathTag extends TagPath { | |
| constructor(tag, previous) { | |
| super(tag, previous); | |
| } | |
| } | |
| exports.TagPathTag = TagPathTag; | |
| class TagPathSequence extends TagPath { | |
| constructor(tag, previous) { | |
| super(tag, previous); | |
| } | |
| } | |
| exports.TagPathSequence = TagPathSequence; | |
| class TagPathSequenceEnd extends TagPath { | |
| constructor(tag, previous) { | |
| super(tag, previous); | |
| } | |
| } | |
| exports.TagPathSequenceEnd = TagPathSequenceEnd; | |
| class TagPathItem extends TagPathTrunk { | |
| constructor(tag, item, previous) { | |
| super(tag, previous); | |
| this.item = item; | |
| } | |
| } | |
| exports.TagPathItem = TagPathItem; | |
| class TagPathItemEnd extends TagPathTrunk { | |
| constructor(tag, item, previous) { | |
| super(tag, previous); | |
| this.item = item; | |
| } | |
| } | |
| exports.TagPathItemEnd = TagPathItemEnd; | |
| /***/ }), | |
| /***/ "./src/tag-to-vr.ts": | |
| /*!**************************!*\ | |
| !*** ./src/tag-to-vr.ts ***! | |
| \**************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.TagToVR = void 0; | |
| const tag_1 = __webpack_require__(/*! ./tag */ "./src/tag.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| class TagToVR { | |
| static adjustTag(tag) { | |
| if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) { | |
| return tag & 0xffe0ffff; | |
| } | |
| if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) { | |
| return tag & 0xff00ffff; | |
| } | |
| return tag; | |
| } | |
| static vrOf(tag) { | |
| if ((tag & 0x0000ffff) === 0) { | |
| return vr_1.VR.UL; // group length | |
| } | |
| if ((tag & 0x00010000) !== 0) { | |
| // private creator ID | |
| return (tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0 ? vr_1.VR.LO : vr_1.VR.UN; | |
| } | |
| if ((tag & 0xffffff00) === tag_1.Tag.SourceImageIDs) { | |
| return vr_1.VR.CS; | |
| } | |
| const key = TagToVR.adjustTag(tag).toString(16); | |
| return key in TagToVR.dict ? TagToVR.dict[key] : vr_1.VR.UN; | |
| } | |
| } | |
| TagToVR.dict = { | |
| '0': vr_1.VR.UL, | |
| '2': vr_1.VR.UI, | |
| '3': vr_1.VR.UI, | |
| '100': vr_1.VR.US, | |
| '110': vr_1.VR.US, | |
| '120': vr_1.VR.US, | |
| '600': vr_1.VR.AE, | |
| '700': vr_1.VR.US, | |
| '800': vr_1.VR.US, | |
| '900': vr_1.VR.US, | |
| '901': vr_1.VR.AT, | |
| '902': vr_1.VR.LO, | |
| '903': vr_1.VR.US, | |
| '1000': vr_1.VR.UI, | |
| '1001': vr_1.VR.UI, | |
| '1002': vr_1.VR.US, | |
| '1005': vr_1.VR.AT, | |
| '1008': vr_1.VR.US, | |
| '1020': vr_1.VR.US, | |
| '1021': vr_1.VR.US, | |
| '1022': vr_1.VR.US, | |
| '1023': vr_1.VR.US, | |
| '1030': vr_1.VR.AE, | |
| '1031': vr_1.VR.US, | |
| '20000': vr_1.VR.UL, | |
| '20001': vr_1.VR.OB, | |
| '20002': vr_1.VR.UI, | |
| '20003': vr_1.VR.UI, | |
| '20010': vr_1.VR.UI, | |
| '20012': vr_1.VR.UI, | |
| '20013': vr_1.VR.SH, | |
| '20016': vr_1.VR.AE, | |
| '20017': vr_1.VR.AE, | |
| '20018': vr_1.VR.AE, | |
| '20100': vr_1.VR.UI, | |
| '20102': vr_1.VR.OB, | |
| '41130': vr_1.VR.CS, | |
| '41141': vr_1.VR.CS, | |
| '41142': vr_1.VR.CS, | |
| '41200': vr_1.VR.UL, | |
| '41202': vr_1.VR.UL, | |
| '41212': vr_1.VR.US, | |
| '41220': vr_1.VR.SQ, | |
| '41400': vr_1.VR.UL, | |
| '41410': vr_1.VR.US, | |
| '41420': vr_1.VR.UL, | |
| '41430': vr_1.VR.CS, | |
| '41432': vr_1.VR.UI, | |
| '41500': vr_1.VR.CS, | |
| '41504': vr_1.VR.UL, | |
| '41510': vr_1.VR.UI, | |
| '41511': vr_1.VR.UI, | |
| '41512': vr_1.VR.UI, | |
| '4151a': vr_1.VR.UI, | |
| '41600': vr_1.VR.UL, | |
| '80001': vr_1.VR.UL, | |
| '80005': vr_1.VR.CS, | |
| '80006': vr_1.VR.SQ, | |
| '80008': vr_1.VR.CS, | |
| '80010': vr_1.VR.SH, | |
| '80012': vr_1.VR.DA, | |
| '80013': vr_1.VR.TM, | |
| '80014': vr_1.VR.UI, | |
| '80015': vr_1.VR.DT, | |
| '80016': vr_1.VR.UI, | |
| '80018': vr_1.VR.UI, | |
| '8001a': vr_1.VR.UI, | |
| '8001b': vr_1.VR.UI, | |
| '80020': vr_1.VR.DA, | |
| '80021': vr_1.VR.DA, | |
| '80022': vr_1.VR.DA, | |
| '80023': vr_1.VR.DA, | |
| '80024': vr_1.VR.DA, | |
| '80025': vr_1.VR.DA, | |
| '8002a': vr_1.VR.DT, | |
| '80030': vr_1.VR.TM, | |
| '80031': vr_1.VR.TM, | |
| '80032': vr_1.VR.TM, | |
| '80033': vr_1.VR.TM, | |
| '80034': vr_1.VR.TM, | |
| '80035': vr_1.VR.TM, | |
| '80040': vr_1.VR.US, | |
| '80041': vr_1.VR.LO, | |
| '80042': vr_1.VR.CS, | |
| '80050': vr_1.VR.SH, | |
| '80051': vr_1.VR.SQ, | |
| '80052': vr_1.VR.CS, | |
| '80053': vr_1.VR.CS, | |
| '80054': vr_1.VR.AE, | |
| '80055': vr_1.VR.AE, | |
| '80056': vr_1.VR.CS, | |
| '80058': vr_1.VR.UI, | |
| '80060': vr_1.VR.CS, | |
| '80061': vr_1.VR.CS, | |
| '80062': vr_1.VR.UI, | |
| '80063': vr_1.VR.SQ, | |
| '80064': vr_1.VR.CS, | |
| '80068': vr_1.VR.CS, | |
| '80070': vr_1.VR.LO, | |
| '80080': vr_1.VR.LO, | |
| '80081': vr_1.VR.ST, | |
| '80082': vr_1.VR.SQ, | |
| '80090': vr_1.VR.PN, | |
| '80092': vr_1.VR.ST, | |
| '80094': vr_1.VR.SH, | |
| '80096': vr_1.VR.SQ, | |
| '8009c': vr_1.VR.PN, | |
| '8009d': vr_1.VR.SQ, | |
| '80100': vr_1.VR.SH, | |
| '80101': vr_1.VR.LO, | |
| '80102': vr_1.VR.SH, | |
| '80103': vr_1.VR.SH, | |
| '80104': vr_1.VR.LO, | |
| '80105': vr_1.VR.CS, | |
| '80106': vr_1.VR.DT, | |
| '80107': vr_1.VR.DT, | |
| '80108': vr_1.VR.LT, | |
| '80109': vr_1.VR.SQ, | |
| '8010a': vr_1.VR.CS, | |
| '8010b': vr_1.VR.CS, | |
| '8010c': vr_1.VR.UI, | |
| '8010d': vr_1.VR.UI, | |
| '8010e': vr_1.VR.UR, | |
| '8010f': vr_1.VR.CS, | |
| '80110': vr_1.VR.SQ, | |
| '80112': vr_1.VR.LO, | |
| '80114': vr_1.VR.ST, | |
| '80115': vr_1.VR.ST, | |
| '80116': vr_1.VR.ST, | |
| '80117': vr_1.VR.UI, | |
| '80118': vr_1.VR.UI, | |
| '80119': vr_1.VR.UC, | |
| '80120': vr_1.VR.UR, | |
| '80121': vr_1.VR.SQ, | |
| '80122': vr_1.VR.LO, | |
| '80123': vr_1.VR.SQ, | |
| '80124': vr_1.VR.SQ, | |
| '80201': vr_1.VR.SH, | |
| '80220': vr_1.VR.SQ, | |
| '80221': vr_1.VR.CS, | |
| '80222': vr_1.VR.LO, | |
| '80300': vr_1.VR.SQ, | |
| '80301': vr_1.VR.US, | |
| '80302': vr_1.VR.LO, | |
| '80303': vr_1.VR.CS, | |
| '80304': vr_1.VR.US, | |
| '80305': vr_1.VR.SQ, | |
| '80306': vr_1.VR.US, | |
| '80307': vr_1.VR.CS, | |
| '80308': vr_1.VR.US, | |
| '80309': vr_1.VR.UL, | |
| '8030a': vr_1.VR.CS, | |
| '8030b': vr_1.VR.UL, | |
| '8030c': vr_1.VR.UC, | |
| '8030d': vr_1.VR.UC, | |
| '8030e': vr_1.VR.UT, | |
| '8030f': vr_1.VR.UT, | |
| '80310': vr_1.VR.SQ, | |
| '81000': vr_1.VR.AE, | |
| '81010': vr_1.VR.SH, | |
| '81030': vr_1.VR.LO, | |
| '81032': vr_1.VR.SQ, | |
| '8103e': vr_1.VR.LO, | |
| '8103f': vr_1.VR.SQ, | |
| '81040': vr_1.VR.LO, | |
| '81048': vr_1.VR.PN, | |
| '81049': vr_1.VR.SQ, | |
| '81050': vr_1.VR.PN, | |
| '81052': vr_1.VR.SQ, | |
| '81060': vr_1.VR.PN, | |
| '81062': vr_1.VR.SQ, | |
| '81070': vr_1.VR.PN, | |
| '81072': vr_1.VR.SQ, | |
| '81080': vr_1.VR.LO, | |
| '81084': vr_1.VR.SQ, | |
| '81090': vr_1.VR.LO, | |
| '81100': vr_1.VR.SQ, | |
| '81110': vr_1.VR.SQ, | |
| '81111': vr_1.VR.SQ, | |
| '81115': vr_1.VR.SQ, | |
| '81120': vr_1.VR.SQ, | |
| '81125': vr_1.VR.SQ, | |
| '81130': vr_1.VR.SQ, | |
| '81134': vr_1.VR.SQ, | |
| '8113a': vr_1.VR.SQ, | |
| '81140': vr_1.VR.SQ, | |
| '81145': vr_1.VR.SQ, | |
| '8114a': vr_1.VR.SQ, | |
| '8114b': vr_1.VR.SQ, | |
| '81150': vr_1.VR.UI, | |
| '81155': vr_1.VR.UI, | |
| '81156': vr_1.VR.SQ, | |
| '8115a': vr_1.VR.UI, | |
| '81160': vr_1.VR.IS, | |
| '81161': vr_1.VR.UL, | |
| '81162': vr_1.VR.UL, | |
| '81163': vr_1.VR.FD, | |
| '81164': vr_1.VR.SQ, | |
| '81167': vr_1.VR.UI, | |
| '81190': vr_1.VR.UR, | |
| '81195': vr_1.VR.UI, | |
| '81196': vr_1.VR.US, | |
| '81197': vr_1.VR.US, | |
| '81198': vr_1.VR.SQ, | |
| '81199': vr_1.VR.SQ, | |
| '8119a': vr_1.VR.SQ, | |
| '81200': vr_1.VR.SQ, | |
| '81250': vr_1.VR.SQ, | |
| '82110': vr_1.VR.CS, | |
| '82111': vr_1.VR.ST, | |
| '82112': vr_1.VR.SQ, | |
| '82120': vr_1.VR.SH, | |
| '82122': vr_1.VR.IS, | |
| '82124': vr_1.VR.IS, | |
| '82127': vr_1.VR.SH, | |
| '82128': vr_1.VR.IS, | |
| '82129': vr_1.VR.IS, | |
| '8212a': vr_1.VR.IS, | |
| '82130': vr_1.VR.DS, | |
| '82132': vr_1.VR.LO, | |
| '82133': vr_1.VR.SQ, | |
| '82134': vr_1.VR.FD, | |
| '82135': vr_1.VR.SQ, | |
| '82142': vr_1.VR.IS, | |
| '82143': vr_1.VR.IS, | |
| '82144': vr_1.VR.IS, | |
| '82200': vr_1.VR.CS, | |
| '82204': vr_1.VR.CS, | |
| '82208': vr_1.VR.CS, | |
| '82218': vr_1.VR.SQ, | |
| '82220': vr_1.VR.SQ, | |
| '82228': vr_1.VR.SQ, | |
| '82229': vr_1.VR.SQ, | |
| '82230': vr_1.VR.SQ, | |
| '82240': vr_1.VR.SQ, | |
| '82242': vr_1.VR.SQ, | |
| '82244': vr_1.VR.SQ, | |
| '82246': vr_1.VR.SQ, | |
| '82251': vr_1.VR.SQ, | |
| '82253': vr_1.VR.SQ, | |
| '82255': vr_1.VR.SQ, | |
| '82256': vr_1.VR.ST, | |
| '82257': vr_1.VR.SQ, | |
| '82258': vr_1.VR.ST, | |
| '82259': vr_1.VR.SQ, | |
| '8225a': vr_1.VR.SQ, | |
| '8225c': vr_1.VR.SQ, | |
| '83001': vr_1.VR.SQ, | |
| '83010': vr_1.VR.UI, | |
| '83011': vr_1.VR.SQ, | |
| '83012': vr_1.VR.UI, | |
| '84000': vr_1.VR.LT, | |
| '89007': vr_1.VR.CS, | |
| '89092': vr_1.VR.SQ, | |
| '89121': vr_1.VR.SQ, | |
| '89123': vr_1.VR.UI, | |
| '89124': vr_1.VR.SQ, | |
| '89154': vr_1.VR.SQ, | |
| '89205': vr_1.VR.CS, | |
| '89206': vr_1.VR.CS, | |
| '89207': vr_1.VR.CS, | |
| '89208': vr_1.VR.CS, | |
| '89209': vr_1.VR.CS, | |
| '89215': vr_1.VR.SQ, | |
| '89237': vr_1.VR.SQ, | |
| '89410': vr_1.VR.SQ, | |
| '89458': vr_1.VR.SQ, | |
| '89459': vr_1.VR.FL, | |
| '89460': vr_1.VR.CS, | |
| '100010': vr_1.VR.PN, | |
| '100020': vr_1.VR.LO, | |
| '100021': vr_1.VR.LO, | |
| '100022': vr_1.VR.CS, | |
| '100024': vr_1.VR.SQ, | |
| '100026': vr_1.VR.SQ, | |
| '100027': vr_1.VR.SQ, | |
| '100028': vr_1.VR.US, | |
| '100030': vr_1.VR.DA, | |
| '100032': vr_1.VR.TM, | |
| '100033': vr_1.VR.LO, | |
| '100034': vr_1.VR.LO, | |
| '100035': vr_1.VR.CS, | |
| '100040': vr_1.VR.CS, | |
| '100050': vr_1.VR.SQ, | |
| '100101': vr_1.VR.SQ, | |
| '100102': vr_1.VR.SQ, | |
| '100200': vr_1.VR.CS, | |
| '100201': vr_1.VR.SQ, | |
| '100212': vr_1.VR.UC, | |
| '100213': vr_1.VR.LO, | |
| '100214': vr_1.VR.LO, | |
| '100215': vr_1.VR.SQ, | |
| '100216': vr_1.VR.SQ, | |
| '100217': vr_1.VR.LO, | |
| '100218': vr_1.VR.UT, | |
| '100219': vr_1.VR.SQ, | |
| '100221': vr_1.VR.SQ, | |
| '100222': vr_1.VR.UC, | |
| '100223': vr_1.VR.LO, | |
| '100229': vr_1.VR.SQ, | |
| '101000': vr_1.VR.LO, | |
| '101001': vr_1.VR.PN, | |
| '101002': vr_1.VR.SQ, | |
| '101005': vr_1.VR.PN, | |
| '101010': vr_1.VR.AS, | |
| '101020': vr_1.VR.DS, | |
| '101021': vr_1.VR.SQ, | |
| '101022': vr_1.VR.DS, | |
| '101023': vr_1.VR.DS, | |
| '101024': vr_1.VR.DS, | |
| '101030': vr_1.VR.DS, | |
| '101040': vr_1.VR.LO, | |
| '101050': vr_1.VR.LO, | |
| '101060': vr_1.VR.PN, | |
| '101080': vr_1.VR.LO, | |
| '101081': vr_1.VR.LO, | |
| '101090': vr_1.VR.LO, | |
| '101100': vr_1.VR.SQ, | |
| '102000': vr_1.VR.LO, | |
| '102110': vr_1.VR.LO, | |
| '102150': vr_1.VR.LO, | |
| '102152': vr_1.VR.LO, | |
| '102154': vr_1.VR.SH, | |
| '102155': vr_1.VR.LT, | |
| '102160': vr_1.VR.SH, | |
| '102180': vr_1.VR.SH, | |
| '1021a0': vr_1.VR.CS, | |
| '1021b0': vr_1.VR.LT, | |
| '1021c0': vr_1.VR.US, | |
| '1021d0': vr_1.VR.DA, | |
| '1021f0': vr_1.VR.LO, | |
| '102201': vr_1.VR.LO, | |
| '102202': vr_1.VR.SQ, | |
| '102203': vr_1.VR.CS, | |
| '102210': vr_1.VR.CS, | |
| '102292': vr_1.VR.LO, | |
| '102293': vr_1.VR.SQ, | |
| '102294': vr_1.VR.SQ, | |
| '102295': vr_1.VR.LO, | |
| '102296': vr_1.VR.SQ, | |
| '102297': vr_1.VR.PN, | |
| '102298': vr_1.VR.CS, | |
| '102299': vr_1.VR.LO, | |
| '104000': vr_1.VR.LT, | |
| '109431': vr_1.VR.FL, | |
| '120010': vr_1.VR.LO, | |
| '120020': vr_1.VR.LO, | |
| '120021': vr_1.VR.LO, | |
| '120030': vr_1.VR.LO, | |
| '120031': vr_1.VR.LO, | |
| '120040': vr_1.VR.LO, | |
| '120042': vr_1.VR.LO, | |
| '120050': vr_1.VR.LO, | |
| '120051': vr_1.VR.ST, | |
| '120052': vr_1.VR.FD, | |
| '120053': vr_1.VR.CS, | |
| '120060': vr_1.VR.LO, | |
| '120062': vr_1.VR.CS, | |
| '120063': vr_1.VR.LO, | |
| '120064': vr_1.VR.SQ, | |
| '120071': vr_1.VR.LO, | |
| '120072': vr_1.VR.LO, | |
| '120081': vr_1.VR.LO, | |
| '120082': vr_1.VR.LO, | |
| '120083': vr_1.VR.SQ, | |
| '120084': vr_1.VR.CS, | |
| '120085': vr_1.VR.CS, | |
| '120086': vr_1.VR.DA, | |
| '120087': vr_1.VR.DA, | |
| '140023': vr_1.VR.ST, | |
| '140024': vr_1.VR.ST, | |
| '140025': vr_1.VR.ST, | |
| '140028': vr_1.VR.ST, | |
| '140030': vr_1.VR.DS, | |
| '140032': vr_1.VR.DS, | |
| '140034': vr_1.VR.DS, | |
| '140042': vr_1.VR.ST, | |
| '140044': vr_1.VR.ST, | |
| '140045': vr_1.VR.ST, | |
| '140046': vr_1.VR.LT, | |
| '140050': vr_1.VR.CS, | |
| '140052': vr_1.VR.CS, | |
| '140054': vr_1.VR.DS, | |
| '140056': vr_1.VR.DS, | |
| '140100': vr_1.VR.LO, | |
| '140101': vr_1.VR.CS, | |
| '140102': vr_1.VR.DA, | |
| '140103': vr_1.VR.TM, | |
| '140104': vr_1.VR.PN, | |
| '140105': vr_1.VR.ST, | |
| '140106': vr_1.VR.SQ, | |
| '140107': vr_1.VR.CS, | |
| '140108': vr_1.VR.CS, | |
| '141010': vr_1.VR.ST, | |
| '141020': vr_1.VR.DA, | |
| '141040': vr_1.VR.ST, | |
| '142002': vr_1.VR.SQ, | |
| '142004': vr_1.VR.IS, | |
| '142006': vr_1.VR.PN, | |
| '142008': vr_1.VR.IS, | |
| '142012': vr_1.VR.SQ, | |
| '142014': vr_1.VR.IS, | |
| '142016': vr_1.VR.SH, | |
| '142018': vr_1.VR.ST, | |
| '14201a': vr_1.VR.CS, | |
| '14201c': vr_1.VR.CS, | |
| '14201e': vr_1.VR.SQ, | |
| '142030': vr_1.VR.SQ, | |
| '142032': vr_1.VR.SH, | |
| '142202': vr_1.VR.IS, | |
| '142204': vr_1.VR.SQ, | |
| '142206': vr_1.VR.ST, | |
| '142208': vr_1.VR.CS, | |
| '14220a': vr_1.VR.IS, | |
| '14220c': vr_1.VR.CS, | |
| '14220e': vr_1.VR.CS, | |
| '142210': vr_1.VR.OB, | |
| '142220': vr_1.VR.SQ, | |
| '142222': vr_1.VR.ST, | |
| '142224': vr_1.VR.IS, | |
| '142226': vr_1.VR.IS, | |
| '142228': vr_1.VR.CS, | |
| '14222a': vr_1.VR.DS, | |
| '14222c': vr_1.VR.DS, | |
| '143011': vr_1.VR.DS, | |
| '143012': vr_1.VR.DS, | |
| '143020': vr_1.VR.SQ, | |
| '143022': vr_1.VR.ST, | |
| '143024': vr_1.VR.DS, | |
| '143026': vr_1.VR.DS, | |
| '143028': vr_1.VR.DS, | |
| '143040': vr_1.VR.SQ, | |
| '143050': vr_1.VR.OW, | |
| '143060': vr_1.VR.SQ, | |
| '143070': vr_1.VR.OW, | |
| '143071': vr_1.VR.DS, | |
| '143072': vr_1.VR.DS, | |
| '143073': vr_1.VR.DS, | |
| '143074': vr_1.VR.LO, | |
| '143075': vr_1.VR.DS, | |
| '143076': vr_1.VR.DA, | |
| '143077': vr_1.VR.TM, | |
| '143080': vr_1.VR.OB, | |
| '143099': vr_1.VR.LT, | |
| '144002': vr_1.VR.SQ, | |
| '144004': vr_1.VR.CS, | |
| '144006': vr_1.VR.LT, | |
| '144008': vr_1.VR.SQ, | |
| '14400a': vr_1.VR.CS, | |
| '14400c': vr_1.VR.LT, | |
| '14400e': vr_1.VR.SQ, | |
| '14400f': vr_1.VR.LT, | |
| '144010': vr_1.VR.SQ, | |
| '144011': vr_1.VR.SQ, | |
| '144012': vr_1.VR.US, | |
| '144013': vr_1.VR.CS, | |
| '144014': vr_1.VR.DS, | |
| '144015': vr_1.VR.DS, | |
| '144016': vr_1.VR.DS, | |
| '144017': vr_1.VR.DS, | |
| '144018': vr_1.VR.DS, | |
| '144019': vr_1.VR.DS, | |
| '14401a': vr_1.VR.DS, | |
| '14401b': vr_1.VR.DS, | |
| '14401c': vr_1.VR.DS, | |
| '14401d': vr_1.VR.DS, | |
| '144020': vr_1.VR.SQ, | |
| '144022': vr_1.VR.DS, | |
| '144024': vr_1.VR.DS, | |
| '144026': vr_1.VR.CS, | |
| '144028': vr_1.VR.DS, | |
| '144030': vr_1.VR.SQ, | |
| '144031': vr_1.VR.DS, | |
| '144032': vr_1.VR.CS, | |
| '144033': vr_1.VR.IS, | |
| '144034': vr_1.VR.DS, | |
| '144035': vr_1.VR.SQ, | |
| '144036': vr_1.VR.CS, | |
| '144038': vr_1.VR.DS, | |
| '14403a': vr_1.VR.DS, | |
| '14403c': vr_1.VR.DS, | |
| '144040': vr_1.VR.SQ, | |
| '144050': vr_1.VR.SQ, | |
| '144051': vr_1.VR.SQ, | |
| '144052': vr_1.VR.DS, | |
| '144054': vr_1.VR.ST, | |
| '144056': vr_1.VR.ST, | |
| '144057': vr_1.VR.DS, | |
| '144058': vr_1.VR.DS, | |
| '144059': vr_1.VR.DS, | |
| '14405a': vr_1.VR.DS, | |
| '14405c': vr_1.VR.ST, | |
| '144060': vr_1.VR.SQ, | |
| '144062': vr_1.VR.DS, | |
| '144064': vr_1.VR.DS, | |
| '144070': vr_1.VR.SQ, | |
| '144072': vr_1.VR.ST, | |
| '144074': vr_1.VR.SH, | |
| '144076': vr_1.VR.DA, | |
| '144078': vr_1.VR.DA, | |
| '14407a': vr_1.VR.DA, | |
| '14407c': vr_1.VR.TM, | |
| '14407e': vr_1.VR.DA, | |
| '144080': vr_1.VR.SQ, | |
| '144081': vr_1.VR.CS, | |
| '144082': vr_1.VR.LT, | |
| '144083': vr_1.VR.SQ, | |
| '144084': vr_1.VR.DS, | |
| '144085': vr_1.VR.DS, | |
| '144086': vr_1.VR.SQ, | |
| '144087': vr_1.VR.SQ, | |
| '144088': vr_1.VR.DS, | |
| '144089': vr_1.VR.DS, | |
| '14408b': vr_1.VR.DS, | |
| '14408c': vr_1.VR.DS, | |
| '14408d': vr_1.VR.DS, | |
| '14408e': vr_1.VR.DS, | |
| '144091': vr_1.VR.SQ, | |
| '144092': vr_1.VR.DS, | |
| '14409a': vr_1.VR.SQ, | |
| '14409b': vr_1.VR.ST, | |
| '14409c': vr_1.VR.DS, | |
| '14409d': vr_1.VR.DS, | |
| '14409f': vr_1.VR.DS, | |
| '1440a0': vr_1.VR.LO, | |
| '1440a1': vr_1.VR.LO, | |
| '1440a2': vr_1.VR.LO, | |
| '145002': vr_1.VR.IS, | |
| '145004': vr_1.VR.IS, | |
| '145100': vr_1.VR.US, | |
| '145101': vr_1.VR.DS, | |
| '145102': vr_1.VR.DS, | |
| '145103': vr_1.VR.DS, | |
| '145104': vr_1.VR.DS, | |
| '145105': vr_1.VR.CS, | |
| '145106': vr_1.VR.SH, | |
| '145107': vr_1.VR.DS, | |
| '145108': vr_1.VR.DS, | |
| '145109': vr_1.VR.CS, | |
| '14510a': vr_1.VR.DS, | |
| '14510b': vr_1.VR.SH, | |
| '14510c': vr_1.VR.DS, | |
| '14510d': vr_1.VR.DS, | |
| '14510e': vr_1.VR.DS, | |
| '14510f': vr_1.VR.SH, | |
| '145110': vr_1.VR.SH, | |
| '145111': vr_1.VR.LO, | |
| '145112': vr_1.VR.DS, | |
| '145113': vr_1.VR.DS, | |
| '145114': vr_1.VR.DS, | |
| '145115': vr_1.VR.DS, | |
| '145116': vr_1.VR.DS, | |
| '145117': vr_1.VR.DS, | |
| '145118': vr_1.VR.DS, | |
| '145119': vr_1.VR.DS, | |
| '14511a': vr_1.VR.DS, | |
| '14511b': vr_1.VR.DS, | |
| '14511c': vr_1.VR.DS, | |
| '14511d': vr_1.VR.DS, | |
| '14511e': vr_1.VR.CS, | |
| '14511f': vr_1.VR.DS, | |
| '180010': vr_1.VR.LO, | |
| '180012': vr_1.VR.SQ, | |
| '180013': vr_1.VR.FL, | |
| '180014': vr_1.VR.SQ, | |
| '180015': vr_1.VR.CS, | |
| '180020': vr_1.VR.CS, | |
| '180021': vr_1.VR.CS, | |
| '180022': vr_1.VR.CS, | |
| '180023': vr_1.VR.CS, | |
| '180024': vr_1.VR.SH, | |
| '180025': vr_1.VR.CS, | |
| '180026': vr_1.VR.SQ, | |
| '180027': vr_1.VR.TM, | |
| '180028': vr_1.VR.DS, | |
| '180029': vr_1.VR.SQ, | |
| '18002a': vr_1.VR.SQ, | |
| '180030': vr_1.VR.LO, | |
| '180031': vr_1.VR.LO, | |
| '180032': vr_1.VR.DS, | |
| '180033': vr_1.VR.DS, | |
| '180034': vr_1.VR.LO, | |
| '180035': vr_1.VR.TM, | |
| '180036': vr_1.VR.SQ, | |
| '180037': vr_1.VR.CS, | |
| '180038': vr_1.VR.CS, | |
| '180039': vr_1.VR.CS, | |
| '18003a': vr_1.VR.ST, | |
| '180040': vr_1.VR.IS, | |
| '180042': vr_1.VR.CS, | |
| '180050': vr_1.VR.DS, | |
| '180060': vr_1.VR.DS, | |
| '180070': vr_1.VR.IS, | |
| '180071': vr_1.VR.CS, | |
| '180072': vr_1.VR.DS, | |
| '180073': vr_1.VR.CS, | |
| '180074': vr_1.VR.IS, | |
| '180075': vr_1.VR.IS, | |
| '180080': vr_1.VR.DS, | |
| '180081': vr_1.VR.DS, | |
| '180082': vr_1.VR.DS, | |
| '180083': vr_1.VR.DS, | |
| '180084': vr_1.VR.DS, | |
| '180085': vr_1.VR.SH, | |
| '180086': vr_1.VR.IS, | |
| '180087': vr_1.VR.DS, | |
| '180088': vr_1.VR.DS, | |
| '180089': vr_1.VR.IS, | |
| '180090': vr_1.VR.DS, | |
| '180091': vr_1.VR.IS, | |
| '180093': vr_1.VR.DS, | |
| '180094': vr_1.VR.DS, | |
| '180095': vr_1.VR.DS, | |
| '181000': vr_1.VR.LO, | |
| '181002': vr_1.VR.UI, | |
| '181003': vr_1.VR.LO, | |
| '181004': vr_1.VR.LO, | |
| '181005': vr_1.VR.LO, | |
| '181006': vr_1.VR.LO, | |
| '181007': vr_1.VR.LO, | |
| '181008': vr_1.VR.LO, | |
| '181009': vr_1.VR.UT, | |
| '18100a': vr_1.VR.SQ, | |
| '181010': vr_1.VR.LO, | |
| '181011': vr_1.VR.LO, | |
| '181012': vr_1.VR.DA, | |
| '181014': vr_1.VR.TM, | |
| '181016': vr_1.VR.LO, | |
| '181017': vr_1.VR.LO, | |
| '181018': vr_1.VR.LO, | |
| '181019': vr_1.VR.LO, | |
| '18101a': vr_1.VR.LO, | |
| '18101b': vr_1.VR.LO, | |
| '181020': vr_1.VR.LO, | |
| '181022': vr_1.VR.SH, | |
| '181023': vr_1.VR.LO, | |
| '181030': vr_1.VR.LO, | |
| '181040': vr_1.VR.LO, | |
| '181041': vr_1.VR.DS, | |
| '181042': vr_1.VR.TM, | |
| '181043': vr_1.VR.TM, | |
| '181044': vr_1.VR.DS, | |
| '181045': vr_1.VR.IS, | |
| '181046': vr_1.VR.DS, | |
| '181047': vr_1.VR.DS, | |
| '181048': vr_1.VR.CS, | |
| '181049': vr_1.VR.DS, | |
| '181050': vr_1.VR.DS, | |
| '181060': vr_1.VR.DS, | |
| '181061': vr_1.VR.LO, | |
| '181062': vr_1.VR.IS, | |
| '181063': vr_1.VR.DS, | |
| '181064': vr_1.VR.LO, | |
| '181065': vr_1.VR.DS, | |
| '181066': vr_1.VR.DS, | |
| '181067': vr_1.VR.DS, | |
| '181068': vr_1.VR.DS, | |
| '181069': vr_1.VR.DS, | |
| '18106a': vr_1.VR.CS, | |
| '18106c': vr_1.VR.US, | |
| '18106e': vr_1.VR.UL, | |
| '181070': vr_1.VR.LO, | |
| '181071': vr_1.VR.DS, | |
| '181072': vr_1.VR.TM, | |
| '181073': vr_1.VR.TM, | |
| '181074': vr_1.VR.DS, | |
| '181075': vr_1.VR.DS, | |
| '181076': vr_1.VR.DS, | |
| '181077': vr_1.VR.DS, | |
| '181078': vr_1.VR.DT, | |
| '181079': vr_1.VR.DT, | |
| '181080': vr_1.VR.CS, | |
| '181081': vr_1.VR.IS, | |
| '181082': vr_1.VR.IS, | |
| '181083': vr_1.VR.IS, | |
| '181084': vr_1.VR.IS, | |
| '181085': vr_1.VR.LO, | |
| '181086': vr_1.VR.IS, | |
| '181088': vr_1.VR.IS, | |
| '181090': vr_1.VR.IS, | |
| '181094': vr_1.VR.IS, | |
| '181100': vr_1.VR.DS, | |
| '181110': vr_1.VR.DS, | |
| '181111': vr_1.VR.DS, | |
| '181114': vr_1.VR.DS, | |
| '181120': vr_1.VR.DS, | |
| '181121': vr_1.VR.DS, | |
| '181130': vr_1.VR.DS, | |
| '181131': vr_1.VR.DS, | |
| '181134': vr_1.VR.CS, | |
| '181135': vr_1.VR.DS, | |
| '181136': vr_1.VR.DS, | |
| '181137': vr_1.VR.DS, | |
| '181138': vr_1.VR.DS, | |
| '18113a': vr_1.VR.CS, | |
| '181140': vr_1.VR.CS, | |
| '181141': vr_1.VR.DS, | |
| '181142': vr_1.VR.DS, | |
| '181143': vr_1.VR.DS, | |
| '181144': vr_1.VR.DS, | |
| '181145': vr_1.VR.DS, | |
| '181146': vr_1.VR.DS, | |
| '181147': vr_1.VR.CS, | |
| '181149': vr_1.VR.IS, | |
| '181150': vr_1.VR.IS, | |
| '181151': vr_1.VR.IS, | |
| '181152': vr_1.VR.IS, | |
| '181153': vr_1.VR.IS, | |
| '181154': vr_1.VR.DS, | |
| '181155': vr_1.VR.CS, | |
| '181156': vr_1.VR.CS, | |
| '18115a': vr_1.VR.CS, | |
| '18115e': vr_1.VR.DS, | |
| '181160': vr_1.VR.SH, | |
| '181161': vr_1.VR.LO, | |
| '181162': vr_1.VR.DS, | |
| '181164': vr_1.VR.DS, | |
| '181166': vr_1.VR.CS, | |
| '181170': vr_1.VR.IS, | |
| '181180': vr_1.VR.SH, | |
| '181181': vr_1.VR.CS, | |
| '181182': vr_1.VR.IS, | |
| '181183': vr_1.VR.DS, | |
| '181184': vr_1.VR.DS, | |
| '181190': vr_1.VR.DS, | |
| '181191': vr_1.VR.CS, | |
| '1811a0': vr_1.VR.DS, | |
| '1811a2': vr_1.VR.DS, | |
| '1811a3': vr_1.VR.DS, | |
| '1811a4': vr_1.VR.LO, | |
| '1811a5': vr_1.VR.DS, | |
| '181200': vr_1.VR.DA, | |
| '181201': vr_1.VR.TM, | |
| '181202': vr_1.VR.DT, | |
| '181210': vr_1.VR.SH, | |
| '181240': vr_1.VR.IS, | |
| '181242': vr_1.VR.IS, | |
| '181243': vr_1.VR.IS, | |
| '181244': vr_1.VR.US, | |
| '181250': vr_1.VR.SH, | |
| '181251': vr_1.VR.SH, | |
| '181260': vr_1.VR.SH, | |
| '181261': vr_1.VR.LO, | |
| '181271': vr_1.VR.FD, | |
| '181272': vr_1.VR.SQ, | |
| '181300': vr_1.VR.DS, | |
| '181301': vr_1.VR.CS, | |
| '181302': vr_1.VR.IS, | |
| '181310': vr_1.VR.US, | |
| '181312': vr_1.VR.CS, | |
| '181314': vr_1.VR.DS, | |
| '181315': vr_1.VR.CS, | |
| '181316': vr_1.VR.DS, | |
| '181318': vr_1.VR.DS, | |
| '181320': vr_1.VR.FL, | |
| '181400': vr_1.VR.LO, | |
| '181401': vr_1.VR.LO, | |
| '181402': vr_1.VR.CS, | |
| '181403': vr_1.VR.CS, | |
| '181404': vr_1.VR.US, | |
| '181405': vr_1.VR.IS, | |
| '181411': vr_1.VR.DS, | |
| '181412': vr_1.VR.DS, | |
| '181413': vr_1.VR.DS, | |
| '181450': vr_1.VR.DS, | |
| '181460': vr_1.VR.DS, | |
| '181470': vr_1.VR.DS, | |
| '181480': vr_1.VR.DS, | |
| '181490': vr_1.VR.CS, | |
| '181491': vr_1.VR.CS, | |
| '181495': vr_1.VR.IS, | |
| '181500': vr_1.VR.CS, | |
| '181508': vr_1.VR.CS, | |
| '181510': vr_1.VR.DS, | |
| '181511': vr_1.VR.DS, | |
| '181520': vr_1.VR.DS, | |
| '181521': vr_1.VR.DS, | |
| '181530': vr_1.VR.DS, | |
| '181531': vr_1.VR.DS, | |
| '181600': vr_1.VR.CS, | |
| '181602': vr_1.VR.IS, | |
| '181604': vr_1.VR.IS, | |
| '181606': vr_1.VR.IS, | |
| '181608': vr_1.VR.IS, | |
| '181610': vr_1.VR.IS, | |
| '181612': vr_1.VR.IS, | |
| '181620': vr_1.VR.IS, | |
| '181622': vr_1.VR.US, | |
| '181623': vr_1.VR.US, | |
| '181624': vr_1.VR.US, | |
| '181700': vr_1.VR.CS, | |
| '181702': vr_1.VR.IS, | |
| '181704': vr_1.VR.IS, | |
| '181706': vr_1.VR.IS, | |
| '181708': vr_1.VR.IS, | |
| '181710': vr_1.VR.IS, | |
| '181712': vr_1.VR.IS, | |
| '181720': vr_1.VR.IS, | |
| '181800': vr_1.VR.CS, | |
| '181801': vr_1.VR.SH, | |
| '181802': vr_1.VR.CS, | |
| '181803': vr_1.VR.LO, | |
| '182001': vr_1.VR.IS, | |
| '182002': vr_1.VR.SH, | |
| '182003': vr_1.VR.DS, | |
| '182004': vr_1.VR.DS, | |
| '182005': vr_1.VR.DS, | |
| '182006': vr_1.VR.SH, | |
| '182010': vr_1.VR.DS, | |
| '182020': vr_1.VR.CS, | |
| '182030': vr_1.VR.DS, | |
| '182041': vr_1.VR.SQ, | |
| '182042': vr_1.VR.UI, | |
| '182043': vr_1.VR.FL, | |
| '182044': vr_1.VR.FL, | |
| '182045': vr_1.VR.SH, | |
| '182046': vr_1.VR.FL, | |
| '183100': vr_1.VR.CS, | |
| '183101': vr_1.VR.DS, | |
| '183102': vr_1.VR.DS, | |
| '183103': vr_1.VR.IS, | |
| '183104': vr_1.VR.IS, | |
| '183105': vr_1.VR.IS, | |
| '184000': vr_1.VR.LT, | |
| '185000': vr_1.VR.SH, | |
| '185010': vr_1.VR.LO, | |
| '185012': vr_1.VR.DS, | |
| '185020': vr_1.VR.LO, | |
| '185021': vr_1.VR.LO, | |
| '185022': vr_1.VR.DS, | |
| '185024': vr_1.VR.DS, | |
| '185026': vr_1.VR.DS, | |
| '185027': vr_1.VR.DS, | |
| '185028': vr_1.VR.DS, | |
| '185029': vr_1.VR.DS, | |
| '185030': vr_1.VR.DS, | |
| '185040': vr_1.VR.DS, | |
| '185050': vr_1.VR.IS, | |
| '185100': vr_1.VR.CS, | |
| '185101': vr_1.VR.CS, | |
| '185104': vr_1.VR.SQ, | |
| '185210': vr_1.VR.DS, | |
| '185212': vr_1.VR.DS, | |
| '186000': vr_1.VR.DS, | |
| '186011': vr_1.VR.SQ, | |
| '186012': vr_1.VR.US, | |
| '186014': vr_1.VR.US, | |
| '186016': vr_1.VR.UL, | |
| '186018': vr_1.VR.UL, | |
| '18601a': vr_1.VR.UL, | |
| '18601c': vr_1.VR.UL, | |
| '18601e': vr_1.VR.UL, | |
| '186020': vr_1.VR.SL, | |
| '186022': vr_1.VR.SL, | |
| '186024': vr_1.VR.US, | |
| '186026': vr_1.VR.US, | |
| '186028': vr_1.VR.FD, | |
| '18602a': vr_1.VR.FD, | |
| '18602c': vr_1.VR.FD, | |
| '18602e': vr_1.VR.FD, | |
| '186030': vr_1.VR.UL, | |
| '186031': vr_1.VR.CS, | |
| '186032': vr_1.VR.UL, | |
| '186034': vr_1.VR.FD, | |
| '186036': vr_1.VR.FD, | |
| '186038': vr_1.VR.UL, | |
| '186039': vr_1.VR.SL, | |
| '18603a': vr_1.VR.UL, | |
| '18603b': vr_1.VR.SL, | |
| '18603c': vr_1.VR.UL, | |
| '18603d': vr_1.VR.SL, | |
| '18603e': vr_1.VR.UL, | |
| '18603f': vr_1.VR.SL, | |
| '186040': vr_1.VR.UL, | |
| '186041': vr_1.VR.SL, | |
| '186042': vr_1.VR.UL, | |
| '186043': vr_1.VR.SL, | |
| '186044': vr_1.VR.US, | |
| '186046': vr_1.VR.UL, | |
| '186048': vr_1.VR.UL, | |
| '18604a': vr_1.VR.UL, | |
| '18604c': vr_1.VR.US, | |
| '18604e': vr_1.VR.US, | |
| '186050': vr_1.VR.UL, | |
| '186052': vr_1.VR.UL, | |
| '186054': vr_1.VR.FD, | |
| '186056': vr_1.VR.UL, | |
| '186058': vr_1.VR.UL, | |
| '18605a': vr_1.VR.FL, | |
| '186060': vr_1.VR.FL, | |
| '187000': vr_1.VR.CS, | |
| '187001': vr_1.VR.DS, | |
| '187004': vr_1.VR.CS, | |
| '187005': vr_1.VR.CS, | |
| '187006': vr_1.VR.LT, | |
| '187008': vr_1.VR.LT, | |
| '18700a': vr_1.VR.SH, | |
| '18700c': vr_1.VR.DA, | |
| '18700e': vr_1.VR.TM, | |
| '187010': vr_1.VR.IS, | |
| '187011': vr_1.VR.IS, | |
| '187012': vr_1.VR.DS, | |
| '187014': vr_1.VR.DS, | |
| '187016': vr_1.VR.DS, | |
| '18701a': vr_1.VR.DS, | |
| '187020': vr_1.VR.DS, | |
| '187022': vr_1.VR.DS, | |
| '187024': vr_1.VR.CS, | |
| '187026': vr_1.VR.DS, | |
| '187028': vr_1.VR.DS, | |
| '18702a': vr_1.VR.LO, | |
| '18702b': vr_1.VR.LO, | |
| '187030': vr_1.VR.DS, | |
| '187032': vr_1.VR.DS, | |
| '187034': vr_1.VR.CS, | |
| '187036': vr_1.VR.FL, | |
| '187038': vr_1.VR.FL, | |
| '187040': vr_1.VR.LT, | |
| '187041': vr_1.VR.LT, | |
| '187042': vr_1.VR.DS, | |
| '187044': vr_1.VR.DS, | |
| '187046': vr_1.VR.IS, | |
| '187048': vr_1.VR.DS, | |
| '18704c': vr_1.VR.DS, | |
| '187050': vr_1.VR.CS, | |
| '187052': vr_1.VR.DS, | |
| '187054': vr_1.VR.DS, | |
| '187056': vr_1.VR.FL, | |
| '187058': vr_1.VR.FL, | |
| '187060': vr_1.VR.CS, | |
| '187062': vr_1.VR.LT, | |
| '187064': vr_1.VR.CS, | |
| '187065': vr_1.VR.DS, | |
| '188150': vr_1.VR.DS, | |
| '188151': vr_1.VR.DS, | |
| '189004': vr_1.VR.CS, | |
| '189005': vr_1.VR.SH, | |
| '189006': vr_1.VR.SQ, | |
| '189008': vr_1.VR.CS, | |
| '189009': vr_1.VR.CS, | |
| '189010': vr_1.VR.CS, | |
| '189011': vr_1.VR.CS, | |
| '189012': vr_1.VR.CS, | |
| '189014': vr_1.VR.CS, | |
| '189015': vr_1.VR.CS, | |
| '189016': vr_1.VR.CS, | |
| '189017': vr_1.VR.CS, | |
| '189018': vr_1.VR.CS, | |
| '189019': vr_1.VR.FD, | |
| '189020': vr_1.VR.CS, | |
| '189021': vr_1.VR.CS, | |
| '189022': vr_1.VR.CS, | |
| '189024': vr_1.VR.CS, | |
| '189025': vr_1.VR.CS, | |
| '189026': vr_1.VR.CS, | |
| '189027': vr_1.VR.CS, | |
| '189028': vr_1.VR.CS, | |
| '189029': vr_1.VR.CS, | |
| '189030': vr_1.VR.FD, | |
| '189032': vr_1.VR.CS, | |
| '189033': vr_1.VR.CS, | |
| '189034': vr_1.VR.CS, | |
| '189035': vr_1.VR.FD, | |
| '189036': vr_1.VR.CS, | |
| '189037': vr_1.VR.CS, | |
| '189041': vr_1.VR.LO, | |
| '189042': vr_1.VR.SQ, | |
| '189043': vr_1.VR.CS, | |
| '189044': vr_1.VR.CS, | |
| '189045': vr_1.VR.SQ, | |
| '189046': vr_1.VR.LO, | |
| '189047': vr_1.VR.SH, | |
| '189048': vr_1.VR.CS, | |
| '189049': vr_1.VR.SQ, | |
| '189050': vr_1.VR.LO, | |
| '189051': vr_1.VR.CS, | |
| '189052': vr_1.VR.FD, | |
| '189053': vr_1.VR.FD, | |
| '189054': vr_1.VR.CS, | |
| '189058': vr_1.VR.US, | |
| '189059': vr_1.VR.CS, | |
| '189060': vr_1.VR.CS, | |
| '189061': vr_1.VR.FD, | |
| '189062': vr_1.VR.CS, | |
| '189063': vr_1.VR.FD, | |
| '189064': vr_1.VR.CS, | |
| '189065': vr_1.VR.CS, | |
| '189066': vr_1.VR.US, | |
| '189067': vr_1.VR.CS, | |
| '189069': vr_1.VR.FD, | |
| '189070': vr_1.VR.FD, | |
| '189073': vr_1.VR.FD, | |
| '189074': vr_1.VR.DT, | |
| '189075': vr_1.VR.CS, | |
| '189076': vr_1.VR.SQ, | |
| '189077': vr_1.VR.CS, | |
| '189078': vr_1.VR.CS, | |
| '189079': vr_1.VR.FD, | |
| '189080': vr_1.VR.ST, | |
| '189081': vr_1.VR.CS, | |
| '189082': vr_1.VR.FD, | |
| '189083': vr_1.VR.SQ, | |
| '189084': vr_1.VR.SQ, | |
| '189085': vr_1.VR.CS, | |
| '189087': vr_1.VR.FD, | |
| '189089': vr_1.VR.FD, | |
| '189090': vr_1.VR.FD, | |
| '189091': vr_1.VR.FD, | |
| '189092': vr_1.VR.SQ, | |
| '189093': vr_1.VR.US, | |
| '189094': vr_1.VR.CS, | |
| '189095': vr_1.VR.UL, | |
| '189096': vr_1.VR.FD, | |
| '189098': vr_1.VR.FD, | |
| '189100': vr_1.VR.CS, | |
| '189101': vr_1.VR.CS, | |
| '189103': vr_1.VR.SQ, | |
| '189104': vr_1.VR.FD, | |
| '189105': vr_1.VR.FD, | |
| '189106': vr_1.VR.FD, | |
| '189107': vr_1.VR.SQ, | |
| '189112': vr_1.VR.SQ, | |
| '189114': vr_1.VR.SQ, | |
| '189115': vr_1.VR.SQ, | |
| '189117': vr_1.VR.SQ, | |
| '189118': vr_1.VR.SQ, | |
| '189119': vr_1.VR.SQ, | |
| '189125': vr_1.VR.SQ, | |
| '189126': vr_1.VR.SQ, | |
| '189127': vr_1.VR.UL, | |
| '189147': vr_1.VR.CS, | |
| '189151': vr_1.VR.DT, | |
| '189152': vr_1.VR.SQ, | |
| '189155': vr_1.VR.FD, | |
| '189159': vr_1.VR.UL, | |
| '189166': vr_1.VR.CS, | |
| '189168': vr_1.VR.FD, | |
| '189169': vr_1.VR.CS, | |
| '189170': vr_1.VR.CS, | |
| '189171': vr_1.VR.CS, | |
| '189172': vr_1.VR.CS, | |
| '189173': vr_1.VR.CS, | |
| '189174': vr_1.VR.CS, | |
| '189175': vr_1.VR.LO, | |
| '189176': vr_1.VR.SQ, | |
| '189177': vr_1.VR.CS, | |
| '189178': vr_1.VR.CS, | |
| '189179': vr_1.VR.CS, | |
| '189180': vr_1.VR.CS, | |
| '189181': vr_1.VR.FD, | |
| '189182': vr_1.VR.FD, | |
| '189183': vr_1.VR.CS, | |
| '189184': vr_1.VR.FD, | |
| '189185': vr_1.VR.ST, | |
| '189186': vr_1.VR.SH, | |
| '189195': vr_1.VR.FD, | |
| '189196': vr_1.VR.FD, | |
| '189197': vr_1.VR.SQ, | |
| '189198': vr_1.VR.CS, | |
| '189199': vr_1.VR.CS, | |
| '189200': vr_1.VR.CS, | |
| '189214': vr_1.VR.CS, | |
| '189217': vr_1.VR.FD, | |
| '189218': vr_1.VR.FD, | |
| '189219': vr_1.VR.SS, | |
| '189220': vr_1.VR.FD, | |
| '189226': vr_1.VR.SQ, | |
| '189227': vr_1.VR.SQ, | |
| '189231': vr_1.VR.US, | |
| '189232': vr_1.VR.US, | |
| '189234': vr_1.VR.UL, | |
| '189236': vr_1.VR.CS, | |
| '189239': vr_1.VR.SQ, | |
| '189240': vr_1.VR.US, | |
| '189241': vr_1.VR.US, | |
| '189250': vr_1.VR.CS, | |
| '189251': vr_1.VR.SQ, | |
| '189252': vr_1.VR.LO, | |
| '189253': vr_1.VR.US, | |
| '189254': vr_1.VR.FD, | |
| '189255': vr_1.VR.FD, | |
| '189256': vr_1.VR.FD, | |
| '189257': vr_1.VR.CS, | |
| '189258': vr_1.VR.UL, | |
| '189259': vr_1.VR.CS, | |
| '18925a': vr_1.VR.FD, | |
| '18925b': vr_1.VR.LO, | |
| '18925c': vr_1.VR.CS, | |
| '18925d': vr_1.VR.SQ, | |
| '18925e': vr_1.VR.LO, | |
| '18925f': vr_1.VR.UL, | |
| '189260': vr_1.VR.SQ, | |
| '189295': vr_1.VR.FD, | |
| '189296': vr_1.VR.FD, | |
| '189297': vr_1.VR.CS, | |
| '189298': vr_1.VR.IS, | |
| '189301': vr_1.VR.SQ, | |
| '189302': vr_1.VR.CS, | |
| '189303': vr_1.VR.FD, | |
| '189304': vr_1.VR.SQ, | |
| '189305': vr_1.VR.FD, | |
| '189306': vr_1.VR.FD, | |
| '189307': vr_1.VR.FD, | |
| '189308': vr_1.VR.SQ, | |
| '189309': vr_1.VR.FD, | |
| '189310': vr_1.VR.FD, | |
| '189311': vr_1.VR.FD, | |
| '189312': vr_1.VR.SQ, | |
| '189313': vr_1.VR.FD, | |
| '189314': vr_1.VR.SQ, | |
| '189315': vr_1.VR.CS, | |
| '189316': vr_1.VR.CS, | |
| '189317': vr_1.VR.FD, | |
| '189318': vr_1.VR.FD, | |
| '189319': vr_1.VR.FD, | |
| '189320': vr_1.VR.SH, | |
| '189321': vr_1.VR.SQ, | |
| '189322': vr_1.VR.FD, | |
| '189323': vr_1.VR.CS, | |
| '189324': vr_1.VR.FD, | |
| '189325': vr_1.VR.SQ, | |
| '189326': vr_1.VR.SQ, | |
| '189327': vr_1.VR.FD, | |
| '189328': vr_1.VR.FD, | |
| '189329': vr_1.VR.SQ, | |
| '189330': vr_1.VR.FD, | |
| '189332': vr_1.VR.FD, | |
| '189333': vr_1.VR.CS, | |
| '189334': vr_1.VR.CS, | |
| '189335': vr_1.VR.FD, | |
| '189337': vr_1.VR.US, | |
| '189338': vr_1.VR.SQ, | |
| '189340': vr_1.VR.SQ, | |
| '189341': vr_1.VR.SQ, | |
| '189342': vr_1.VR.CS, | |
| '189343': vr_1.VR.CS, | |
| '189344': vr_1.VR.CS, | |
| '189345': vr_1.VR.FD, | |
| '189346': vr_1.VR.SQ, | |
| '189351': vr_1.VR.FL, | |
| '189352': vr_1.VR.FL, | |
| '189353': vr_1.VR.FL, | |
| '189360': vr_1.VR.SQ, | |
| '189401': vr_1.VR.SQ, | |
| '189402': vr_1.VR.FL, | |
| '189403': vr_1.VR.FL, | |
| '189404': vr_1.VR.FL, | |
| '189405': vr_1.VR.SQ, | |
| '189406': vr_1.VR.SQ, | |
| '189407': vr_1.VR.SQ, | |
| '189410': vr_1.VR.CS, | |
| '189412': vr_1.VR.SQ, | |
| '189417': vr_1.VR.SQ, | |
| '189420': vr_1.VR.CS, | |
| '189423': vr_1.VR.LO, | |
| '189424': vr_1.VR.LT, | |
| '189425': vr_1.VR.CS, | |
| '189426': vr_1.VR.FL, | |
| '189427': vr_1.VR.CS, | |
| '189428': vr_1.VR.FL, | |
| '189429': vr_1.VR.FL, | |
| '189430': vr_1.VR.FL, | |
| '189432': vr_1.VR.SQ, | |
| '189433': vr_1.VR.LO, | |
| '189434': vr_1.VR.SQ, | |
| '189435': vr_1.VR.CS, | |
| '189436': vr_1.VR.SS, | |
| '189437': vr_1.VR.SS, | |
| '189438': vr_1.VR.SS, | |
| '189439': vr_1.VR.SS, | |
| '189440': vr_1.VR.SS, | |
| '189441': vr_1.VR.US, | |
| '189442': vr_1.VR.SS, | |
| '189447': vr_1.VR.FL, | |
| '189449': vr_1.VR.FL, | |
| '189451': vr_1.VR.SQ, | |
| '189452': vr_1.VR.FL, | |
| '189455': vr_1.VR.SQ, | |
| '189456': vr_1.VR.SQ, | |
| '189457': vr_1.VR.CS, | |
| '189461': vr_1.VR.FL, | |
| '189462': vr_1.VR.SQ, | |
| '189463': vr_1.VR.FL, | |
| '189464': vr_1.VR.FL, | |
| '189465': vr_1.VR.FL, | |
| '189466': vr_1.VR.FL, | |
| '189467': vr_1.VR.FL, | |
| '189468': vr_1.VR.FL, | |
| '189469': vr_1.VR.FL, | |
| '189470': vr_1.VR.FL, | |
| '189471': vr_1.VR.FL, | |
| '189472': vr_1.VR.SQ, | |
| '189473': vr_1.VR.FL, | |
| '189474': vr_1.VR.CS, | |
| '189476': vr_1.VR.SQ, | |
| '189477': vr_1.VR.SQ, | |
| '189504': vr_1.VR.SQ, | |
| '189506': vr_1.VR.SQ, | |
| '189507': vr_1.VR.SQ, | |
| '189508': vr_1.VR.FL, | |
| '189509': vr_1.VR.FL, | |
| '189510': vr_1.VR.FL, | |
| '189511': vr_1.VR.FL, | |
| '189514': vr_1.VR.FL, | |
| '189515': vr_1.VR.FL, | |
| '189516': vr_1.VR.DT, | |
| '189517': vr_1.VR.DT, | |
| '189518': vr_1.VR.SS, | |
| '189519': vr_1.VR.SS, | |
| '189524': vr_1.VR.LO, | |
| '189525': vr_1.VR.LO, | |
| '189526': vr_1.VR.LO, | |
| '189527': vr_1.VR.CS, | |
| '189528': vr_1.VR.LO, | |
| '189530': vr_1.VR.SQ, | |
| '189531': vr_1.VR.LO, | |
| '189538': vr_1.VR.SQ, | |
| '189541': vr_1.VR.SQ, | |
| '189542': vr_1.VR.SQ, | |
| '189543': vr_1.VR.FD, | |
| '189544': vr_1.VR.FD, | |
| '189545': vr_1.VR.FD, | |
| '189546': vr_1.VR.FD, | |
| '189547': vr_1.VR.FD, | |
| '189548': vr_1.VR.FD, | |
| '189549': vr_1.VR.FD, | |
| '189550': vr_1.VR.FD, | |
| '189551': vr_1.VR.FD, | |
| '189552': vr_1.VR.FD, | |
| '189553': vr_1.VR.FD, | |
| '189554': vr_1.VR.FD, | |
| '189555': vr_1.VR.SQ, | |
| '189556': vr_1.VR.SQ, | |
| '189557': vr_1.VR.FD, | |
| '189558': vr_1.VR.FD, | |
| '189559': vr_1.VR.CS, | |
| '189601': vr_1.VR.SQ, | |
| '189602': vr_1.VR.FD, | |
| '189603': vr_1.VR.FD, | |
| '189604': vr_1.VR.FD, | |
| '189605': vr_1.VR.FD, | |
| '189606': vr_1.VR.FD, | |
| '189607': vr_1.VR.FD, | |
| '189621': vr_1.VR.SQ, | |
| '189622': vr_1.VR.CS, | |
| '189623': vr_1.VR.DT, | |
| '189624': vr_1.VR.CS, | |
| '189701': vr_1.VR.DT, | |
| '189715': vr_1.VR.FD, | |
| '189716': vr_1.VR.FD, | |
| '189717': vr_1.VR.FD, | |
| '189718': vr_1.VR.FD, | |
| '189719': vr_1.VR.FD, | |
| '189720': vr_1.VR.FD, | |
| '189721': vr_1.VR.FD, | |
| '189722': vr_1.VR.FD, | |
| '189723': vr_1.VR.FD, | |
| '189724': vr_1.VR.FD, | |
| '189725': vr_1.VR.CS, | |
| '189726': vr_1.VR.FD, | |
| '189727': vr_1.VR.FD, | |
| '189729': vr_1.VR.US, | |
| '189732': vr_1.VR.SQ, | |
| '189733': vr_1.VR.SQ, | |
| '189734': vr_1.VR.SQ, | |
| '189735': vr_1.VR.SQ, | |
| '189736': vr_1.VR.SQ, | |
| '189737': vr_1.VR.SQ, | |
| '189738': vr_1.VR.CS, | |
| '189739': vr_1.VR.US, | |
| '189740': vr_1.VR.US, | |
| '189749': vr_1.VR.SQ, | |
| '189751': vr_1.VR.SQ, | |
| '189755': vr_1.VR.CS, | |
| '189756': vr_1.VR.CS, | |
| '189758': vr_1.VR.CS, | |
| '189759': vr_1.VR.CS, | |
| '189760': vr_1.VR.CS, | |
| '189761': vr_1.VR.CS, | |
| '189762': vr_1.VR.CS, | |
| '189763': vr_1.VR.CS, | |
| '189764': vr_1.VR.CS, | |
| '189765': vr_1.VR.CS, | |
| '189766': vr_1.VR.CS, | |
| '189767': vr_1.VR.CS, | |
| '189768': vr_1.VR.CS, | |
| '189769': vr_1.VR.CS, | |
| '189770': vr_1.VR.CS, | |
| '189771': vr_1.VR.SQ, | |
| '189772': vr_1.VR.SQ, | |
| '189801': vr_1.VR.FD, | |
| '189803': vr_1.VR.SQ, | |
| '189804': vr_1.VR.DT, | |
| '189805': vr_1.VR.FD, | |
| '189806': vr_1.VR.SQ, | |
| '189807': vr_1.VR.SQ, | |
| '189808': vr_1.VR.CS, | |
| '189809': vr_1.VR.SQ, | |
| '18980b': vr_1.VR.CS, | |
| '18980c': vr_1.VR.CS, | |
| '18980d': vr_1.VR.SQ, | |
| '18980e': vr_1.VR.SQ, | |
| '18980f': vr_1.VR.SQ, | |
| '189810': vr_1.VR.SS, | |
| '189900': vr_1.VR.LO, | |
| '189901': vr_1.VR.UT, | |
| '189902': vr_1.VR.SQ, | |
| '189903': vr_1.VR.SQ, | |
| '189904': vr_1.VR.DS, | |
| '189905': vr_1.VR.CS, | |
| '189906': vr_1.VR.SQ, | |
| '189907': vr_1.VR.SQ, | |
| '189908': vr_1.VR.UC, | |
| '189909': vr_1.VR.SQ, | |
| '18990a': vr_1.VR.UC, | |
| '18990b': vr_1.VR.SQ, | |
| '18990c': vr_1.VR.SQ, | |
| '18990d': vr_1.VR.SQ, | |
| '18990e': vr_1.VR.SQ, | |
| '18990f': vr_1.VR.UT, | |
| '189910': vr_1.VR.UT, | |
| '189911': vr_1.VR.SQ, | |
| '189912': vr_1.VR.SQ, | |
| '189913': vr_1.VR.SQ, | |
| '189914': vr_1.VR.SQ, | |
| '189915': vr_1.VR.US, | |
| '189916': vr_1.VR.LO, | |
| '189917': vr_1.VR.UT, | |
| '189918': vr_1.VR.CS, | |
| '189919': vr_1.VR.DT, | |
| '18991a': vr_1.VR.UT, | |
| '18991b': vr_1.VR.SQ, | |
| '18991c': vr_1.VR.SQ, | |
| '18991d': vr_1.VR.SQ, | |
| '18991e': vr_1.VR.UI, | |
| '18991f': vr_1.VR.SQ, | |
| '189920': vr_1.VR.SQ, | |
| '189921': vr_1.VR.US, | |
| '189922': vr_1.VR.LO, | |
| '189923': vr_1.VR.UT, | |
| '189924': vr_1.VR.UT, | |
| '189930': vr_1.VR.CS, | |
| '189931': vr_1.VR.SQ, | |
| '189932': vr_1.VR.SQ, | |
| '189933': vr_1.VR.SQ, | |
| '189934': vr_1.VR.SQ, | |
| '189935': vr_1.VR.SQ, | |
| '189936': vr_1.VR.SQ, | |
| '189937': vr_1.VR.LO, | |
| '189938': vr_1.VR.US, | |
| '189939': vr_1.VR.US, | |
| '18993a': vr_1.VR.US, | |
| '18993b': vr_1.VR.SQ, | |
| '18993c': vr_1.VR.SQ, | |
| '18993d': vr_1.VR.SQ, | |
| '18993e': vr_1.VR.SQ, | |
| '189941': vr_1.VR.UT, | |
| '189942': vr_1.VR.FD, | |
| '189943': vr_1.VR.FD, | |
| '189944': vr_1.VR.CS, | |
| '189945': vr_1.VR.FD, | |
| '189946': vr_1.VR.FD, | |
| '189947': vr_1.VR.CS, | |
| '18a001': vr_1.VR.SQ, | |
| '18a002': vr_1.VR.DT, | |
| '18a003': vr_1.VR.ST, | |
| '20000d': vr_1.VR.UI, | |
| '20000e': vr_1.VR.UI, | |
| '200010': vr_1.VR.SH, | |
| '200011': vr_1.VR.IS, | |
| '200012': vr_1.VR.IS, | |
| '200013': vr_1.VR.IS, | |
| '200014': vr_1.VR.IS, | |
| '200015': vr_1.VR.IS, | |
| '200016': vr_1.VR.IS, | |
| '200017': vr_1.VR.IS, | |
| '200018': vr_1.VR.IS, | |
| '200019': vr_1.VR.IS, | |
| '200020': vr_1.VR.CS, | |
| '200022': vr_1.VR.IS, | |
| '200024': vr_1.VR.IS, | |
| '200026': vr_1.VR.IS, | |
| '200030': vr_1.VR.DS, | |
| '200032': vr_1.VR.DS, | |
| '200035': vr_1.VR.DS, | |
| '200037': vr_1.VR.DS, | |
| '200050': vr_1.VR.DS, | |
| '200052': vr_1.VR.UI, | |
| '200060': vr_1.VR.CS, | |
| '200062': vr_1.VR.CS, | |
| '200070': vr_1.VR.LO, | |
| '200080': vr_1.VR.CS, | |
| '2000aa': vr_1.VR.IS, | |
| '200100': vr_1.VR.IS, | |
| '200105': vr_1.VR.IS, | |
| '200110': vr_1.VR.DS, | |
| '200200': vr_1.VR.UI, | |
| '200242': vr_1.VR.UI, | |
| '201000': vr_1.VR.IS, | |
| '201001': vr_1.VR.IS, | |
| '201002': vr_1.VR.IS, | |
| '201003': vr_1.VR.IS, | |
| '201004': vr_1.VR.IS, | |
| '201005': vr_1.VR.IS, | |
| '201020': vr_1.VR.LO, | |
| '20103f': vr_1.VR.LO, | |
| '201040': vr_1.VR.LO, | |
| '201041': vr_1.VR.DS, | |
| '201070': vr_1.VR.IS, | |
| '201200': vr_1.VR.IS, | |
| '201202': vr_1.VR.IS, | |
| '201204': vr_1.VR.IS, | |
| '201206': vr_1.VR.IS, | |
| '201208': vr_1.VR.IS, | |
| '201209': vr_1.VR.IS, | |
| '203100': vr_1.VR.CS, | |
| '203401': vr_1.VR.CS, | |
| '203402': vr_1.VR.CS, | |
| '203403': vr_1.VR.DA, | |
| '203404': vr_1.VR.LO, | |
| '203405': vr_1.VR.TM, | |
| '203406': vr_1.VR.LO, | |
| '204000': vr_1.VR.LT, | |
| '205000': vr_1.VR.AT, | |
| '205002': vr_1.VR.LO, | |
| '209056': vr_1.VR.SH, | |
| '209057': vr_1.VR.UL, | |
| '209071': vr_1.VR.SQ, | |
| '209072': vr_1.VR.CS, | |
| '209111': vr_1.VR.SQ, | |
| '209113': vr_1.VR.SQ, | |
| '209116': vr_1.VR.SQ, | |
| '209128': vr_1.VR.UL, | |
| '209153': vr_1.VR.FD, | |
| '209154': vr_1.VR.FL, | |
| '209155': vr_1.VR.FL, | |
| '209156': vr_1.VR.US, | |
| '209157': vr_1.VR.UL, | |
| '209158': vr_1.VR.LT, | |
| '209161': vr_1.VR.UI, | |
| '209162': vr_1.VR.US, | |
| '209163': vr_1.VR.US, | |
| '209164': vr_1.VR.UI, | |
| '209165': vr_1.VR.AT, | |
| '209167': vr_1.VR.AT, | |
| '209170': vr_1.VR.SQ, | |
| '209171': vr_1.VR.SQ, | |
| '209172': vr_1.VR.SQ, | |
| '209213': vr_1.VR.LO, | |
| '209221': vr_1.VR.SQ, | |
| '209222': vr_1.VR.SQ, | |
| '209228': vr_1.VR.UL, | |
| '209238': vr_1.VR.LO, | |
| '209241': vr_1.VR.FL, | |
| '209245': vr_1.VR.FL, | |
| '209246': vr_1.VR.FL, | |
| '209247': vr_1.VR.CS, | |
| '209248': vr_1.VR.FL, | |
| '209249': vr_1.VR.CS, | |
| '209250': vr_1.VR.CS, | |
| '209251': vr_1.VR.FD, | |
| '209252': vr_1.VR.FD, | |
| '209253': vr_1.VR.SQ, | |
| '209254': vr_1.VR.FD, | |
| '209255': vr_1.VR.FD, | |
| '209256': vr_1.VR.FD, | |
| '209257': vr_1.VR.FD, | |
| '209301': vr_1.VR.FD, | |
| '209302': vr_1.VR.FD, | |
| '209307': vr_1.VR.CS, | |
| '209308': vr_1.VR.FD, | |
| '209309': vr_1.VR.FD, | |
| '20930a': vr_1.VR.FD, | |
| '20930b': vr_1.VR.CS, | |
| '20930c': vr_1.VR.CS, | |
| '20930d': vr_1.VR.FD, | |
| '20930e': vr_1.VR.SQ, | |
| '20930f': vr_1.VR.SQ, | |
| '209310': vr_1.VR.SQ, | |
| '209311': vr_1.VR.CS, | |
| '209312': vr_1.VR.UI, | |
| '209313': vr_1.VR.UI, | |
| '209421': vr_1.VR.LO, | |
| '209450': vr_1.VR.SQ, | |
| '209453': vr_1.VR.LO, | |
| '209518': vr_1.VR.US, | |
| '209529': vr_1.VR.SQ, | |
| '209536': vr_1.VR.US, | |
| '220001': vr_1.VR.US, | |
| '220002': vr_1.VR.US, | |
| '220003': vr_1.VR.US, | |
| '220004': vr_1.VR.US, | |
| '220005': vr_1.VR.CS, | |
| '220006': vr_1.VR.SQ, | |
| '220007': vr_1.VR.FL, | |
| '220008': vr_1.VR.FL, | |
| '220009': vr_1.VR.FL, | |
| '22000a': vr_1.VR.FL, | |
| '22000b': vr_1.VR.FL, | |
| '22000c': vr_1.VR.FL, | |
| '22000d': vr_1.VR.CS, | |
| '22000e': vr_1.VR.FL, | |
| '220010': vr_1.VR.FL, | |
| '220011': vr_1.VR.FL, | |
| '220012': vr_1.VR.FL, | |
| '220013': vr_1.VR.FL, | |
| '220014': vr_1.VR.FL, | |
| '220015': vr_1.VR.SQ, | |
| '220016': vr_1.VR.SQ, | |
| '220017': vr_1.VR.SQ, | |
| '220018': vr_1.VR.SQ, | |
| '220019': vr_1.VR.SQ, | |
| '22001a': vr_1.VR.SQ, | |
| '22001b': vr_1.VR.SQ, | |
| '22001c': vr_1.VR.SQ, | |
| '22001d': vr_1.VR.SQ, | |
| '22001e': vr_1.VR.FL, | |
| '220020': vr_1.VR.SQ, | |
| '220021': vr_1.VR.SQ, | |
| '220022': vr_1.VR.SQ, | |
| '220028': vr_1.VR.CS, | |
| '220030': vr_1.VR.FL, | |
| '220031': vr_1.VR.SQ, | |
| '220032': vr_1.VR.FL, | |
| '220035': vr_1.VR.FL, | |
| '220036': vr_1.VR.FL, | |
| '220037': vr_1.VR.FL, | |
| '220038': vr_1.VR.FL, | |
| '220039': vr_1.VR.CS, | |
| '220041': vr_1.VR.FL, | |
| '220042': vr_1.VR.SQ, | |
| '220048': vr_1.VR.FL, | |
| '220049': vr_1.VR.FL, | |
| '22004e': vr_1.VR.DS, | |
| '220055': vr_1.VR.FL, | |
| '220056': vr_1.VR.FL, | |
| '220057': vr_1.VR.FL, | |
| '220058': vr_1.VR.SQ, | |
| '221007': vr_1.VR.SQ, | |
| '221008': vr_1.VR.SQ, | |
| '221009': vr_1.VR.CS, | |
| '221010': vr_1.VR.CS, | |
| '221012': vr_1.VR.SQ, | |
| '221019': vr_1.VR.FL, | |
| '221024': vr_1.VR.SQ, | |
| '221025': vr_1.VR.SQ, | |
| '221028': vr_1.VR.SQ, | |
| '221029': vr_1.VR.LO, | |
| '221033': vr_1.VR.FL, | |
| '221035': vr_1.VR.SQ, | |
| '221037': vr_1.VR.FL, | |
| '221039': vr_1.VR.CS, | |
| '221040': vr_1.VR.SQ, | |
| '221044': vr_1.VR.SQ, | |
| '221050': vr_1.VR.SQ, | |
| '221053': vr_1.VR.FL, | |
| '221054': vr_1.VR.FL, | |
| '221059': vr_1.VR.FL, | |
| '221065': vr_1.VR.LO, | |
| '221066': vr_1.VR.LO, | |
| '221090': vr_1.VR.SQ, | |
| '221092': vr_1.VR.SQ, | |
| '221093': vr_1.VR.LO, | |
| '221094': vr_1.VR.LO, | |
| '221095': vr_1.VR.LO, | |
| '221096': vr_1.VR.SQ, | |
| '221097': vr_1.VR.LO, | |
| '221100': vr_1.VR.SQ, | |
| '221101': vr_1.VR.SQ, | |
| '221103': vr_1.VR.SQ, | |
| '221121': vr_1.VR.FL, | |
| '221122': vr_1.VR.FL, | |
| '221125': vr_1.VR.SQ, | |
| '221127': vr_1.VR.SQ, | |
| '221128': vr_1.VR.SQ, | |
| '221130': vr_1.VR.FL, | |
| '221131': vr_1.VR.FL, | |
| '221132': vr_1.VR.SQ, | |
| '221133': vr_1.VR.SQ, | |
| '221134': vr_1.VR.SQ, | |
| '221135': vr_1.VR.SQ, | |
| '221140': vr_1.VR.CS, | |
| '221150': vr_1.VR.SQ, | |
| '221153': vr_1.VR.SQ, | |
| '221155': vr_1.VR.FL, | |
| '221159': vr_1.VR.LO, | |
| '221210': vr_1.VR.SQ, | |
| '221211': vr_1.VR.SQ, | |
| '221212': vr_1.VR.SQ, | |
| '221220': vr_1.VR.SQ, | |
| '221225': vr_1.VR.SQ, | |
| '221230': vr_1.VR.SQ, | |
| '221250': vr_1.VR.SQ, | |
| '221255': vr_1.VR.SQ, | |
| '221257': vr_1.VR.SQ, | |
| '221260': vr_1.VR.SQ, | |
| '221262': vr_1.VR.SQ, | |
| '221265': vr_1.VR.SQ, | |
| '221273': vr_1.VR.LO, | |
| '221300': vr_1.VR.SQ, | |
| '221310': vr_1.VR.SQ, | |
| '221330': vr_1.VR.SQ, | |
| '221415': vr_1.VR.CS, | |
| '221420': vr_1.VR.SQ, | |
| '221423': vr_1.VR.SQ, | |
| '221436': vr_1.VR.SQ, | |
| '221443': vr_1.VR.SQ, | |
| '221445': vr_1.VR.SQ, | |
| '221450': vr_1.VR.SQ, | |
| '221452': vr_1.VR.SS, | |
| '221454': vr_1.VR.LO, | |
| '221458': vr_1.VR.SQ, | |
| '221460': vr_1.VR.FL, | |
| '221463': vr_1.VR.FL, | |
| '221465': vr_1.VR.SQ, | |
| '221466': vr_1.VR.CS, | |
| '221467': vr_1.VR.FL, | |
| '221468': vr_1.VR.FL, | |
| '221470': vr_1.VR.SQ, | |
| '221472': vr_1.VR.SQ, | |
| '221512': vr_1.VR.SQ, | |
| '221513': vr_1.VR.SQ, | |
| '221515': vr_1.VR.CS, | |
| '221517': vr_1.VR.FL, | |
| '221518': vr_1.VR.SQ, | |
| '221525': vr_1.VR.SQ, | |
| '221526': vr_1.VR.SQ, | |
| '221527': vr_1.VR.FL, | |
| '221528': vr_1.VR.FL, | |
| '221529': vr_1.VR.FL, | |
| '221530': vr_1.VR.UL, | |
| '221531': vr_1.VR.OF, | |
| '221612': vr_1.VR.SQ, | |
| '221615': vr_1.VR.SQ, | |
| '221616': vr_1.VR.LO, | |
| '221618': vr_1.VR.SQ, | |
| '221620': vr_1.VR.SQ, | |
| '221622': vr_1.VR.CS, | |
| '221624': vr_1.VR.FL, | |
| '221626': vr_1.VR.FL, | |
| '221628': vr_1.VR.SQ, | |
| '221630': vr_1.VR.DS, | |
| '221640': vr_1.VR.SQ, | |
| '221642': vr_1.VR.UL, | |
| '221643': vr_1.VR.FL, | |
| '221644': vr_1.VR.FL, | |
| '221645': vr_1.VR.FL, | |
| '221646': vr_1.VR.FL, | |
| '221649': vr_1.VR.FL, | |
| '221650': vr_1.VR.FL, | |
| '221658': vr_1.VR.UL, | |
| '240010': vr_1.VR.FL, | |
| '240011': vr_1.VR.FL, | |
| '240012': vr_1.VR.CS, | |
| '240016': vr_1.VR.SQ, | |
| '240018': vr_1.VR.FL, | |
| '240020': vr_1.VR.FL, | |
| '240021': vr_1.VR.SQ, | |
| '240024': vr_1.VR.SQ, | |
| '240025': vr_1.VR.FL, | |
| '240028': vr_1.VR.FL, | |
| '240032': vr_1.VR.SQ, | |
| '240033': vr_1.VR.SQ, | |
| '240034': vr_1.VR.SQ, | |
| '240035': vr_1.VR.US, | |
| '240036': vr_1.VR.US, | |
| '240037': vr_1.VR.CS, | |
| '240038': vr_1.VR.US, | |
| '240039': vr_1.VR.CS, | |
| '240040': vr_1.VR.CS, | |
| '240042': vr_1.VR.US, | |
| '240044': vr_1.VR.LT, | |
| '240045': vr_1.VR.CS, | |
| '240046': vr_1.VR.FL, | |
| '240048': vr_1.VR.US, | |
| '240050': vr_1.VR.US, | |
| '240051': vr_1.VR.CS, | |
| '240052': vr_1.VR.CS, | |
| '240053': vr_1.VR.CS, | |
| '240054': vr_1.VR.FL, | |
| '240055': vr_1.VR.CS, | |
| '240056': vr_1.VR.US, | |
| '240057': vr_1.VR.CS, | |
| '240058': vr_1.VR.SQ, | |
| '240059': vr_1.VR.CS, | |
| '240060': vr_1.VR.US, | |
| '240061': vr_1.VR.CS, | |
| '240062': vr_1.VR.CS, | |
| '240063': vr_1.VR.CS, | |
| '240064': vr_1.VR.SQ, | |
| '240065': vr_1.VR.SQ, | |
| '240066': vr_1.VR.FL, | |
| '240067': vr_1.VR.SQ, | |
| '240068': vr_1.VR.FL, | |
| '240069': vr_1.VR.LO, | |
| '240070': vr_1.VR.FL, | |
| '240071': vr_1.VR.FL, | |
| '240072': vr_1.VR.CS, | |
| '240073': vr_1.VR.FL, | |
| '240074': vr_1.VR.CS, | |
| '240075': vr_1.VR.FL, | |
| '240076': vr_1.VR.CS, | |
| '240077': vr_1.VR.FL, | |
| '240078': vr_1.VR.CS, | |
| '240079': vr_1.VR.FL, | |
| '240080': vr_1.VR.CS, | |
| '240081': vr_1.VR.FL, | |
| '240083': vr_1.VR.SQ, | |
| '240085': vr_1.VR.SQ, | |
| '240086': vr_1.VR.CS, | |
| '240087': vr_1.VR.FL, | |
| '240088': vr_1.VR.FL, | |
| '240089': vr_1.VR.SQ, | |
| '240090': vr_1.VR.FL, | |
| '240091': vr_1.VR.FL, | |
| '240092': vr_1.VR.FL, | |
| '240093': vr_1.VR.CS, | |
| '240094': vr_1.VR.FL, | |
| '240095': vr_1.VR.CS, | |
| '240096': vr_1.VR.FL, | |
| '240097': vr_1.VR.SQ, | |
| '240098': vr_1.VR.FL, | |
| '240100': vr_1.VR.FL, | |
| '240102': vr_1.VR.CS, | |
| '240103': vr_1.VR.FL, | |
| '240104': vr_1.VR.FL, | |
| '240105': vr_1.VR.FL, | |
| '240106': vr_1.VR.CS, | |
| '240107': vr_1.VR.FL, | |
| '240108': vr_1.VR.FL, | |
| '240110': vr_1.VR.SQ, | |
| '240112': vr_1.VR.SQ, | |
| '240113': vr_1.VR.CS, | |
| '240114': vr_1.VR.SQ, | |
| '240115': vr_1.VR.SQ, | |
| '240117': vr_1.VR.CS, | |
| '240118': vr_1.VR.FL, | |
| '240120': vr_1.VR.CS, | |
| '240122': vr_1.VR.SQ, | |
| '240124': vr_1.VR.CS, | |
| '240126': vr_1.VR.FL, | |
| '240202': vr_1.VR.LO, | |
| '240306': vr_1.VR.LO, | |
| '240307': vr_1.VR.LO, | |
| '240308': vr_1.VR.LO, | |
| '240309': vr_1.VR.LO, | |
| '240317': vr_1.VR.SQ, | |
| '240320': vr_1.VR.SQ, | |
| '240325': vr_1.VR.SQ, | |
| '240338': vr_1.VR.CS, | |
| '240341': vr_1.VR.FL, | |
| '240344': vr_1.VR.SQ, | |
| '280002': vr_1.VR.US, | |
| '280003': vr_1.VR.US, | |
| '280004': vr_1.VR.CS, | |
| '280005': vr_1.VR.US, | |
| '280006': vr_1.VR.US, | |
| '280008': vr_1.VR.IS, | |
| '280009': vr_1.VR.AT, | |
| '28000a': vr_1.VR.AT, | |
| '280010': vr_1.VR.US, | |
| '280011': vr_1.VR.US, | |
| '280012': vr_1.VR.US, | |
| '280014': vr_1.VR.US, | |
| '280030': vr_1.VR.DS, | |
| '280031': vr_1.VR.DS, | |
| '280032': vr_1.VR.DS, | |
| '280034': vr_1.VR.IS, | |
| '280040': vr_1.VR.CS, | |
| '280050': vr_1.VR.LO, | |
| '280051': vr_1.VR.CS, | |
| '28005f': vr_1.VR.LO, | |
| '280060': vr_1.VR.CS, | |
| '280061': vr_1.VR.SH, | |
| '280062': vr_1.VR.LO, | |
| '280063': vr_1.VR.SH, | |
| '280065': vr_1.VR.CS, | |
| '280066': vr_1.VR.AT, | |
| '280068': vr_1.VR.US, | |
| '280069': vr_1.VR.US, | |
| '280070': vr_1.VR.US, | |
| '280071': vr_1.VR.SS, | |
| '280080': vr_1.VR.US, | |
| '280081': vr_1.VR.US, | |
| '280082': vr_1.VR.US, | |
| '280090': vr_1.VR.CS, | |
| '280091': vr_1.VR.US, | |
| '280092': vr_1.VR.US, | |
| '280093': vr_1.VR.US, | |
| '280094': vr_1.VR.US, | |
| '280100': vr_1.VR.US, | |
| '280101': vr_1.VR.US, | |
| '280102': vr_1.VR.US, | |
| '280103': vr_1.VR.US, | |
| '280104': vr_1.VR.SS, | |
| '280105': vr_1.VR.SS, | |
| '280106': vr_1.VR.SS, | |
| '280107': vr_1.VR.SS, | |
| '280108': vr_1.VR.SS, | |
| '280109': vr_1.VR.SS, | |
| '280110': vr_1.VR.SS, | |
| '280111': vr_1.VR.SS, | |
| '280120': vr_1.VR.SS, | |
| '280121': vr_1.VR.SS, | |
| '280122': vr_1.VR.FL, | |
| '280123': vr_1.VR.FD, | |
| '280124': vr_1.VR.FL, | |
| '280125': vr_1.VR.FD, | |
| '280200': vr_1.VR.US, | |
| '280300': vr_1.VR.CS, | |
| '280301': vr_1.VR.CS, | |
| '280302': vr_1.VR.CS, | |
| '280303': vr_1.VR.CS, | |
| '280304': vr_1.VR.UI, | |
| '280400': vr_1.VR.LO, | |
| '280401': vr_1.VR.LO, | |
| '280402': vr_1.VR.US, | |
| '280403': vr_1.VR.LO, | |
| '280404': vr_1.VR.AT, | |
| '280700': vr_1.VR.LO, | |
| '280701': vr_1.VR.CS, | |
| '280702': vr_1.VR.AT, | |
| '280710': vr_1.VR.US, | |
| '280720': vr_1.VR.US, | |
| '280721': vr_1.VR.AT, | |
| '280722': vr_1.VR.US, | |
| '280730': vr_1.VR.US, | |
| '280740': vr_1.VR.US, | |
| '280800': vr_1.VR.CS, | |
| '280802': vr_1.VR.US, | |
| '280803': vr_1.VR.AT, | |
| '280804': vr_1.VR.US, | |
| '280808': vr_1.VR.AT, | |
| '280a02': vr_1.VR.CS, | |
| '280a04': vr_1.VR.LO, | |
| '281040': vr_1.VR.CS, | |
| '281041': vr_1.VR.SS, | |
| '281050': vr_1.VR.DS, | |
| '281051': vr_1.VR.DS, | |
| '281052': vr_1.VR.DS, | |
| '281053': vr_1.VR.DS, | |
| '281054': vr_1.VR.LO, | |
| '281055': vr_1.VR.LO, | |
| '281056': vr_1.VR.CS, | |
| '281080': vr_1.VR.CS, | |
| '281090': vr_1.VR.CS, | |
| '281100': vr_1.VR.SS, | |
| '281101': vr_1.VR.SS, | |
| '281102': vr_1.VR.SS, | |
| '281103': vr_1.VR.SS, | |
| '281104': vr_1.VR.US, | |
| '281111': vr_1.VR.SS, | |
| '281112': vr_1.VR.SS, | |
| '281113': vr_1.VR.SS, | |
| '281199': vr_1.VR.UI, | |
| '281200': vr_1.VR.OW, | |
| '281201': vr_1.VR.OW, | |
| '281202': vr_1.VR.OW, | |
| '281203': vr_1.VR.OW, | |
| '281204': vr_1.VR.OW, | |
| '281211': vr_1.VR.OW, | |
| '281212': vr_1.VR.OW, | |
| '281213': vr_1.VR.OW, | |
| '281214': vr_1.VR.UI, | |
| '281221': vr_1.VR.OW, | |
| '281222': vr_1.VR.OW, | |
| '281223': vr_1.VR.OW, | |
| '281224': vr_1.VR.OW, | |
| '281230': vr_1.VR.SQ, | |
| '281231': vr_1.VR.FD, | |
| '281232': vr_1.VR.FD, | |
| '281300': vr_1.VR.CS, | |
| '281350': vr_1.VR.CS, | |
| '281351': vr_1.VR.ST, | |
| '281352': vr_1.VR.SQ, | |
| '28135a': vr_1.VR.CS, | |
| '281401': vr_1.VR.SQ, | |
| '281402': vr_1.VR.CS, | |
| '281403': vr_1.VR.US, | |
| '281404': vr_1.VR.SQ, | |
| '281405': vr_1.VR.CS, | |
| '281406': vr_1.VR.FD, | |
| '281407': vr_1.VR.US, | |
| '281408': vr_1.VR.OW, | |
| '28140b': vr_1.VR.SQ, | |
| '28140c': vr_1.VR.SQ, | |
| '28140d': vr_1.VR.CS, | |
| '28140e': vr_1.VR.CS, | |
| '28140f': vr_1.VR.CS, | |
| '281410': vr_1.VR.CS, | |
| '282000': vr_1.VR.OB, | |
| '282002': vr_1.VR.CS, | |
| '282110': vr_1.VR.CS, | |
| '282112': vr_1.VR.DS, | |
| '282114': vr_1.VR.CS, | |
| '283000': vr_1.VR.SQ, | |
| '283002': vr_1.VR.SS, | |
| '283003': vr_1.VR.LO, | |
| '283004': vr_1.VR.LO, | |
| '283006': vr_1.VR.OW, | |
| '283010': vr_1.VR.SQ, | |
| '283110': vr_1.VR.SQ, | |
| '284000': vr_1.VR.LT, | |
| '285000': vr_1.VR.SQ, | |
| '286010': vr_1.VR.US, | |
| '286020': vr_1.VR.US, | |
| '286022': vr_1.VR.LO, | |
| '286023': vr_1.VR.CS, | |
| '286030': vr_1.VR.US, | |
| '286040': vr_1.VR.US, | |
| '286100': vr_1.VR.SQ, | |
| '286101': vr_1.VR.CS, | |
| '286102': vr_1.VR.US, | |
| '286110': vr_1.VR.US, | |
| '286112': vr_1.VR.US, | |
| '286114': vr_1.VR.FL, | |
| '286120': vr_1.VR.SS, | |
| '286190': vr_1.VR.ST, | |
| '287000': vr_1.VR.SQ, | |
| '287001': vr_1.VR.US, | |
| '287002': vr_1.VR.US, | |
| '287003': vr_1.VR.US, | |
| '287004': vr_1.VR.SH, | |
| '287005': vr_1.VR.LO, | |
| '287006': vr_1.VR.CS, | |
| '287007': vr_1.VR.LO, | |
| '287008': vr_1.VR.SQ, | |
| '287009': vr_1.VR.US, | |
| '28700a': vr_1.VR.SQ, | |
| '28700b': vr_1.VR.US, | |
| '28700c': vr_1.VR.SH, | |
| '28700d': vr_1.VR.LO, | |
| '28700e': vr_1.VR.US, | |
| '28700f': vr_1.VR.SQ, | |
| '287010': vr_1.VR.SQ, | |
| '287011': vr_1.VR.SQ, | |
| '287012': vr_1.VR.SQ, | |
| '287013': vr_1.VR.CS, | |
| '287014': vr_1.VR.CS, | |
| '287015': vr_1.VR.SQ, | |
| '287016': vr_1.VR.SQ, | |
| '287017': vr_1.VR.US, | |
| '287018': vr_1.VR.FL, | |
| '287019': vr_1.VR.CS, | |
| '28701a': vr_1.VR.FL, | |
| '28701b': vr_1.VR.US, | |
| '28701c': vr_1.VR.SQ, | |
| '28701d': vr_1.VR.FL, | |
| '28701e': vr_1.VR.FL, | |
| '28701f': vr_1.VR.FL, | |
| '287020': vr_1.VR.LO, | |
| '287021': vr_1.VR.CS, | |
| '287022': vr_1.VR.SQ, | |
| '287023': vr_1.VR.SQ, | |
| '287024': vr_1.VR.SQ, | |
| '287025': vr_1.VR.CS, | |
| '287026': vr_1.VR.CS, | |
| '287027': vr_1.VR.SQ, | |
| '287028': vr_1.VR.SQ, | |
| '287029': vr_1.VR.CS, | |
| '28702a': vr_1.VR.LO, | |
| '28702b': vr_1.VR.CS, | |
| '28702c': vr_1.VR.SQ, | |
| '28702d': vr_1.VR.SQ, | |
| '28702e': vr_1.VR.SQ, | |
| '287fe0': vr_1.VR.UR, | |
| '289001': vr_1.VR.UL, | |
| '289002': vr_1.VR.UL, | |
| '289003': vr_1.VR.CS, | |
| '289099': vr_1.VR.US, | |
| '289108': vr_1.VR.CS, | |
| '289110': vr_1.VR.SQ, | |
| '289132': vr_1.VR.SQ, | |
| '289145': vr_1.VR.SQ, | |
| '289235': vr_1.VR.CS, | |
| '289411': vr_1.VR.FL, | |
| '289415': vr_1.VR.SQ, | |
| '289416': vr_1.VR.US, | |
| '289422': vr_1.VR.SQ, | |
| '289443': vr_1.VR.SQ, | |
| '289444': vr_1.VR.CS, | |
| '289445': vr_1.VR.FL, | |
| '289446': vr_1.VR.CS, | |
| '289454': vr_1.VR.CS, | |
| '289474': vr_1.VR.CS, | |
| '289478': vr_1.VR.FL, | |
| '289501': vr_1.VR.SQ, | |
| '289502': vr_1.VR.SQ, | |
| '289503': vr_1.VR.SS, | |
| '289505': vr_1.VR.SQ, | |
| '289506': vr_1.VR.US, | |
| '289507': vr_1.VR.US, | |
| '289520': vr_1.VR.DS, | |
| '289537': vr_1.VR.CS, | |
| '32000a': vr_1.VR.CS, | |
| '32000c': vr_1.VR.CS, | |
| '320012': vr_1.VR.LO, | |
| '320032': vr_1.VR.DA, | |
| '320033': vr_1.VR.TM, | |
| '320034': vr_1.VR.DA, | |
| '320035': vr_1.VR.TM, | |
| '321000': vr_1.VR.DA, | |
| '321001': vr_1.VR.TM, | |
| '321010': vr_1.VR.DA, | |
| '321011': vr_1.VR.TM, | |
| '321020': vr_1.VR.LO, | |
| '321021': vr_1.VR.AE, | |
| '321030': vr_1.VR.LO, | |
| '321031': vr_1.VR.SQ, | |
| '321032': vr_1.VR.PN, | |
| '321033': vr_1.VR.LO, | |
| '321034': vr_1.VR.SQ, | |
| '321040': vr_1.VR.DA, | |
| '321041': vr_1.VR.TM, | |
| '321050': vr_1.VR.DA, | |
| '321051': vr_1.VR.TM, | |
| '321055': vr_1.VR.CS, | |
| '321060': vr_1.VR.LO, | |
| '321064': vr_1.VR.SQ, | |
| '321070': vr_1.VR.LO, | |
| '324000': vr_1.VR.LT, | |
| '380004': vr_1.VR.SQ, | |
| '380008': vr_1.VR.CS, | |
| '380010': vr_1.VR.LO, | |
| '380011': vr_1.VR.LO, | |
| '380014': vr_1.VR.SQ, | |
| '380016': vr_1.VR.LO, | |
| '38001a': vr_1.VR.DA, | |
| '38001b': vr_1.VR.TM, | |
| '38001c': vr_1.VR.DA, | |
| '38001d': vr_1.VR.TM, | |
| '38001e': vr_1.VR.LO, | |
| '380020': vr_1.VR.DA, | |
| '380021': vr_1.VR.TM, | |
| '380030': vr_1.VR.DA, | |
| '380032': vr_1.VR.TM, | |
| '380040': vr_1.VR.LO, | |
| '380044': vr_1.VR.SQ, | |
| '380050': vr_1.VR.LO, | |
| '380060': vr_1.VR.LO, | |
| '380061': vr_1.VR.LO, | |
| '380062': vr_1.VR.LO, | |
| '380064': vr_1.VR.SQ, | |
| '380100': vr_1.VR.SQ, | |
| '380101': vr_1.VR.SQ, | |
| '380102': vr_1.VR.LO, | |
| '380300': vr_1.VR.LO, | |
| '380400': vr_1.VR.LO, | |
| '380500': vr_1.VR.LO, | |
| '380502': vr_1.VR.SQ, | |
| '384000': vr_1.VR.LT, | |
| '3a0004': vr_1.VR.CS, | |
| '3a0005': vr_1.VR.US, | |
| '3a0010': vr_1.VR.UL, | |
| '3a001a': vr_1.VR.DS, | |
| '3a0020': vr_1.VR.SH, | |
| '3a0200': vr_1.VR.SQ, | |
| '3a0202': vr_1.VR.IS, | |
| '3a0203': vr_1.VR.SH, | |
| '3a0205': vr_1.VR.CS, | |
| '3a0208': vr_1.VR.SQ, | |
| '3a0209': vr_1.VR.SQ, | |
| '3a020a': vr_1.VR.SQ, | |
| '3a020c': vr_1.VR.LO, | |
| '3a0210': vr_1.VR.DS, | |
| '3a0211': vr_1.VR.SQ, | |
| '3a0212': vr_1.VR.DS, | |
| '3a0213': vr_1.VR.DS, | |
| '3a0214': vr_1.VR.DS, | |
| '3a0215': vr_1.VR.DS, | |
| '3a0218': vr_1.VR.DS, | |
| '3a021a': vr_1.VR.US, | |
| '3a0220': vr_1.VR.DS, | |
| '3a0221': vr_1.VR.DS, | |
| '3a0222': vr_1.VR.DS, | |
| '3a0223': vr_1.VR.DS, | |
| '3a0230': vr_1.VR.FL, | |
| '3a0231': vr_1.VR.US, | |
| '3a0240': vr_1.VR.SQ, | |
| '3a0241': vr_1.VR.US, | |
| '3a0242': vr_1.VR.SQ, | |
| '3a0244': vr_1.VR.US, | |
| '3a0245': vr_1.VR.FL, | |
| '3a0246': vr_1.VR.CS, | |
| '3a0247': vr_1.VR.FL, | |
| '3a0248': vr_1.VR.FL, | |
| '3a0300': vr_1.VR.SQ, | |
| '3a0301': vr_1.VR.IS, | |
| '3a0302': vr_1.VR.CS, | |
| '400001': vr_1.VR.AE, | |
| '400002': vr_1.VR.DA, | |
| '400003': vr_1.VR.TM, | |
| '400004': vr_1.VR.DA, | |
| '400005': vr_1.VR.TM, | |
| '400006': vr_1.VR.PN, | |
| '400007': vr_1.VR.LO, | |
| '400008': vr_1.VR.SQ, | |
| '400009': vr_1.VR.SH, | |
| '40000a': vr_1.VR.SQ, | |
| '40000b': vr_1.VR.SQ, | |
| '400010': vr_1.VR.SH, | |
| '400011': vr_1.VR.SH, | |
| '400012': vr_1.VR.LO, | |
| '400020': vr_1.VR.CS, | |
| '400026': vr_1.VR.SQ, | |
| '400027': vr_1.VR.SQ, | |
| '400031': vr_1.VR.UT, | |
| '400032': vr_1.VR.UT, | |
| '400033': vr_1.VR.CS, | |
| '400035': vr_1.VR.CS, | |
| '400036': vr_1.VR.SQ, | |
| '400039': vr_1.VR.SQ, | |
| '40003a': vr_1.VR.SQ, | |
| '400100': vr_1.VR.SQ, | |
| '400220': vr_1.VR.SQ, | |
| '400241': vr_1.VR.AE, | |
| '400242': vr_1.VR.SH, | |
| '400243': vr_1.VR.SH, | |
| '400244': vr_1.VR.DA, | |
| '400245': vr_1.VR.TM, | |
| '400250': vr_1.VR.DA, | |
| '400251': vr_1.VR.TM, | |
| '400252': vr_1.VR.CS, | |
| '400253': vr_1.VR.SH, | |
| '400254': vr_1.VR.LO, | |
| '400255': vr_1.VR.LO, | |
| '400260': vr_1.VR.SQ, | |
| '400261': vr_1.VR.CS, | |
| '400270': vr_1.VR.SQ, | |
| '400275': vr_1.VR.SQ, | |
| '400280': vr_1.VR.ST, | |
| '400281': vr_1.VR.SQ, | |
| '400293': vr_1.VR.SQ, | |
| '400294': vr_1.VR.DS, | |
| '400295': vr_1.VR.SQ, | |
| '400296': vr_1.VR.SQ, | |
| '400300': vr_1.VR.US, | |
| '400301': vr_1.VR.US, | |
| '400302': vr_1.VR.US, | |
| '400303': vr_1.VR.US, | |
| '400306': vr_1.VR.DS, | |
| '400307': vr_1.VR.DS, | |
| '40030e': vr_1.VR.SQ, | |
| '400310': vr_1.VR.ST, | |
| '400312': vr_1.VR.DS, | |
| '400314': vr_1.VR.DS, | |
| '400316': vr_1.VR.DS, | |
| '400318': vr_1.VR.CS, | |
| '400320': vr_1.VR.SQ, | |
| '400321': vr_1.VR.SQ, | |
| '400324': vr_1.VR.SQ, | |
| '400330': vr_1.VR.SQ, | |
| '400340': vr_1.VR.SQ, | |
| '400400': vr_1.VR.LT, | |
| '400440': vr_1.VR.SQ, | |
| '400441': vr_1.VR.SQ, | |
| '400500': vr_1.VR.SQ, | |
| '40050a': vr_1.VR.LO, | |
| '400512': vr_1.VR.LO, | |
| '400513': vr_1.VR.SQ, | |
| '400515': vr_1.VR.SQ, | |
| '400518': vr_1.VR.SQ, | |
| '40051a': vr_1.VR.LO, | |
| '400520': vr_1.VR.SQ, | |
| '400550': vr_1.VR.SQ, | |
| '400551': vr_1.VR.LO, | |
| '400552': vr_1.VR.SQ, | |
| '400553': vr_1.VR.ST, | |
| '400554': vr_1.VR.UI, | |
| '400555': vr_1.VR.SQ, | |
| '400556': vr_1.VR.ST, | |
| '400560': vr_1.VR.SQ, | |
| '400562': vr_1.VR.SQ, | |
| '40059a': vr_1.VR.SQ, | |
| '400600': vr_1.VR.LO, | |
| '400602': vr_1.VR.UT, | |
| '400610': vr_1.VR.SQ, | |
| '400612': vr_1.VR.SQ, | |
| '400620': vr_1.VR.SQ, | |
| '4006fa': vr_1.VR.LO, | |
| '40071a': vr_1.VR.SQ, | |
| '40072a': vr_1.VR.DS, | |
| '40073a': vr_1.VR.DS, | |
| '40074a': vr_1.VR.DS, | |
| '4008d8': vr_1.VR.SQ, | |
| '4008da': vr_1.VR.SQ, | |
| '4008ea': vr_1.VR.SQ, | |
| '4009f8': vr_1.VR.SQ, | |
| '401001': vr_1.VR.SH, | |
| '401002': vr_1.VR.LO, | |
| '401003': vr_1.VR.SH, | |
| '401004': vr_1.VR.LO, | |
| '401005': vr_1.VR.LO, | |
| '401006': vr_1.VR.SH, | |
| '401007': vr_1.VR.SH, | |
| '401008': vr_1.VR.LO, | |
| '401009': vr_1.VR.SH, | |
| '40100a': vr_1.VR.SQ, | |
| '401010': vr_1.VR.PN, | |
| '401011': vr_1.VR.SQ, | |
| '401012': vr_1.VR.SQ, | |
| '401060': vr_1.VR.LO, | |
| '401101': vr_1.VR.SQ, | |
| '401102': vr_1.VR.ST, | |
| '401103': vr_1.VR.LO, | |
| '401104': vr_1.VR.LT, | |
| '401400': vr_1.VR.LT, | |
| '402001': vr_1.VR.LO, | |
| '402004': vr_1.VR.DA, | |
| '402005': vr_1.VR.TM, | |
| '402006': vr_1.VR.SH, | |
| '402007': vr_1.VR.SH, | |
| '402008': vr_1.VR.PN, | |
| '402009': vr_1.VR.SH, | |
| '402010': vr_1.VR.SH, | |
| '402011': vr_1.VR.LT, | |
| '402016': vr_1.VR.LO, | |
| '402017': vr_1.VR.LO, | |
| '402400': vr_1.VR.LT, | |
| '403001': vr_1.VR.LO, | |
| '404001': vr_1.VR.CS, | |
| '404002': vr_1.VR.CS, | |
| '404003': vr_1.VR.CS, | |
| '404004': vr_1.VR.SQ, | |
| '404005': vr_1.VR.DT, | |
| '404006': vr_1.VR.CS, | |
| '404007': vr_1.VR.SQ, | |
| '404009': vr_1.VR.SQ, | |
| '404010': vr_1.VR.DT, | |
| '404011': vr_1.VR.DT, | |
| '404015': vr_1.VR.SQ, | |
| '404016': vr_1.VR.SQ, | |
| '404018': vr_1.VR.SQ, | |
| '404019': vr_1.VR.SQ, | |
| '404020': vr_1.VR.CS, | |
| '404021': vr_1.VR.SQ, | |
| '404022': vr_1.VR.SQ, | |
| '404023': vr_1.VR.UI, | |
| '404025': vr_1.VR.SQ, | |
| '404026': vr_1.VR.SQ, | |
| '404027': vr_1.VR.SQ, | |
| '404028': vr_1.VR.SQ, | |
| '404029': vr_1.VR.SQ, | |
| '404030': vr_1.VR.SQ, | |
| '404031': vr_1.VR.SQ, | |
| '404032': vr_1.VR.SQ, | |
| '404033': vr_1.VR.SQ, | |
| '404034': vr_1.VR.SQ, | |
| '404035': vr_1.VR.SQ, | |
| '404036': vr_1.VR.LO, | |
| '404037': vr_1.VR.PN, | |
| '404040': vr_1.VR.CS, | |
| '404041': vr_1.VR.CS, | |
| '404050': vr_1.VR.DT, | |
| '404051': vr_1.VR.DT, | |
| '404052': vr_1.VR.DT, | |
| '404070': vr_1.VR.SQ, | |
| '404071': vr_1.VR.SQ, | |
| '404072': vr_1.VR.SQ, | |
| '404073': vr_1.VR.UR, | |
| '404074': vr_1.VR.SQ, | |
| '408302': vr_1.VR.DS, | |
| '408303': vr_1.VR.CS, | |
| '409092': vr_1.VR.SQ, | |
| '409094': vr_1.VR.SQ, | |
| '409096': vr_1.VR.SQ, | |
| '409098': vr_1.VR.SQ, | |
| '409210': vr_1.VR.SH, | |
| '409211': vr_1.VR.SS, | |
| '409212': vr_1.VR.FD, | |
| '409213': vr_1.VR.FD, | |
| '409214': vr_1.VR.FD, | |
| '409216': vr_1.VR.SS, | |
| '409220': vr_1.VR.SQ, | |
| '409224': vr_1.VR.FD, | |
| '409225': vr_1.VR.FD, | |
| '40a007': vr_1.VR.CS, | |
| '40a010': vr_1.VR.CS, | |
| '40a020': vr_1.VR.SQ, | |
| '40a021': vr_1.VR.UI, | |
| '40a022': vr_1.VR.UI, | |
| '40a023': vr_1.VR.DA, | |
| '40a024': vr_1.VR.TM, | |
| '40a026': vr_1.VR.SQ, | |
| '40a027': vr_1.VR.LO, | |
| '40a028': vr_1.VR.SQ, | |
| '40a030': vr_1.VR.DT, | |
| '40a032': vr_1.VR.DT, | |
| '40a040': vr_1.VR.CS, | |
| '40a043': vr_1.VR.SQ, | |
| '40a047': vr_1.VR.LO, | |
| '40a050': vr_1.VR.CS, | |
| '40a057': vr_1.VR.CS, | |
| '40a060': vr_1.VR.LO, | |
| '40a066': vr_1.VR.SQ, | |
| '40a067': vr_1.VR.PN, | |
| '40a068': vr_1.VR.SQ, | |
| '40a070': vr_1.VR.SQ, | |
| '40a073': vr_1.VR.SQ, | |
| '40a074': vr_1.VR.OB, | |
| '40a075': vr_1.VR.PN, | |
| '40a076': vr_1.VR.SQ, | |
| '40a078': vr_1.VR.SQ, | |
| '40a07a': vr_1.VR.SQ, | |
| '40a07c': vr_1.VR.SQ, | |
| '40a080': vr_1.VR.CS, | |
| '40a082': vr_1.VR.DT, | |
| '40a084': vr_1.VR.CS, | |
| '40a085': vr_1.VR.SQ, | |
| '40a088': vr_1.VR.SQ, | |
| '40a089': vr_1.VR.OB, | |
| '40a090': vr_1.VR.SQ, | |
| '40a0b0': vr_1.VR.US, | |
| '40a110': vr_1.VR.DA, | |
| '40a112': vr_1.VR.TM, | |
| '40a120': vr_1.VR.DT, | |
| '40a121': vr_1.VR.DA, | |
| '40a122': vr_1.VR.TM, | |
| '40a123': vr_1.VR.PN, | |
| '40a124': vr_1.VR.UI, | |
| '40a125': vr_1.VR.CS, | |
| '40a130': vr_1.VR.CS, | |
| '40a132': vr_1.VR.UL, | |
| '40a136': vr_1.VR.US, | |
| '40a138': vr_1.VR.DS, | |
| '40a13a': vr_1.VR.DT, | |
| '40a160': vr_1.VR.UT, | |
| '40a161': vr_1.VR.FD, | |
| '40a162': vr_1.VR.SL, | |
| '40a163': vr_1.VR.UL, | |
| '40a167': vr_1.VR.SQ, | |
| '40a168': vr_1.VR.SQ, | |
| '40a16a': vr_1.VR.ST, | |
| '40a170': vr_1.VR.SQ, | |
| '40a171': vr_1.VR.UI, | |
| '40a172': vr_1.VR.UI, | |
| '40a173': vr_1.VR.CS, | |
| '40a174': vr_1.VR.CS, | |
| '40a180': vr_1.VR.US, | |
| '40a192': vr_1.VR.DA, | |
| '40a193': vr_1.VR.TM, | |
| '40a194': vr_1.VR.CS, | |
| '40a195': vr_1.VR.SQ, | |
| '40a224': vr_1.VR.ST, | |
| '40a290': vr_1.VR.CS, | |
| '40a296': vr_1.VR.SQ, | |
| '40a297': vr_1.VR.ST, | |
| '40a29a': vr_1.VR.SL, | |
| '40a300': vr_1.VR.SQ, | |
| '40a301': vr_1.VR.SQ, | |
| '40a307': vr_1.VR.PN, | |
| '40a30a': vr_1.VR.DS, | |
| '40a313': vr_1.VR.SQ, | |
| '40a33a': vr_1.VR.ST, | |
| '40a340': vr_1.VR.SQ, | |
| '40a352': vr_1.VR.PN, | |
| '40a353': vr_1.VR.ST, | |
| '40a354': vr_1.VR.LO, | |
| '40a358': vr_1.VR.SQ, | |
| '40a360': vr_1.VR.SQ, | |
| '40a370': vr_1.VR.SQ, | |
| '40a372': vr_1.VR.SQ, | |
| '40a375': vr_1.VR.SQ, | |
| '40a380': vr_1.VR.SQ, | |
| '40a385': vr_1.VR.SQ, | |
| '40a390': vr_1.VR.SQ, | |
| '40a402': vr_1.VR.UI, | |
| '40a403': vr_1.VR.CS, | |
| '40a404': vr_1.VR.SQ, | |
| '40a491': vr_1.VR.CS, | |
| '40a492': vr_1.VR.LO, | |
| '40a493': vr_1.VR.CS, | |
| '40a494': vr_1.VR.CS, | |
| '40a496': vr_1.VR.CS, | |
| '40a504': vr_1.VR.SQ, | |
| '40a525': vr_1.VR.SQ, | |
| '40a600': vr_1.VR.CS, | |
| '40a601': vr_1.VR.CS, | |
| '40a603': vr_1.VR.CS, | |
| '40a730': vr_1.VR.SQ, | |
| '40a731': vr_1.VR.SQ, | |
| '40a732': vr_1.VR.SQ, | |
| '40a744': vr_1.VR.SQ, | |
| '40a992': vr_1.VR.ST, | |
| '40b020': vr_1.VR.SQ, | |
| '40db00': vr_1.VR.CS, | |
| '40db06': vr_1.VR.DT, | |
| '40db07': vr_1.VR.DT, | |
| '40db0b': vr_1.VR.CS, | |
| '40db0c': vr_1.VR.UI, | |
| '40db0d': vr_1.VR.UI, | |
| '40db73': vr_1.VR.UL, | |
| '40e001': vr_1.VR.ST, | |
| '40e004': vr_1.VR.DT, | |
| '40e006': vr_1.VR.SQ, | |
| '40e008': vr_1.VR.SQ, | |
| '40e010': vr_1.VR.UR, | |
| '40e011': vr_1.VR.UI, | |
| '40e020': vr_1.VR.CS, | |
| '40e021': vr_1.VR.SQ, | |
| '40e022': vr_1.VR.SQ, | |
| '40e023': vr_1.VR.SQ, | |
| '40e024': vr_1.VR.SQ, | |
| '40e025': vr_1.VR.SQ, | |
| '40e030': vr_1.VR.UI, | |
| '40e031': vr_1.VR.UI, | |
| '420010': vr_1.VR.ST, | |
| '420011': vr_1.VR.OB, | |
| '420012': vr_1.VR.LO, | |
| '420013': vr_1.VR.SQ, | |
| '420014': vr_1.VR.LO, | |
| '440001': vr_1.VR.ST, | |
| '440002': vr_1.VR.CS, | |
| '440003': vr_1.VR.LT, | |
| '440004': vr_1.VR.DT, | |
| '440007': vr_1.VR.SQ, | |
| '440008': vr_1.VR.LO, | |
| '440009': vr_1.VR.LT, | |
| '44000a': vr_1.VR.LO, | |
| '44000b': vr_1.VR.DT, | |
| '440010': vr_1.VR.DT, | |
| '440011': vr_1.VR.LO, | |
| '440012': vr_1.VR.LO, | |
| '440013': vr_1.VR.SQ, | |
| '440019': vr_1.VR.SQ, | |
| '440100': vr_1.VR.SQ, | |
| '440101': vr_1.VR.SQ, | |
| '440102': vr_1.VR.UI, | |
| '440103': vr_1.VR.SQ, | |
| '440104': vr_1.VR.DT, | |
| '440105': vr_1.VR.DT, | |
| '440106': vr_1.VR.UT, | |
| '440107': vr_1.VR.SQ, | |
| '440108': vr_1.VR.UI, | |
| '440109': vr_1.VR.SQ, | |
| '44010a': vr_1.VR.SQ, | |
| '460012': vr_1.VR.LO, | |
| '460014': vr_1.VR.SQ, | |
| '460015': vr_1.VR.SQ, | |
| '460016': vr_1.VR.SQ, | |
| '460018': vr_1.VR.SQ, | |
| '460028': vr_1.VR.SQ, | |
| '460030': vr_1.VR.FD, | |
| '460032': vr_1.VR.CS, | |
| '460034': vr_1.VR.FD, | |
| '460036': vr_1.VR.CS, | |
| '460038': vr_1.VR.CS, | |
| '460040': vr_1.VR.FD, | |
| '460042': vr_1.VR.FD, | |
| '460044': vr_1.VR.FD, | |
| '460046': vr_1.VR.FD, | |
| '460050': vr_1.VR.SQ, | |
| '460052': vr_1.VR.SQ, | |
| '460060': vr_1.VR.FD, | |
| '460062': vr_1.VR.FD, | |
| '460063': vr_1.VR.FD, | |
| '460064': vr_1.VR.FD, | |
| '460070': vr_1.VR.SQ, | |
| '460071': vr_1.VR.SQ, | |
| '460074': vr_1.VR.SQ, | |
| '460075': vr_1.VR.FD, | |
| '460076': vr_1.VR.FD, | |
| '460077': vr_1.VR.FD, | |
| '460080': vr_1.VR.SQ, | |
| '460092': vr_1.VR.CS, | |
| '460094': vr_1.VR.CS, | |
| '460095': vr_1.VR.CS, | |
| '460097': vr_1.VR.SQ, | |
| '460098': vr_1.VR.SQ, | |
| '460100': vr_1.VR.SQ, | |
| '460101': vr_1.VR.SQ, | |
| '460102': vr_1.VR.SQ, | |
| '460104': vr_1.VR.FD, | |
| '460106': vr_1.VR.FD, | |
| '460121': vr_1.VR.SQ, | |
| '460122': vr_1.VR.SQ, | |
| '460123': vr_1.VR.SQ, | |
| '460124': vr_1.VR.SQ, | |
| '460125': vr_1.VR.CS, | |
| '460135': vr_1.VR.SS, | |
| '460137': vr_1.VR.FD, | |
| '460139': vr_1.VR.LO, | |
| '460145': vr_1.VR.SQ, | |
| '460146': vr_1.VR.FD, | |
| '460147': vr_1.VR.FD, | |
| '460201': vr_1.VR.CS, | |
| '460202': vr_1.VR.FL, | |
| '460203': vr_1.VR.FL, | |
| '460204': vr_1.VR.FL, | |
| '460205': vr_1.VR.FL, | |
| '460207': vr_1.VR.SQ, | |
| '460208': vr_1.VR.IS, | |
| '460210': vr_1.VR.SQ, | |
| '460211': vr_1.VR.SQ, | |
| '460212': vr_1.VR.FL, | |
| '460213': vr_1.VR.FL, | |
| '460215': vr_1.VR.SQ, | |
| '460218': vr_1.VR.SQ, | |
| '460220': vr_1.VR.FL, | |
| '460224': vr_1.VR.FL, | |
| '460227': vr_1.VR.FL, | |
| '460230': vr_1.VR.FL, | |
| '460232': vr_1.VR.FL, | |
| '460234': vr_1.VR.FL, | |
| '460236': vr_1.VR.FL, | |
| '460238': vr_1.VR.FL, | |
| '460242': vr_1.VR.CS, | |
| '460244': vr_1.VR.SQ, | |
| '460247': vr_1.VR.FL, | |
| '460248': vr_1.VR.CS, | |
| '460249': vr_1.VR.FL, | |
| '460250': vr_1.VR.FL, | |
| '460251': vr_1.VR.FL, | |
| '460252': vr_1.VR.FL, | |
| '460253': vr_1.VR.FL, | |
| '480001': vr_1.VR.FL, | |
| '480002': vr_1.VR.FL, | |
| '480003': vr_1.VR.FL, | |
| '480006': vr_1.VR.UL, | |
| '480007': vr_1.VR.UL, | |
| '480008': vr_1.VR.SQ, | |
| '480010': vr_1.VR.CS, | |
| '480011': vr_1.VR.CS, | |
| '480012': vr_1.VR.CS, | |
| '480013': vr_1.VR.US, | |
| '480014': vr_1.VR.FL, | |
| '480015': vr_1.VR.US, | |
| '480100': vr_1.VR.SQ, | |
| '480102': vr_1.VR.DS, | |
| '480105': vr_1.VR.SQ, | |
| '480106': vr_1.VR.SH, | |
| '480107': vr_1.VR.ST, | |
| '480108': vr_1.VR.SQ, | |
| '480110': vr_1.VR.SQ, | |
| '480111': vr_1.VR.DS, | |
| '480112': vr_1.VR.DS, | |
| '480113': vr_1.VR.DS, | |
| '480120': vr_1.VR.SQ, | |
| '480200': vr_1.VR.SQ, | |
| '480201': vr_1.VR.US, | |
| '480202': vr_1.VR.US, | |
| '480207': vr_1.VR.SQ, | |
| '48021a': vr_1.VR.SQ, | |
| '48021e': vr_1.VR.SL, | |
| '48021f': vr_1.VR.SL, | |
| '480301': vr_1.VR.CS, | |
| '500004': vr_1.VR.CS, | |
| '500010': vr_1.VR.SQ, | |
| '500012': vr_1.VR.SQ, | |
| '500013': vr_1.VR.FD, | |
| '500014': vr_1.VR.DS, | |
| '500015': vr_1.VR.FD, | |
| '500016': vr_1.VR.DS, | |
| '500017': vr_1.VR.CS, | |
| '500018': vr_1.VR.DS, | |
| '500019': vr_1.VR.DS, | |
| '50001a': vr_1.VR.CS, | |
| '50001b': vr_1.VR.LO, | |
| '50001c': vr_1.VR.FD, | |
| '50001d': vr_1.VR.FD, | |
| '50001e': vr_1.VR.LO, | |
| '500020': vr_1.VR.LO, | |
| '520001': vr_1.VR.FL, | |
| '520002': vr_1.VR.FD, | |
| '520003': vr_1.VR.FD, | |
| '520004': vr_1.VR.FD, | |
| '520006': vr_1.VR.CS, | |
| '520007': vr_1.VR.FD, | |
| '520008': vr_1.VR.FD, | |
| '520009': vr_1.VR.FD, | |
| '520011': vr_1.VR.FD, | |
| '520012': vr_1.VR.US, | |
| '520013': vr_1.VR.FD, | |
| '520014': vr_1.VR.FD, | |
| '520016': vr_1.VR.SQ, | |
| '520025': vr_1.VR.SQ, | |
| '520026': vr_1.VR.CS, | |
| '520027': vr_1.VR.SQ, | |
| '520028': vr_1.VR.FD, | |
| '520029': vr_1.VR.SQ, | |
| '520030': vr_1.VR.SS, | |
| '520031': vr_1.VR.CS, | |
| '520033': vr_1.VR.FD, | |
| '520034': vr_1.VR.FD, | |
| '520036': vr_1.VR.US, | |
| '520038': vr_1.VR.US, | |
| '520039': vr_1.VR.CS, | |
| '52003a': vr_1.VR.CS, | |
| '540010': vr_1.VR.US, | |
| '540011': vr_1.VR.US, | |
| '540012': vr_1.VR.SQ, | |
| '540013': vr_1.VR.SQ, | |
| '540014': vr_1.VR.DS, | |
| '540015': vr_1.VR.DS, | |
| '540016': vr_1.VR.SQ, | |
| '540017': vr_1.VR.IS, | |
| '540018': vr_1.VR.SH, | |
| '540020': vr_1.VR.US, | |
| '540021': vr_1.VR.US, | |
| '540022': vr_1.VR.SQ, | |
| '540030': vr_1.VR.US, | |
| '540031': vr_1.VR.US, | |
| '540032': vr_1.VR.SQ, | |
| '540033': vr_1.VR.US, | |
| '540036': vr_1.VR.IS, | |
| '540038': vr_1.VR.IS, | |
| '540039': vr_1.VR.CS, | |
| '540050': vr_1.VR.US, | |
| '540051': vr_1.VR.US, | |
| '540052': vr_1.VR.SQ, | |
| '540053': vr_1.VR.US, | |
| '540060': vr_1.VR.US, | |
| '540061': vr_1.VR.US, | |
| '540062': vr_1.VR.SQ, | |
| '540063': vr_1.VR.SQ, | |
| '540070': vr_1.VR.US, | |
| '540071': vr_1.VR.US, | |
| '540072': vr_1.VR.SQ, | |
| '540073': vr_1.VR.DS, | |
| '540080': vr_1.VR.US, | |
| '540081': vr_1.VR.US, | |
| '540090': vr_1.VR.US, | |
| '540100': vr_1.VR.US, | |
| '540101': vr_1.VR.US, | |
| '540200': vr_1.VR.DS, | |
| '540202': vr_1.VR.CS, | |
| '540210': vr_1.VR.IS, | |
| '540211': vr_1.VR.US, | |
| '540220': vr_1.VR.SQ, | |
| '540222': vr_1.VR.SQ, | |
| '540300': vr_1.VR.SQ, | |
| '540302': vr_1.VR.SQ, | |
| '540304': vr_1.VR.SQ, | |
| '540306': vr_1.VR.SQ, | |
| '540308': vr_1.VR.US, | |
| '540400': vr_1.VR.SH, | |
| '540410': vr_1.VR.SQ, | |
| '540412': vr_1.VR.SQ, | |
| '540414': vr_1.VR.SQ, | |
| '540500': vr_1.VR.CS, | |
| '540501': vr_1.VR.CS, | |
| '541000': vr_1.VR.CS, | |
| '541001': vr_1.VR.CS, | |
| '541002': vr_1.VR.CS, | |
| '541004': vr_1.VR.CS, | |
| '541006': vr_1.VR.CS, | |
| '541100': vr_1.VR.CS, | |
| '541101': vr_1.VR.LO, | |
| '541102': vr_1.VR.CS, | |
| '541103': vr_1.VR.LO, | |
| '541104': vr_1.VR.LO, | |
| '541105': vr_1.VR.LO, | |
| '541200': vr_1.VR.DS, | |
| '541201': vr_1.VR.IS, | |
| '541202': vr_1.VR.IS, | |
| '541203': vr_1.VR.DS, | |
| '541210': vr_1.VR.DS, | |
| '541220': vr_1.VR.CS, | |
| '541300': vr_1.VR.DS, | |
| '541310': vr_1.VR.IS, | |
| '541311': vr_1.VR.IS, | |
| '541320': vr_1.VR.DS, | |
| '541321': vr_1.VR.DS, | |
| '541322': vr_1.VR.DS, | |
| '541323': vr_1.VR.DS, | |
| '541324': vr_1.VR.DS, | |
| '541330': vr_1.VR.US, | |
| '541400': vr_1.VR.CS, | |
| '541401': vr_1.VR.CS, | |
| '603000': vr_1.VR.SQ, | |
| '603002': vr_1.VR.US, | |
| '603004': vr_1.VR.SS, | |
| '603006': vr_1.VR.SS, | |
| '603008': vr_1.VR.US, | |
| '603010': vr_1.VR.LO, | |
| '603020': vr_1.VR.UL, | |
| '620001': vr_1.VR.CS, | |
| '620002': vr_1.VR.SQ, | |
| '620003': vr_1.VR.SQ, | |
| '620004': vr_1.VR.US, | |
| '620005': vr_1.VR.LO, | |
| '620006': vr_1.VR.ST, | |
| '620007': vr_1.VR.SQ, | |
| '620008': vr_1.VR.CS, | |
| '620009': vr_1.VR.LO, | |
| '62000a': vr_1.VR.SQ, | |
| '62000b': vr_1.VR.US, | |
| '62000c': vr_1.VR.US, | |
| '62000d': vr_1.VR.US, | |
| '62000e': vr_1.VR.US, | |
| '62000f': vr_1.VR.SQ, | |
| '620010': vr_1.VR.CS, | |
| '620011': vr_1.VR.SQ, | |
| '620012': vr_1.VR.SQ, | |
| '620020': vr_1.VR.UT, | |
| '620021': vr_1.VR.UI, | |
| '640002': vr_1.VR.SQ, | |
| '640003': vr_1.VR.UI, | |
| '640005': vr_1.VR.SQ, | |
| '640007': vr_1.VR.UL, | |
| '640008': vr_1.VR.FD, | |
| '640009': vr_1.VR.OF, | |
| '64000f': vr_1.VR.SQ, | |
| '640010': vr_1.VR.SQ, | |
| '660001': vr_1.VR.UL, | |
| '660002': vr_1.VR.SQ, | |
| '660003': vr_1.VR.UL, | |
| '660004': vr_1.VR.LT, | |
| '660009': vr_1.VR.CS, | |
| '66000a': vr_1.VR.FL, | |
| '66000b': vr_1.VR.LO, | |
| '66000c': vr_1.VR.FL, | |
| '66000d': vr_1.VR.CS, | |
| '66000e': vr_1.VR.CS, | |
| '660010': vr_1.VR.CS, | |
| '660011': vr_1.VR.SQ, | |
| '660012': vr_1.VR.SQ, | |
| '660013': vr_1.VR.SQ, | |
| '660015': vr_1.VR.UL, | |
| '660016': vr_1.VR.OF, | |
| '660017': vr_1.VR.FL, | |
| '660018': vr_1.VR.FL, | |
| '660019': vr_1.VR.FL, | |
| '66001a': vr_1.VR.FL, | |
| '66001b': vr_1.VR.FL, | |
| '66001c': vr_1.VR.FL, | |
| '66001e': vr_1.VR.UL, | |
| '66001f': vr_1.VR.US, | |
| '660020': vr_1.VR.FL, | |
| '660021': vr_1.VR.OF, | |
| '660023': vr_1.VR.OW, | |
| '660024': vr_1.VR.OW, | |
| '660025': vr_1.VR.OW, | |
| '660026': vr_1.VR.SQ, | |
| '660027': vr_1.VR.SQ, | |
| '660028': vr_1.VR.SQ, | |
| '660029': vr_1.VR.OW, | |
| '66002a': vr_1.VR.UL, | |
| '66002b': vr_1.VR.SQ, | |
| '66002c': vr_1.VR.UL, | |
| '66002d': vr_1.VR.SQ, | |
| '66002e': vr_1.VR.SQ, | |
| '66002f': vr_1.VR.SQ, | |
| '660030': vr_1.VR.SQ, | |
| '660031': vr_1.VR.LO, | |
| '660032': vr_1.VR.LT, | |
| '660034': vr_1.VR.SQ, | |
| '660035': vr_1.VR.SQ, | |
| '660036': vr_1.VR.LO, | |
| '660037': vr_1.VR.FL, | |
| '660038': vr_1.VR.FL, | |
| '660040': vr_1.VR.OL, | |
| '660041': vr_1.VR.OL, | |
| '660042': vr_1.VR.OL, | |
| '660043': vr_1.VR.OL, | |
| '660101': vr_1.VR.SQ, | |
| '660102': vr_1.VR.SQ, | |
| '660103': vr_1.VR.OW, | |
| '660104': vr_1.VR.SQ, | |
| '660105': vr_1.VR.UL, | |
| '660106': vr_1.VR.LO, | |
| '660107': vr_1.VR.UT, | |
| '660108': vr_1.VR.SQ, | |
| '660121': vr_1.VR.SQ, | |
| '660124': vr_1.VR.SQ, | |
| '660125': vr_1.VR.OF, | |
| '660129': vr_1.VR.OL, | |
| '660130': vr_1.VR.SQ, | |
| '660132': vr_1.VR.SQ, | |
| '660133': vr_1.VR.SQ, | |
| '660134': vr_1.VR.SQ, | |
| '686210': vr_1.VR.LO, | |
| '686221': vr_1.VR.LO, | |
| '686222': vr_1.VR.SQ, | |
| '686223': vr_1.VR.CS, | |
| '686224': vr_1.VR.SQ, | |
| '686225': vr_1.VR.SQ, | |
| '686226': vr_1.VR.DT, | |
| '686230': vr_1.VR.SQ, | |
| '686260': vr_1.VR.SQ, | |
| '686265': vr_1.VR.SQ, | |
| '686270': vr_1.VR.DT, | |
| '686280': vr_1.VR.ST, | |
| '6862a0': vr_1.VR.SQ, | |
| '6862a5': vr_1.VR.FD, | |
| '6862c0': vr_1.VR.SQ, | |
| '6862d0': vr_1.VR.US, | |
| '6862d5': vr_1.VR.LO, | |
| '6862e0': vr_1.VR.SQ, | |
| '6862f0': vr_1.VR.SQ, | |
| '6862f2': vr_1.VR.FD, | |
| '686300': vr_1.VR.OB, | |
| '686310': vr_1.VR.US, | |
| '686320': vr_1.VR.SQ, | |
| '686330': vr_1.VR.US, | |
| '686340': vr_1.VR.LO, | |
| '686345': vr_1.VR.ST, | |
| '686346': vr_1.VR.FD, | |
| '686347': vr_1.VR.FD, | |
| '686350': vr_1.VR.US, | |
| '686360': vr_1.VR.SQ, | |
| '686380': vr_1.VR.LO, | |
| '686390': vr_1.VR.FD, | |
| '6863a0': vr_1.VR.SQ, | |
| '6863a4': vr_1.VR.SQ, | |
| '6863a8': vr_1.VR.SQ, | |
| '6863ac': vr_1.VR.SQ, | |
| '6863b0': vr_1.VR.SQ, | |
| '6863c0': vr_1.VR.US, | |
| '6863d0': vr_1.VR.LO, | |
| '6863e0': vr_1.VR.SQ, | |
| '6863f0': vr_1.VR.US, | |
| '686400': vr_1.VR.SQ, | |
| '686410': vr_1.VR.US, | |
| '686420': vr_1.VR.CS, | |
| '686430': vr_1.VR.SQ, | |
| '686440': vr_1.VR.US, | |
| '686450': vr_1.VR.FD, | |
| '686460': vr_1.VR.FD, | |
| '686470': vr_1.VR.SQ, | |
| '686490': vr_1.VR.FD, | |
| '6864a0': vr_1.VR.FD, | |
| '6864c0': vr_1.VR.FD, | |
| '6864d0': vr_1.VR.FD, | |
| '6864f0': vr_1.VR.FD, | |
| '686500': vr_1.VR.SQ, | |
| '686510': vr_1.VR.SQ, | |
| '686520': vr_1.VR.SQ, | |
| '686530': vr_1.VR.US, | |
| '686540': vr_1.VR.LO, | |
| '686545': vr_1.VR.SQ, | |
| '686550': vr_1.VR.SQ, | |
| '686560': vr_1.VR.FD, | |
| '686590': vr_1.VR.FD, | |
| '6865a0': vr_1.VR.SQ, | |
| '6865b0': vr_1.VR.FD, | |
| '6865d0': vr_1.VR.FD, | |
| '6865e0': vr_1.VR.SQ, | |
| '6865f0': vr_1.VR.FD, | |
| '686610': vr_1.VR.FD, | |
| '686620': vr_1.VR.FD, | |
| '700001': vr_1.VR.SQ, | |
| '700002': vr_1.VR.CS, | |
| '700003': vr_1.VR.CS, | |
| '700004': vr_1.VR.CS, | |
| '700005': vr_1.VR.CS, | |
| '700006': vr_1.VR.ST, | |
| '700008': vr_1.VR.SQ, | |
| '700009': vr_1.VR.SQ, | |
| '700010': vr_1.VR.FL, | |
| '700011': vr_1.VR.FL, | |
| '700012': vr_1.VR.CS, | |
| '700014': vr_1.VR.FL, | |
| '700015': vr_1.VR.CS, | |
| '700020': vr_1.VR.US, | |
| '700021': vr_1.VR.US, | |
| '700022': vr_1.VR.FL, | |
| '700023': vr_1.VR.CS, | |
| '700024': vr_1.VR.CS, | |
| '700040': vr_1.VR.IS, | |
| '700041': vr_1.VR.CS, | |
| '700042': vr_1.VR.US, | |
| '700050': vr_1.VR.US, | |
| '700051': vr_1.VR.US, | |
| '700052': vr_1.VR.SL, | |
| '700053': vr_1.VR.SL, | |
| '70005a': vr_1.VR.SQ, | |
| '700060': vr_1.VR.SQ, | |
| '700062': vr_1.VR.IS, | |
| '700066': vr_1.VR.US, | |
| '700067': vr_1.VR.US, | |
| '700068': vr_1.VR.LO, | |
| '700080': vr_1.VR.CS, | |
| '700081': vr_1.VR.LO, | |
| '700082': vr_1.VR.DA, | |
| '700083': vr_1.VR.TM, | |
| '700084': vr_1.VR.PN, | |
| '700086': vr_1.VR.SQ, | |
| '700087': vr_1.VR.SQ, | |
| '700100': vr_1.VR.CS, | |
| '700101': vr_1.VR.DS, | |
| '700102': vr_1.VR.IS, | |
| '700103': vr_1.VR.FL, | |
| '700207': vr_1.VR.LO, | |
| '700208': vr_1.VR.ST, | |
| '700209': vr_1.VR.SQ, | |
| '700226': vr_1.VR.UL, | |
| '700227': vr_1.VR.LO, | |
| '700228': vr_1.VR.CS, | |
| '700229': vr_1.VR.LO, | |
| '700230': vr_1.VR.FD, | |
| '700231': vr_1.VR.SQ, | |
| '700232': vr_1.VR.SQ, | |
| '700233': vr_1.VR.SQ, | |
| '700234': vr_1.VR.SQ, | |
| '700241': vr_1.VR.US, | |
| '700242': vr_1.VR.CS, | |
| '700243': vr_1.VR.CS, | |
| '700244': vr_1.VR.CS, | |
| '700245': vr_1.VR.FL, | |
| '700246': vr_1.VR.FL, | |
| '700247': vr_1.VR.US, | |
| '700248': vr_1.VR.CS, | |
| '700249': vr_1.VR.CS, | |
| '700250': vr_1.VR.CS, | |
| '700251': vr_1.VR.US, | |
| '700252': vr_1.VR.US, | |
| '700253': vr_1.VR.FL, | |
| '700254': vr_1.VR.CS, | |
| '700255': vr_1.VR.UL, | |
| '700256': vr_1.VR.OB, | |
| '700257': vr_1.VR.CS, | |
| '700258': vr_1.VR.FL, | |
| '700261': vr_1.VR.FL, | |
| '700262': vr_1.VR.FL, | |
| '700273': vr_1.VR.FL, | |
| '700274': vr_1.VR.CS, | |
| '700278': vr_1.VR.CS, | |
| '700279': vr_1.VR.CS, | |
| '700282': vr_1.VR.CS, | |
| '700284': vr_1.VR.FL, | |
| '700285': vr_1.VR.FL, | |
| '700287': vr_1.VR.SQ, | |
| '700288': vr_1.VR.FL, | |
| '700289': vr_1.VR.SH, | |
| '700294': vr_1.VR.CS, | |
| '700295': vr_1.VR.UL, | |
| '700306': vr_1.VR.CS, | |
| '700308': vr_1.VR.SQ, | |
| '700309': vr_1.VR.SQ, | |
| '70030a': vr_1.VR.SQ, | |
| '70030b': vr_1.VR.FD, | |
| '70030c': vr_1.VR.CS, | |
| '70030d': vr_1.VR.SQ, | |
| '70030f': vr_1.VR.ST, | |
| '700310': vr_1.VR.SH, | |
| '700311': vr_1.VR.SQ, | |
| '700312': vr_1.VR.FD, | |
| '700314': vr_1.VR.SQ, | |
| '700318': vr_1.VR.SQ, | |
| '70031a': vr_1.VR.UI, | |
| '70031b': vr_1.VR.UI, | |
| '70031c': vr_1.VR.SQ, | |
| '70031e': vr_1.VR.SQ, | |
| '70031f': vr_1.VR.SQ, | |
| '700401': vr_1.VR.US, | |
| '700402': vr_1.VR.SQ, | |
| '700403': vr_1.VR.FL, | |
| '700404': vr_1.VR.SQ, | |
| '700405': vr_1.VR.CS, | |
| '701101': vr_1.VR.UI, | |
| '701102': vr_1.VR.UI, | |
| '701103': vr_1.VR.US, | |
| '701104': vr_1.VR.SQ, | |
| '701201': vr_1.VR.SQ, | |
| '701202': vr_1.VR.CS, | |
| '701203': vr_1.VR.US, | |
| '701204': vr_1.VR.CS, | |
| '701205': vr_1.VR.US, | |
| '701206': vr_1.VR.CS, | |
| '701207': vr_1.VR.US, | |
| '701208': vr_1.VR.CS, | |
| '701209': vr_1.VR.UI, | |
| '70120a': vr_1.VR.SQ, | |
| '70120b': vr_1.VR.CS, | |
| '70120c': vr_1.VR.US, | |
| '70120d': vr_1.VR.CS, | |
| '701301': vr_1.VR.SQ, | |
| '701302': vr_1.VR.CS, | |
| '701303': vr_1.VR.FD, | |
| '701304': vr_1.VR.SQ, | |
| '701305': vr_1.VR.FD, | |
| '701306': vr_1.VR.FD, | |
| '701309': vr_1.VR.US, | |
| '701501': vr_1.VR.CS, | |
| '701502': vr_1.VR.CS, | |
| '701503': vr_1.VR.FD, | |
| '701505': vr_1.VR.FD, | |
| '701507': vr_1.VR.FD, | |
| '701508': vr_1.VR.FD, | |
| '70150c': vr_1.VR.UL, | |
| '70150d': vr_1.VR.OD, | |
| '701511': vr_1.VR.FD, | |
| '701512': vr_1.VR.FD, | |
| '701602': vr_1.VR.CS, | |
| '701603': vr_1.VR.FD, | |
| '701604': vr_1.VR.FD, | |
| '701605': vr_1.VR.FD, | |
| '701606': vr_1.VR.FD, | |
| '701607': vr_1.VR.FD, | |
| '701701': vr_1.VR.CS, | |
| '701702': vr_1.VR.FD, | |
| '701703': vr_1.VR.FD, | |
| '701704': vr_1.VR.FD, | |
| '701705': vr_1.VR.FD, | |
| '701706': vr_1.VR.FD, | |
| '701801': vr_1.VR.SQ, | |
| '701802': vr_1.VR.CS, | |
| '701803': vr_1.VR.SQ, | |
| '701804': vr_1.VR.US, | |
| '701805': vr_1.VR.SQ, | |
| '701806': vr_1.VR.SQ, | |
| '701807': vr_1.VR.US, | |
| '701808': vr_1.VR.OB, | |
| '701901': vr_1.VR.SQ, | |
| '701903': vr_1.VR.SQ, | |
| '701904': vr_1.VR.UI, | |
| '701905': vr_1.VR.SQ, | |
| '701907': vr_1.VR.CS, | |
| '701a01': vr_1.VR.CS, | |
| '701a03': vr_1.VR.FD, | |
| '701a04': vr_1.VR.SQ, | |
| '701a05': vr_1.VR.FD, | |
| '701a06': vr_1.VR.FD, | |
| '701a07': vr_1.VR.OD, | |
| '701a08': vr_1.VR.SQ, | |
| '701a09': vr_1.VR.LO, | |
| '701b01': vr_1.VR.SQ, | |
| '701b02': vr_1.VR.US, | |
| '701b03': vr_1.VR.SQ, | |
| '701b04': vr_1.VR.SQ, | |
| '701b06': vr_1.VR.CS, | |
| '701b07': vr_1.VR.CS, | |
| '701b08': vr_1.VR.CS, | |
| '701b11': vr_1.VR.SQ, | |
| '701b12': vr_1.VR.SQ, | |
| '701b13': vr_1.VR.CS, | |
| '701b14': vr_1.VR.FD, | |
| '720002': vr_1.VR.SH, | |
| '720004': vr_1.VR.LO, | |
| '720006': vr_1.VR.CS, | |
| '720008': vr_1.VR.LO, | |
| '72000a': vr_1.VR.DT, | |
| '72000c': vr_1.VR.SQ, | |
| '72000e': vr_1.VR.SQ, | |
| '720010': vr_1.VR.LO, | |
| '720012': vr_1.VR.SQ, | |
| '720014': vr_1.VR.US, | |
| '720020': vr_1.VR.SQ, | |
| '720022': vr_1.VR.SQ, | |
| '720024': vr_1.VR.CS, | |
| '720026': vr_1.VR.AT, | |
| '720028': vr_1.VR.US, | |
| '720030': vr_1.VR.SQ, | |
| '720032': vr_1.VR.US, | |
| '720034': vr_1.VR.CS, | |
| '720038': vr_1.VR.US, | |
| '72003a': vr_1.VR.CS, | |
| '72003c': vr_1.VR.SS, | |
| '72003e': vr_1.VR.SQ, | |
| '720040': vr_1.VR.LO, | |
| '720050': vr_1.VR.CS, | |
| '720052': vr_1.VR.AT, | |
| '720054': vr_1.VR.LO, | |
| '720056': vr_1.VR.LO, | |
| '72005e': vr_1.VR.AE, | |
| '72005f': vr_1.VR.AS, | |
| '720060': vr_1.VR.AT, | |
| '720061': vr_1.VR.DA, | |
| '720062': vr_1.VR.CS, | |
| '720063': vr_1.VR.DT, | |
| '720064': vr_1.VR.IS, | |
| '720065': vr_1.VR.OB, | |
| '720066': vr_1.VR.LO, | |
| '720067': vr_1.VR.OF, | |
| '720068': vr_1.VR.LT, | |
| '720069': vr_1.VR.OW, | |
| '72006a': vr_1.VR.PN, | |
| '72006b': vr_1.VR.TM, | |
| '72006c': vr_1.VR.SH, | |
| '72006d': vr_1.VR.UN, | |
| '72006e': vr_1.VR.ST, | |
| '72006f': vr_1.VR.UC, | |
| '720070': vr_1.VR.UT, | |
| '720071': vr_1.VR.UR, | |
| '720072': vr_1.VR.DS, | |
| '720073': vr_1.VR.OD, | |
| '720074': vr_1.VR.FD, | |
| '720075': vr_1.VR.OL, | |
| '720076': vr_1.VR.FL, | |
| '720078': vr_1.VR.UL, | |
| '72007a': vr_1.VR.US, | |
| '72007c': vr_1.VR.SL, | |
| '72007e': vr_1.VR.SS, | |
| '72007f': vr_1.VR.UI, | |
| '720080': vr_1.VR.SQ, | |
| '720100': vr_1.VR.US, | |
| '720102': vr_1.VR.SQ, | |
| '720104': vr_1.VR.US, | |
| '720106': vr_1.VR.US, | |
| '720108': vr_1.VR.FD, | |
| '72010a': vr_1.VR.US, | |
| '72010c': vr_1.VR.US, | |
| '72010e': vr_1.VR.US, | |
| '720200': vr_1.VR.SQ, | |
| '720202': vr_1.VR.US, | |
| '720203': vr_1.VR.LO, | |
| '720204': vr_1.VR.US, | |
| '720206': vr_1.VR.LO, | |
| '720208': vr_1.VR.CS, | |
| '720210': vr_1.VR.SQ, | |
| '720212': vr_1.VR.US, | |
| '720214': vr_1.VR.SQ, | |
| '720216': vr_1.VR.US, | |
| '720218': vr_1.VR.US, | |
| '720300': vr_1.VR.SQ, | |
| '720302': vr_1.VR.US, | |
| '720304': vr_1.VR.CS, | |
| '720306': vr_1.VR.US, | |
| '720308': vr_1.VR.US, | |
| '720310': vr_1.VR.CS, | |
| '720312': vr_1.VR.CS, | |
| '720314': vr_1.VR.US, | |
| '720316': vr_1.VR.CS, | |
| '720318': vr_1.VR.US, | |
| '720320': vr_1.VR.US, | |
| '720330': vr_1.VR.FD, | |
| '720400': vr_1.VR.SQ, | |
| '720402': vr_1.VR.CS, | |
| '720404': vr_1.VR.CS, | |
| '720406': vr_1.VR.CS, | |
| '720420': vr_1.VR.US, | |
| '720421': vr_1.VR.US, | |
| '720422': vr_1.VR.SQ, | |
| '720424': vr_1.VR.SQ, | |
| '720427': vr_1.VR.SQ, | |
| '720430': vr_1.VR.SQ, | |
| '720432': vr_1.VR.US, | |
| '720434': vr_1.VR.CS, | |
| '720500': vr_1.VR.CS, | |
| '720510': vr_1.VR.CS, | |
| '720512': vr_1.VR.FD, | |
| '720514': vr_1.VR.FD, | |
| '720516': vr_1.VR.CS, | |
| '720520': vr_1.VR.CS, | |
| '720600': vr_1.VR.SQ, | |
| '720602': vr_1.VR.CS, | |
| '720604': vr_1.VR.CS, | |
| '720700': vr_1.VR.CS, | |
| '720702': vr_1.VR.CS, | |
| '720704': vr_1.VR.CS, | |
| '720705': vr_1.VR.SQ, | |
| '720706': vr_1.VR.CS, | |
| '720710': vr_1.VR.CS, | |
| '720712': vr_1.VR.CS, | |
| '720714': vr_1.VR.CS, | |
| '720716': vr_1.VR.CS, | |
| '720717': vr_1.VR.CS, | |
| '720718': vr_1.VR.CS, | |
| '740120': vr_1.VR.FD, | |
| '740121': vr_1.VR.FD, | |
| '741000': vr_1.VR.CS, | |
| '741002': vr_1.VR.SQ, | |
| '741004': vr_1.VR.DS, | |
| '741006': vr_1.VR.ST, | |
| '741007': vr_1.VR.SQ, | |
| '741008': vr_1.VR.SQ, | |
| '74100a': vr_1.VR.UR, | |
| '74100c': vr_1.VR.LO, | |
| '74100e': vr_1.VR.SQ, | |
| '741020': vr_1.VR.SQ, | |
| '741022': vr_1.VR.CS, | |
| '741024': vr_1.VR.IS, | |
| '741025': vr_1.VR.CS, | |
| '741026': vr_1.VR.FD, | |
| '741027': vr_1.VR.FD, | |
| '741028': vr_1.VR.FD, | |
| '74102a': vr_1.VR.FD, | |
| '74102b': vr_1.VR.FD, | |
| '74102c': vr_1.VR.FD, | |
| '74102d': vr_1.VR.FD, | |
| '741030': vr_1.VR.SQ, | |
| '741032': vr_1.VR.CS, | |
| '741034': vr_1.VR.CS, | |
| '741036': vr_1.VR.CS, | |
| '741038': vr_1.VR.DS, | |
| '74103a': vr_1.VR.DS, | |
| '741040': vr_1.VR.SQ, | |
| '741042': vr_1.VR.SQ, | |
| '741044': vr_1.VR.SQ, | |
| '741046': vr_1.VR.SQ, | |
| '741048': vr_1.VR.SQ, | |
| '74104a': vr_1.VR.SQ, | |
| '74104c': vr_1.VR.SQ, | |
| '74104e': vr_1.VR.SQ, | |
| '741050': vr_1.VR.SQ, | |
| '741052': vr_1.VR.AT, | |
| '741054': vr_1.VR.UL, | |
| '741056': vr_1.VR.LO, | |
| '741057': vr_1.VR.IS, | |
| '741200': vr_1.VR.CS, | |
| '741202': vr_1.VR.LO, | |
| '741204': vr_1.VR.LO, | |
| '741210': vr_1.VR.SQ, | |
| '741212': vr_1.VR.SQ, | |
| '741216': vr_1.VR.SQ, | |
| '741220': vr_1.VR.SQ, | |
| '741222': vr_1.VR.LO, | |
| '741224': vr_1.VR.SQ, | |
| '741230': vr_1.VR.LO, | |
| '741234': vr_1.VR.AE, | |
| '741236': vr_1.VR.AE, | |
| '741238': vr_1.VR.LT, | |
| '741242': vr_1.VR.CS, | |
| '741244': vr_1.VR.CS, | |
| '741246': vr_1.VR.CS, | |
| '741324': vr_1.VR.UL, | |
| '741338': vr_1.VR.FD, | |
| '74133a': vr_1.VR.FD, | |
| '741401': vr_1.VR.SQ, | |
| '741402': vr_1.VR.DS, | |
| '741403': vr_1.VR.DS, | |
| '741404': vr_1.VR.IS, | |
| '741405': vr_1.VR.SQ, | |
| '741406': vr_1.VR.IS, | |
| '741407': vr_1.VR.DS, | |
| '741408': vr_1.VR.DS, | |
| '741409': vr_1.VR.SQ, | |
| '74140a': vr_1.VR.CS, | |
| '74140b': vr_1.VR.LO, | |
| '74140c': vr_1.VR.IS, | |
| '74140d': vr_1.VR.SQ, | |
| '74140e': vr_1.VR.SQ, | |
| '760001': vr_1.VR.LO, | |
| '760003': vr_1.VR.LO, | |
| '760006': vr_1.VR.LO, | |
| '760008': vr_1.VR.SQ, | |
| '76000a': vr_1.VR.CS, | |
| '76000c': vr_1.VR.SQ, | |
| '76000e': vr_1.VR.SQ, | |
| '760010': vr_1.VR.SQ, | |
| '760020': vr_1.VR.SQ, | |
| '760030': vr_1.VR.LO, | |
| '760032': vr_1.VR.SQ, | |
| '760034': vr_1.VR.SQ, | |
| '760036': vr_1.VR.CS, | |
| '760038': vr_1.VR.CS, | |
| '760040': vr_1.VR.SQ, | |
| '760055': vr_1.VR.US, | |
| '760060': vr_1.VR.SQ, | |
| '760070': vr_1.VR.US, | |
| '760080': vr_1.VR.US, | |
| '760090': vr_1.VR.US, | |
| '7600a0': vr_1.VR.US, | |
| '7600b0': vr_1.VR.US, | |
| '7600c0': vr_1.VR.US, | |
| '780001': vr_1.VR.LO, | |
| '780010': vr_1.VR.ST, | |
| '780020': vr_1.VR.LO, | |
| '780024': vr_1.VR.LO, | |
| '780026': vr_1.VR.SQ, | |
| '780028': vr_1.VR.SQ, | |
| '78002a': vr_1.VR.SQ, | |
| '78002e': vr_1.VR.US, | |
| '780050': vr_1.VR.FD, | |
| '780060': vr_1.VR.FD, | |
| '780070': vr_1.VR.SQ, | |
| '780090': vr_1.VR.FD, | |
| '7800a0': vr_1.VR.FD, | |
| '7800b0': vr_1.VR.SQ, | |
| '7800b2': vr_1.VR.LO, | |
| '7800b4': vr_1.VR.SQ, | |
| '7800b6': vr_1.VR.US, | |
| '7800b8': vr_1.VR.US, | |
| '800001': vr_1.VR.SQ, | |
| '800002': vr_1.VR.SQ, | |
| '800003': vr_1.VR.SQ, | |
| '800004': vr_1.VR.FD, | |
| '800005': vr_1.VR.FD, | |
| '800006': vr_1.VR.US, | |
| '800007': vr_1.VR.US, | |
| '800008': vr_1.VR.SQ, | |
| '800009': vr_1.VR.SH, | |
| '800010': vr_1.VR.OF, | |
| '800011': vr_1.VR.OF, | |
| '800012': vr_1.VR.SQ, | |
| '800013': vr_1.VR.SQ, | |
| '820001': vr_1.VR.CS, | |
| '820003': vr_1.VR.UT, | |
| '820004': vr_1.VR.SQ, | |
| '820005': vr_1.VR.SQ, | |
| '820006': vr_1.VR.UL, | |
| '820007': vr_1.VR.SQ, | |
| '820008': vr_1.VR.CS, | |
| '82000a': vr_1.VR.UT, | |
| '82000c': vr_1.VR.SQ, | |
| '820010': vr_1.VR.SQ, | |
| '820016': vr_1.VR.LO, | |
| '820017': vr_1.VR.SQ, | |
| '820018': vr_1.VR.LO, | |
| '820019': vr_1.VR.LO, | |
| '820021': vr_1.VR.SQ, | |
| '820022': vr_1.VR.SQ, | |
| '820023': vr_1.VR.LO, | |
| '820032': vr_1.VR.CS, | |
| '820033': vr_1.VR.UT, | |
| '820034': vr_1.VR.SQ, | |
| '820035': vr_1.VR.SQ, | |
| '820036': vr_1.VR.CS, | |
| '820037': vr_1.VR.UT, | |
| '820038': vr_1.VR.CS, | |
| '880130': vr_1.VR.SH, | |
| '880140': vr_1.VR.UI, | |
| '880200': vr_1.VR.SQ, | |
| '880904': vr_1.VR.LO, | |
| '880906': vr_1.VR.ST, | |
| '880910': vr_1.VR.LO, | |
| '880912': vr_1.VR.LO, | |
| '1000410': vr_1.VR.CS, | |
| '1000420': vr_1.VR.DT, | |
| '1000424': vr_1.VR.LT, | |
| '1000426': vr_1.VR.LO, | |
| '4000005': vr_1.VR.US, | |
| '4000010': vr_1.VR.UI, | |
| '4000015': vr_1.VR.CS, | |
| '4000020': vr_1.VR.AT, | |
| '4000100': vr_1.VR.UI, | |
| '4000105': vr_1.VR.DT, | |
| '4000110': vr_1.VR.CS, | |
| '4000115': vr_1.VR.OB, | |
| '4000120': vr_1.VR.OB, | |
| '4000305': vr_1.VR.CS, | |
| '4000310': vr_1.VR.OB, | |
| '4000401': vr_1.VR.SQ, | |
| '4000402': vr_1.VR.SQ, | |
| '4000403': vr_1.VR.SQ, | |
| '4000404': vr_1.VR.OB, | |
| '4000500': vr_1.VR.SQ, | |
| '4000510': vr_1.VR.UI, | |
| '4000520': vr_1.VR.OB, | |
| '4000550': vr_1.VR.SQ, | |
| '4000561': vr_1.VR.SQ, | |
| '4000562': vr_1.VR.DT, | |
| '4000563': vr_1.VR.LO, | |
| '4000564': vr_1.VR.LO, | |
| '4000565': vr_1.VR.CS, | |
| '10000000': vr_1.VR.US, | |
| '10000001': vr_1.VR.US, | |
| '10000002': vr_1.VR.US, | |
| '10000003': vr_1.VR.US, | |
| '10000004': vr_1.VR.US, | |
| '10000005': vr_1.VR.US, | |
| '10100000': vr_1.VR.US, | |
| '20000010': vr_1.VR.IS, | |
| '2000001e': vr_1.VR.SQ, | |
| '20000020': vr_1.VR.CS, | |
| '20000030': vr_1.VR.CS, | |
| '20000040': vr_1.VR.CS, | |
| '20000050': vr_1.VR.LO, | |
| '20000060': vr_1.VR.IS, | |
| '20000061': vr_1.VR.IS, | |
| '20000062': vr_1.VR.CS, | |
| '20000063': vr_1.VR.CS, | |
| '20000065': vr_1.VR.CS, | |
| '20000067': vr_1.VR.CS, | |
| '20000069': vr_1.VR.CS, | |
| '2000006a': vr_1.VR.CS, | |
| '200000a0': vr_1.VR.US, | |
| '200000a1': vr_1.VR.US, | |
| '200000a2': vr_1.VR.SQ, | |
| '200000a4': vr_1.VR.SQ, | |
| '200000a8': vr_1.VR.SQ, | |
| '20000500': vr_1.VR.SQ, | |
| '20000510': vr_1.VR.SQ, | |
| '20100010': vr_1.VR.ST, | |
| '20100030': vr_1.VR.CS, | |
| '20100040': vr_1.VR.CS, | |
| '20100050': vr_1.VR.CS, | |
| '20100052': vr_1.VR.CS, | |
| '20100054': vr_1.VR.CS, | |
| '20100060': vr_1.VR.CS, | |
| '20100080': vr_1.VR.CS, | |
| '201000a6': vr_1.VR.CS, | |
| '201000a7': vr_1.VR.CS, | |
| '201000a8': vr_1.VR.CS, | |
| '201000a9': vr_1.VR.CS, | |
| '20100100': vr_1.VR.CS, | |
| '20100110': vr_1.VR.CS, | |
| '20100120': vr_1.VR.US, | |
| '20100130': vr_1.VR.US, | |
| '20100140': vr_1.VR.CS, | |
| '20100150': vr_1.VR.ST, | |
| '20100152': vr_1.VR.LT, | |
| '20100154': vr_1.VR.IS, | |
| '2010015e': vr_1.VR.US, | |
| '20100160': vr_1.VR.US, | |
| '20100376': vr_1.VR.DS, | |
| '20100500': vr_1.VR.SQ, | |
| '20100510': vr_1.VR.SQ, | |
| '20100520': vr_1.VR.SQ, | |
| '20200010': vr_1.VR.US, | |
| '20200020': vr_1.VR.CS, | |
| '20200030': vr_1.VR.DS, | |
| '20200040': vr_1.VR.CS, | |
| '20200050': vr_1.VR.CS, | |
| '202000a0': vr_1.VR.CS, | |
| '202000a2': vr_1.VR.CS, | |
| '20200110': vr_1.VR.SQ, | |
| '20200111': vr_1.VR.SQ, | |
| '20200130': vr_1.VR.SQ, | |
| '20200140': vr_1.VR.SQ, | |
| '20300010': vr_1.VR.US, | |
| '20300020': vr_1.VR.LO, | |
| '20400010': vr_1.VR.SQ, | |
| '20400011': vr_1.VR.US, | |
| '20400020': vr_1.VR.SQ, | |
| '20400060': vr_1.VR.CS, | |
| '20400070': vr_1.VR.CS, | |
| '20400072': vr_1.VR.CS, | |
| '20400074': vr_1.VR.US, | |
| '20400080': vr_1.VR.CS, | |
| '20400082': vr_1.VR.CS, | |
| '20400090': vr_1.VR.CS, | |
| '20400100': vr_1.VR.CS, | |
| '20400500': vr_1.VR.SQ, | |
| '20500010': vr_1.VR.SQ, | |
| '20500020': vr_1.VR.CS, | |
| '20500500': vr_1.VR.SQ, | |
| '21000010': vr_1.VR.SH, | |
| '21000020': vr_1.VR.CS, | |
| '21000030': vr_1.VR.CS, | |
| '21000040': vr_1.VR.DA, | |
| '21000050': vr_1.VR.TM, | |
| '21000070': vr_1.VR.AE, | |
| '21000140': vr_1.VR.AE, | |
| '21000160': vr_1.VR.SH, | |
| '21000170': vr_1.VR.IS, | |
| '21000500': vr_1.VR.SQ, | |
| '21100010': vr_1.VR.CS, | |
| '21100020': vr_1.VR.CS, | |
| '21100030': vr_1.VR.LO, | |
| '21100099': vr_1.VR.SH, | |
| '21200010': vr_1.VR.CS, | |
| '21200050': vr_1.VR.SQ, | |
| '21200070': vr_1.VR.SQ, | |
| '21300010': vr_1.VR.SQ, | |
| '21300015': vr_1.VR.SQ, | |
| '21300030': vr_1.VR.SQ, | |
| '21300040': vr_1.VR.SQ, | |
| '21300050': vr_1.VR.SQ, | |
| '21300060': vr_1.VR.SQ, | |
| '21300080': vr_1.VR.SQ, | |
| '213000a0': vr_1.VR.SQ, | |
| '213000c0': vr_1.VR.SQ, | |
| '22000001': vr_1.VR.CS, | |
| '22000002': vr_1.VR.UT, | |
| '22000003': vr_1.VR.CS, | |
| '22000004': vr_1.VR.LT, | |
| '22000005': vr_1.VR.LT, | |
| '22000006': vr_1.VR.CS, | |
| '22000007': vr_1.VR.CS, | |
| '22000008': vr_1.VR.CS, | |
| '22000009': vr_1.VR.CS, | |
| '2200000a': vr_1.VR.CS, | |
| '2200000b': vr_1.VR.US, | |
| '2200000c': vr_1.VR.LO, | |
| '2200000d': vr_1.VR.SQ, | |
| '2200000e': vr_1.VR.AT, | |
| '2200000f': vr_1.VR.CS, | |
| '22000020': vr_1.VR.CS, | |
| '30020002': vr_1.VR.SH, | |
| '30020003': vr_1.VR.LO, | |
| '30020004': vr_1.VR.ST, | |
| '3002000a': vr_1.VR.CS, | |
| '3002000c': vr_1.VR.CS, | |
| '3002000d': vr_1.VR.DS, | |
| '3002000e': vr_1.VR.DS, | |
| '30020010': vr_1.VR.DS, | |
| '30020011': vr_1.VR.DS, | |
| '30020012': vr_1.VR.DS, | |
| '30020020': vr_1.VR.SH, | |
| '30020022': vr_1.VR.DS, | |
| '30020024': vr_1.VR.DS, | |
| '30020026': vr_1.VR.DS, | |
| '30020028': vr_1.VR.DS, | |
| '30020029': vr_1.VR.IS, | |
| '30020030': vr_1.VR.SQ, | |
| '30020032': vr_1.VR.DS, | |
| '30020034': vr_1.VR.DS, | |
| '30020040': vr_1.VR.SQ, | |
| '30020041': vr_1.VR.CS, | |
| '30020042': vr_1.VR.DS, | |
| '30020050': vr_1.VR.SQ, | |
| '30020051': vr_1.VR.CS, | |
| '30020052': vr_1.VR.SH, | |
| '30040001': vr_1.VR.CS, | |
| '30040002': vr_1.VR.CS, | |
| '30040004': vr_1.VR.CS, | |
| '30040005': vr_1.VR.CS, | |
| '30040006': vr_1.VR.LO, | |
| '30040008': vr_1.VR.DS, | |
| '3004000a': vr_1.VR.CS, | |
| '3004000c': vr_1.VR.DS, | |
| '3004000e': vr_1.VR.DS, | |
| '30040010': vr_1.VR.SQ, | |
| '30040012': vr_1.VR.DS, | |
| '30040014': vr_1.VR.CS, | |
| '30040040': vr_1.VR.DS, | |
| '30040042': vr_1.VR.DS, | |
| '30040050': vr_1.VR.SQ, | |
| '30040052': vr_1.VR.DS, | |
| '30040054': vr_1.VR.CS, | |
| '30040056': vr_1.VR.IS, | |
| '30040058': vr_1.VR.DS, | |
| '30040060': vr_1.VR.SQ, | |
| '30040062': vr_1.VR.CS, | |
| '30040070': vr_1.VR.DS, | |
| '30040072': vr_1.VR.DS, | |
| '30040074': vr_1.VR.DS, | |
| '30060002': vr_1.VR.SH, | |
| '30060004': vr_1.VR.LO, | |
| '30060006': vr_1.VR.ST, | |
| '30060008': vr_1.VR.DA, | |
| '30060009': vr_1.VR.TM, | |
| '30060010': vr_1.VR.SQ, | |
| '30060012': vr_1.VR.SQ, | |
| '30060014': vr_1.VR.SQ, | |
| '30060016': vr_1.VR.SQ, | |
| '30060018': vr_1.VR.SQ, | |
| '30060020': vr_1.VR.SQ, | |
| '30060022': vr_1.VR.IS, | |
| '30060024': vr_1.VR.UI, | |
| '30060026': vr_1.VR.LO, | |
| '30060028': vr_1.VR.ST, | |
| '3006002a': vr_1.VR.IS, | |
| '3006002c': vr_1.VR.DS, | |
| '30060030': vr_1.VR.SQ, | |
| '30060033': vr_1.VR.CS, | |
| '30060036': vr_1.VR.CS, | |
| '30060038': vr_1.VR.LO, | |
| '30060039': vr_1.VR.SQ, | |
| '30060040': vr_1.VR.SQ, | |
| '30060042': vr_1.VR.CS, | |
| '30060044': vr_1.VR.DS, | |
| '30060045': vr_1.VR.DS, | |
| '30060046': vr_1.VR.IS, | |
| '30060048': vr_1.VR.IS, | |
| '30060049': vr_1.VR.IS, | |
| '30060050': vr_1.VR.DS, | |
| '30060080': vr_1.VR.SQ, | |
| '30060082': vr_1.VR.IS, | |
| '30060084': vr_1.VR.IS, | |
| '30060085': vr_1.VR.SH, | |
| '30060086': vr_1.VR.SQ, | |
| '30060088': vr_1.VR.ST, | |
| '300600a0': vr_1.VR.SQ, | |
| '300600a4': vr_1.VR.CS, | |
| '300600a6': vr_1.VR.PN, | |
| '300600b0': vr_1.VR.SQ, | |
| '300600b2': vr_1.VR.CS, | |
| '300600b4': vr_1.VR.DS, | |
| '300600b6': vr_1.VR.SQ, | |
| '300600b7': vr_1.VR.US, | |
| '300600b8': vr_1.VR.FL, | |
| '300600b9': vr_1.VR.SQ, | |
| '300600c0': vr_1.VR.SQ, | |
| '300600c2': vr_1.VR.UI, | |
| '300600c4': vr_1.VR.CS, | |
| '300600c6': vr_1.VR.DS, | |
| '300600c8': vr_1.VR.LO, | |
| '30080010': vr_1.VR.SQ, | |
| '30080012': vr_1.VR.ST, | |
| '30080014': vr_1.VR.CS, | |
| '30080016': vr_1.VR.DS, | |
| '30080020': vr_1.VR.SQ, | |
| '30080021': vr_1.VR.SQ, | |
| '30080022': vr_1.VR.IS, | |
| '30080024': vr_1.VR.DA, | |
| '30080025': vr_1.VR.TM, | |
| '3008002a': vr_1.VR.CS, | |
| '3008002b': vr_1.VR.SH, | |
| '3008002c': vr_1.VR.CS, | |
| '30080030': vr_1.VR.SQ, | |
| '30080032': vr_1.VR.DS, | |
| '30080033': vr_1.VR.DS, | |
| '30080036': vr_1.VR.DS, | |
| '30080037': vr_1.VR.DS, | |
| '3008003a': vr_1.VR.DS, | |
| '3008003b': vr_1.VR.DS, | |
| '30080040': vr_1.VR.SQ, | |
| '30080041': vr_1.VR.SQ, | |
| '30080042': vr_1.VR.DS, | |
| '30080044': vr_1.VR.DS, | |
| '30080045': vr_1.VR.FL, | |
| '30080046': vr_1.VR.FL, | |
| '30080047': vr_1.VR.FL, | |
| '30080048': vr_1.VR.DS, | |
| '30080050': vr_1.VR.SQ, | |
| '30080052': vr_1.VR.DS, | |
| '30080054': vr_1.VR.DA, | |
| '30080056': vr_1.VR.DA, | |
| '3008005a': vr_1.VR.IS, | |
| '30080060': vr_1.VR.SQ, | |
| '30080061': vr_1.VR.AT, | |
| '30080062': vr_1.VR.AT, | |
| '30080063': vr_1.VR.IS, | |
| '30080064': vr_1.VR.IS, | |
| '30080065': vr_1.VR.AT, | |
| '30080066': vr_1.VR.ST, | |
| '30080067': vr_1.VR.US, | |
| '30080068': vr_1.VR.SQ, | |
| '3008006a': vr_1.VR.FL, | |
| '30080070': vr_1.VR.SQ, | |
| '30080072': vr_1.VR.IS, | |
| '30080074': vr_1.VR.ST, | |
| '30080076': vr_1.VR.DS, | |
| '30080078': vr_1.VR.DS, | |
| '3008007a': vr_1.VR.DS, | |
| '30080080': vr_1.VR.SQ, | |
| '30080082': vr_1.VR.IS, | |
| '30080090': vr_1.VR.SQ, | |
| '30080092': vr_1.VR.IS, | |
| '300800a0': vr_1.VR.SQ, | |
| '300800b0': vr_1.VR.SQ, | |
| '300800c0': vr_1.VR.SQ, | |
| '300800d0': vr_1.VR.SQ, | |
| '300800e0': vr_1.VR.SQ, | |
| '300800f0': vr_1.VR.SQ, | |
| '300800f2': vr_1.VR.SQ, | |
| '300800f4': vr_1.VR.SQ, | |
| '300800f6': vr_1.VR.SQ, | |
| '30080100': vr_1.VR.SQ, | |
| '30080105': vr_1.VR.LO, | |
| '30080110': vr_1.VR.SQ, | |
| '30080116': vr_1.VR.CS, | |
| '30080120': vr_1.VR.SQ, | |
| '30080122': vr_1.VR.IS, | |
| '30080130': vr_1.VR.SQ, | |
| '30080132': vr_1.VR.DS, | |
| '30080134': vr_1.VR.DS, | |
| '30080136': vr_1.VR.IS, | |
| '30080138': vr_1.VR.IS, | |
| '3008013a': vr_1.VR.DS, | |
| '3008013c': vr_1.VR.DS, | |
| '30080140': vr_1.VR.SQ, | |
| '30080142': vr_1.VR.IS, | |
| '30080150': vr_1.VR.SQ, | |
| '30080152': vr_1.VR.IS, | |
| '30080160': vr_1.VR.SQ, | |
| '30080162': vr_1.VR.DA, | |
| '30080164': vr_1.VR.TM, | |
| '30080166': vr_1.VR.DA, | |
| '30080168': vr_1.VR.TM, | |
| '30080171': vr_1.VR.SQ, | |
| '30080172': vr_1.VR.US, | |
| '30080173': vr_1.VR.SQ, | |
| '30080200': vr_1.VR.CS, | |
| '30080202': vr_1.VR.ST, | |
| '30080220': vr_1.VR.SQ, | |
| '30080223': vr_1.VR.IS, | |
| '30080224': vr_1.VR.CS, | |
| '30080230': vr_1.VR.CS, | |
| '30080240': vr_1.VR.SQ, | |
| '30080250': vr_1.VR.DA, | |
| '30080251': vr_1.VR.TM, | |
| '300a0002': vr_1.VR.SH, | |
| '300a0003': vr_1.VR.LO, | |
| '300a0004': vr_1.VR.ST, | |
| '300a0006': vr_1.VR.DA, | |
| '300a0007': vr_1.VR.TM, | |
| '300a0009': vr_1.VR.LO, | |
| '300a000a': vr_1.VR.CS, | |
| '300a000b': vr_1.VR.LO, | |
| '300a000c': vr_1.VR.CS, | |
| '300a000e': vr_1.VR.ST, | |
| '300a0010': vr_1.VR.SQ, | |
| '300a0012': vr_1.VR.IS, | |
| '300a0013': vr_1.VR.UI, | |
| '300a0014': vr_1.VR.CS, | |
| '300a0015': vr_1.VR.CS, | |
| '300a0016': vr_1.VR.LO, | |
| '300a0018': vr_1.VR.DS, | |
| '300a001a': vr_1.VR.DS, | |
| '300a0020': vr_1.VR.CS, | |
| '300a0021': vr_1.VR.DS, | |
| '300a0022': vr_1.VR.DS, | |
| '300a0023': vr_1.VR.DS, | |
| '300a0025': vr_1.VR.DS, | |
| '300a0026': vr_1.VR.DS, | |
| '300a0027': vr_1.VR.DS, | |
| '300a0028': vr_1.VR.DS, | |
| '300a002a': vr_1.VR.DS, | |
| '300a002b': vr_1.VR.DS, | |
| '300a002c': vr_1.VR.DS, | |
| '300a002d': vr_1.VR.DS, | |
| '300a0040': vr_1.VR.SQ, | |
| '300a0042': vr_1.VR.IS, | |
| '300a0043': vr_1.VR.SH, | |
| '300a0044': vr_1.VR.DS, | |
| '300a0046': vr_1.VR.DS, | |
| '300a0048': vr_1.VR.SQ, | |
| '300a004a': vr_1.VR.DS, | |
| '300a004b': vr_1.VR.FL, | |
| '300a004c': vr_1.VR.DS, | |
| '300a004e': vr_1.VR.DS, | |
| '300a004f': vr_1.VR.FL, | |
| '300a0050': vr_1.VR.FL, | |
| '300a0051': vr_1.VR.DS, | |
| '300a0052': vr_1.VR.DS, | |
| '300a0053': vr_1.VR.DS, | |
| '300a0055': vr_1.VR.CS, | |
| '300a0070': vr_1.VR.SQ, | |
| '300a0071': vr_1.VR.IS, | |
| '300a0072': vr_1.VR.LO, | |
| '300a0078': vr_1.VR.IS, | |
| '300a0079': vr_1.VR.IS, | |
| '300a007a': vr_1.VR.IS, | |
| '300a007b': vr_1.VR.LT, | |
| '300a0080': vr_1.VR.IS, | |
| '300a0082': vr_1.VR.DS, | |
| '300a0083': vr_1.VR.UI, | |
| '300a0084': vr_1.VR.DS, | |
| '300a0086': vr_1.VR.DS, | |
| '300a0088': vr_1.VR.FL, | |
| '300a0089': vr_1.VR.FL, | |
| '300a008a': vr_1.VR.FL, | |
| '300a008b': vr_1.VR.CS, | |
| '300a008c': vr_1.VR.SQ, | |
| '300a008d': vr_1.VR.FL, | |
| '300a008e': vr_1.VR.FL, | |
| '300a008f': vr_1.VR.FL, | |
| '300a0090': vr_1.VR.CS, | |
| '300a0091': vr_1.VR.DS, | |
| '300a0092': vr_1.VR.CS, | |
| '300a0093': vr_1.VR.CS, | |
| '300a00a0': vr_1.VR.IS, | |
| '300a00a2': vr_1.VR.DS, | |
| '300a00a4': vr_1.VR.DS, | |
| '300a00b0': vr_1.VR.SQ, | |
| '300a00b2': vr_1.VR.SH, | |
| '300a00b3': vr_1.VR.CS, | |
| '300a00b4': vr_1.VR.DS, | |
| '300a00b6': vr_1.VR.SQ, | |
| '300a00b8': vr_1.VR.CS, | |
| '300a00ba': vr_1.VR.DS, | |
| '300a00bb': vr_1.VR.FL, | |
| '300a00bc': vr_1.VR.IS, | |
| '300a00be': vr_1.VR.DS, | |
| '300a00c0': vr_1.VR.IS, | |
| '300a00c2': vr_1.VR.LO, | |
| '300a00c3': vr_1.VR.ST, | |
| '300a00c4': vr_1.VR.CS, | |
| '300a00c5': vr_1.VR.FD, | |
| '300a00c6': vr_1.VR.CS, | |
| '300a00c7': vr_1.VR.CS, | |
| '300a00c8': vr_1.VR.IS, | |
| '300a00ca': vr_1.VR.SQ, | |
| '300a00cc': vr_1.VR.LO, | |
| '300a00ce': vr_1.VR.CS, | |
| '300a00d0': vr_1.VR.IS, | |
| '300a00d1': vr_1.VR.SQ, | |
| '300a00d2': vr_1.VR.IS, | |
| '300a00d3': vr_1.VR.CS, | |
| '300a00d4': vr_1.VR.SH, | |
| '300a00d5': vr_1.VR.IS, | |
| '300a00d6': vr_1.VR.DS, | |
| '300a00d7': vr_1.VR.FL, | |
| '300a00d8': vr_1.VR.DS, | |
| '300a00d9': vr_1.VR.FL, | |
| '300a00da': vr_1.VR.DS, | |
| '300a00db': vr_1.VR.FL, | |
| '300a00dc': vr_1.VR.SH, | |
| '300a00dd': vr_1.VR.ST, | |
| '300a00de': vr_1.VR.DS, | |
| '300a00e0': vr_1.VR.IS, | |
| '300a00e1': vr_1.VR.SH, | |
| '300a00e2': vr_1.VR.DS, | |
| '300a00e3': vr_1.VR.SQ, | |
| '300a00e4': vr_1.VR.IS, | |
| '300a00e5': vr_1.VR.SH, | |
| '300a00e6': vr_1.VR.DS, | |
| '300a00e7': vr_1.VR.IS, | |
| '300a00e8': vr_1.VR.IS, | |
| '300a00e9': vr_1.VR.DS, | |
| '300a00ea': vr_1.VR.DS, | |
| '300a00eb': vr_1.VR.DS, | |
| '300a00ec': vr_1.VR.DS, | |
| '300a00ed': vr_1.VR.IS, | |
| '300a00ee': vr_1.VR.CS, | |
| '300a00ef': vr_1.VR.SH, | |
| '300a00f0': vr_1.VR.IS, | |
| '300a00f2': vr_1.VR.DS, | |
| '300a00f3': vr_1.VR.FL, | |
| '300a00f4': vr_1.VR.SQ, | |
| '300a00f5': vr_1.VR.SH, | |
| '300a00f6': vr_1.VR.DS, | |
| '300a00f7': vr_1.VR.FL, | |
| '300a00f8': vr_1.VR.CS, | |
| '300a00f9': vr_1.VR.LO, | |
| '300a00fa': vr_1.VR.CS, | |
| '300a00fb': vr_1.VR.CS, | |
| '300a00fc': vr_1.VR.IS, | |
| '300a00fe': vr_1.VR.LO, | |
| '300a0100': vr_1.VR.DS, | |
| '300a0102': vr_1.VR.DS, | |
| '300a0104': vr_1.VR.IS, | |
| '300a0106': vr_1.VR.DS, | |
| '300a0107': vr_1.VR.SQ, | |
| '300a0108': vr_1.VR.SH, | |
| '300a0109': vr_1.VR.CS, | |
| '300a010a': vr_1.VR.LO, | |
| '300a010c': vr_1.VR.DS, | |
| '300a010e': vr_1.VR.DS, | |
| '300a0110': vr_1.VR.IS, | |
| '300a0111': vr_1.VR.SQ, | |
| '300a0112': vr_1.VR.IS, | |
| '300a0114': vr_1.VR.DS, | |
| '300a0115': vr_1.VR.DS, | |
| '300a0116': vr_1.VR.SQ, | |
| '300a0118': vr_1.VR.CS, | |
| '300a011a': vr_1.VR.SQ, | |
| '300a011c': vr_1.VR.DS, | |
| '300a011e': vr_1.VR.DS, | |
| '300a011f': vr_1.VR.CS, | |
| '300a0120': vr_1.VR.DS, | |
| '300a0121': vr_1.VR.CS, | |
| '300a0122': vr_1.VR.DS, | |
| '300a0123': vr_1.VR.CS, | |
| '300a0124': vr_1.VR.DS, | |
| '300a0125': vr_1.VR.DS, | |
| '300a0126': vr_1.VR.CS, | |
| '300a0128': vr_1.VR.DS, | |
| '300a0129': vr_1.VR.DS, | |
| '300a012a': vr_1.VR.DS, | |
| '300a012c': vr_1.VR.DS, | |
| '300a012e': vr_1.VR.DS, | |
| '300a0130': vr_1.VR.DS, | |
| '300a0131': vr_1.VR.FL, | |
| '300a0132': vr_1.VR.FL, | |
| '300a0133': vr_1.VR.FL, | |
| '300a0134': vr_1.VR.DS, | |
| '300a0140': vr_1.VR.FL, | |
| '300a0142': vr_1.VR.CS, | |
| '300a0144': vr_1.VR.FL, | |
| '300a0146': vr_1.VR.CS, | |
| '300a0148': vr_1.VR.FL, | |
| '300a014a': vr_1.VR.FL, | |
| '300a014c': vr_1.VR.CS, | |
| '300a014e': vr_1.VR.FL, | |
| '300a0150': vr_1.VR.CS, | |
| '300a0151': vr_1.VR.DS, | |
| '300a0152': vr_1.VR.DS, | |
| '300a0153': vr_1.VR.DS, | |
| '300a0154': vr_1.VR.DS, | |
| '300a0155': vr_1.VR.DS, | |
| '300a0180': vr_1.VR.SQ, | |
| '300a0182': vr_1.VR.IS, | |
| '300a0183': vr_1.VR.LO, | |
| '300a0184': vr_1.VR.LO, | |
| '300a0190': vr_1.VR.SQ, | |
| '300a0192': vr_1.VR.CS, | |
| '300a0194': vr_1.VR.SH, | |
| '300a0196': vr_1.VR.ST, | |
| '300a0198': vr_1.VR.SH, | |
| '300a0199': vr_1.VR.FL, | |
| '300a019a': vr_1.VR.FL, | |
| '300a01a0': vr_1.VR.SQ, | |
| '300a01a2': vr_1.VR.CS, | |
| '300a01a4': vr_1.VR.SH, | |
| '300a01a6': vr_1.VR.ST, | |
| '300a01a8': vr_1.VR.SH, | |
| '300a01b0': vr_1.VR.CS, | |
| '300a01b2': vr_1.VR.ST, | |
| '300a01b4': vr_1.VR.SQ, | |
| '300a01b6': vr_1.VR.CS, | |
| '300a01b8': vr_1.VR.SH, | |
| '300a01ba': vr_1.VR.ST, | |
| '300a01bc': vr_1.VR.DS, | |
| '300a01d0': vr_1.VR.ST, | |
| '300a01d2': vr_1.VR.DS, | |
| '300a01d4': vr_1.VR.DS, | |
| '300a01d6': vr_1.VR.DS, | |
| '300a0200': vr_1.VR.CS, | |
| '300a0202': vr_1.VR.CS, | |
| '300a0206': vr_1.VR.SQ, | |
| '300a0210': vr_1.VR.SQ, | |
| '300a0212': vr_1.VR.IS, | |
| '300a0214': vr_1.VR.CS, | |
| '300a0216': vr_1.VR.LO, | |
| '300a0218': vr_1.VR.DS, | |
| '300a021a': vr_1.VR.DS, | |
| '300a021b': vr_1.VR.SH, | |
| '300a021c': vr_1.VR.LO, | |
| '300a0222': vr_1.VR.DS, | |
| '300a0224': vr_1.VR.DS, | |
| '300a0226': vr_1.VR.LO, | |
| '300a0228': vr_1.VR.DS, | |
| '300a0229': vr_1.VR.CS, | |
| '300a022a': vr_1.VR.DS, | |
| '300a022b': vr_1.VR.DS, | |
| '300a022c': vr_1.VR.DA, | |
| '300a022e': vr_1.VR.TM, | |
| '300a0230': vr_1.VR.SQ, | |
| '300a0232': vr_1.VR.CS, | |
| '300a0234': vr_1.VR.IS, | |
| '300a0236': vr_1.VR.LO, | |
| '300a0238': vr_1.VR.LO, | |
| '300a0240': vr_1.VR.IS, | |
| '300a0242': vr_1.VR.SH, | |
| '300a0244': vr_1.VR.LO, | |
| '300a0250': vr_1.VR.DS, | |
| '300a0260': vr_1.VR.SQ, | |
| '300a0262': vr_1.VR.IS, | |
| '300a0263': vr_1.VR.SH, | |
| '300a0264': vr_1.VR.CS, | |
| '300a0266': vr_1.VR.LO, | |
| '300a026a': vr_1.VR.DS, | |
| '300a026c': vr_1.VR.DS, | |
| '300a0271': vr_1.VR.DS, | |
| '300a0272': vr_1.VR.DS, | |
| '300a0273': vr_1.VR.SH, | |
| '300a0274': vr_1.VR.DS, | |
| '300a0280': vr_1.VR.SQ, | |
| '300a0282': vr_1.VR.IS, | |
| '300a0284': vr_1.VR.DS, | |
| '300a0286': vr_1.VR.DS, | |
| '300a0288': vr_1.VR.CS, | |
| '300a028a': vr_1.VR.IS, | |
| '300a028c': vr_1.VR.DS, | |
| '300a0290': vr_1.VR.IS, | |
| '300a0291': vr_1.VR.SH, | |
| '300a0292': vr_1.VR.CS, | |
| '300a0294': vr_1.VR.LO, | |
| '300a0296': vr_1.VR.DS, | |
| '300a0298': vr_1.VR.LO, | |
| '300a029c': vr_1.VR.DS, | |
| '300a029e': vr_1.VR.DS, | |
| '300a02a0': vr_1.VR.DS, | |
| '300a02a2': vr_1.VR.IS, | |
| '300a02a4': vr_1.VR.DS, | |
| '300a02b0': vr_1.VR.SQ, | |
| '300a02b2': vr_1.VR.IS, | |
| '300a02b3': vr_1.VR.SH, | |
| '300a02b4': vr_1.VR.LO, | |
| '300a02b8': vr_1.VR.DS, | |
| '300a02ba': vr_1.VR.DS, | |
| '300a02c8': vr_1.VR.DS, | |
| '300a02d0': vr_1.VR.SQ, | |
| '300a02d2': vr_1.VR.DS, | |
| '300a02d4': vr_1.VR.DS, | |
| '300a02d6': vr_1.VR.DS, | |
| '300a02e0': vr_1.VR.CS, | |
| '300a02e1': vr_1.VR.CS, | |
| '300a02e2': vr_1.VR.DS, | |
| '300a02e3': vr_1.VR.FL, | |
| '300a02e4': vr_1.VR.FL, | |
| '300a02e5': vr_1.VR.FL, | |
| '300a02e6': vr_1.VR.FL, | |
| '300a02e7': vr_1.VR.FL, | |
| '300a02e8': vr_1.VR.FL, | |
| '300a02ea': vr_1.VR.SQ, | |
| '300a02eb': vr_1.VR.LT, | |
| '300a0302': vr_1.VR.IS, | |
| '300a0304': vr_1.VR.IS, | |
| '300a0306': vr_1.VR.SS, | |
| '300a0308': vr_1.VR.CS, | |
| '300a0309': vr_1.VR.CS, | |
| '300a030a': vr_1.VR.FL, | |
| '300a030c': vr_1.VR.SQ, | |
| '300a030d': vr_1.VR.FL, | |
| '300a030f': vr_1.VR.SH, | |
| '300a0312': vr_1.VR.IS, | |
| '300a0314': vr_1.VR.SQ, | |
| '300a0316': vr_1.VR.IS, | |
| '300a0318': vr_1.VR.SH, | |
| '300a0320': vr_1.VR.CS, | |
| '300a0322': vr_1.VR.LO, | |
| '300a0330': vr_1.VR.IS, | |
| '300a0332': vr_1.VR.SQ, | |
| '300a0334': vr_1.VR.IS, | |
| '300a0336': vr_1.VR.SH, | |
| '300a0338': vr_1.VR.CS, | |
| '300a033a': vr_1.VR.LO, | |
| '300a033c': vr_1.VR.FL, | |
| '300a0340': vr_1.VR.IS, | |
| '300a0342': vr_1.VR.SQ, | |
| '300a0344': vr_1.VR.IS, | |
| '300a0346': vr_1.VR.SH, | |
| '300a0348': vr_1.VR.CS, | |
| '300a034a': vr_1.VR.LO, | |
| '300a034c': vr_1.VR.SH, | |
| '300a0350': vr_1.VR.CS, | |
| '300a0352': vr_1.VR.SH, | |
| '300a0354': vr_1.VR.LO, | |
| '300a0355': vr_1.VR.LO, | |
| '300a0356': vr_1.VR.FL, | |
| '300a0358': vr_1.VR.FL, | |
| '300a035a': vr_1.VR.FL, | |
| '300a0360': vr_1.VR.SQ, | |
| '300a0362': vr_1.VR.LO, | |
| '300a0364': vr_1.VR.FL, | |
| '300a0366': vr_1.VR.FL, | |
| '300a0370': vr_1.VR.SQ, | |
| '300a0372': vr_1.VR.LO, | |
| '300a0374': vr_1.VR.FL, | |
| '300a0380': vr_1.VR.SQ, | |
| '300a0382': vr_1.VR.FL, | |
| '300a0384': vr_1.VR.FL, | |
| '300a0386': vr_1.VR.FL, | |
| '300a0388': vr_1.VR.FL, | |
| '300a038a': vr_1.VR.FL, | |
| '300a038f': vr_1.VR.FL, | |
| '300a0390': vr_1.VR.SH, | |
| '300a0391': vr_1.VR.IS, | |
| '300a0392': vr_1.VR.IS, | |
| '300a0393': vr_1.VR.CS, | |
| '300a0394': vr_1.VR.FL, | |
| '300a0395': vr_1.VR.CS, | |
| '300a0396': vr_1.VR.FL, | |
| '300a0398': vr_1.VR.FL, | |
| '300a039a': vr_1.VR.IS, | |
| '300a03a0': vr_1.VR.SQ, | |
| '300a03a2': vr_1.VR.SQ, | |
| '300a03a4': vr_1.VR.SQ, | |
| '300a03a6': vr_1.VR.SQ, | |
| '300a03a8': vr_1.VR.SQ, | |
| '300a03aa': vr_1.VR.SQ, | |
| '300a03ac': vr_1.VR.SQ, | |
| '300a0401': vr_1.VR.SQ, | |
| '300a0402': vr_1.VR.ST, | |
| '300a0410': vr_1.VR.SQ, | |
| '300a0412': vr_1.VR.FL, | |
| '300a0420': vr_1.VR.SQ, | |
| '300a0421': vr_1.VR.SH, | |
| '300a0422': vr_1.VR.ST, | |
| '300a0423': vr_1.VR.CS, | |
| '300a0424': vr_1.VR.IS, | |
| '300a0425': vr_1.VR.FL, | |
| '300a0431': vr_1.VR.SQ, | |
| '300a0432': vr_1.VR.CS, | |
| '300a0433': vr_1.VR.FL, | |
| '300a0434': vr_1.VR.FL, | |
| '300a0435': vr_1.VR.FL, | |
| '300a0436': vr_1.VR.FL, | |
| '300a0440': vr_1.VR.IS, | |
| '300a0441': vr_1.VR.SQ, | |
| '300a0442': vr_1.VR.DS, | |
| '300a0443': vr_1.VR.US, | |
| '300a0450': vr_1.VR.SQ, | |
| '300a0451': vr_1.VR.CS, | |
| '300a0452': vr_1.VR.CS, | |
| '300a0453': vr_1.VR.SQ, | |
| '300a0501': vr_1.VR.FL, | |
| '300a0502': vr_1.VR.FL, | |
| '300a0503': vr_1.VR.FL, | |
| '300a0504': vr_1.VR.FL, | |
| '300a0505': vr_1.VR.SQ, | |
| '300a0506': vr_1.VR.SQ, | |
| '300a0507': vr_1.VR.FL, | |
| '300a0508': vr_1.VR.FL, | |
| '300a0509': vr_1.VR.FL, | |
| '300a0510': vr_1.VR.FL, | |
| '300a0511': vr_1.VR.CS, | |
| '300a0512': vr_1.VR.CS, | |
| '300c0002': vr_1.VR.SQ, | |
| '300c0004': vr_1.VR.SQ, | |
| '300c0006': vr_1.VR.IS, | |
| '300c0007': vr_1.VR.IS, | |
| '300c0008': vr_1.VR.DS, | |
| '300c0009': vr_1.VR.DS, | |
| '300c000a': vr_1.VR.SQ, | |
| '300c000c': vr_1.VR.IS, | |
| '300c000e': vr_1.VR.IS, | |
| '300c0020': vr_1.VR.SQ, | |
| '300c0022': vr_1.VR.IS, | |
| '300c0040': vr_1.VR.SQ, | |
| '300c0042': vr_1.VR.SQ, | |
| '300c0050': vr_1.VR.SQ, | |
| '300c0051': vr_1.VR.IS, | |
| '300c0055': vr_1.VR.SQ, | |
| '300c0060': vr_1.VR.SQ, | |
| '300c006a': vr_1.VR.IS, | |
| '300c0080': vr_1.VR.SQ, | |
| '300c00a0': vr_1.VR.IS, | |
| '300c00b0': vr_1.VR.SQ, | |
| '300c00c0': vr_1.VR.IS, | |
| '300c00d0': vr_1.VR.IS, | |
| '300c00e0': vr_1.VR.IS, | |
| '300c00f0': vr_1.VR.IS, | |
| '300c00f2': vr_1.VR.SQ, | |
| '300c00f4': vr_1.VR.IS, | |
| '300c00f6': vr_1.VR.IS, | |
| '300c0100': vr_1.VR.IS, | |
| '300c0102': vr_1.VR.IS, | |
| '300c0104': vr_1.VR.IS, | |
| '300c0111': vr_1.VR.SQ, | |
| '300c0112': vr_1.VR.CS, | |
| '300c0113': vr_1.VR.LO, | |
| '300e0002': vr_1.VR.CS, | |
| '300e0004': vr_1.VR.DA, | |
| '300e0005': vr_1.VR.TM, | |
| '300e0008': vr_1.VR.PN, | |
| '40000010': vr_1.VR.LT, | |
| '40004000': vr_1.VR.LT, | |
| '40080040': vr_1.VR.SH, | |
| '40080042': vr_1.VR.LO, | |
| '40080050': vr_1.VR.SQ, | |
| '400800ff': vr_1.VR.CS, | |
| '40080100': vr_1.VR.DA, | |
| '40080101': vr_1.VR.TM, | |
| '40080102': vr_1.VR.PN, | |
| '40080103': vr_1.VR.LO, | |
| '40080108': vr_1.VR.DA, | |
| '40080109': vr_1.VR.TM, | |
| '4008010a': vr_1.VR.PN, | |
| '4008010b': vr_1.VR.ST, | |
| '4008010c': vr_1.VR.PN, | |
| '40080111': vr_1.VR.SQ, | |
| '40080112': vr_1.VR.DA, | |
| '40080113': vr_1.VR.TM, | |
| '40080114': vr_1.VR.PN, | |
| '40080115': vr_1.VR.LT, | |
| '40080117': vr_1.VR.SQ, | |
| '40080118': vr_1.VR.SQ, | |
| '40080119': vr_1.VR.PN, | |
| '4008011a': vr_1.VR.LO, | |
| '40080200': vr_1.VR.SH, | |
| '40080202': vr_1.VR.LO, | |
| '40080210': vr_1.VR.CS, | |
| '40080212': vr_1.VR.CS, | |
| '40080300': vr_1.VR.ST, | |
| '40084000': vr_1.VR.ST, | |
| '40100001': vr_1.VR.CS, | |
| '40100002': vr_1.VR.CS, | |
| '40100004': vr_1.VR.SQ, | |
| '40101001': vr_1.VR.SQ, | |
| '40101004': vr_1.VR.FL, | |
| '40101005': vr_1.VR.FL, | |
| '40101006': vr_1.VR.OB, | |
| '40101007': vr_1.VR.SH, | |
| '40101008': vr_1.VR.CS, | |
| '40101009': vr_1.VR.CS, | |
| '4010100a': vr_1.VR.SQ, | |
| '40101010': vr_1.VR.US, | |
| '40101011': vr_1.VR.SQ, | |
| '40101012': vr_1.VR.CS, | |
| '40101013': vr_1.VR.LT, | |
| '40101014': vr_1.VR.CS, | |
| '40101015': vr_1.VR.CS, | |
| '40101016': vr_1.VR.FL, | |
| '40101017': vr_1.VR.FL, | |
| '40101018': vr_1.VR.FL, | |
| '40101019': vr_1.VR.FL, | |
| '4010101a': vr_1.VR.SH, | |
| '4010101b': vr_1.VR.FL, | |
| '4010101c': vr_1.VR.FL, | |
| '4010101d': vr_1.VR.FL, | |
| '4010101e': vr_1.VR.SH, | |
| '4010101f': vr_1.VR.SH, | |
| '40101020': vr_1.VR.CS, | |
| '40101021': vr_1.VR.CS, | |
| '40101023': vr_1.VR.FL, | |
| '40101024': vr_1.VR.CS, | |
| '40101025': vr_1.VR.DT, | |
| '40101026': vr_1.VR.DT, | |
| '40101027': vr_1.VR.CS, | |
| '40101028': vr_1.VR.CS, | |
| '40101029': vr_1.VR.LO, | |
| '4010102a': vr_1.VR.SH, | |
| '4010102b': vr_1.VR.DT, | |
| '40101031': vr_1.VR.CS, | |
| '40101033': vr_1.VR.US, | |
| '40101034': vr_1.VR.US, | |
| '40101037': vr_1.VR.SQ, | |
| '40101038': vr_1.VR.SQ, | |
| '40101039': vr_1.VR.CS, | |
| '4010103a': vr_1.VR.CS, | |
| '40101041': vr_1.VR.DT, | |
| '40101042': vr_1.VR.CS, | |
| '40101043': vr_1.VR.FL, | |
| '40101044': vr_1.VR.CS, | |
| '40101045': vr_1.VR.SQ, | |
| '40101046': vr_1.VR.CS, | |
| '40101047': vr_1.VR.SQ, | |
| '40101048': vr_1.VR.CS, | |
| '40101051': vr_1.VR.LO, | |
| '40101052': vr_1.VR.SH, | |
| '40101053': vr_1.VR.LO, | |
| '40101054': vr_1.VR.SH, | |
| '40101055': vr_1.VR.SH, | |
| '40101056': vr_1.VR.CS, | |
| '40101058': vr_1.VR.SH, | |
| '40101059': vr_1.VR.CS, | |
| '40101060': vr_1.VR.FL, | |
| '40101061': vr_1.VR.FL, | |
| '40101062': vr_1.VR.FL, | |
| '40101064': vr_1.VR.SQ, | |
| '40101067': vr_1.VR.CS, | |
| '40101068': vr_1.VR.LT, | |
| '40101069': vr_1.VR.FL, | |
| '4010106c': vr_1.VR.OB, | |
| '4010106d': vr_1.VR.CS, | |
| '4010106e': vr_1.VR.CS, | |
| '4010106f': vr_1.VR.SQ, | |
| '40101070': vr_1.VR.CS, | |
| '40101071': vr_1.VR.SQ, | |
| '40101072': vr_1.VR.SQ, | |
| '40101073': vr_1.VR.FD, | |
| '40101075': vr_1.VR.DS, | |
| '40101076': vr_1.VR.SQ, | |
| '40101077': vr_1.VR.SQ, | |
| '40101078': vr_1.VR.ST, | |
| '40101079': vr_1.VR.SQ, | |
| '4010107a': vr_1.VR.FL, | |
| '4010107b': vr_1.VR.SQ, | |
| '4010107c': vr_1.VR.CS, | |
| '4010107d': vr_1.VR.SQ, | |
| '4010107e': vr_1.VR.DS, | |
| '4ffe0001': vr_1.VR.SQ, | |
| '50000005': vr_1.VR.US, | |
| '50000010': vr_1.VR.US, | |
| '50000020': vr_1.VR.CS, | |
| '50000022': vr_1.VR.LO, | |
| '50000030': vr_1.VR.SH, | |
| '50000040': vr_1.VR.SH, | |
| '50000103': vr_1.VR.US, | |
| '50000104': vr_1.VR.US, | |
| '50000105': vr_1.VR.US, | |
| '50000106': vr_1.VR.SH, | |
| '50000110': vr_1.VR.US, | |
| '50000112': vr_1.VR.US, | |
| '50000114': vr_1.VR.US, | |
| '50001001': vr_1.VR.CS, | |
| '50002000': vr_1.VR.US, | |
| '50002002': vr_1.VR.US, | |
| '50002004': vr_1.VR.US, | |
| '50002006': vr_1.VR.UL, | |
| '50002008': vr_1.VR.UL, | |
| '5000200a': vr_1.VR.UL, | |
| '5000200c': vr_1.VR.OW, | |
| '5000200e': vr_1.VR.LT, | |
| '50002500': vr_1.VR.LO, | |
| '50002600': vr_1.VR.SQ, | |
| '50002610': vr_1.VR.US, | |
| '50003000': vr_1.VR.OW, | |
| '52009229': vr_1.VR.SQ, | |
| '52009230': vr_1.VR.SQ, | |
| '54000100': vr_1.VR.SQ, | |
| '54000110': vr_1.VR.OW, | |
| '54000112': vr_1.VR.OW, | |
| '54001004': vr_1.VR.US, | |
| '54001006': vr_1.VR.CS, | |
| '5400100a': vr_1.VR.OW, | |
| '54001010': vr_1.VR.OW, | |
| '56000010': vr_1.VR.OF, | |
| '56000020': vr_1.VR.OF, | |
| '60000010': vr_1.VR.US, | |
| '60000011': vr_1.VR.US, | |
| '60000012': vr_1.VR.US, | |
| '60000015': vr_1.VR.IS, | |
| '60000022': vr_1.VR.LO, | |
| '60000040': vr_1.VR.CS, | |
| '60000045': vr_1.VR.LO, | |
| '60000050': vr_1.VR.SS, | |
| '60000051': vr_1.VR.US, | |
| '60000052': vr_1.VR.US, | |
| '60000060': vr_1.VR.CS, | |
| '60000061': vr_1.VR.SH, | |
| '60000062': vr_1.VR.SH, | |
| '60000063': vr_1.VR.CS, | |
| '60000066': vr_1.VR.AT, | |
| '60000068': vr_1.VR.US, | |
| '60000069': vr_1.VR.US, | |
| '60000100': vr_1.VR.US, | |
| '60000102': vr_1.VR.US, | |
| '60000110': vr_1.VR.CS, | |
| '60000200': vr_1.VR.US, | |
| '60000800': vr_1.VR.CS, | |
| '60000802': vr_1.VR.US, | |
| '60000803': vr_1.VR.AT, | |
| '60000804': vr_1.VR.US, | |
| '60001001': vr_1.VR.CS, | |
| '60001100': vr_1.VR.US, | |
| '60001101': vr_1.VR.US, | |
| '60001102': vr_1.VR.US, | |
| '60001103': vr_1.VR.US, | |
| '60001200': vr_1.VR.US, | |
| '60001201': vr_1.VR.US, | |
| '60001202': vr_1.VR.US, | |
| '60001203': vr_1.VR.US, | |
| '60001301': vr_1.VR.IS, | |
| '60001302': vr_1.VR.DS, | |
| '60001303': vr_1.VR.DS, | |
| '60001500': vr_1.VR.LO, | |
| '60003000': vr_1.VR.OW, | |
| '60004000': vr_1.VR.LT, | |
| '7f000010': vr_1.VR.OW, | |
| '7f000011': vr_1.VR.US, | |
| '7f000020': vr_1.VR.OW, | |
| '7f000030': vr_1.VR.OW, | |
| '7f000040': vr_1.VR.OW, | |
| '7fe00008': vr_1.VR.OF, | |
| '7fe00009': vr_1.VR.OD, | |
| '7fe00010': vr_1.VR.OW, | |
| '7fe00020': vr_1.VR.OW, | |
| '7fe00030': vr_1.VR.OW, | |
| '7fe00040': vr_1.VR.OW, | |
| fffafffa: vr_1.VR.SQ, | |
| fffcfffc: vr_1.VR.OB, | |
| }; | |
| exports.TagToVR = TagToVR; | |
| /***/ }), | |
| /***/ "./src/tag-tree.ts": | |
| /*!*************************!*\ | |
| !*** ./src/tag-tree.ts ***! | |
| \*************************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.TagTreeItem = exports.TagTreeAnyItem = exports.TagTreeTag = exports.emptyTagTree = exports.TagTreeTrunk = exports.TagTree = void 0; | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const lookup_1 = __webpack_require__(/*! ./lookup */ "./src/lookup.ts"); | |
| const tag_path_1 = __webpack_require__(/*! ./tag-path */ "./src/tag-path.ts"); | |
| const tag_path_like_1 = __webpack_require__(/*! ./tag-path-like */ "./src/tag-path-like.ts"); | |
| class TagTree extends tag_path_like_1.TagPathLike { | |
| static fromTag(tag) { | |
| return exports.emptyTagTree.thenTag(tag); | |
| } | |
| static fromAnyItem(tag) { | |
| return exports.emptyTagTree.thenAnyItem(tag); | |
| } | |
| static fromItem(tag, item) { | |
| return exports.emptyTagTree.thenItem(tag, item); | |
| } | |
| static fromPath(tagPath) { | |
| let root; | |
| const p = tagPath.head(); | |
| if (p instanceof tag_path_1.TagPathTag) { | |
| root = TagTree.fromTag(p.tag()); | |
| } | |
| else if (p instanceof tag_path_1.TagPathItem) { | |
| root = TagTree.fromItem(p.tag(), p.item); | |
| } | |
| else if (p instanceof tag_path_1.TagPathItemEnd) { | |
| root = TagTree.fromItem(p.tag(), p.item); | |
| } | |
| else if (p instanceof tag_path_1.TagPathSequence) { | |
| root = TagTree.fromAnyItem(p.tag()); | |
| } | |
| else if (p instanceof tag_path_1.TagPathSequenceEnd) { | |
| root = TagTree.fromAnyItem(p.tag()); | |
| } | |
| else { | |
| root = exports.emptyTagTree; | |
| } | |
| return tagPath | |
| .drop(1) | |
| .toList() | |
| .reduce((t, p1) => { | |
| if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathTag) { | |
| return t.thenTag(p1.tag()); | |
| } | |
| if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathItem) { | |
| return t.thenItem(p1.tag(), p1.item); | |
| } | |
| if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathItemEnd) { | |
| return t.thenItem(p1.tag(), p1.item); | |
| } | |
| if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathSequence) { | |
| return t.thenAnyItem(p1.tag()); | |
| } | |
| if (t instanceof TagTreeTrunk && p1 instanceof tag_path_1.TagPathSequenceEnd) { | |
| return t.thenAnyItem(p1.tag()); | |
| } | |
| return t; | |
| }, root); | |
| } | |
| static parse(str) { | |
| const isSeq = (s) => s[s.length - 1] === ']'; | |
| const indexPart = (s) => s.substring(s.lastIndexOf('[') + 1, s.length - 1); | |
| const tagPart = (s) => s.substring(0, s.indexOf('[')); | |
| const parseTag = (s) => { | |
| const tag = lookup_1.Lookup.tagOf(s); | |
| if (!tag) { | |
| if (s.length === 11 && s[0] === '(' && s[5] === ',' && s[10] === ')') { | |
| const i = parseInt(s.substring(1, 5) + s.substring(6, 10), 16); | |
| if (!isNaN(i)) { | |
| return i; | |
| } | |
| } | |
| throw Error(s + ' is not a tag or name string'); | |
| } | |
| return tag; | |
| }; | |
| const parseIndex = (s) => { | |
| if (s === '*') { | |
| return undefined; | |
| } | |
| const i = parseInt(s, 10); | |
| if (isNaN(i)) { | |
| throw Error(s + ' is not a number'); | |
| } | |
| return i; | |
| }; | |
| const createTag = (s) => TagTree.fromTag(parseTag(s)); | |
| const addTag = (s, path) => path.thenTag(parseTag(s)); | |
| const createSeq = (s) => { | |
| const tag = parseTag(tagPart(s)); | |
| const index = parseIndex(indexPart(s)); | |
| return index === undefined ? TagTree.fromAnyItem(tag) : TagTree.fromItem(tag, index); | |
| }; | |
| const addSeq = (s, path) => { | |
| const tag = parseTag(tagPart(s)); | |
| const index = parseIndex(indexPart(s)); | |
| return index === undefined ? path.thenAnyItem(tag) : path.thenItem(tag, index); | |
| }; | |
| const tags = str.indexOf('.') > 0 ? str.split('.') : [str]; | |
| const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any | |
| const lastTag = tags[tags.length - 1]; // tag or sequence | |
| try { | |
| const first = seqTags.length > 0 ? seqTags[0] : undefined; | |
| if (first) { | |
| const tree = seqTags | |
| .slice(1, seqTags.length) | |
| .reduce((tr, tag) => addSeq(tag, tr), createSeq(first)); | |
| if (tree !== undefined) { | |
| return isSeq(lastTag) ? addSeq(lastTag, tree) : addTag(lastTag, tree); | |
| } | |
| return isSeq(lastTag) ? createSeq(lastTag) : createTag(lastTag); | |
| } | |
| return createTag(lastTag); | |
| } | |
| catch (error) { | |
| throw Error('Tag tree could not be parsed: ' + error.message); | |
| } | |
| } | |
| constructor(tag, previous) { | |
| super(); | |
| this.tagVal = tag; | |
| this.previousVal = previous; | |
| } | |
| tag() { | |
| return this.tagVal; | |
| } | |
| previous() { | |
| return this.previousVal; | |
| } | |
| isEmpty() { | |
| return this === exports.emptyTagTree; | |
| } | |
| isEqualTo(that) { | |
| if (this.isEmpty() && that.isEmpty()) { | |
| return true; | |
| } | |
| if (this instanceof TagTreeTag && that instanceof TagTreeTag) { | |
| return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagTreeItem && that instanceof TagTreeItem) { | |
| return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous()); | |
| } | |
| if (this instanceof TagTreeAnyItem && that instanceof TagTreeAnyItem) { | |
| return this.tag() === that.tag() && this.previous().isEqualTo(that.previous()); | |
| } | |
| return false; | |
| } | |
| isPath() { | |
| if (this.isEmpty()) { | |
| return true; | |
| } | |
| if (this instanceof TagTreeAnyItem) { | |
| return false; | |
| } | |
| return this.previous().isPath(); | |
| } | |
| hasPath(tagPath) { | |
| if (this.isEmpty() && tagPath.isEmpty()) { | |
| return true; | |
| } | |
| if (this instanceof TagTreeTag && tagPath instanceof tag_path_1.TagPathTag) { | |
| return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
| } | |
| if (this instanceof TagTreeItem && 'item' in tagPath) { | |
| return (this.item === tagPath.item && | |
| this.tag() === tagPath.tag() && | |
| this.previous().hasPath(tagPath.previous())); | |
| } | |
| if (this instanceof TagTreeAnyItem && 'item' in tagPath) { | |
| return (this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous())); | |
| } | |
| if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequence) { | |
| return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
| } | |
| if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequenceEnd) { | |
| return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous()); | |
| } | |
| return false; | |
| } | |
| hasTrunk(tagPath) { | |
| if (this.depth() >= tagPath.depth()) { | |
| const thisList = this.toList(); | |
| const thatList = tagPath.toList(); | |
| for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
| const t = thisList[i]; | |
| const p = thatList[i]; | |
| let check = false; | |
| if (p.isEmpty()) { | |
| check = true; | |
| } | |
| else if (t instanceof TagTreeItem && 'item' in p) { | |
| check = t.tag() === p.tag() && t.item === p.item; | |
| } | |
| else if (t instanceof TagTreeItem && p instanceof tag_path_1.TagPathSequence) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeAnyItem && p.item !== undefined) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequence) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeTag && p instanceof tag_path_1.TagPathTag) { | |
| check = t.tag() === p.tag(); | |
| } | |
| if (!check) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| else { | |
| return false; | |
| } | |
| } | |
| isTrunkOf(tagPath) { | |
| if (this.depth() <= tagPath.depth()) { | |
| const thisList = this.toList(); | |
| const thatList = tagPath.toList(); | |
| for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) { | |
| const t = thisList[i]; | |
| const p = thatList[i]; | |
| let check = false; | |
| if (p.isEmpty()) { | |
| check = true; | |
| } | |
| else if (t instanceof TagTreeItem && 'item' in p) { | |
| check = t.tag() === p.tag() && t.item === p.item; | |
| } | |
| else if (t instanceof TagTreeAnyItem && 'item' in p) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequence) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeAnyItem && p instanceof tag_path_1.TagPathSequenceEnd) { | |
| check = t.tag() === p.tag(); | |
| } | |
| else if (t instanceof TagTreeTag && p instanceof tag_path_1.TagPathTag) { | |
| check = t.tag() === p.tag(); | |
| } | |
| if (!check) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| else { | |
| return false; | |
| } | |
| } | |
| hasTwig(tagPath) { | |
| let check = false; | |
| if (this.isEmpty() && tagPath.isEmpty()) { | |
| check = true; | |
| } | |
| else if (this instanceof TagTreeAnyItem && 'item' in tagPath) { | |
| check = this.tag() === tagPath.tag(); | |
| } | |
| else if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequence) { | |
| check = this.tag() === tagPath.tag(); | |
| } | |
| else if (this instanceof TagTreeAnyItem && tagPath instanceof tag_path_1.TagPathSequenceEnd) { | |
| check = this.tag() === tagPath.tag(); | |
| } | |
| else if (this instanceof TagTreeItem && 'item' in tagPath) { | |
| check = this.tag() === tagPath.tag() && this.item === tagPath.item; | |
| } | |
| else if (this instanceof TagTreeTag && tagPath instanceof tag_path_1.TagPathTag) { | |
| check = this.tag() === tagPath.tag(); | |
| } | |
| if (tagPath.previous().isEmpty()) { | |
| return check; | |
| } | |
| else if (this.previous().isEmpty()) { | |
| return false; | |
| } | |
| return check && this.previous().hasTwig(tagPath.previous()); | |
| } | |
| drop(n) { | |
| const dropRec = (tree, i) => { | |
| if (i < 0) { | |
| return exports.emptyTagTree; | |
| } | |
| if (i === 0) { | |
| if (tree.isEmpty()) { | |
| return exports.emptyTagTree; | |
| } | |
| if (tree instanceof TagTreeItem) { | |
| return TagTree.fromItem(tree.tag(), tree.item); | |
| } | |
| if (tree instanceof TagTreeAnyItem) { | |
| return TagTree.fromAnyItem(tree.tag()); | |
| } | |
| return TagTree.fromTag(tree.tag()); | |
| } | |
| const t = dropRec(tree.previous(), i - 1); | |
| if (tree instanceof TagTreeItem) { | |
| return t.thenItem(tree.tag(), tree.item); | |
| } | |
| if (tree instanceof TagTreeAnyItem) { | |
| return t.thenAnyItem(tree.tag()); | |
| } | |
| if (tree instanceof TagTreeTag) { | |
| return t.thenTag(tree.tag()); | |
| } | |
| return exports.emptyTagTree; | |
| }; | |
| return dropRec(this, this.depth() - n - 1); | |
| } | |
| toNamedString(lookup) { | |
| const toTagString = (tag) => { | |
| if (lookup) { | |
| const keyword = lookup_1.Lookup.keywordOf(tag); | |
| if (keyword) { | |
| return keyword; | |
| } | |
| } | |
| return (0, base_1.tagToString)(tag); | |
| }; | |
| const toTagTreeString = (tree, tail) => { | |
| const itemIndexSuffix = tree instanceof TagTreeAnyItem ? '[*]' : 'item' in tree ? '[' + tree.item + ']' : ''; | |
| const head = toTagString(tree.tag()) + itemIndexSuffix; | |
| const part = head + tail; | |
| return tree.isRoot() ? part : toTagTreeString(tree.previous(), '.' + part); | |
| }; | |
| return this.isEmpty() ? '<empty tree>' : toTagTreeString(this, ''); | |
| } | |
| } | |
| exports.TagTree = TagTree; | |
| class TagTreeTrunk extends TagTree { | |
| thenTag(tag) { | |
| return new TagTreeTag(tag, this); | |
| } | |
| thenAnyItem(tag) { | |
| return new TagTreeAnyItem(tag, this); | |
| } | |
| thenItem(tag, item) { | |
| return new TagTreeItem(tag, item, this); | |
| } | |
| } | |
| exports.TagTreeTrunk = TagTreeTrunk; | |
| class EmptyTagTree extends TagTreeTrunk { | |
| tag() { | |
| throw Error('Empty tag tree'); | |
| } | |
| previous() { | |
| return exports.emptyTagTree; | |
| } | |
| } | |
| exports.emptyTagTree = new EmptyTagTree(-1, null); | |
| class TagTreeTag extends TagTree { | |
| constructor(tag, previous) { | |
| super(tag, previous); | |
| } | |
| } | |
| exports.TagTreeTag = TagTreeTag; | |
| class TagTreeAnyItem extends TagTreeTrunk { | |
| constructor(tag, previous) { | |
| super(tag, previous); | |
| } | |
| } | |
| exports.TagTreeAnyItem = TagTreeAnyItem; | |
| class TagTreeItem extends TagTreeTrunk { | |
| constructor(tag, item, previous) { | |
| super(tag, previous); | |
| this.item = item; | |
| } | |
| } | |
| exports.TagTreeItem = TagTreeItem; | |
| /***/ }), | |
| /***/ "./src/tag.ts": | |
| /*!********************!*\ | |
| !*** ./src/tag.ts ***! | |
| \********************/ | |
| /***/ ((__unused_webpack_module, exports) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.Tag = void 0; | |
| exports.Tag = { | |
| // command elements | |
| CommandGroupLength: 0x00000000, | |
| AffectedSOPClassUID: 0x00000002, | |
| RequestedSOPClassUID: 0x00000003, | |
| CommandField: 0x00000100, | |
| MessageID: 0x00000110, | |
| MessageIDBeingRespondedTo: 0x00000120, | |
| MoveDestination: 0x00000600, | |
| Priority: 0x00000700, | |
| CommandDataSetType: 0x00000800, | |
| Status: 0x00000900, | |
| OffendingElement: 0x00000901, | |
| ErrorComment: 0x00000902, | |
| ErrorID: 0x00000903, | |
| AffectedSOPInstanceUID: 0x00001000, | |
| RequestedSOPInstanceUID: 0x00001001, | |
| EventTypeID: 0x00001002, | |
| AttributeIdentifierList: 0x00001005, | |
| ActionTypeID: 0x00001008, | |
| NumberOfRemainingSuboperations: 0x00001020, | |
| NumberOfCompletedSuboperations: 0x00001021, | |
| NumberOfFailedSuboperations: 0x00001022, | |
| NumberOfWarningSuboperations: 0x00001023, | |
| MoveOriginatorApplicationEntityTitle: 0x00001030, | |
| MoveOriginatorMessageID: 0x00001031, | |
| // file meta elements | |
| FileMetaInformationGroupLength: 0x00020000, | |
| FileMetaInformationVersion: 0x00020001, | |
| MediaStorageSOPClassUID: 0x00020002, | |
| MediaStorageSOPInstanceUID: 0x00020003, | |
| TransferSyntaxUID: 0x00020010, | |
| ImplementationClassUID: 0x00020012, | |
| ImplementationVersionName: 0x00020013, | |
| SourceApplicationEntityTitle: 0x00020016, | |
| SendingApplicationEntityTitle: 0x00020017, | |
| ReceivingApplicationEntityTitle: 0x00020018, | |
| PrivateInformationCreatorUID: 0x00020100, | |
| PrivateInformation: 0x00020102, | |
| // directory elements | |
| FileSetID: 0x00041130, | |
| FileSetDescriptorFileID: 0x00041141, | |
| SpecificCharacterSetOfFileSetDescriptorFile: 0x00041142, | |
| OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity: 0x00041200, | |
| OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity: 0x00041202, | |
| FileSetConsistencyFlag: 0x00041212, | |
| DirectoryRecordSequence: 0x00041220, | |
| OffsetOfTheNextDirectoryRecord: 0x00041400, | |
| RecordInUseFlag: 0x00041410, | |
| OffsetOfReferencedLowerLevelDirectoryEntity: 0x00041420, | |
| DirectoryRecordType: 0x00041430, | |
| PrivateRecordUID: 0x00041432, | |
| ReferencedFileID: 0x00041500, | |
| MRDRDirectoryRecordOffset: 0x00041504, | |
| ReferencedSOPClassUIDInFile: 0x00041510, | |
| ReferencedSOPInstanceUIDInFile: 0x00041511, | |
| ReferencedTransferSyntaxUIDInFile: 0x00041512, | |
| ReferencedRelatedGeneralSOPClassUIDInFile: 0x0004151a, | |
| NumberOfReferences: 0x00041600, | |
| // data elements | |
| LengthToEnd: 0x00080001, | |
| SpecificCharacterSet: 0x00080005, | |
| LanguageCodeSequence: 0x00080006, | |
| ImageType: 0x00080008, | |
| RecognitionCode: 0x00080010, | |
| InstanceCreationDate: 0x00080012, | |
| InstanceCreationTime: 0x00080013, | |
| InstanceCreatorUID: 0x00080014, | |
| InstanceCoercionDateTime: 0x00080015, | |
| SOPClassUID: 0x00080016, | |
| SOPInstanceUID: 0x00080018, | |
| RelatedGeneralSOPClassUID: 0x0008001a, | |
| OriginalSpecializedSOPClassUID: 0x0008001b, | |
| StudyDate: 0x00080020, | |
| SeriesDate: 0x00080021, | |
| AcquisitionDate: 0x00080022, | |
| ContentDate: 0x00080023, | |
| OverlayDate: 0x00080024, | |
| CurveDate: 0x00080025, | |
| AcquisitionDateTime: 0x0008002a, | |
| StudyTime: 0x00080030, | |
| SeriesTime: 0x00080031, | |
| AcquisitionTime: 0x00080032, | |
| ContentTime: 0x00080033, | |
| OverlayTime: 0x00080034, | |
| CurveTime: 0x00080035, | |
| DataSetType: 0x00080040, | |
| DataSetSubtype: 0x00080041, | |
| NuclearMedicineSeriesType: 0x00080042, | |
| AccessionNumber: 0x00080050, | |
| IssuerOfAccessionNumberSequence: 0x00080051, | |
| QueryRetrieveLevel: 0x00080052, | |
| QueryRetrieveView: 0x00080053, | |
| RetrieveAETitle: 0x00080054, | |
| StationAETitle: 0x00080055, | |
| InstanceAvailability: 0x00080056, | |
| FailedSOPInstanceUIDList: 0x00080058, | |
| Modality: 0x00080060, | |
| ModalitiesInStudy: 0x00080061, | |
| SOPClassesInStudy: 0x00080062, | |
| AnatomicRegionsInStudyCodeSequence: 0x00080063, | |
| ConversionType: 0x00080064, | |
| PresentationIntentType: 0x00080068, | |
| Manufacturer: 0x00080070, | |
| InstitutionName: 0x00080080, | |
| InstitutionAddress: 0x00080081, | |
| InstitutionCodeSequence: 0x00080082, | |
| ReferringPhysicianName: 0x00080090, | |
| ReferringPhysicianAddress: 0x00080092, | |
| ReferringPhysicianTelephoneNumbers: 0x00080094, | |
| ReferringPhysicianIdentificationSequence: 0x00080096, | |
| ConsultingPhysicianName: 0x0008009c, | |
| ConsultingPhysicianIdentificationSequence: 0x0008009d, | |
| CodeValue: 0x00080100, | |
| ExtendedCodeValue: 0x00080101, | |
| CodingSchemeDesignator: 0x00080102, | |
| CodingSchemeVersion: 0x00080103, | |
| CodeMeaning: 0x00080104, | |
| MappingResource: 0x00080105, | |
| ContextGroupVersion: 0x00080106, | |
| ContextGroupLocalVersion: 0x00080107, | |
| ExtendedCodeMeaning: 0x00080108, | |
| CodingSchemeResourcesSequence: 0x00080109, | |
| CodingSchemeURLType: 0x0008010a, | |
| ContextGroupExtensionFlag: 0x0008010b, | |
| CodingSchemeUID: 0x0008010c, | |
| ContextGroupExtensionCreatorUID: 0x0008010d, | |
| CodingSchemeURL: 0x0008010e, | |
| ContextIdentifier: 0x0008010f, | |
| CodingSchemeIdentificationSequence: 0x00080110, | |
| CodingSchemeRegistry: 0x00080112, | |
| CodingSchemeExternalID: 0x00080114, | |
| CodingSchemeName: 0x00080115, | |
| CodingSchemeResponsibleOrganization: 0x00080116, | |
| ContextUID: 0x00080117, | |
| MappingResourceUID: 0x00080118, | |
| LongCodeValue: 0x00080119, | |
| URNCodeValue: 0x00080120, | |
| EquivalentCodeSequence: 0x00080121, | |
| MappingResourceName: 0x00080122, | |
| ContextGroupIdentificationSequence: 0x00080123, | |
| MappingResourceIdentificationSequence: 0x00080124, | |
| TimezoneOffsetFromUTC: 0x00080201, | |
| ResponsibleGroupCodeSequence: 0x00080220, | |
| EquipmentModality: 0x00080221, | |
| ManufacturerRelatedModelGroup: 0x00080222, | |
| PrivateDataElementCharacteristicsSequence: 0x00080300, | |
| PrivateGroupReference: 0x00080301, | |
| PrivateCreatorReference: 0x00080302, | |
| BlockIdentifyingInformationStatus: 0x00080303, | |
| NonidentifyingPrivateElements: 0x00080304, | |
| IdentifyingPrivateElements: 0x00080306, | |
| DeidentificationActionSequence: 0x00080305, | |
| DeidentificationAction: 0x00080307, | |
| PrivateDataElement: 0x00080308, | |
| PrivateDataElementValueMultiplicity: 0x00080309, | |
| PrivateDataElementValueRepresentation: 0x0008030a, | |
| PrivateDataElementNumberOfItems: 0x0008030b, | |
| PrivateDataElementName: 0x0008030c, | |
| PrivateDataElementKeyword: 0x0008030d, | |
| PrivateDataElementDescription: 0x0008030e, | |
| PrivateDataElementEncoding: 0x0008030f, | |
| PrivateDataElementDefinitionSequence: 0x00080310, | |
| NetworkID: 0x00081000, | |
| StationName: 0x00081010, | |
| StudyDescription: 0x00081030, | |
| ProcedureCodeSequence: 0x00081032, | |
| SeriesDescription: 0x0008103e, | |
| SeriesDescriptionCodeSequence: 0x0008103f, | |
| InstitutionalDepartmentName: 0x00081040, | |
| PhysiciansOfRecord: 0x00081048, | |
| PhysiciansOfRecordIdentificationSequence: 0x00081049, | |
| PerformingPhysicianName: 0x00081050, | |
| PerformingPhysicianIdentificationSequence: 0x00081052, | |
| NameOfPhysiciansReadingStudy: 0x00081060, | |
| PhysiciansReadingStudyIdentificationSequence: 0x00081062, | |
| OperatorsName: 0x00081070, | |
| OperatorIdentificationSequence: 0x00081072, | |
| AdmittingDiagnosesDescription: 0x00081080, | |
| AdmittingDiagnosesCodeSequence: 0x00081084, | |
| ManufacturerModelName: 0x00081090, | |
| ReferencedResultsSequence: 0x00081100, | |
| ReferencedStudySequence: 0x00081110, | |
| ReferencedPerformedProcedureStepSequence: 0x00081111, | |
| ReferencedSeriesSequence: 0x00081115, | |
| ReferencedPatientSequence: 0x00081120, | |
| ReferencedVisitSequence: 0x00081125, | |
| ReferencedOverlaySequence: 0x00081130, | |
| ReferencedStereometricInstanceSequence: 0x00081134, | |
| ReferencedWaveformSequence: 0x0008113a, | |
| ReferencedImageSequence: 0x00081140, | |
| ReferencedCurveSequence: 0x00081145, | |
| ReferencedInstanceSequence: 0x0008114a, | |
| ReferencedRealWorldValueMappingInstanceSequence: 0x0008114b, | |
| ReferencedSOPClassUID: 0x00081150, | |
| ReferencedSOPInstanceUID: 0x00081155, | |
| DefinitionSourceSequence: 0x00081156, | |
| SOPClassesSupported: 0x0008115a, | |
| ReferencedFrameNumber: 0x00081160, | |
| SimpleFrameList: 0x00081161, | |
| CalculatedFrameList: 0x00081162, | |
| TimeRange: 0x00081163, | |
| FrameExtractionSequence: 0x00081164, | |
| MultiFrameSourceSOPInstanceUID: 0x00081167, | |
| RetrieveURL: 0x00081190, | |
| TransactionUID: 0x00081195, | |
| WarningReason: 0x00081196, | |
| FailureReason: 0x00081197, | |
| FailedSOPSequence: 0x00081198, | |
| ReferencedSOPSequence: 0x00081199, | |
| OtherFailuresSequence: 0x0008119a, | |
| StudiesContainingOtherReferencedInstancesSequence: 0x00081200, | |
| RelatedSeriesSequence: 0x00081250, | |
| LossyImageCompressionRetired: 0x00082110, | |
| DerivationDescription: 0x00082111, | |
| SourceImageSequence: 0x00082112, | |
| StageName: 0x00082120, | |
| StageNumber: 0x00082122, | |
| NumberOfStages: 0x00082124, | |
| ViewName: 0x00082127, | |
| ViewNumber: 0x00082128, | |
| NumberOfEventTimers: 0x00082129, | |
| NumberOfViewsInStage: 0x0008212a, | |
| EventElapsedTimes: 0x00082130, | |
| EventTimerNames: 0x00082132, | |
| EventTimerSequence: 0x00082133, | |
| EventTimeOffset: 0x00082134, | |
| EventCodeSequence: 0x00082135, | |
| StartTrim: 0x00082142, | |
| StopTrim: 0x00082143, | |
| RecommendedDisplayFrameRate: 0x00082144, | |
| TransducerPosition: 0x00082200, | |
| TransducerOrientation: 0x00082204, | |
| AnatomicStructure: 0x00082208, | |
| AnatomicRegionSequence: 0x00082218, | |
| AnatomicRegionModifierSequence: 0x00082220, | |
| PrimaryAnatomicStructureSequence: 0x00082228, | |
| AnatomicStructureSpaceOrRegionSequence: 0x00082229, | |
| PrimaryAnatomicStructureModifierSequence: 0x00082230, | |
| TransducerPositionSequence: 0x00082240, | |
| TransducerPositionModifierSequence: 0x00082242, | |
| TransducerOrientationSequence: 0x00082244, | |
| TransducerOrientationModifierSequence: 0x00082246, | |
| AnatomicStructureSpaceOrRegionCodeSequenceTrial: 0x00082251, | |
| AnatomicPortalOfEntranceCodeSequenceTrial: 0x00082253, | |
| AnatomicApproachDirectionCodeSequenceTrial: 0x00082255, | |
| AnatomicPerspectiveDescriptionTrial: 0x00082256, | |
| AnatomicPerspectiveCodeSequenceTrial: 0x00082257, | |
| AnatomicLocationOfExaminingInstrumentDescriptionTrial: 0x00082258, | |
| AnatomicLocationOfExaminingInstrumentCodeSequenceTrial: 0x00082259, | |
| AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial: 0x0008225a, | |
| OnAxisBackgroundAnatomicStructureCodeSequenceTrial: 0x0008225c, | |
| AlternateRepresentationSequence: 0x00083001, | |
| IrradiationEventUID: 0x00083010, | |
| SourceIrradiationEventSequence: 0x00083011, | |
| RadiopharmaceuticalAdministrationEventUID: 0x00083012, | |
| IdentifyingComments: 0x00084000, | |
| FrameType: 0x00089007, | |
| ReferencedImageEvidenceSequence: 0x00089092, | |
| ReferencedRawDataSequence: 0x00089121, | |
| CreatorVersionUID: 0x00089123, | |
| DerivationImageSequence: 0x00089124, | |
| SourceImageEvidenceSequence: 0x00089154, | |
| PixelPresentation: 0x00089205, | |
| VolumetricProperties: 0x00089206, | |
| VolumeBasedCalculationTechnique: 0x00089207, | |
| ComplexImageComponent: 0x00089208, | |
| AcquisitionContrast: 0x00089209, | |
| DerivationCodeSequence: 0x00089215, | |
| ReferencedPresentationStateSequence: 0x00089237, | |
| ReferencedOtherPlaneSequence: 0x00089410, | |
| FrameDisplaySequence: 0x00089458, | |
| RecommendedDisplayFrameRateInFloat: 0x00089459, | |
| SkipFrameRangeFlag: 0x00089460, | |
| PatientName: 0x00100010, | |
| PatientID: 0x00100020, | |
| IssuerOfPatientID: 0x00100021, | |
| TypeOfPatientID: 0x00100022, | |
| IssuerOfPatientIDQualifiersSequence: 0x00100024, | |
| SourcePatientGroupIdentificationSequence: 0x00100026, | |
| GroupOfPatientsIdentificationSequence: 0x00100027, | |
| SubjectRelativePositionInImage: 0x00100028, | |
| PatientBirthDate: 0x00100030, | |
| PatientBirthTime: 0x00100032, | |
| PatientBirthDateInAlternativeCalendar: 0x00100033, | |
| PatientDeathDateInAlternativeCalendar: 0x00100034, | |
| PatientAlternativeCalendar: 0x00100035, | |
| PatientSex: 0x00100040, | |
| PatientInsurancePlanCodeSequence: 0x00100050, | |
| PatientPrimaryLanguageCodeSequence: 0x00100101, | |
| PatientPrimaryLanguageModifierCodeSequence: 0x00100102, | |
| QualityControlSubject: 0x00100200, | |
| QualityControlSubjectTypeCodeSequence: 0x00100201, | |
| StrainDescription: 0x00100212, | |
| StrainNomenclature: 0x00100213, | |
| StrainStockNumber: 0x00100214, | |
| StrainSourceRegistryCodeSequence: 0x00100215, | |
| StrainStockSequence: 0x00100216, | |
| StrainSource: 0x00100217, | |
| StrainAdditionalInformation: 0x00100218, | |
| StrainCodeSequence: 0x00100219, | |
| GeneticModificationsSequence: 0x00100221, | |
| GeneticModificationsDescription: 0x00100222, | |
| GeneticModificationsNomenclature: 0x00100223, | |
| GeneticModificationsCodeSequence: 0x00100229, | |
| OtherPatientIDs: 0x00101000, | |
| OtherPatientNames: 0x00101001, | |
| OtherPatientIDsSequence: 0x00101002, | |
| PatientBirthName: 0x00101005, | |
| PatientAge: 0x00101010, | |
| PatientSize: 0x00101020, | |
| PatientSizeCodeSequence: 0x00101021, | |
| PatientBodyMassIndex: 0x00101022, | |
| MeasuredAPDimension: 0x00101023, | |
| MeasuredLateralDimension: 0x00101024, | |
| PatientWeight: 0x00101030, | |
| PatientAddress: 0x00101040, | |
| InsurancePlanIdentification: 0x00101050, | |
| PatientMotherBirthName: 0x00101060, | |
| MilitaryRank: 0x00101080, | |
| BranchOfService: 0x00101081, | |
| MedicalRecordLocator: 0x00101090, | |
| ReferencedPatientPhotoSequence: 0x00101100, | |
| MedicalAlerts: 0x00102000, | |
| Allergies: 0x00102110, | |
| CountryOfResidence: 0x00102150, | |
| RegionOfResidence: 0x00102152, | |
| PatientTelephoneNumbers: 0x00102154, | |
| PatientTelecomInformation: 0x00102155, | |
| EthnicGroup: 0x00102160, | |
| Occupation: 0x00102180, | |
| SmokingStatus: 0x001021a0, | |
| AdditionalPatientHistory: 0x001021b0, | |
| PregnancyStatus: 0x001021c0, | |
| LastMenstrualDate: 0x001021d0, | |
| PatientReligiousPreference: 0x001021f0, | |
| PatientSpeciesDescription: 0x00102201, | |
| PatientSpeciesCodeSequence: 0x00102202, | |
| PatientSexNeutered: 0x00102203, | |
| AnatomicalOrientationType: 0x00102210, | |
| PatientBreedDescription: 0x00102292, | |
| PatientBreedCodeSequence: 0x00102293, | |
| BreedRegistrationSequence: 0x00102294, | |
| BreedRegistrationNumber: 0x00102295, | |
| BreedRegistryCodeSequence: 0x00102296, | |
| ResponsiblePerson: 0x00102297, | |
| ResponsiblePersonRole: 0x00102298, | |
| ResponsibleOrganization: 0x00102299, | |
| PatientComments: 0x00104000, | |
| ExaminedBodyThickness: 0x00109431, | |
| ClinicalTrialSponsorName: 0x00120010, | |
| ClinicalTrialProtocolID: 0x00120020, | |
| ClinicalTrialProtocolName: 0x00120021, | |
| ClinicalTrialSiteID: 0x00120030, | |
| ClinicalTrialSiteName: 0x00120031, | |
| ClinicalTrialSubjectID: 0x00120040, | |
| ClinicalTrialSubjectReadingID: 0x00120042, | |
| ClinicalTrialTimePointID: 0x00120050, | |
| ClinicalTrialTimePointDescription: 0x00120051, | |
| LongitudinalTemporalOffsetFromEvent: 0x00120052, | |
| LongitudinalTemporalEventType: 0x00120053, | |
| ClinicalTrialCoordinatingCenterName: 0x00120060, | |
| PatientIdentityRemoved: 0x00120062, | |
| DeidentificationMethod: 0x00120063, | |
| DeidentificationMethodCodeSequence: 0x00120064, | |
| ClinicalTrialSeriesID: 0x00120071, | |
| ClinicalTrialSeriesDescription: 0x00120072, | |
| ClinicalTrialProtocolEthicsCommitteeName: 0x00120081, | |
| ClinicalTrialProtocolEthicsCommitteeApprovalNumber: 0x00120082, | |
| ConsentForClinicalTrialUseSequence: 0x00120083, | |
| DistributionType: 0x00120084, | |
| ConsentForDistributionFlag: 0x00120085, | |
| EthicsCommitteeApprovalEffectivenessStartDate: 0x00120086, | |
| EthicsCommitteeApprovalEffectivenessEndDate: 0x00120087, | |
| CADFileFormat: 0x00140023, | |
| ComponentReferenceSystem: 0x00140024, | |
| ComponentManufacturingProcedure: 0x00140025, | |
| ComponentManufacturer: 0x00140028, | |
| MaterialThickness: 0x00140030, | |
| MaterialPipeDiameter: 0x00140032, | |
| MaterialIsolationDiameter: 0x00140034, | |
| MaterialGrade: 0x00140042, | |
| MaterialPropertiesDescription: 0x00140044, | |
| MaterialPropertiesFileFormatRetired: 0x00140045, | |
| MaterialNotes: 0x00140046, | |
| ComponentShape: 0x00140050, | |
| CurvatureType: 0x00140052, | |
| OuterDiameter: 0x00140054, | |
| InnerDiameter: 0x00140056, | |
| ComponentWelderIDs: 0x00140100, | |
| SecondaryApprovalStatus: 0x00140101, | |
| SecondaryReviewDate: 0x00140102, | |
| SecondaryReviewTime: 0x00140103, | |
| SecondaryReviewerName: 0x00140104, | |
| RepairID: 0x00140105, | |
| MultipleComponentApprovalSequence: 0x00140106, | |
| OtherApprovalStatus: 0x00140107, | |
| OtherSecondaryApprovalStatus: 0x00140108, | |
| ActualEnvironmentalConditions: 0x00141010, | |
| ExpiryDate: 0x00141020, | |
| EnvironmentalConditions: 0x00141040, | |
| EvaluatorSequence: 0x00142002, | |
| EvaluatorNumber: 0x00142004, | |
| EvaluatorName: 0x00142006, | |
| EvaluationAttempt: 0x00142008, | |
| IndicationSequence: 0x00142012, | |
| IndicationNumber: 0x00142014, | |
| IndicationLabel: 0x00142016, | |
| IndicationDescription: 0x00142018, | |
| IndicationType: 0x0014201a, | |
| IndicationDisposition: 0x0014201c, | |
| IndicationROISequence: 0x0014201e, | |
| IndicationPhysicalPropertySequence: 0x00142030, | |
| PropertyLabel: 0x00142032, | |
| CoordinateSystemNumberOfAxes: 0x00142202, | |
| CoordinateSystemAxesSequence: 0x00142204, | |
| CoordinateSystemAxisDescription: 0x00142206, | |
| CoordinateSystemDataSetMapping: 0x00142208, | |
| CoordinateSystemAxisNumber: 0x0014220a, | |
| CoordinateSystemAxisType: 0x0014220c, | |
| CoordinateSystemAxisUnits: 0x0014220e, | |
| CoordinateSystemAxisValues: 0x00142210, | |
| CoordinateSystemTransformSequence: 0x00142220, | |
| TransformDescription: 0x00142222, | |
| TransformNumberOfAxes: 0x00142224, | |
| TransformOrderOfAxes: 0x00142226, | |
| TransformedAxisUnits: 0x00142228, | |
| CoordinateSystemTransformRotationAndScaleMatrix: 0x0014222a, | |
| CoordinateSystemTransformTranslationMatrix: 0x0014222c, | |
| InternalDetectorFrameTime: 0x00143011, | |
| NumberOfFramesIntegrated: 0x00143012, | |
| DetectorTemperatureSequence: 0x00143020, | |
| SensorName: 0x00143022, | |
| HorizontalOffsetOfSensor: 0x00143024, | |
| VerticalOffsetOfSensor: 0x00143026, | |
| SensorTemperature: 0x00143028, | |
| DarkCurrentSequence: 0x00143040, | |
| DarkCurrentCounts: 0x00143050, | |
| GainCorrectionReferenceSequence: 0x00143060, | |
| AirCounts: 0x00143070, | |
| KVUsedInGainCalibration: 0x00143071, | |
| MAUsedInGainCalibration: 0x00143072, | |
| NumberOfFramesUsedForIntegration: 0x00143073, | |
| FilterMaterialUsedInGainCalibration: 0x00143074, | |
| FilterThicknessUsedInGainCalibration: 0x00143075, | |
| DateOfGainCalibration: 0x00143076, | |
| TimeOfGainCalibration: 0x00143077, | |
| BadPixelImage: 0x00143080, | |
| CalibrationNotes: 0x00143099, | |
| PulserEquipmentSequence: 0x00144002, | |
| PulserType: 0x00144004, | |
| PulserNotes: 0x00144006, | |
| ReceiverEquipmentSequence: 0x00144008, | |
| AmplifierType: 0x0014400a, | |
| ReceiverNotes: 0x0014400c, | |
| PreAmplifierEquipmentSequence: 0x0014400e, | |
| PreAmplifierNotes: 0x0014400f, | |
| TransmitTransducerSequence: 0x00144010, | |
| ReceiveTransducerSequence: 0x00144011, | |
| NumberOfElements: 0x00144012, | |
| ElementShape: 0x00144013, | |
| ElementDimensionA: 0x00144014, | |
| ElementDimensionB: 0x00144015, | |
| ElementPitchA: 0x00144016, | |
| MeasuredBeamDimensionA: 0x00144017, | |
| MeasuredBeamDimensionB: 0x00144018, | |
| LocationOfMeasuredBeamDiameter: 0x00144019, | |
| NominalFrequency: 0x0014401a, | |
| MeasuredCenterFrequency: 0x0014401b, | |
| MeasuredBandwidth: 0x0014401c, | |
| ElementPitchB: 0x0014401d, | |
| PulserSettingsSequence: 0x00144020, | |
| PulseWidth: 0x00144022, | |
| ExcitationFrequency: 0x00144024, | |
| ModulationType: 0x00144026, | |
| Damping: 0x00144028, | |
| ReceiverSettingsSequence: 0x00144030, | |
| AcquiredSoundpathLength: 0x00144031, | |
| AcquisitionCompressionType: 0x00144032, | |
| AcquisitionSampleSize: 0x00144033, | |
| RectifierSmoothing: 0x00144034, | |
| DACSequence: 0x00144035, | |
| DACType: 0x00144036, | |
| DACGainPoints: 0x00144038, | |
| DACTimePoints: 0x0014403a, | |
| DACAmplitude: 0x0014403c, | |
| PreAmplifierSettingsSequence: 0x00144040, | |
| TransmitTransducerSettingsSequence: 0x00144050, | |
| ReceiveTransducerSettingsSequence: 0x00144051, | |
| IncidentAngle: 0x00144052, | |
| CouplingTechnique: 0x00144054, | |
| CouplingMedium: 0x00144056, | |
| CouplingVelocity: 0x00144057, | |
| ProbeCenterLocationX: 0x00144058, | |
| ProbeCenterLocationZ: 0x00144059, | |
| SoundPathLength: 0x0014405a, | |
| DelayLawIdentifier: 0x0014405c, | |
| GateSettingsSequence: 0x00144060, | |
| GateThreshold: 0x00144062, | |
| VelocityOfSound: 0x00144064, | |
| CalibrationSettingsSequence: 0x00144070, | |
| CalibrationProcedure: 0x00144072, | |
| ProcedureVersion: 0x00144074, | |
| ProcedureCreationDate: 0x00144076, | |
| ProcedureExpirationDate: 0x00144078, | |
| ProcedureLastModifiedDate: 0x0014407a, | |
| CalibrationTime: 0x0014407c, | |
| CalibrationDate: 0x0014407e, | |
| ProbeDriveEquipmentSequence: 0x00144080, | |
| DriveType: 0x00144081, | |
| ProbeDriveNotes: 0x00144082, | |
| DriveProbeSequence: 0x00144083, | |
| ProbeInductance: 0x00144084, | |
| ProbeResistance: 0x00144085, | |
| ReceiveProbeSequence: 0x00144086, | |
| ProbeDriveSettingsSequence: 0x00144087, | |
| BridgeResistors: 0x00144088, | |
| ProbeOrientationAngle: 0x00144089, | |
| UserSelectedGainY: 0x0014408b, | |
| UserSelectedPhase: 0x0014408c, | |
| UserSelectedOffsetX: 0x0014408d, | |
| UserSelectedOffsetY: 0x0014408e, | |
| ChannelSettingsSequence: 0x00144091, | |
| ChannelThreshold: 0x00144092, | |
| ScannerSettingsSequence: 0x0014409a, | |
| ScanProcedure: 0x0014409b, | |
| TranslationRateX: 0x0014409c, | |
| TranslationRateY: 0x0014409d, | |
| ChannelOverlap: 0x0014409f, | |
| ImageQualityIndicatorType: 0x001440a0, | |
| ImageQualityIndicatorMaterial: 0x001440a1, | |
| ImageQualityIndicatorSize: 0x001440a2, | |
| LINACEnergy: 0x00145002, | |
| LINACOutput: 0x00145004, | |
| ActiveAperture: 0x00145100, | |
| TotalAperture: 0x00145101, | |
| ApertureElevation: 0x00145102, | |
| MainLobeAngle: 0x00145103, | |
| MainRoofAngle: 0x00145104, | |
| ConnectorType: 0x00145105, | |
| WedgeModelNumber: 0x00145106, | |
| WedgeAngleFloat: 0x00145107, | |
| WedgeRoofAngle: 0x00145108, | |
| WedgeElement1Position: 0x00145109, | |
| WedgeMaterialVelocity: 0x0014510a, | |
| WedgeMaterial: 0x0014510b, | |
| WedgeOffsetZ: 0x0014510c, | |
| WedgeOriginOffsetX: 0x0014510d, | |
| WedgeTimeDelay: 0x0014510e, | |
| WedgeName: 0x0014510f, | |
| WedgeManufacturerName: 0x00145110, | |
| WedgeDescription: 0x00145111, | |
| NominalBeamAngle: 0x00145112, | |
| WedgeOffsetX: 0x00145113, | |
| WedgeOffsetY: 0x00145114, | |
| WedgeTotalLength: 0x00145115, | |
| WedgeInContactLength: 0x00145116, | |
| WedgeFrontGap: 0x00145117, | |
| WedgeTotalHeight: 0x00145118, | |
| WedgeFrontHeight: 0x00145119, | |
| WedgeRearHeight: 0x0014511a, | |
| WedgeTotalWidth: 0x0014511b, | |
| WedgeInContactWidth: 0x0014511c, | |
| WedgeChamferHeight: 0x0014511d, | |
| WedgeCurve: 0x0014511e, | |
| RadiusAlongWedge: 0x0014511f, | |
| ContrastBolusAgent: 0x00180010, | |
| ContrastBolusAgentSequence: 0x00180012, | |
| ContrastBolusT1Relaxivity: 0x00180013, | |
| ContrastBolusAdministrationRouteSequence: 0x00180014, | |
| BodyPartExamined: 0x00180015, | |
| ScanningSequence: 0x00180020, | |
| SequenceVariant: 0x00180021, | |
| ScanOptions: 0x00180022, | |
| MRAcquisitionType: 0x00180023, | |
| SequenceName: 0x00180024, | |
| AngioFlag: 0x00180025, | |
| InterventionDrugInformationSequence: 0x00180026, | |
| InterventionDrugStopTime: 0x00180027, | |
| InterventionDrugDose: 0x00180028, | |
| InterventionDrugCodeSequence: 0x00180029, | |
| AdditionalDrugSequence: 0x0018002a, | |
| Radionuclide: 0x00180030, | |
| Radiopharmaceutical: 0x00180031, | |
| EnergyWindowCenterline: 0x00180032, | |
| EnergyWindowTotalWidth: 0x00180033, | |
| InterventionDrugName: 0x00180034, | |
| InterventionDrugStartTime: 0x00180035, | |
| InterventionSequence: 0x00180036, | |
| TherapyType: 0x00180037, | |
| InterventionStatus: 0x00180038, | |
| TherapyDescription: 0x00180039, | |
| InterventionDescription: 0x0018003a, | |
| CineRate: 0x00180040, | |
| InitialCineRunState: 0x00180042, | |
| SliceThickness: 0x00180050, | |
| KVP: 0x00180060, | |
| CountsAccumulated: 0x00180070, | |
| AcquisitionTerminationCondition: 0x00180071, | |
| EffectiveDuration: 0x00180072, | |
| AcquisitionStartCondition: 0x00180073, | |
| AcquisitionStartConditionData: 0x00180074, | |
| AcquisitionTerminationConditionData: 0x00180075, | |
| RepetitionTime: 0x00180080, | |
| EchoTime: 0x00180081, | |
| InversionTime: 0x00180082, | |
| NumberOfAverages: 0x00180083, | |
| ImagingFrequency: 0x00180084, | |
| ImagedNucleus: 0x00180085, | |
| EchoNumbers: 0x00180086, | |
| MagneticFieldStrength: 0x00180087, | |
| SpacingBetweenSlices: 0x00180088, | |
| NumberOfPhaseEncodingSteps: 0x00180089, | |
| DataCollectionDiameter: 0x00180090, | |
| EchoTrainLength: 0x00180091, | |
| PercentSampling: 0x00180093, | |
| PercentPhaseFieldOfView: 0x00180094, | |
| PixelBandwidth: 0x00180095, | |
| DeviceSerialNumber: 0x00181000, | |
| DeviceUID: 0x00181002, | |
| DeviceID: 0x00181003, | |
| PlateID: 0x00181004, | |
| GeneratorID: 0x00181005, | |
| GridID: 0x00181006, | |
| CassetteID: 0x00181007, | |
| GantryID: 0x00181008, | |
| UniqueDeviceIdentifier: 0x00181009, | |
| UDISequence: 0x0018100a, | |
| SecondaryCaptureDeviceID: 0x00181010, | |
| HardcopyCreationDeviceID: 0x00181011, | |
| DateOfSecondaryCapture: 0x00181012, | |
| TimeOfSecondaryCapture: 0x00181014, | |
| SecondaryCaptureDeviceManufacturer: 0x00181016, | |
| HardcopyDeviceManufacturer: 0x00181017, | |
| SecondaryCaptureDeviceManufacturerModelName: 0x00181018, | |
| SecondaryCaptureDeviceSoftwareVersions: 0x00181019, | |
| HardcopyDeviceSoftwareVersion: 0x0018101a, | |
| HardcopyDeviceManufacturerModelName: 0x0018101b, | |
| SoftwareVersions: 0x00181020, | |
| VideoImageFormatAcquired: 0x00181022, | |
| DigitalImageFormatAcquired: 0x00181023, | |
| ProtocolName: 0x00181030, | |
| ContrastBolusRoute: 0x00181040, | |
| ContrastBolusVolume: 0x00181041, | |
| ContrastBolusStartTime: 0x00181042, | |
| ContrastBolusStopTime: 0x00181043, | |
| ContrastBolusTotalDose: 0x00181044, | |
| SyringeCounts: 0x00181045, | |
| ContrastFlowRate: 0x00181046, | |
| ContrastFlowDuration: 0x00181047, | |
| ContrastBolusIngredient: 0x00181048, | |
| ContrastBolusIngredientConcentration: 0x00181049, | |
| SpatialResolution: 0x00181050, | |
| TriggerTime: 0x00181060, | |
| TriggerSourceOrType: 0x00181061, | |
| NominalInterval: 0x00181062, | |
| FrameTime: 0x00181063, | |
| CardiacFramingType: 0x00181064, | |
| FrameTimeVector: 0x00181065, | |
| FrameDelay: 0x00181066, | |
| ImageTriggerDelay: 0x00181067, | |
| MultiplexGroupTimeOffset: 0x00181068, | |
| TriggerTimeOffset: 0x00181069, | |
| SynchronizationTrigger: 0x0018106a, | |
| SynchronizationChannel: 0x0018106c, | |
| TriggerSamplePosition: 0x0018106e, | |
| RadiopharmaceuticalRoute: 0x00181070, | |
| RadiopharmaceuticalVolume: 0x00181071, | |
| RadiopharmaceuticalStartTime: 0x00181072, | |
| RadiopharmaceuticalStopTime: 0x00181073, | |
| RadionuclideTotalDose: 0x00181074, | |
| RadionuclideHalfLife: 0x00181075, | |
| RadionuclidePositronFraction: 0x00181076, | |
| RadiopharmaceuticalSpecificActivity: 0x00181077, | |
| RadiopharmaceuticalStartDateTime: 0x00181078, | |
| RadiopharmaceuticalStopDateTime: 0x00181079, | |
| BeatRejectionFlag: 0x00181080, | |
| LowRRValue: 0x00181081, | |
| HighRRValue: 0x00181082, | |
| IntervalsAcquired: 0x00181083, | |
| IntervalsRejected: 0x00181084, | |
| PVCRejection: 0x00181085, | |
| SkipBeats: 0x00181086, | |
| HeartRate: 0x00181088, | |
| CardiacNumberOfImages: 0x00181090, | |
| TriggerWindow: 0x00181094, | |
| ReconstructionDiameter: 0x00181100, | |
| DistanceSourceToDetector: 0x00181110, | |
| DistanceSourceToPatient: 0x00181111, | |
| EstimatedRadiographicMagnificationFactor: 0x00181114, | |
| GantryDetectorTilt: 0x00181120, | |
| GantryDetectorSlew: 0x00181121, | |
| TableHeight: 0x00181130, | |
| TableTraverse: 0x00181131, | |
| TableMotion: 0x00181134, | |
| TableVerticalIncrement: 0x00181135, | |
| TableLateralIncrement: 0x00181136, | |
| TableLongitudinalIncrement: 0x00181137, | |
| TableAngle: 0x00181138, | |
| TableType: 0x0018113a, | |
| RotationDirection: 0x00181140, | |
| AngularPosition: 0x00181141, | |
| RadialPosition: 0x00181142, | |
| ScanArc: 0x00181143, | |
| AngularStep: 0x00181144, | |
| CenterOfRotationOffset: 0x00181145, | |
| RotationOffset: 0x00181146, | |
| FieldOfViewShape: 0x00181147, | |
| FieldOfViewDimensions: 0x00181149, | |
| ExposureTime: 0x00181150, | |
| XRayTubeCurrent: 0x00181151, | |
| Exposure: 0x00181152, | |
| ExposureInuAs: 0x00181153, | |
| AveragePulseWidth: 0x00181154, | |
| RadiationSetting: 0x00181155, | |
| RectificationType: 0x00181156, | |
| RadiationMode: 0x0018115a, | |
| ImageAndFluoroscopyAreaDoseProduct: 0x0018115e, | |
| FilterType: 0x00181160, | |
| TypeOfFilters: 0x00181161, | |
| IntensifierSize: 0x00181162, | |
| ImagerPixelSpacing: 0x00181164, | |
| Grid: 0x00181166, | |
| GeneratorPower: 0x00181170, | |
| CollimatorGridName: 0x00181180, | |
| CollimatorType: 0x00181181, | |
| FocalDistance: 0x00181182, | |
| XFocusCenter: 0x00181183, | |
| YFocusCenter: 0x00181184, | |
| FocalSpots: 0x00181190, | |
| AnodeTargetMaterial: 0x00181191, | |
| BodyPartThickness: 0x001811a0, | |
| CompressionForce: 0x001811a2, | |
| CompressionPressure: 0x001811a3, | |
| PaddleDescription: 0x001811a4, | |
| CompressionContactArea: 0x001811a5, | |
| DateOfLastCalibration: 0x00181200, | |
| TimeOfLastCalibration: 0x00181201, | |
| DateTimeOfLastCalibration: 0x00181202, | |
| ConvolutionKernel: 0x00181210, | |
| UpperLowerPixelValues: 0x00181240, | |
| ActualFrameDuration: 0x00181242, | |
| CountRate: 0x00181243, | |
| PreferredPlaybackSequencing: 0x00181244, | |
| ReceiveCoilName: 0x00181250, | |
| TransmitCoilName: 0x00181251, | |
| PlateType: 0x00181260, | |
| PhosphorType: 0x00181261, | |
| WaterEquivalentDiameter: 0x00181271, | |
| WaterEquivalentDiameterCalculationMethodCodeSequence: 0x00181272, | |
| ScanVelocity: 0x00181300, | |
| WholeBodyTechnique: 0x00181301, | |
| ScanLength: 0x00181302, | |
| AcquisitionMatrix: 0x00181310, | |
| InPlanePhaseEncodingDirection: 0x00181312, | |
| FlipAngle: 0x00181314, | |
| VariableFlipAngleFlag: 0x00181315, | |
| SAR: 0x00181316, | |
| dBdt: 0x00181318, | |
| B1rms: 0x00181320, | |
| AcquisitionDeviceProcessingDescription: 0x00181400, | |
| AcquisitionDeviceProcessingCode: 0x00181401, | |
| CassetteOrientation: 0x00181402, | |
| CassetteSize: 0x00181403, | |
| ExposuresOnPlate: 0x00181404, | |
| RelativeXRayExposure: 0x00181405, | |
| ExposureIndex: 0x00181411, | |
| TargetExposureIndex: 0x00181412, | |
| DeviationIndex: 0x00181413, | |
| ColumnAngulation: 0x00181450, | |
| TomoLayerHeight: 0x00181460, | |
| TomoAngle: 0x00181470, | |
| TomoTime: 0x00181480, | |
| TomoType: 0x00181490, | |
| TomoClass: 0x00181491, | |
| NumberOfTomosynthesisSourceImages: 0x00181495, | |
| PositionerMotion: 0x00181500, | |
| PositionerType: 0x00181508, | |
| PositionerPrimaryAngle: 0x00181510, | |
| PositionerSecondaryAngle: 0x00181511, | |
| PositionerPrimaryAngleIncrement: 0x00181520, | |
| PositionerSecondaryAngleIncrement: 0x00181521, | |
| DetectorPrimaryAngle: 0x00181530, | |
| DetectorSecondaryAngle: 0x00181531, | |
| ShutterShape: 0x00181600, | |
| ShutterLeftVerticalEdge: 0x00181602, | |
| ShutterRightVerticalEdge: 0x00181604, | |
| ShutterUpperHorizontalEdge: 0x00181606, | |
| ShutterLowerHorizontalEdge: 0x00181608, | |
| CenterOfCircularShutter: 0x00181610, | |
| RadiusOfCircularShutter: 0x00181612, | |
| VerticesOfThePolygonalShutter: 0x00181620, | |
| ShutterPresentationValue: 0x00181622, | |
| ShutterOverlayGroup: 0x00181623, | |
| ShutterPresentationColorCIELabValue: 0x00181624, | |
| CollimatorShape: 0x00181700, | |
| CollimatorLeftVerticalEdge: 0x00181702, | |
| CollimatorRightVerticalEdge: 0x00181704, | |
| CollimatorUpperHorizontalEdge: 0x00181706, | |
| CollimatorLowerHorizontalEdge: 0x00181708, | |
| CenterOfCircularCollimator: 0x00181710, | |
| RadiusOfCircularCollimator: 0x00181712, | |
| VerticesOfThePolygonalCollimator: 0x00181720, | |
| AcquisitionTimeSynchronized: 0x00181800, | |
| TimeSource: 0x00181801, | |
| TimeDistributionProtocol: 0x00181802, | |
| NTPSourceAddress: 0x00181803, | |
| PageNumberVector: 0x00182001, | |
| FrameLabelVector: 0x00182002, | |
| FramePrimaryAngleVector: 0x00182003, | |
| FrameSecondaryAngleVector: 0x00182004, | |
| SliceLocationVector: 0x00182005, | |
| DisplayWindowLabelVector: 0x00182006, | |
| NominalScannedPixelSpacing: 0x00182010, | |
| DigitizingDeviceTransportDirection: 0x00182020, | |
| RotationOfScannedFilm: 0x00182030, | |
| BiopsyTargetSequence: 0x00182041, | |
| TargetUID: 0x00182042, | |
| LocalizingCursorPosition: 0x00182043, | |
| CalculatedTargetPosition: 0x00182044, | |
| TargetLabel: 0x00182045, | |
| DisplayedZValue: 0x00182046, | |
| IVUSAcquisition: 0x00183100, | |
| IVUSPullbackRate: 0x00183101, | |
| IVUSGatedRate: 0x00183102, | |
| IVUSPullbackStartFrameNumber: 0x00183103, | |
| IVUSPullbackStopFrameNumber: 0x00183104, | |
| LesionNumber: 0x00183105, | |
| AcquisitionComments: 0x00184000, | |
| OutputPower: 0x00185000, | |
| TransducerData: 0x00185010, | |
| FocusDepth: 0x00185012, | |
| ProcessingFunction: 0x00185020, | |
| PostprocessingFunction: 0x00185021, | |
| MechanicalIndex: 0x00185022, | |
| BoneThermalIndex: 0x00185024, | |
| CranialThermalIndex: 0x00185026, | |
| SoftTissueThermalIndex: 0x00185027, | |
| SoftTissueFocusThermalIndex: 0x00185028, | |
| SoftTissueSurfaceThermalIndex: 0x00185029, | |
| DynamicRange: 0x00185030, | |
| TotalGain: 0x00185040, | |
| DepthOfScanField: 0x00185050, | |
| PatientPosition: 0x00185100, | |
| ViewPosition: 0x00185101, | |
| ProjectionEponymousNameCodeSequence: 0x00185104, | |
| ImageTransformationMatrix: 0x00185210, | |
| ImageTranslationVector: 0x00185212, | |
| Sensitivity: 0x00186000, | |
| SequenceOfUltrasoundRegions: 0x00186011, | |
| RegionSpatialFormat: 0x00186012, | |
| RegionDataType: 0x00186014, | |
| RegionFlags: 0x00186016, | |
| RegionLocationMinX0: 0x00186018, | |
| RegionLocationMinY0: 0x0018601a, | |
| RegionLocationMaxX1: 0x0018601c, | |
| RegionLocationMaxY1: 0x0018601e, | |
| ReferencePixelX0: 0x00186020, | |
| ReferencePixelY0: 0x00186022, | |
| PhysicalUnitsXDirection: 0x00186024, | |
| PhysicalUnitsYDirection: 0x00186026, | |
| ReferencePixelPhysicalValueX: 0x00186028, | |
| ReferencePixelPhysicalValueY: 0x0018602a, | |
| PhysicalDeltaX: 0x0018602c, | |
| PhysicalDeltaY: 0x0018602e, | |
| TransducerFrequency: 0x00186030, | |
| TransducerType: 0x00186031, | |
| PulseRepetitionFrequency: 0x00186032, | |
| DopplerCorrectionAngle: 0x00186034, | |
| SteeringAngle: 0x00186036, | |
| DopplerSampleVolumeXPositionRetired: 0x00186038, | |
| DopplerSampleVolumeXPosition: 0x00186039, | |
| DopplerSampleVolumeYPositionRetired: 0x0018603a, | |
| DopplerSampleVolumeYPosition: 0x0018603b, | |
| TMLinePositionX0Retired: 0x0018603c, | |
| TMLinePositionX0: 0x0018603d, | |
| TMLinePositionY0Retired: 0x0018603e, | |
| TMLinePositionY0: 0x0018603f, | |
| TMLinePositionX1Retired: 0x00186040, | |
| TMLinePositionX1: 0x00186041, | |
| TMLinePositionY1Retired: 0x00186042, | |
| TMLinePositionY1: 0x00186043, | |
| PixelComponentOrganization: 0x00186044, | |
| PixelComponentMask: 0x00186046, | |
| PixelComponentRangeStart: 0x00186048, | |
| PixelComponentRangeStop: 0x0018604a, | |
| PixelComponentPhysicalUnits: 0x0018604c, | |
| PixelComponentDataType: 0x0018604e, | |
| NumberOfTableBreakPoints: 0x00186050, | |
| TableOfXBreakPoints: 0x00186052, | |
| TableOfYBreakPoints: 0x00186054, | |
| NumberOfTableEntries: 0x00186056, | |
| TableOfPixelValues: 0x00186058, | |
| TableOfParameterValues: 0x0018605a, | |
| RWaveTimeVector: 0x00186060, | |
| DetectorConditionsNominalFlag: 0x00187000, | |
| DetectorTemperature: 0x00187001, | |
| DetectorType: 0x00187004, | |
| DetectorConfiguration: 0x00187005, | |
| DetectorDescription: 0x00187006, | |
| DetectorMode: 0x00187008, | |
| DetectorID: 0x0018700a, | |
| DateOfLastDetectorCalibration: 0x0018700c, | |
| TimeOfLastDetectorCalibration: 0x0018700e, | |
| ExposuresOnDetectorSinceLastCalibration: 0x00187010, | |
| ExposuresOnDetectorSinceManufactured: 0x00187011, | |
| DetectorTimeSinceLastExposure: 0x00187012, | |
| DetectorActiveTime: 0x00187014, | |
| DetectorActivationOffsetFromExposure: 0x00187016, | |
| DetectorBinning: 0x0018701a, | |
| DetectorElementPhysicalSize: 0x00187020, | |
| DetectorElementSpacing: 0x00187022, | |
| DetectorActiveShape: 0x00187024, | |
| DetectorActiveDimensions: 0x00187026, | |
| DetectorActiveOrigin: 0x00187028, | |
| DetectorManufacturerName: 0x0018702a, | |
| DetectorManufacturerModelName: 0x0018702b, | |
| FieldOfViewOrigin: 0x00187030, | |
| FieldOfViewRotation: 0x00187032, | |
| FieldOfViewHorizontalFlip: 0x00187034, | |
| PixelDataAreaOriginRelativeToFOV: 0x00187036, | |
| PixelDataAreaRotationAngleRelativeToFOV: 0x00187038, | |
| GridAbsorbingMaterial: 0x00187040, | |
| GridSpacingMaterial: 0x00187041, | |
| GridThickness: 0x00187042, | |
| GridPitch: 0x00187044, | |
| GridAspectRatio: 0x00187046, | |
| GridPeriod: 0x00187048, | |
| GridFocalDistance: 0x0018704c, | |
| FilterMaterial: 0x00187050, | |
| FilterThicknessMinimum: 0x00187052, | |
| FilterThicknessMaximum: 0x00187054, | |
| FilterBeamPathLengthMinimum: 0x00187056, | |
| FilterBeamPathLengthMaximum: 0x00187058, | |
| ExposureControlMode: 0x00187060, | |
| ExposureControlModeDescription: 0x00187062, | |
| ExposureStatus: 0x00187064, | |
| PhototimerSetting: 0x00187065, | |
| ExposureTimeInuS: 0x00188150, | |
| XRayTubeCurrentInuA: 0x00188151, | |
| ContentQualification: 0x00189004, | |
| PulseSequenceName: 0x00189005, | |
| MRImagingModifierSequence: 0x00189006, | |
| EchoPulseSequence: 0x00189008, | |
| InversionRecovery: 0x00189009, | |
| FlowCompensation: 0x00189010, | |
| MultipleSpinEcho: 0x00189011, | |
| MultiPlanarExcitation: 0x00189012, | |
| PhaseContrast: 0x00189014, | |
| TimeOfFlightContrast: 0x00189015, | |
| Spoiling: 0x00189016, | |
| SteadyStatePulseSequence: 0x00189017, | |
| EchoPlanarPulseSequence: 0x00189018, | |
| TagAngleFirstAxis: 0x00189019, | |
| MagnetizationTransfer: 0x00189020, | |
| T2Preparation: 0x00189021, | |
| BloodSignalNulling: 0x00189022, | |
| SaturationRecovery: 0x00189024, | |
| SpectrallySelectedSuppression: 0x00189025, | |
| SpectrallySelectedExcitation: 0x00189026, | |
| SpatialPresaturation: 0x00189027, | |
| Tagging: 0x00189028, | |
| OversamplingPhase: 0x00189029, | |
| TagSpacingFirstDimension: 0x00189030, | |
| GeometryOfKSpaceTraversal: 0x00189032, | |
| SegmentedKSpaceTraversal: 0x00189033, | |
| RectilinearPhaseEncodeReordering: 0x00189034, | |
| TagThickness: 0x00189035, | |
| PartialFourierDirection: 0x00189036, | |
| CardiacSynchronizationTechnique: 0x00189037, | |
| ReceiveCoilManufacturerName: 0x00189041, | |
| MRReceiveCoilSequence: 0x00189042, | |
| ReceiveCoilType: 0x00189043, | |
| QuadratureReceiveCoil: 0x00189044, | |
| MultiCoilDefinitionSequence: 0x00189045, | |
| MultiCoilConfiguration: 0x00189046, | |
| MultiCoilElementName: 0x00189047, | |
| MultiCoilElementUsed: 0x00189048, | |
| MRTransmitCoilSequence: 0x00189049, | |
| TransmitCoilManufacturerName: 0x00189050, | |
| TransmitCoilType: 0x00189051, | |
| SpectralWidth: 0x00189052, | |
| ChemicalShiftReference: 0x00189053, | |
| VolumeLocalizationTechnique: 0x00189054, | |
| MRAcquisitionFrequencyEncodingSteps: 0x00189058, | |
| Decoupling: 0x00189059, | |
| DecoupledNucleus: 0x00189060, | |
| DecouplingFrequency: 0x00189061, | |
| DecouplingMethod: 0x00189062, | |
| DecouplingChemicalShiftReference: 0x00189063, | |
| KSpaceFiltering: 0x00189064, | |
| TimeDomainFiltering: 0x00189065, | |
| NumberOfZeroFills: 0x00189066, | |
| BaselineCorrection: 0x00189067, | |
| ParallelReductionFactorInPlane: 0x00189069, | |
| CardiacRRIntervalSpecified: 0x00189070, | |
| AcquisitionDuration: 0x00189073, | |
| FrameAcquisitionDateTime: 0x00189074, | |
| DiffusionDirectionality: 0x00189075, | |
| DiffusionGradientDirectionSequence: 0x00189076, | |
| ParallelAcquisition: 0x00189077, | |
| ParallelAcquisitionTechnique: 0x00189078, | |
| InversionTimes: 0x00189079, | |
| MetaboliteMapDescription: 0x00189080, | |
| PartialFourier: 0x00189081, | |
| EffectiveEchoTime: 0x00189082, | |
| MetaboliteMapCodeSequence: 0x00189083, | |
| ChemicalShiftSequence: 0x00189084, | |
| CardiacSignalSource: 0x00189085, | |
| DiffusionBValue: 0x00189087, | |
| DiffusionGradientOrientation: 0x00189089, | |
| VelocityEncodingDirection: 0x00189090, | |
| VelocityEncodingMinimumValue: 0x00189091, | |
| VelocityEncodingAcquisitionSequence: 0x00189092, | |
| NumberOfKSpaceTrajectories: 0x00189093, | |
| CoverageOfKSpace: 0x00189094, | |
| SpectroscopyAcquisitionPhaseRows: 0x00189095, | |
| ParallelReductionFactorInPlaneRetired: 0x00189096, | |
| TransmitterFrequency: 0x00189098, | |
| ResonantNucleus: 0x00189100, | |
| FrequencyCorrection: 0x00189101, | |
| MRSpectroscopyFOVGeometrySequence: 0x00189103, | |
| SlabThickness: 0x00189104, | |
| SlabOrientation: 0x00189105, | |
| MidSlabPosition: 0x00189106, | |
| MRSpatialSaturationSequence: 0x00189107, | |
| MRTimingAndRelatedParametersSequence: 0x00189112, | |
| MREchoSequence: 0x00189114, | |
| MRModifierSequence: 0x00189115, | |
| MRDiffusionSequence: 0x00189117, | |
| CardiacSynchronizationSequence: 0x00189118, | |
| MRAveragesSequence: 0x00189119, | |
| MRFOVGeometrySequence: 0x00189125, | |
| VolumeLocalizationSequence: 0x00189126, | |
| SpectroscopyAcquisitionDataColumns: 0x00189127, | |
| DiffusionAnisotropyType: 0x00189147, | |
| FrameReferenceDateTime: 0x00189151, | |
| MRMetaboliteMapSequence: 0x00189152, | |
| ParallelReductionFactorOutOfPlane: 0x00189155, | |
| SpectroscopyAcquisitionOutOfPlanePhaseSteps: 0x00189159, | |
| BulkMotionStatus: 0x00189166, | |
| ParallelReductionFactorSecondInPlane: 0x00189168, | |
| CardiacBeatRejectionTechnique: 0x00189169, | |
| RespiratoryMotionCompensationTechnique: 0x00189170, | |
| RespiratorySignalSource: 0x00189171, | |
| BulkMotionCompensationTechnique: 0x00189172, | |
| BulkMotionSignalSource: 0x00189173, | |
| ApplicableSafetyStandardAgency: 0x00189174, | |
| ApplicableSafetyStandardDescription: 0x00189175, | |
| OperatingModeSequence: 0x00189176, | |
| OperatingModeType: 0x00189177, | |
| OperatingMode: 0x00189178, | |
| SpecificAbsorptionRateDefinition: 0x00189179, | |
| GradientOutputType: 0x00189180, | |
| SpecificAbsorptionRateValue: 0x00189181, | |
| GradientOutput: 0x00189182, | |
| FlowCompensationDirection: 0x00189183, | |
| TaggingDelay: 0x00189184, | |
| RespiratoryMotionCompensationTechniqueDescription: 0x00189185, | |
| RespiratorySignalSourceID: 0x00189186, | |
| ChemicalShiftMinimumIntegrationLimitInHz: 0x00189195, | |
| ChemicalShiftMaximumIntegrationLimitInHz: 0x00189196, | |
| MRVelocityEncodingSequence: 0x00189197, | |
| FirstOrderPhaseCorrection: 0x00189198, | |
| WaterReferencedPhaseCorrection: 0x00189199, | |
| MRSpectroscopyAcquisitionType: 0x00189200, | |
| RespiratoryCyclePosition: 0x00189214, | |
| VelocityEncodingMaximumValue: 0x00189217, | |
| TagSpacingSecondDimension: 0x00189218, | |
| TagAngleSecondAxis: 0x00189219, | |
| FrameAcquisitionDuration: 0x00189220, | |
| MRImageFrameTypeSequence: 0x00189226, | |
| MRSpectroscopyFrameTypeSequence: 0x00189227, | |
| MRAcquisitionPhaseEncodingStepsInPlane: 0x00189231, | |
| MRAcquisitionPhaseEncodingStepsOutOfPlane: 0x00189232, | |
| SpectroscopyAcquisitionPhaseColumns: 0x00189234, | |
| CardiacCyclePosition: 0x00189236, | |
| SpecificAbsorptionRateSequence: 0x00189239, | |
| RFEchoTrainLength: 0x00189240, | |
| GradientEchoTrainLength: 0x00189241, | |
| ArterialSpinLabelingContrast: 0x00189250, | |
| MRArterialSpinLabelingSequence: 0x00189251, | |
| ASLTechniqueDescription: 0x00189252, | |
| ASLSlabNumber: 0x00189253, | |
| ASLSlabThickness: 0x00189254, | |
| ASLSlabOrientation: 0x00189255, | |
| ASLMidSlabPosition: 0x00189256, | |
| ASLContext: 0x00189257, | |
| ASLPulseTrainDuration: 0x00189258, | |
| ASLCrusherFlag: 0x00189259, | |
| ASLCrusherFlowLimit: 0x0018925a, | |
| ASLCrusherDescription: 0x0018925b, | |
| ASLBolusCutoffFlag: 0x0018925c, | |
| ASLBolusCutoffTimingSequence: 0x0018925d, | |
| ASLBolusCutoffTechnique: 0x0018925e, | |
| ASLBolusCutoffDelayTime: 0x0018925f, | |
| ASLSlabSequence: 0x00189260, | |
| ChemicalShiftMinimumIntegrationLimitInppm: 0x00189295, | |
| ChemicalShiftMaximumIntegrationLimitInppm: 0x00189296, | |
| WaterReferenceAcquisition: 0x00189297, | |
| EchoPeakPosition: 0x00189298, | |
| CTAcquisitionTypeSequence: 0x00189301, | |
| AcquisitionType: 0x00189302, | |
| TubeAngle: 0x00189303, | |
| CTAcquisitionDetailsSequence: 0x00189304, | |
| RevolutionTime: 0x00189305, | |
| SingleCollimationWidth: 0x00189306, | |
| TotalCollimationWidth: 0x00189307, | |
| CTTableDynamicsSequence: 0x00189308, | |
| TableSpeed: 0x00189309, | |
| TableFeedPerRotation: 0x00189310, | |
| SpiralPitchFactor: 0x00189311, | |
| CTGeometrySequence: 0x00189312, | |
| DataCollectionCenterPatient: 0x00189313, | |
| CTReconstructionSequence: 0x00189314, | |
| ReconstructionAlgorithm: 0x00189315, | |
| ConvolutionKernelGroup: 0x00189316, | |
| ReconstructionFieldOfView: 0x00189317, | |
| ReconstructionTargetCenterPatient: 0x00189318, | |
| ReconstructionAngle: 0x00189319, | |
| ImageFilter: 0x00189320, | |
| CTExposureSequence: 0x00189321, | |
| ReconstructionPixelSpacing: 0x00189322, | |
| ExposureModulationType: 0x00189323, | |
| EstimatedDoseSaving: 0x00189324, | |
| CTXRayDetailsSequence: 0x00189325, | |
| CTPositionSequence: 0x00189326, | |
| TablePosition: 0x00189327, | |
| ExposureTimeInms: 0x00189328, | |
| CTImageFrameTypeSequence: 0x00189329, | |
| XRayTubeCurrentInmA: 0x00189330, | |
| ExposureInmAs: 0x00189332, | |
| ConstantVolumeFlag: 0x00189333, | |
| FluoroscopyFlag: 0x00189334, | |
| DistanceSourceToDataCollectionCenter: 0x00189335, | |
| ContrastBolusAgentNumber: 0x00189337, | |
| ContrastBolusIngredientCodeSequence: 0x00189338, | |
| ContrastAdministrationProfileSequence: 0x00189340, | |
| ContrastBolusUsageSequence: 0x00189341, | |
| ContrastBolusAgentAdministered: 0x00189342, | |
| ContrastBolusAgentDetected: 0x00189343, | |
| ContrastBolusAgentPhase: 0x00189344, | |
| CTDIvol: 0x00189345, | |
| CTDIPhantomTypeCodeSequence: 0x00189346, | |
| CalciumScoringMassFactorPatient: 0x00189351, | |
| CalciumScoringMassFactorDevice: 0x00189352, | |
| EnergyWeightingFactor: 0x00189353, | |
| CTAdditionalXRaySourceSequence: 0x00189360, | |
| ProjectionPixelCalibrationSequence: 0x00189401, | |
| DistanceSourceToIsocenter: 0x00189402, | |
| DistanceObjectToTableTop: 0x00189403, | |
| ObjectPixelSpacingInCenterOfBeam: 0x00189404, | |
| PositionerPositionSequence: 0x00189405, | |
| TablePositionSequence: 0x00189406, | |
| CollimatorShapeSequence: 0x00189407, | |
| PlanesInAcquisition: 0x00189410, | |
| XAXRFFrameCharacteristicsSequence: 0x00189412, | |
| FrameAcquisitionSequence: 0x00189417, | |
| XRayReceptorType: 0x00189420, | |
| AcquisitionProtocolName: 0x00189423, | |
| AcquisitionProtocolDescription: 0x00189424, | |
| ContrastBolusIngredientOpaque: 0x00189425, | |
| DistanceReceptorPlaneToDetectorHousing: 0x00189426, | |
| IntensifierActiveShape: 0x00189427, | |
| IntensifierActiveDimensions: 0x00189428, | |
| PhysicalDetectorSize: 0x00189429, | |
| PositionOfIsocenterProjection: 0x00189430, | |
| FieldOfViewSequence: 0x00189432, | |
| FieldOfViewDescription: 0x00189433, | |
| ExposureControlSensingRegionsSequence: 0x00189434, | |
| ExposureControlSensingRegionShape: 0x00189435, | |
| ExposureControlSensingRegionLeftVerticalEdge: 0x00189436, | |
| ExposureControlSensingRegionRightVerticalEdge: 0x00189437, | |
| ExposureControlSensingRegionUpperHorizontalEdge: 0x00189438, | |
| ExposureControlSensingRegionLowerHorizontalEdge: 0x00189439, | |
| CenterOfCircularExposureControlSensingRegion: 0x00189440, | |
| RadiusOfCircularExposureControlSensingRegion: 0x00189441, | |
| VerticesOfThePolygonalExposureControlSensingRegion: 0x00189442, | |
| ColumnAngulationPatient: 0x00189447, | |
| BeamAngle: 0x00189449, | |
| FrameDetectorParametersSequence: 0x00189451, | |
| CalculatedAnatomyThickness: 0x00189452, | |
| CalibrationSequence: 0x00189455, | |
| ObjectThicknessSequence: 0x00189456, | |
| PlaneIdentification: 0x00189457, | |
| FieldOfViewDimensionsInFloat: 0x00189461, | |
| IsocenterReferenceSystemSequence: 0x00189462, | |
| PositionerIsocenterPrimaryAngle: 0x00189463, | |
| PositionerIsocenterSecondaryAngle: 0x00189464, | |
| PositionerIsocenterDetectorRotationAngle: 0x00189465, | |
| TableXPositionToIsocenter: 0x00189466, | |
| TableYPositionToIsocenter: 0x00189467, | |
| TableZPositionToIsocenter: 0x00189468, | |
| TableHorizontalRotationAngle: 0x00189469, | |
| TableHeadTiltAngle: 0x00189470, | |
| TableCradleTiltAngle: 0x00189471, | |
| FrameDisplayShutterSequence: 0x00189472, | |
| AcquiredImageAreaDoseProduct: 0x00189473, | |
| CArmPositionerTabletopRelationship: 0x00189474, | |
| XRayGeometrySequence: 0x00189476, | |
| IrradiationEventIdentificationSequence: 0x00189477, | |
| XRay3DFrameTypeSequence: 0x00189504, | |
| ContributingSourcesSequence: 0x00189506, | |
| XRay3DAcquisitionSequence: 0x00189507, | |
| PrimaryPositionerScanArc: 0x00189508, | |
| SecondaryPositionerScanArc: 0x00189509, | |
| PrimaryPositionerScanStartAngle: 0x00189510, | |
| SecondaryPositionerScanStartAngle: 0x00189511, | |
| PrimaryPositionerIncrement: 0x00189514, | |
| SecondaryPositionerIncrement: 0x00189515, | |
| StartAcquisitionDateTime: 0x00189516, | |
| EndAcquisitionDateTime: 0x00189517, | |
| PrimaryPositionerIncrementSign: 0x00189518, | |
| SecondaryPositionerIncrementSign: 0x00189519, | |
| ApplicationName: 0x00189524, | |
| ApplicationVersion: 0x00189525, | |
| ApplicationManufacturer: 0x00189526, | |
| AlgorithmType: 0x00189527, | |
| AlgorithmDescription: 0x00189528, | |
| XRay3DReconstructionSequence: 0x00189530, | |
| ReconstructionDescription: 0x00189531, | |
| PerProjectionAcquisitionSequence: 0x00189538, | |
| DetectorPositionSequence: 0x00189541, | |
| XRayAcquisitionDoseSequence: 0x00189542, | |
| XRaySourceIsocenterPrimaryAngle: 0x00189543, | |
| XRaySourceIsocenterSecondaryAngle: 0x00189544, | |
| BreastSupportIsocenterPrimaryAngle: 0x00189545, | |
| BreastSupportIsocenterSecondaryAngle: 0x00189546, | |
| BreastSupportXPositionToIsocenter: 0x00189547, | |
| BreastSupportYPositionToIsocenter: 0x00189548, | |
| BreastSupportZPositionToIsocenter: 0x00189549, | |
| DetectorIsocenterPrimaryAngle: 0x00189550, | |
| DetectorIsocenterSecondaryAngle: 0x00189551, | |
| DetectorXPositionToIsocenter: 0x00189552, | |
| DetectorYPositionToIsocenter: 0x00189553, | |
| DetectorZPositionToIsocenter: 0x00189554, | |
| XRayGridSequence: 0x00189555, | |
| XRayFilterSequence: 0x00189556, | |
| DetectorActiveAreaTLHCPosition: 0x00189557, | |
| DetectorActiveAreaOrientation: 0x00189558, | |
| PositionerPrimaryAngleDirection: 0x00189559, | |
| DiffusionBMatrixSequence: 0x00189601, | |
| DiffusionBValueXX: 0x00189602, | |
| DiffusionBValueXY: 0x00189603, | |
| DiffusionBValueXZ: 0x00189604, | |
| DiffusionBValueYY: 0x00189605, | |
| DiffusionBValueYZ: 0x00189606, | |
| DiffusionBValueZZ: 0x00189607, | |
| FunctionalMRSequence: 0x00189621, | |
| FunctionalSettlingPhaseFramesPresent: 0x00189622, | |
| FunctionalSyncPulse: 0x00189623, | |
| SettlingPhaseFrame: 0x00189624, | |
| DecayCorrectionDateTime: 0x00189701, | |
| StartDensityThreshold: 0x00189715, | |
| StartRelativeDensityDifferenceThreshold: 0x00189716, | |
| StartCardiacTriggerCountThreshold: 0x00189717, | |
| StartRespiratoryTriggerCountThreshold: 0x00189718, | |
| TerminationCountsThreshold: 0x00189719, | |
| TerminationDensityThreshold: 0x00189720, | |
| TerminationRelativeDensityThreshold: 0x00189721, | |
| TerminationTimeThreshold: 0x00189722, | |
| TerminationCardiacTriggerCountThreshold: 0x00189723, | |
| TerminationRespiratoryTriggerCountThreshold: 0x00189724, | |
| DetectorGeometry: 0x00189725, | |
| TransverseDetectorSeparation: 0x00189726, | |
| AxialDetectorDimension: 0x00189727, | |
| RadiopharmaceuticalAgentNumber: 0x00189729, | |
| PETFrameAcquisitionSequence: 0x00189732, | |
| PETDetectorMotionDetailsSequence: 0x00189733, | |
| PETTableDynamicsSequence: 0x00189734, | |
| PETPositionSequence: 0x00189735, | |
| PETFrameCorrectionFactorsSequence: 0x00189736, | |
| RadiopharmaceuticalUsageSequence: 0x00189737, | |
| AttenuationCorrectionSource: 0x00189738, | |
| NumberOfIterations: 0x00189739, | |
| NumberOfSubsets: 0x00189740, | |
| PETReconstructionSequence: 0x00189749, | |
| PETFrameTypeSequence: 0x00189751, | |
| TimeOfFlightInformationUsed: 0x00189755, | |
| ReconstructionType: 0x00189756, | |
| DecayCorrected: 0x00189758, | |
| AttenuationCorrected: 0x00189759, | |
| ScatterCorrected: 0x00189760, | |
| DeadTimeCorrected: 0x00189761, | |
| GantryMotionCorrected: 0x00189762, | |
| PatientMotionCorrected: 0x00189763, | |
| CountLossNormalizationCorrected: 0x00189764, | |
| RandomsCorrected: 0x00189765, | |
| NonUniformRadialSamplingCorrected: 0x00189766, | |
| SensitivityCalibrated: 0x00189767, | |
| DetectorNormalizationCorrection: 0x00189768, | |
| IterativeReconstructionMethod: 0x00189769, | |
| AttenuationCorrectionTemporalRelationship: 0x00189770, | |
| PatientPhysiologicalStateSequence: 0x00189771, | |
| PatientPhysiologicalStateCodeSequence: 0x00189772, | |
| DepthsOfFocus: 0x00189801, | |
| ExcludedIntervalsSequence: 0x00189803, | |
| ExclusionStartDateTime: 0x00189804, | |
| ExclusionDuration: 0x00189805, | |
| USImageDescriptionSequence: 0x00189806, | |
| ImageDataTypeSequence: 0x00189807, | |
| DataType: 0x00189808, | |
| TransducerScanPatternCodeSequence: 0x00189809, | |
| AliasedDataType: 0x0018980b, | |
| PositionMeasuringDeviceUsed: 0x0018980c, | |
| TransducerGeometryCodeSequence: 0x0018980d, | |
| TransducerBeamSteeringCodeSequence: 0x0018980e, | |
| TransducerApplicationCodeSequence: 0x0018980f, | |
| ZeroVelocityPixelValue: 0x00189810, | |
| ReferenceLocationLabel: 0x00189900, | |
| ReferenceLocationDescription: 0x00189901, | |
| ReferenceBasisCodeSequence: 0x00189902, | |
| ReferenceGeometryCodeSequence: 0x00189903, | |
| OffsetDistance: 0x00189904, | |
| OffsetDirection: 0x00189905, | |
| PotentialScheduledProtocolCodeSequence: 0x00189906, | |
| PotentialRequestedProcedureCodeSequence: 0x00189907, | |
| PotentialReasonsForProcedure: 0x00189908, | |
| PotentialReasonsForProcedureCodeSequence: 0x00189909, | |
| PotentialDiagnosticTasks: 0x0018990a, | |
| ContraindicationsCodeSequence: 0x0018990b, | |
| ReferencedDefinedProtocolSequence: 0x0018990c, | |
| ReferencedPerformedProtocolSequence: 0x0018990d, | |
| PredecessorProtocolSequence: 0x0018990e, | |
| ProtocolPlanningInformation: 0x0018990f, | |
| ProtocolDesignRationale: 0x00189910, | |
| PatientSpecificationSequence: 0x00189911, | |
| ModelSpecificationSequence: 0x00189912, | |
| ParametersSpecificationSequence: 0x00189913, | |
| InstructionSequence: 0x00189914, | |
| InstructionIndex: 0x00189915, | |
| InstructionText: 0x00189916, | |
| InstructionDescription: 0x00189917, | |
| InstructionPerformedFlag: 0x00189918, | |
| InstructionPerformedDateTime: 0x00189919, | |
| InstructionPerformanceComment: 0x0018991a, | |
| PatientPositioningInstructionSequence: 0x0018991b, | |
| PositioningMethodCodeSequence: 0x0018991c, | |
| PositioningLandmarkSequence: 0x0018991d, | |
| TargetFrameOfReferenceUID: 0x0018991e, | |
| AcquisitionProtocolElementSpecificationSequence: 0x0018991f, | |
| AcquisitionProtocolElementSequence: 0x00189920, | |
| ProtocolElementNumber: 0x00189921, | |
| ProtocolElementName: 0x00189922, | |
| ProtocolElementCharacteristicsSummary: 0x00189923, | |
| ProtocolElementPurpose: 0x00189924, | |
| AcquisitionMotion: 0x00189930, | |
| AcquisitionStartLocationSequence: 0x00189931, | |
| AcquisitionEndLocationSequence: 0x00189932, | |
| ReconstructionProtocolElementSpecificationSequence: 0x00189933, | |
| ReconstructionProtocolElementSequence: 0x00189934, | |
| StorageProtocolElementSpecificationSequence: 0x00189935, | |
| StorageProtocolElementSequence: 0x00189936, | |
| RequestedSeriesDescription: 0x00189937, | |
| SourceAcquisitionProtocolElementNumber: 0x00189938, | |
| SourceAcquisitionBeamNumber: 0x00189939, | |
| SourceReconstructionProtocolElementNumber: 0x0018993a, | |
| ReconstructionStartLocationSequence: 0x0018993b, | |
| ReconstructionEndLocationSequence: 0x0018993c, | |
| ReconstructionAlgorithmSequence: 0x0018993d, | |
| ReconstructionTargetCenterLocationSequence: 0x0018993e, | |
| ImageFilterDescription: 0x00189941, | |
| CTDIvolNotificationTrigger: 0x00189942, | |
| DLPNotificationTrigger: 0x00189943, | |
| AutoKVPSelectionType: 0x00189944, | |
| AutoKVPUpperBound: 0x00189945, | |
| AutoKVPLowerBound: 0x00189946, | |
| ProtocolDefinedPatientPosition: 0x00189947, | |
| ContributingEquipmentSequence: 0x0018a001, | |
| ContributionDateTime: 0x0018a002, | |
| ContributionDescription: 0x0018a003, | |
| StudyInstanceUID: 0x0020000d, | |
| SeriesInstanceUID: 0x0020000e, | |
| StudyID: 0x00200010, | |
| SeriesNumber: 0x00200011, | |
| AcquisitionNumber: 0x00200012, | |
| InstanceNumber: 0x00200013, | |
| IsotopeNumber: 0x00200014, | |
| PhaseNumber: 0x00200015, | |
| IntervalNumber: 0x00200016, | |
| TimeSlotNumber: 0x00200017, | |
| AngleNumber: 0x00200018, | |
| ItemNumber: 0x00200019, | |
| PatientOrientation: 0x00200020, | |
| OverlayNumber: 0x00200022, | |
| CurveNumber: 0x00200024, | |
| LUTNumber: 0x00200026, | |
| ImagePosition: 0x00200030, | |
| ImagePositionPatient: 0x00200032, | |
| ImageOrientation: 0x00200035, | |
| ImageOrientationPatient: 0x00200037, | |
| Location: 0x00200050, | |
| FrameOfReferenceUID: 0x00200052, | |
| Laterality: 0x00200060, | |
| ImageLaterality: 0x00200062, | |
| ImageGeometryType: 0x00200070, | |
| MaskingImage: 0x00200080, | |
| ReportNumber: 0x002000aa, | |
| TemporalPositionIdentifier: 0x00200100, | |
| NumberOfTemporalPositions: 0x00200105, | |
| TemporalResolution: 0x00200110, | |
| SynchronizationFrameOfReferenceUID: 0x00200200, | |
| SOPInstanceUIDOfConcatenationSource: 0x00200242, | |
| SeriesInStudy: 0x00201000, | |
| AcquisitionsInSeries: 0x00201001, | |
| ImagesInAcquisition: 0x00201002, | |
| ImagesInSeries: 0x00201003, | |
| AcquisitionsInStudy: 0x00201004, | |
| ImagesInStudy: 0x00201005, | |
| Reference: 0x00201020, | |
| TargetPositionReferenceIndicator: 0x0020103f, | |
| PositionReferenceIndicator: 0x00201040, | |
| SliceLocation: 0x00201041, | |
| OtherStudyNumbers: 0x00201070, | |
| NumberOfPatientRelatedStudies: 0x00201200, | |
| NumberOfPatientRelatedSeries: 0x00201202, | |
| NumberOfPatientRelatedInstances: 0x00201204, | |
| NumberOfStudyRelatedSeries: 0x00201206, | |
| NumberOfStudyRelatedInstances: 0x00201208, | |
| NumberOfSeriesRelatedInstances: 0x00201209, | |
| SourceImageIDs: 0x00203100, | |
| ModifyingDeviceID: 0x00203401, | |
| ModifiedImageID: 0x00203402, | |
| ModifiedImageDate: 0x00203403, | |
| ModifyingDeviceManufacturer: 0x00203404, | |
| ModifiedImageTime: 0x00203405, | |
| ModifiedImageDescription: 0x00203406, | |
| ImageComments: 0x00204000, | |
| OriginalImageIdentification: 0x00205000, | |
| OriginalImageIdentificationNomenclature: 0x00205002, | |
| StackID: 0x00209056, | |
| InStackPositionNumber: 0x00209057, | |
| FrameAnatomySequence: 0x00209071, | |
| FrameLaterality: 0x00209072, | |
| FrameContentSequence: 0x00209111, | |
| PlanePositionSequence: 0x00209113, | |
| PlaneOrientationSequence: 0x00209116, | |
| TemporalPositionIndex: 0x00209128, | |
| NominalCardiacTriggerDelayTime: 0x00209153, | |
| NominalCardiacTriggerTimePriorToRPeak: 0x00209154, | |
| ActualCardiacTriggerTimePriorToRPeak: 0x00209155, | |
| FrameAcquisitionNumber: 0x00209156, | |
| DimensionIndexValues: 0x00209157, | |
| FrameComments: 0x00209158, | |
| ConcatenationUID: 0x00209161, | |
| InConcatenationNumber: 0x00209162, | |
| InConcatenationTotalNumber: 0x00209163, | |
| DimensionOrganizationUID: 0x00209164, | |
| DimensionIndexPointer: 0x00209165, | |
| FunctionalGroupPointer: 0x00209167, | |
| UnassignedSharedConvertedAttributesSequence: 0x00209170, | |
| UnassignedPerFrameConvertedAttributesSequence: 0x00209171, | |
| ConversionSourceAttributesSequence: 0x00209172, | |
| DimensionIndexPrivateCreator: 0x00209213, | |
| DimensionOrganizationSequence: 0x00209221, | |
| DimensionIndexSequence: 0x00209222, | |
| ConcatenationFrameOffsetNumber: 0x00209228, | |
| FunctionalGroupPrivateCreator: 0x00209238, | |
| NominalPercentageOfCardiacPhase: 0x00209241, | |
| NominalPercentageOfRespiratoryPhase: 0x00209245, | |
| StartingRespiratoryAmplitude: 0x00209246, | |
| StartingRespiratoryPhase: 0x00209247, | |
| EndingRespiratoryAmplitude: 0x00209248, | |
| EndingRespiratoryPhase: 0x00209249, | |
| RespiratoryTriggerType: 0x00209250, | |
| RRIntervalTimeNominal: 0x00209251, | |
| ActualCardiacTriggerDelayTime: 0x00209252, | |
| RespiratorySynchronizationSequence: 0x00209253, | |
| RespiratoryIntervalTime: 0x00209254, | |
| NominalRespiratoryTriggerDelayTime: 0x00209255, | |
| RespiratoryTriggerDelayThreshold: 0x00209256, | |
| ActualRespiratoryTriggerDelayTime: 0x00209257, | |
| ImagePositionVolume: 0x00209301, | |
| ImageOrientationVolume: 0x00209302, | |
| UltrasoundAcquisitionGeometry: 0x00209307, | |
| ApexPosition: 0x00209308, | |
| VolumeToTransducerMappingMatrix: 0x00209309, | |
| VolumeToTableMappingMatrix: 0x0020930a, | |
| VolumeToTransducerRelationship: 0x0020930b, | |
| PatientFrameOfReferenceSource: 0x0020930c, | |
| TemporalPositionTimeOffset: 0x0020930d, | |
| PlanePositionVolumeSequence: 0x0020930e, | |
| PlaneOrientationVolumeSequence: 0x0020930f, | |
| TemporalPositionSequence: 0x00209310, | |
| DimensionOrganizationType: 0x00209311, | |
| VolumeFrameOfReferenceUID: 0x00209312, | |
| TableFrameOfReferenceUID: 0x00209313, | |
| DimensionDescriptionLabel: 0x00209421, | |
| PatientOrientationInFrameSequence: 0x00209450, | |
| FrameLabel: 0x00209453, | |
| AcquisitionIndex: 0x00209518, | |
| ContributingSOPInstancesReferenceSequence: 0x00209529, | |
| ReconstructionIndex: 0x00209536, | |
| LightPathFilterPassThroughWavelength: 0x00220001, | |
| LightPathFilterPassBand: 0x00220002, | |
| ImagePathFilterPassThroughWavelength: 0x00220003, | |
| ImagePathFilterPassBand: 0x00220004, | |
| PatientEyeMovementCommanded: 0x00220005, | |
| PatientEyeMovementCommandCodeSequence: 0x00220006, | |
| SphericalLensPower: 0x00220007, | |
| CylinderLensPower: 0x00220008, | |
| CylinderAxis: 0x00220009, | |
| EmmetropicMagnification: 0x0022000a, | |
| IntraOcularPressure: 0x0022000b, | |
| HorizontalFieldOfView: 0x0022000c, | |
| PupilDilated: 0x0022000d, | |
| DegreeOfDilation: 0x0022000e, | |
| StereoBaselineAngle: 0x00220010, | |
| StereoBaselineDisplacement: 0x00220011, | |
| StereoHorizontalPixelOffset: 0x00220012, | |
| StereoVerticalPixelOffset: 0x00220013, | |
| StereoRotation: 0x00220014, | |
| AcquisitionDeviceTypeCodeSequence: 0x00220015, | |
| IlluminationTypeCodeSequence: 0x00220016, | |
| LightPathFilterTypeStackCodeSequence: 0x00220017, | |
| ImagePathFilterTypeStackCodeSequence: 0x00220018, | |
| LensesCodeSequence: 0x00220019, | |
| ChannelDescriptionCodeSequence: 0x0022001a, | |
| RefractiveStateSequence: 0x0022001b, | |
| MydriaticAgentCodeSequence: 0x0022001c, | |
| RelativeImagePositionCodeSequence: 0x0022001d, | |
| CameraAngleOfView: 0x0022001e, | |
| StereoPairsSequence: 0x00220020, | |
| LeftImageSequence: 0x00220021, | |
| RightImageSequence: 0x00220022, | |
| StereoPairsPresent: 0x00220028, | |
| AxialLengthOfTheEye: 0x00220030, | |
| OphthalmicFrameLocationSequence: 0x00220031, | |
| ReferenceCoordinates: 0x00220032, | |
| DepthSpatialResolution: 0x00220035, | |
| MaximumDepthDistortion: 0x00220036, | |
| AlongScanSpatialResolution: 0x00220037, | |
| MaximumAlongScanDistortion: 0x00220038, | |
| OphthalmicImageOrientation: 0x00220039, | |
| DepthOfTransverseImage: 0x00220041, | |
| MydriaticAgentConcentrationUnitsSequence: 0x00220042, | |
| AcrossScanSpatialResolution: 0x00220048, | |
| MaximumAcrossScanDistortion: 0x00220049, | |
| MydriaticAgentConcentration: 0x0022004e, | |
| IlluminationWaveLength: 0x00220055, | |
| IlluminationPower: 0x00220056, | |
| IlluminationBandwidth: 0x00220057, | |
| MydriaticAgentSequence: 0x00220058, | |
| OphthalmicAxialMeasurementsRightEyeSequence: 0x00221007, | |
| OphthalmicAxialMeasurementsLeftEyeSequence: 0x00221008, | |
| OphthalmicAxialMeasurementsDeviceType: 0x00221009, | |
| OphthalmicAxialLengthMeasurementsType: 0x00221010, | |
| OphthalmicAxialLengthSequence: 0x00221012, | |
| OphthalmicAxialLength: 0x00221019, | |
| LensStatusCodeSequence: 0x00221024, | |
| VitreousStatusCodeSequence: 0x00221025, | |
| IOLFormulaCodeSequence: 0x00221028, | |
| IOLFormulaDetail: 0x00221029, | |
| KeratometerIndex: 0x00221033, | |
| SourceOfOphthalmicAxialLengthCodeSequence: 0x00221035, | |
| TargetRefraction: 0x00221037, | |
| RefractiveProcedureOccurred: 0x00221039, | |
| RefractiveSurgeryTypeCodeSequence: 0x00221040, | |
| OphthalmicUltrasoundMethodCodeSequence: 0x00221044, | |
| OphthalmicAxialLengthMeasurementsSequence: 0x00221050, | |
| IOLPower: 0x00221053, | |
| PredictedRefractiveError: 0x00221054, | |
| OphthalmicAxialLengthVelocity: 0x00221059, | |
| LensStatusDescription: 0x00221065, | |
| VitreousStatusDescription: 0x00221066, | |
| IOLPowerSequence: 0x00221090, | |
| LensConstantSequence: 0x00221092, | |
| IOLManufacturer: 0x00221093, | |
| LensConstantDescription: 0x00221094, | |
| ImplantName: 0x00221095, | |
| KeratometryMeasurementTypeCodeSequence: 0x00221096, | |
| ImplantPartNumber: 0x00221097, | |
| ReferencedOphthalmicAxialMeasurementsSequence: 0x00221100, | |
| OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence: 0x00221101, | |
| RefractiveErrorBeforeRefractiveSurgeryCodeSequence: 0x00221103, | |
| IOLPowerForExactEmmetropia: 0x00221121, | |
| IOLPowerForExactTargetRefraction: 0x00221122, | |
| AnteriorChamberDepthDefinitionCodeSequence: 0x00221125, | |
| LensThicknessSequence: 0x00221127, | |
| AnteriorChamberDepthSequence: 0x00221128, | |
| LensThickness: 0x00221130, | |
| AnteriorChamberDepth: 0x00221131, | |
| SourceOfLensThicknessDataCodeSequence: 0x00221132, | |
| SourceOfAnteriorChamberDepthDataCodeSequence: 0x00221133, | |
| SourceOfRefractiveMeasurementsSequence: 0x00221134, | |
| SourceOfRefractiveMeasurementsCodeSequence: 0x00221135, | |
| OphthalmicAxialLengthMeasurementModified: 0x00221140, | |
| OphthalmicAxialLengthDataSourceCodeSequence: 0x00221150, | |
| OphthalmicAxialLengthAcquisitionMethodCodeSequence: 0x00221153, | |
| SignalToNoiseRatio: 0x00221155, | |
| OphthalmicAxialLengthDataSourceDescription: 0x00221159, | |
| OphthalmicAxialLengthMeasurementsTotalLengthSequence: 0x00221210, | |
| OphthalmicAxialLengthMeasurementsSegmentalLengthSequence: 0x00221211, | |
| OphthalmicAxialLengthMeasurementsLengthSummationSequence: 0x00221212, | |
| UltrasoundOphthalmicAxialLengthMeasurementsSequence: 0x00221220, | |
| OpticalOphthalmicAxialLengthMeasurementsSequence: 0x00221225, | |
| UltrasoundSelectedOphthalmicAxialLengthSequence: 0x00221230, | |
| OphthalmicAxialLengthSelectionMethodCodeSequence: 0x00221250, | |
| OpticalSelectedOphthalmicAxialLengthSequence: 0x00221255, | |
| SelectedSegmentalOphthalmicAxialLengthSequence: 0x00221257, | |
| SelectedTotalOphthalmicAxialLengthSequence: 0x00221260, | |
| OphthalmicAxialLengthQualityMetricSequence: 0x00221262, | |
| OphthalmicAxialLengthQualityMetricTypeCodeSequence: 0x00221265, | |
| OphthalmicAxialLengthQualityMetricTypeDescription: 0x00221273, | |
| IntraocularLensCalculationsRightEyeSequence: 0x00221300, | |
| IntraocularLensCalculationsLeftEyeSequence: 0x00221310, | |
| ReferencedOphthalmicAxialLengthMeasurementQCImageSequence: 0x00221330, | |
| OphthalmicMappingDeviceType: 0x00221415, | |
| AcquisitionMethodCodeSequence: 0x00221420, | |
| AcquisitionMethodAlgorithmSequence: 0x00221423, | |
| OphthalmicThicknessMapTypeCodeSequence: 0x00221436, | |
| OphthalmicThicknessMappingNormalsSequence: 0x00221443, | |
| RetinalThicknessDefinitionCodeSequence: 0x00221445, | |
| PixelValueMappingToCodedConceptSequence: 0x00221450, | |
| MappedPixelValue: 0x00221452, | |
| PixelValueMappingExplanation: 0x00221454, | |
| OphthalmicThicknessMapQualityThresholdSequence: 0x00221458, | |
| OphthalmicThicknessMapThresholdQualityRating: 0x00221460, | |
| AnatomicStructureReferencePoint: 0x00221463, | |
| RegistrationToLocalizerSequence: 0x00221465, | |
| RegisteredLocalizerUnits: 0x00221466, | |
| RegisteredLocalizerTopLeftHandCorner: 0x00221467, | |
| RegisteredLocalizerBottomRightHandCorner: 0x00221468, | |
| OphthalmicThicknessMapQualityRatingSequence: 0x00221470, | |
| RelevantOPTAttributesSequence: 0x00221472, | |
| TransformationMethodCodeSequence: 0x00221512, | |
| TransformationAlgorithmSequence: 0x00221513, | |
| OphthalmicAxialLengthMethod: 0x00221515, | |
| OphthalmicFOV: 0x00221517, | |
| TwoDimensionalToThreeDimensionalMapSequence: 0x00221518, | |
| WideFieldOphthalmicPhotographyQualityRatingSequence: 0x00221525, | |
| WideFieldOphthalmicPhotographyQualityThresholdSequence: 0x00221526, | |
| WideFieldOphthalmicPhotographyThresholdQualityRating: 0x00221527, | |
| XCoordinatesCenterPixelViewAngle: 0x00221528, | |
| YCoordinatesCenterPixelViewAngle: 0x00221529, | |
| NumberOfMapPoints: 0x00221530, | |
| TwoDimensionalToThreeDimensionalMapData: 0x00221531, | |
| DerivationAlgorithmSequence: 0x00221612, | |
| OphthalmicImageTypeCodeSequence: 0x00221615, | |
| OphthalmicImageTypeDescription: 0x00221616, | |
| ScanPatternTypeCodeSequence: 0x00221618, | |
| ReferencedSurfaceMeshIdentificationSequence: 0x00221620, | |
| OphthalmicVolumetricPropertiesFlag: 0x00221622, | |
| OphthalmicAnatomicReferencePointXCoordinate: 0x00221624, | |
| OphthalmicAnatomicReferencePointYCoordinate: 0x00221626, | |
| OphthalmicEnFaceImageQualityRatingSequence: 0x00221628, | |
| QualityThreshold: 0x00221630, | |
| OCTBscanAnalysisAcquisitionParametersSequence: 0x00221640, | |
| NumberofBscansPerFrame: 0x00221642, | |
| BscanSlabThickness: 0x00221643, | |
| DistanceBetweenBscanSlabs: 0x00221644, | |
| BscanCycleTime: 0x00221645, | |
| BscanCycleTimeVector: 0x00221646, | |
| AscanRate: 0x00221649, | |
| BscanRate: 0x00221650, | |
| SurfaceMeshZPixelOffset: 0x00221658, | |
| VisualFieldHorizontalExtent: 0x00240010, | |
| VisualFieldVerticalExtent: 0x00240011, | |
| VisualFieldShape: 0x00240012, | |
| ScreeningTestModeCodeSequence: 0x00240016, | |
| MaximumStimulusLuminance: 0x00240018, | |
| BackgroundLuminance: 0x00240020, | |
| StimulusColorCodeSequence: 0x00240021, | |
| BackgroundIlluminationColorCodeSequence: 0x00240024, | |
| StimulusArea: 0x00240025, | |
| StimulusPresentationTime: 0x00240028, | |
| FixationSequence: 0x00240032, | |
| FixationMonitoringCodeSequence: 0x00240033, | |
| VisualFieldCatchTrialSequence: 0x00240034, | |
| FixationCheckedQuantity: 0x00240035, | |
| PatientNotProperlyFixatedQuantity: 0x00240036, | |
| PresentedVisualStimuliDataFlag: 0x00240037, | |
| NumberOfVisualStimuli: 0x00240038, | |
| ExcessiveFixationLossesDataFlag: 0x00240039, | |
| ExcessiveFixationLosses: 0x00240040, | |
| StimuliRetestingQuantity: 0x00240042, | |
| CommentsOnPatientPerformanceOfVisualField: 0x00240044, | |
| FalseNegativesEstimateFlag: 0x00240045, | |
| FalseNegativesEstimate: 0x00240046, | |
| NegativeCatchTrialsQuantity: 0x00240048, | |
| FalseNegativesQuantity: 0x00240050, | |
| ExcessiveFalseNegativesDataFlag: 0x00240051, | |
| ExcessiveFalseNegatives: 0x00240052, | |
| FalsePositivesEstimateFlag: 0x00240053, | |
| FalsePositivesEstimate: 0x00240054, | |
| CatchTrialsDataFlag: 0x00240055, | |
| PositiveCatchTrialsQuantity: 0x00240056, | |
| TestPointNormalsDataFlag: 0x00240057, | |
| TestPointNormalsSequence: 0x00240058, | |
| GlobalDeviationProbabilityNormalsFlag: 0x00240059, | |
| FalsePositivesQuantity: 0x00240060, | |
| ExcessiveFalsePositivesDataFlag: 0x00240061, | |
| ExcessiveFalsePositives: 0x00240062, | |
| VisualFieldTestNormalsFlag: 0x00240063, | |
| ResultsNormalsSequence: 0x00240064, | |
| AgeCorrectedSensitivityDeviationAlgorithmSequence: 0x00240065, | |
| GlobalDeviationFromNormal: 0x00240066, | |
| GeneralizedDefectSensitivityDeviationAlgorithmSequence: 0x00240067, | |
| LocalizedDeviationFromNormal: 0x00240068, | |
| PatientReliabilityIndicator: 0x00240069, | |
| VisualFieldMeanSensitivity: 0x00240070, | |
| GlobalDeviationProbability: 0x00240071, | |
| LocalDeviationProbabilityNormalsFlag: 0x00240072, | |
| LocalizedDeviationProbability: 0x00240073, | |
| ShortTermFluctuationCalculated: 0x00240074, | |
| ShortTermFluctuation: 0x00240075, | |
| ShortTermFluctuationProbabilityCalculated: 0x00240076, | |
| ShortTermFluctuationProbability: 0x00240077, | |
| CorrectedLocalizedDeviationFromNormalCalculated: 0x00240078, | |
| CorrectedLocalizedDeviationFromNormal: 0x00240079, | |
| CorrectedLocalizedDeviationFromNormalProbabilityCalculated: 0x00240080, | |
| CorrectedLocalizedDeviationFromNormalProbability: 0x00240081, | |
| GlobalDeviationProbabilitySequence: 0x00240083, | |
| LocalizedDeviationProbabilitySequence: 0x00240085, | |
| FovealSensitivityMeasured: 0x00240086, | |
| FovealSensitivity: 0x00240087, | |
| VisualFieldTestDuration: 0x00240088, | |
| VisualFieldTestPointSequence: 0x00240089, | |
| VisualFieldTestPointXCoordinate: 0x00240090, | |
| VisualFieldTestPointYCoordinate: 0x00240091, | |
| AgeCorrectedSensitivityDeviationValue: 0x00240092, | |
| StimulusResults: 0x00240093, | |
| SensitivityValue: 0x00240094, | |
| RetestStimulusSeen: 0x00240095, | |
| RetestSensitivityValue: 0x00240096, | |
| VisualFieldTestPointNormalsSequence: 0x00240097, | |
| QuantifiedDefect: 0x00240098, | |
| AgeCorrectedSensitivityDeviationProbabilityValue: 0x00240100, | |
| GeneralizedDefectCorrectedSensitivityDeviationFlag: 0x00240102, | |
| GeneralizedDefectCorrectedSensitivityDeviationValue: 0x00240103, | |
| GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue: 0x00240104, | |
| MinimumSensitivityValue: 0x00240105, | |
| BlindSpotLocalized: 0x00240106, | |
| BlindSpotXCoordinate: 0x00240107, | |
| BlindSpotYCoordinate: 0x00240108, | |
| VisualAcuityMeasurementSequence: 0x00240110, | |
| RefractiveParametersUsedOnPatientSequence: 0x00240112, | |
| MeasurementLaterality: 0x00240113, | |
| OphthalmicPatientClinicalInformationLeftEyeSequence: 0x00240114, | |
| OphthalmicPatientClinicalInformationRightEyeSequence: 0x00240115, | |
| FovealPointNormativeDataFlag: 0x00240117, | |
| FovealPointProbabilityValue: 0x00240118, | |
| ScreeningBaselineMeasured: 0x00240120, | |
| ScreeningBaselineMeasuredSequence: 0x00240122, | |
| ScreeningBaselineType: 0x00240124, | |
| ScreeningBaselineValue: 0x00240126, | |
| AlgorithmSource: 0x00240202, | |
| DataSetName: 0x00240306, | |
| DataSetVersion: 0x00240307, | |
| DataSetSource: 0x00240308, | |
| DataSetDescription: 0x00240309, | |
| VisualFieldTestReliabilityGlobalIndexSequence: 0x00240317, | |
| VisualFieldGlobalResultsIndexSequence: 0x00240320, | |
| DataObservationSequence: 0x00240325, | |
| IndexNormalsFlag: 0x00240338, | |
| IndexProbability: 0x00240341, | |
| IndexProbabilitySequence: 0x00240344, | |
| SamplesPerPixel: 0x00280002, | |
| SamplesPerPixelUsed: 0x00280003, | |
| PhotometricInterpretation: 0x00280004, | |
| ImageDimensions: 0x00280005, | |
| PlanarConfiguration: 0x00280006, | |
| NumberOfFrames: 0x00280008, | |
| FrameIncrementPointer: 0x00280009, | |
| FrameDimensionPointer: 0x0028000a, | |
| Rows: 0x00280010, | |
| Columns: 0x00280011, | |
| Planes: 0x00280012, | |
| UltrasoundColorDataPresent: 0x00280014, | |
| PixelSpacing: 0x00280030, | |
| ZoomFactor: 0x00280031, | |
| ZoomCenter: 0x00280032, | |
| PixelAspectRatio: 0x00280034, | |
| ImageFormat: 0x00280040, | |
| ManipulatedImage: 0x00280050, | |
| CorrectedImage: 0x00280051, | |
| CompressionRecognitionCode: 0x0028005f, | |
| CompressionCode: 0x00280060, | |
| CompressionOriginator: 0x00280061, | |
| CompressionLabel: 0x00280062, | |
| CompressionDescription: 0x00280063, | |
| CompressionSequence: 0x00280065, | |
| CompressionStepPointers: 0x00280066, | |
| RepeatInterval: 0x00280068, | |
| BitsGrouped: 0x00280069, | |
| PerimeterTable: 0x00280070, | |
| PerimeterValue: 0x00280071, | |
| PredictorRows: 0x00280080, | |
| PredictorColumns: 0x00280081, | |
| PredictorConstants: 0x00280082, | |
| BlockedPixels: 0x00280090, | |
| BlockRows: 0x00280091, | |
| BlockColumns: 0x00280092, | |
| RowOverlap: 0x00280093, | |
| ColumnOverlap: 0x00280094, | |
| BitsAllocated: 0x00280100, | |
| BitsStored: 0x00280101, | |
| HighBit: 0x00280102, | |
| PixelRepresentation: 0x00280103, | |
| SmallestValidPixelValue: 0x00280104, | |
| LargestValidPixelValue: 0x00280105, | |
| SmallestImagePixelValue: 0x00280106, | |
| LargestImagePixelValue: 0x00280107, | |
| SmallestPixelValueInSeries: 0x00280108, | |
| LargestPixelValueInSeries: 0x00280109, | |
| SmallestImagePixelValueInPlane: 0x00280110, | |
| LargestImagePixelValueInPlane: 0x00280111, | |
| PixelPaddingValue: 0x00280120, | |
| PixelPaddingRangeLimit: 0x00280121, | |
| FloatPixelPaddingValue: 0x00280122, | |
| DoubleFloatPixelPaddingValue: 0x00280123, | |
| FloatPixelPaddingRangeLimit: 0x00280124, | |
| DoubleFloatPixelPaddingRangeLimit: 0x00280125, | |
| ImageLocation: 0x00280200, | |
| QualityControlImage: 0x00280300, | |
| BurnedInAnnotation: 0x00280301, | |
| RecognizableVisualFeatures: 0x00280302, | |
| LongitudinalTemporalInformationModified: 0x00280303, | |
| ReferencedColorPaletteInstanceUID: 0x00280304, | |
| TransformLabel: 0x00280400, | |
| TransformVersionNumber: 0x00280401, | |
| NumberOfTransformSteps: 0x00280402, | |
| SequenceOfCompressedData: 0x00280403, | |
| DetailsOfCoefficients: 0x00280404, | |
| RowsForNthOrderCoefficients: 0x00280400, | |
| ColumnsForNthOrderCoefficients: 0x00280401, | |
| CoefficientCoding: 0x00280402, | |
| CoefficientCodingPointers: 0x00280403, | |
| DCTLabel: 0x00280700, | |
| DataBlockDescription: 0x00280701, | |
| DataBlock: 0x00280702, | |
| NormalizationFactorFormat: 0x00280710, | |
| ZonalMapNumberFormat: 0x00280720, | |
| ZonalMapLocation: 0x00280721, | |
| ZonalMapFormat: 0x00280722, | |
| AdaptiveMapFormat: 0x00280730, | |
| CodeNumberFormat: 0x00280740, | |
| CodeLabel: 0x00280800, | |
| NumberOfTables: 0x00280802, | |
| CodeTableLocation: 0x00280803, | |
| BitsForCodeWord: 0x00280804, | |
| ImageDataLocation: 0x00280808, | |
| PixelSpacingCalibrationType: 0x00280a02, | |
| PixelSpacingCalibrationDescription: 0x00280a04, | |
| PixelIntensityRelationship: 0x00281040, | |
| PixelIntensityRelationshipSign: 0x00281041, | |
| WindowCenter: 0x00281050, | |
| WindowWidth: 0x00281051, | |
| RescaleIntercept: 0x00281052, | |
| RescaleSlope: 0x00281053, | |
| RescaleType: 0x00281054, | |
| WindowCenterWidthExplanation: 0x00281055, | |
| VOILUTFunction: 0x00281056, | |
| GrayScale: 0x00281080, | |
| RecommendedViewingMode: 0x00281090, | |
| GrayLookupTableDescriptor: 0x00281100, | |
| RedPaletteColorLookupTableDescriptor: 0x00281101, | |
| GreenPaletteColorLookupTableDescriptor: 0x00281102, | |
| BluePaletteColorLookupTableDescriptor: 0x00281103, | |
| AlphaPaletteColorLookupTableDescriptor: 0x00281104, | |
| LargeRedPaletteColorLookupTableDescriptor: 0x00281111, | |
| LargeGreenPaletteColorLookupTableDescriptor: 0x00281112, | |
| LargeBluePaletteColorLookupTableDescriptor: 0x00281113, | |
| PaletteColorLookupTableUID: 0x00281199, | |
| GrayLookupTableData: 0x00281200, | |
| RedPaletteColorLookupTableData: 0x00281201, | |
| GreenPaletteColorLookupTableData: 0x00281202, | |
| BluePaletteColorLookupTableData: 0x00281203, | |
| AlphaPaletteColorLookupTableData: 0x00281204, | |
| LargeRedPaletteColorLookupTableData: 0x00281211, | |
| LargeGreenPaletteColorLookupTableData: 0x00281212, | |
| LargeBluePaletteColorLookupTableData: 0x00281213, | |
| LargePaletteColorLookupTableUID: 0x00281214, | |
| SegmentedRedPaletteColorLookupTableData: 0x00281221, | |
| SegmentedGreenPaletteColorLookupTableData: 0x00281222, | |
| SegmentedBluePaletteColorLookupTableData: 0x00281223, | |
| SegmentedAlphaPaletteColorLookupTableData: 0x00281224, | |
| StoredValueColorRangeSequence: 0x00281230, | |
| MinimumStoredValueMapped: 0x00281231, | |
| MaximumStoredValueMapped: 0x00281232, | |
| BreastImplantPresent: 0x00281300, | |
| PartialView: 0x00281350, | |
| PartialViewDescription: 0x00281351, | |
| PartialViewCodeSequence: 0x00281352, | |
| SpatialLocationsPreserved: 0x0028135a, | |
| DataFrameAssignmentSequence: 0x00281401, | |
| DataPathAssignment: 0x00281402, | |
| BitsMappedToColorLookupTable: 0x00281403, | |
| BlendingLUT1Sequence: 0x00281404, | |
| BlendingLUT1TransferFunction: 0x00281405, | |
| BlendingWeightConstant: 0x00281406, | |
| BlendingLookupTableDescriptor: 0x00281407, | |
| BlendingLookupTableData: 0x00281408, | |
| EnhancedPaletteColorLookupTableSequence: 0x0028140b, | |
| BlendingLUT2Sequence: 0x0028140c, | |
| BlendingLUT2TransferFunction: 0x0028140d, | |
| DataPathID: 0x0028140e, | |
| RGBLUTTransferFunction: 0x0028140f, | |
| AlphaLUTTransferFunction: 0x00281410, | |
| ICCProfile: 0x00282000, | |
| ColorSpace: 0x00282002, | |
| LossyImageCompression: 0x00282110, | |
| LossyImageCompressionRatio: 0x00282112, | |
| LossyImageCompressionMethod: 0x00282114, | |
| ModalityLUTSequence: 0x00283000, | |
| LUTDescriptor: 0x00283002, | |
| LUTExplanation: 0x00283003, | |
| ModalityLUTType: 0x00283004, | |
| LUTData: 0x00283006, | |
| VOILUTSequence: 0x00283010, | |
| SoftcopyVOILUTSequence: 0x00283110, | |
| ImagePresentationComments: 0x00284000, | |
| BiPlaneAcquisitionSequence: 0x00285000, | |
| RepresentativeFrameNumber: 0x00286010, | |
| FrameNumbersOfInterest: 0x00286020, | |
| FrameOfInterestDescription: 0x00286022, | |
| FrameOfInterestType: 0x00286023, | |
| MaskPointers: 0x00286030, | |
| RWavePointer: 0x00286040, | |
| MaskSubtractionSequence: 0x00286100, | |
| MaskOperation: 0x00286101, | |
| ApplicableFrameRange: 0x00286102, | |
| MaskFrameNumbers: 0x00286110, | |
| ContrastFrameAveraging: 0x00286112, | |
| MaskSubPixelShift: 0x00286114, | |
| TIDOffset: 0x00286120, | |
| MaskOperationExplanation: 0x00286190, | |
| EquipmentAdministratorSequence: 0x00287000, | |
| NumberOfDisplaySubsystems: 0x00287001, | |
| CurrentConfigurationID: 0x00287002, | |
| DisplaySubsystemID: 0x00287003, | |
| DisplaySubsystemName: 0x00287004, | |
| DisplaySubsystemDescription: 0x00287005, | |
| SystemStatus: 0x00287006, | |
| SystemStatusComment: 0x00287007, | |
| TargetLuminanceCharacteristicsSequence: 0x00287008, | |
| LuminanceCharacteristicsID: 0x00287009, | |
| DisplaySubsystemConfigurationSequence: 0x0028700a, | |
| ConfigurationID: 0x0028700b, | |
| ConfigurationName: 0x0028700c, | |
| ConfigurationDescription: 0x0028700d, | |
| ReferencedTargetLuminanceCharacteristicsID: 0x0028700e, | |
| QAResultsSequence: 0x0028700f, | |
| DisplaySubsystemQAResultsSequence: 0x00287010, | |
| ConfigurationQAResultsSequence: 0x00287011, | |
| MeasurementEquipmentSequence: 0x00287012, | |
| MeasurementFunctions: 0x00287013, | |
| MeasurementEquipmentType: 0x00287014, | |
| VisualEvaluationResultSequence: 0x00287015, | |
| DisplayCalibrationResultSequence: 0x00287016, | |
| DDLValue: 0x00287017, | |
| CIExyWhitePoint: 0x00287018, | |
| DisplayFunctionType: 0x00287019, | |
| GammaValue: 0x0028701a, | |
| NumberOfLuminancePoints: 0x0028701b, | |
| LuminanceResponseSequence: 0x0028701c, | |
| TargetMinimumLuminance: 0x0028701d, | |
| TargetMaximumLuminance: 0x0028701e, | |
| LuminanceValue: 0x0028701f, | |
| LuminanceResponseDescription: 0x00287020, | |
| WhitePointFlag: 0x00287021, | |
| DisplayDeviceTypeCodeSequence: 0x00287022, | |
| DisplaySubsystemSequence: 0x00287023, | |
| LuminanceResultSequence: 0x00287024, | |
| AmbientLightValueSource: 0x00287025, | |
| MeasuredCharacteristics: 0x00287026, | |
| LuminanceUniformityResultSequence: 0x00287027, | |
| VisualEvaluationTestSequence: 0x00287028, | |
| TestResult: 0x00287029, | |
| TestResultComment: 0x0028702a, | |
| TestImageValidation: 0x0028702b, | |
| TestPatternCodeSequence: 0x0028702c, | |
| MeasurementPatternCodeSequence: 0x0028702d, | |
| VisualEvaluationMethodCodeSequence: 0x0028702e, | |
| PixelDataProviderURL: 0x00287fe0, | |
| DataPointRows: 0x00289001, | |
| DataPointColumns: 0x00289002, | |
| SignalDomainColumns: 0x00289003, | |
| LargestMonochromePixelValue: 0x00289099, | |
| DataRepresentation: 0x00289108, | |
| PixelMeasuresSequence: 0x00289110, | |
| FrameVOILUTSequence: 0x00289132, | |
| PixelValueTransformationSequence: 0x00289145, | |
| SignalDomainRows: 0x00289235, | |
| DisplayFilterPercentage: 0x00289411, | |
| FramePixelShiftSequence: 0x00289415, | |
| SubtractionItemID: 0x00289416, | |
| PixelIntensityRelationshipLUTSequence: 0x00289422, | |
| FramePixelDataPropertiesSequence: 0x00289443, | |
| GeometricalProperties: 0x00289444, | |
| GeometricMaximumDistortion: 0x00289445, | |
| ImageProcessingApplied: 0x00289446, | |
| MaskSelectionMode: 0x00289454, | |
| LUTFunction: 0x00289474, | |
| MaskVisibilityPercentage: 0x00289478, | |
| PixelShiftSequence: 0x00289501, | |
| RegionPixelShiftSequence: 0x00289502, | |
| VerticesOfTheRegion: 0x00289503, | |
| MultiFramePresentationSequence: 0x00289505, | |
| PixelShiftFrameRange: 0x00289506, | |
| LUTFrameRange: 0x00289507, | |
| ImageToEquipmentMappingMatrix: 0x00289520, | |
| EquipmentCoordinateSystemIdentification: 0x00289537, | |
| StudyStatusID: 0x0032000a, | |
| StudyPriorityID: 0x0032000c, | |
| StudyIDIssuer: 0x00320012, | |
| StudyVerifiedDate: 0x00320032, | |
| StudyVerifiedTime: 0x00320033, | |
| StudyReadDate: 0x00320034, | |
| StudyReadTime: 0x00320035, | |
| ScheduledStudyStartDate: 0x00321000, | |
| ScheduledStudyStartTime: 0x00321001, | |
| ScheduledStudyStopDate: 0x00321010, | |
| ScheduledStudyStopTime: 0x00321011, | |
| ScheduledStudyLocation: 0x00321020, | |
| ScheduledStudyLocationAETitle: 0x00321021, | |
| ReasonForStudy: 0x00321030, | |
| RequestingPhysicianIdentificationSequence: 0x00321031, | |
| RequestingPhysician: 0x00321032, | |
| RequestingService: 0x00321033, | |
| RequestingServiceCodeSequence: 0x00321034, | |
| StudyArrivalDate: 0x00321040, | |
| StudyArrivalTime: 0x00321041, | |
| StudyCompletionDate: 0x00321050, | |
| StudyCompletionTime: 0x00321051, | |
| StudyComponentStatusID: 0x00321055, | |
| RequestedProcedureDescription: 0x00321060, | |
| RequestedProcedureCodeSequence: 0x00321064, | |
| RequestedContrastAgent: 0x00321070, | |
| StudyComments: 0x00324000, | |
| ReferencedPatientAliasSequence: 0x00380004, | |
| VisitStatusID: 0x00380008, | |
| AdmissionID: 0x00380010, | |
| IssuerOfAdmissionID: 0x00380011, | |
| IssuerOfAdmissionIDSequence: 0x00380014, | |
| RouteOfAdmissions: 0x00380016, | |
| ScheduledAdmissionDate: 0x0038001a, | |
| ScheduledAdmissionTime: 0x0038001b, | |
| ScheduledDischargeDate: 0x0038001c, | |
| ScheduledDischargeTime: 0x0038001d, | |
| ScheduledPatientInstitutionResidence: 0x0038001e, | |
| AdmittingDate: 0x00380020, | |
| AdmittingTime: 0x00380021, | |
| DischargeDate: 0x00380030, | |
| DischargeTime: 0x00380032, | |
| DischargeDiagnosisDescription: 0x00380040, | |
| DischargeDiagnosisCodeSequence: 0x00380044, | |
| SpecialNeeds: 0x00380050, | |
| ServiceEpisodeID: 0x00380060, | |
| IssuerOfServiceEpisodeID: 0x00380061, | |
| ServiceEpisodeDescription: 0x00380062, | |
| IssuerOfServiceEpisodeIDSequence: 0x00380064, | |
| PertinentDocumentsSequence: 0x00380100, | |
| PertinentResourcesSequence: 0x00380101, | |
| ResourceDescription: 0x00380102, | |
| CurrentPatientLocation: 0x00380300, | |
| PatientInstitutionResidence: 0x00380400, | |
| PatientState: 0x00380500, | |
| PatientClinicalTrialParticipationSequence: 0x00380502, | |
| VisitComments: 0x00384000, | |
| WaveformOriginality: 0x003a0004, | |
| NumberOfWaveformChannels: 0x003a0005, | |
| NumberOfWaveformSamples: 0x003a0010, | |
| SamplingFrequency: 0x003a001a, | |
| MultiplexGroupLabel: 0x003a0020, | |
| ChannelDefinitionSequence: 0x003a0200, | |
| WaveformChannelNumber: 0x003a0202, | |
| ChannelLabel: 0x003a0203, | |
| ChannelStatus: 0x003a0205, | |
| ChannelSourceSequence: 0x003a0208, | |
| ChannelSourceModifiersSequence: 0x003a0209, | |
| SourceWaveformSequence: 0x003a020a, | |
| ChannelDerivationDescription: 0x003a020c, | |
| ChannelSensitivity: 0x003a0210, | |
| ChannelSensitivityUnitsSequence: 0x003a0211, | |
| ChannelSensitivityCorrectionFactor: 0x003a0212, | |
| ChannelBaseline: 0x003a0213, | |
| ChannelTimeSkew: 0x003a0214, | |
| ChannelSampleSkew: 0x003a0215, | |
| ChannelOffset: 0x003a0218, | |
| WaveformBitsStored: 0x003a021a, | |
| FilterLowFrequency: 0x003a0220, | |
| FilterHighFrequency: 0x003a0221, | |
| NotchFilterFrequency: 0x003a0222, | |
| NotchFilterBandwidth: 0x003a0223, | |
| WaveformDataDisplayScale: 0x003a0230, | |
| WaveformDisplayBackgroundCIELabValue: 0x003a0231, | |
| WaveformPresentationGroupSequence: 0x003a0240, | |
| PresentationGroupNumber: 0x003a0241, | |
| ChannelDisplaySequence: 0x003a0242, | |
| ChannelRecommendedDisplayCIELabValue: 0x003a0244, | |
| ChannelPosition: 0x003a0245, | |
| DisplayShadingFlag: 0x003a0246, | |
| FractionalChannelDisplayScale: 0x003a0247, | |
| AbsoluteChannelDisplayScale: 0x003a0248, | |
| MultiplexedAudioChannelsDescriptionCodeSequence: 0x003a0300, | |
| ChannelIdentificationCode: 0x003a0301, | |
| ChannelMode: 0x003a0302, | |
| ScheduledStationAETitle: 0x00400001, | |
| ScheduledProcedureStepStartDate: 0x00400002, | |
| ScheduledProcedureStepStartTime: 0x00400003, | |
| ScheduledProcedureStepEndDate: 0x00400004, | |
| ScheduledProcedureStepEndTime: 0x00400005, | |
| ScheduledPerformingPhysicianName: 0x00400006, | |
| ScheduledProcedureStepDescription: 0x00400007, | |
| ScheduledProtocolCodeSequence: 0x00400008, | |
| ScheduledProcedureStepID: 0x00400009, | |
| StageCodeSequence: 0x0040000a, | |
| ScheduledPerformingPhysicianIdentificationSequence: 0x0040000b, | |
| ScheduledStationName: 0x00400010, | |
| ScheduledProcedureStepLocation: 0x00400011, | |
| PreMedication: 0x00400012, | |
| ScheduledProcedureStepStatus: 0x00400020, | |
| OrderPlacerIdentifierSequence: 0x00400026, | |
| OrderFillerIdentifierSequence: 0x00400027, | |
| LocalNamespaceEntityID: 0x00400031, | |
| UniversalEntityID: 0x00400032, | |
| UniversalEntityIDType: 0x00400033, | |
| IdentifierTypeCode: 0x00400035, | |
| AssigningFacilitySequence: 0x00400036, | |
| AssigningJurisdictionCodeSequence: 0x00400039, | |
| AssigningAgencyOrDepartmentCodeSequence: 0x0040003a, | |
| ScheduledProcedureStepSequence: 0x00400100, | |
| ReferencedNonImageCompositeSOPInstanceSequence: 0x00400220, | |
| PerformedStationAETitle: 0x00400241, | |
| PerformedStationName: 0x00400242, | |
| PerformedLocation: 0x00400243, | |
| PerformedProcedureStepStartDate: 0x00400244, | |
| PerformedProcedureStepStartTime: 0x00400245, | |
| PerformedProcedureStepEndDate: 0x00400250, | |
| PerformedProcedureStepEndTime: 0x00400251, | |
| PerformedProcedureStepStatus: 0x00400252, | |
| PerformedProcedureStepID: 0x00400253, | |
| PerformedProcedureStepDescription: 0x00400254, | |
| PerformedProcedureTypeDescription: 0x00400255, | |
| PerformedProtocolCodeSequence: 0x00400260, | |
| PerformedProtocolType: 0x00400261, | |
| ScheduledStepAttributesSequence: 0x00400270, | |
| RequestAttributesSequence: 0x00400275, | |
| CommentsOnThePerformedProcedureStep: 0x00400280, | |
| PerformedProcedureStepDiscontinuationReasonCodeSequence: 0x00400281, | |
| QuantitySequence: 0x00400293, | |
| Quantity: 0x00400294, | |
| MeasuringUnitsSequence: 0x00400295, | |
| BillingItemSequence: 0x00400296, | |
| TotalTimeOfFluoroscopy: 0x00400300, | |
| TotalNumberOfExposures: 0x00400301, | |
| EntranceDose: 0x00400302, | |
| ExposedArea: 0x00400303, | |
| DistanceSourceToEntrance: 0x00400306, | |
| DistanceSourceToSupport: 0x00400307, | |
| ExposureDoseSequence: 0x0040030e, | |
| CommentsOnRadiationDose: 0x00400310, | |
| XRayOutput: 0x00400312, | |
| HalfValueLayer: 0x00400314, | |
| OrganDose: 0x00400316, | |
| OrganExposed: 0x00400318, | |
| BillingProcedureStepSequence: 0x00400320, | |
| FilmConsumptionSequence: 0x00400321, | |
| BillingSuppliesAndDevicesSequence: 0x00400324, | |
| ReferencedProcedureStepSequence: 0x00400330, | |
| PerformedSeriesSequence: 0x00400340, | |
| CommentsOnTheScheduledProcedureStep: 0x00400400, | |
| ProtocolContextSequence: 0x00400440, | |
| ContentItemModifierSequence: 0x00400441, | |
| ScheduledSpecimenSequence: 0x00400500, | |
| SpecimenAccessionNumber: 0x0040050a, | |
| ContainerIdentifier: 0x00400512, | |
| IssuerOfTheContainerIdentifierSequence: 0x00400513, | |
| AlternateContainerIdentifierSequence: 0x00400515, | |
| ContainerTypeCodeSequence: 0x00400518, | |
| ContainerDescription: 0x0040051a, | |
| ContainerComponentSequence: 0x00400520, | |
| SpecimenSequence: 0x00400550, | |
| SpecimenIdentifier: 0x00400551, | |
| SpecimenDescriptionSequenceTrial: 0x00400552, | |
| SpecimenDescriptionTrial: 0x00400553, | |
| SpecimenUID: 0x00400554, | |
| AcquisitionContextSequence: 0x00400555, | |
| AcquisitionContextDescription: 0x00400556, | |
| SpecimenTypeCodeSequence: 0x0040059a, | |
| SpecimenDescriptionSequence: 0x00400560, | |
| IssuerOfTheSpecimenIdentifierSequence: 0x00400562, | |
| SpecimenShortDescription: 0x00400600, | |
| SpecimenDetailedDescription: 0x00400602, | |
| SpecimenPreparationSequence: 0x00400610, | |
| SpecimenPreparationStepContentItemSequence: 0x00400612, | |
| SpecimenLocalizationContentItemSequence: 0x00400620, | |
| SlideIdentifier: 0x004006fa, | |
| ImageCenterPointCoordinatesSequence: 0x0040071a, | |
| XOffsetInSlideCoordinateSystem: 0x0040072a, | |
| YOffsetInSlideCoordinateSystem: 0x0040073a, | |
| ZOffsetInSlideCoordinateSystem: 0x0040074a, | |
| PixelSpacingSequence: 0x004008d8, | |
| CoordinateSystemAxisCodeSequence: 0x004008da, | |
| MeasurementUnitsCodeSequence: 0x004008ea, | |
| VitalStainCodeSequenceTrial: 0x004009f8, | |
| RequestedProcedureID: 0x00401001, | |
| ReasonForTheRequestedProcedure: 0x00401002, | |
| RequestedProcedurePriority: 0x00401003, | |
| PatientTransportArrangements: 0x00401004, | |
| RequestedProcedureLocation: 0x00401005, | |
| PlacerOrderNumberProcedure: 0x00401006, | |
| FillerOrderNumberProcedure: 0x00401007, | |
| ConfidentialityCode: 0x00401008, | |
| ReportingPriority: 0x00401009, | |
| ReasonForRequestedProcedureCodeSequence: 0x0040100a, | |
| NamesOfIntendedRecipientsOfResults: 0x00401010, | |
| IntendedRecipientsOfResultsIdentificationSequence: 0x00401011, | |
| ReasonForPerformedProcedureCodeSequence: 0x00401012, | |
| RequestedProcedureDescriptionTrial: 0x00401060, | |
| PersonIdentificationCodeSequence: 0x00401101, | |
| PersonAddress: 0x00401102, | |
| PersonTelephoneNumbers: 0x00401103, | |
| PersonTelecomInformation: 0x00401104, | |
| RequestedProcedureComments: 0x00401400, | |
| ReasonForTheImagingServiceRequest: 0x00402001, | |
| IssueDateOfImagingServiceRequest: 0x00402004, | |
| IssueTimeOfImagingServiceRequest: 0x00402005, | |
| PlacerOrderNumberImagingServiceRequestRetired: 0x00402006, | |
| FillerOrderNumberImagingServiceRequestRetired: 0x00402007, | |
| OrderEnteredBy: 0x00402008, | |
| OrderEntererLocation: 0x00402009, | |
| OrderCallbackPhoneNumber: 0x00402010, | |
| OrderCallbackTelecomInformation: 0x00402011, | |
| PlacerOrderNumberImagingServiceRequest: 0x00402016, | |
| FillerOrderNumberImagingServiceRequest: 0x00402017, | |
| ImagingServiceRequestComments: 0x00402400, | |
| ConfidentialityConstraintOnPatientDataDescription: 0x00403001, | |
| GeneralPurposeScheduledProcedureStepStatus: 0x00404001, | |
| GeneralPurposePerformedProcedureStepStatus: 0x00404002, | |
| GeneralPurposeScheduledProcedureStepPriority: 0x00404003, | |
| ScheduledProcessingApplicationsCodeSequence: 0x00404004, | |
| ScheduledProcedureStepStartDateTime: 0x00404005, | |
| MultipleCopiesFlag: 0x00404006, | |
| PerformedProcessingApplicationsCodeSequence: 0x00404007, | |
| HumanPerformerCodeSequence: 0x00404009, | |
| ScheduledProcedureStepModificationDateTime: 0x00404010, | |
| ExpectedCompletionDateTime: 0x00404011, | |
| ResultingGeneralPurposePerformedProcedureStepsSequence: 0x00404015, | |
| ReferencedGeneralPurposeScheduledProcedureStepSequence: 0x00404016, | |
| ScheduledWorkitemCodeSequence: 0x00404018, | |
| PerformedWorkitemCodeSequence: 0x00404019, | |
| InputAvailabilityFlag: 0x00404020, | |
| InputInformationSequence: 0x00404021, | |
| RelevantInformationSequence: 0x00404022, | |
| ReferencedGeneralPurposeScheduledProcedureStepTransactionUID: 0x00404023, | |
| ScheduledStationNameCodeSequence: 0x00404025, | |
| ScheduledStationClassCodeSequence: 0x00404026, | |
| ScheduledStationGeographicLocationCodeSequence: 0x00404027, | |
| PerformedStationNameCodeSequence: 0x00404028, | |
| PerformedStationClassCodeSequence: 0x00404029, | |
| PerformedStationGeographicLocationCodeSequence: 0x00404030, | |
| RequestedSubsequentWorkitemCodeSequence: 0x00404031, | |
| NonDICOMOutputCodeSequence: 0x00404032, | |
| OutputInformationSequence: 0x00404033, | |
| ScheduledHumanPerformersSequence: 0x00404034, | |
| ActualHumanPerformersSequence: 0x00404035, | |
| HumanPerformerOrganization: 0x00404036, | |
| HumanPerformerName: 0x00404037, | |
| RawDataHandling: 0x00404040, | |
| InputReadinessState: 0x00404041, | |
| PerformedProcedureStepStartDateTime: 0x00404050, | |
| PerformedProcedureStepEndDateTime: 0x00404051, | |
| ProcedureStepCancellationDateTime: 0x00404052, | |
| OutputDestinationSequence: 0x00404070, | |
| DICOMStorageSequence: 0x00404071, | |
| STOWRSStorageSequence: 0x00404072, | |
| StorageURL: 0x00404073, | |
| XDSStorageSequence: 0x00404074, | |
| EntranceDoseInmGy: 0x00408302, | |
| EntranceDoseDerivation: 0x00408303, | |
| ParametricMapFrameTypeSequence: 0x00409092, | |
| ReferencedImageRealWorldValueMappingSequence: 0x00409094, | |
| RealWorldValueMappingSequence: 0x00409096, | |
| PixelValueMappingCodeSequence: 0x00409098, | |
| LUTLabel: 0x00409210, | |
| RealWorldValueLastValueMapped: 0x00409211, | |
| RealWorldValueLUTData: 0x00409212, | |
| DoubleFloatRealWorldValueLastValueMapped: 0x00409213, | |
| DoubleFloatRealWorldValueFirstValueMapped: 0x00409214, | |
| RealWorldValueFirstValueMapped: 0x00409216, | |
| QuantityDefinitionSequence: 0x00409220, | |
| RealWorldValueIntercept: 0x00409224, | |
| RealWorldValueSlope: 0x00409225, | |
| FindingsFlagTrial: 0x0040a007, | |
| RelationshipType: 0x0040a010, | |
| FindingsSequenceTrial: 0x0040a020, | |
| FindingsGroupUIDTrial: 0x0040a021, | |
| ReferencedFindingsGroupUIDTrial: 0x0040a022, | |
| FindingsGroupRecordingDateTrial: 0x0040a023, | |
| FindingsGroupRecordingTimeTrial: 0x0040a024, | |
| FindingsSourceCategoryCodeSequenceTrial: 0x0040a026, | |
| VerifyingOrganization: 0x0040a027, | |
| DocumentingOrganizationIdentifierCodeSequenceTrial: 0x0040a028, | |
| VerificationDateTime: 0x0040a030, | |
| ObservationDateTime: 0x0040a032, | |
| ValueType: 0x0040a040, | |
| ConceptNameCodeSequence: 0x0040a043, | |
| MeasurementPrecisionDescriptionTrial: 0x0040a047, | |
| ContinuityOfContent: 0x0040a050, | |
| UrgencyOrPriorityAlertsTrial: 0x0040a057, | |
| SequencingIndicatorTrial: 0x0040a060, | |
| DocumentIdentifierCodeSequenceTrial: 0x0040a066, | |
| DocumentAuthorTrial: 0x0040a067, | |
| DocumentAuthorIdentifierCodeSequenceTrial: 0x0040a068, | |
| IdentifierCodeSequenceTrial: 0x0040a070, | |
| VerifyingObserverSequence: 0x0040a073, | |
| ObjectBinaryIdentifierTrial: 0x0040a074, | |
| VerifyingObserverName: 0x0040a075, | |
| DocumentingObserverIdentifierCodeSequenceTrial: 0x0040a076, | |
| AuthorObserverSequence: 0x0040a078, | |
| ParticipantSequence: 0x0040a07a, | |
| CustodialOrganizationSequence: 0x0040a07c, | |
| ParticipationType: 0x0040a080, | |
| ParticipationDateTime: 0x0040a082, | |
| ObserverType: 0x0040a084, | |
| ProcedureIdentifierCodeSequenceTrial: 0x0040a085, | |
| VerifyingObserverIdentificationCodeSequence: 0x0040a088, | |
| ObjectDirectoryBinaryIdentifierTrial: 0x0040a089, | |
| EquivalentCDADocumentSequence: 0x0040a090, | |
| ReferencedWaveformChannels: 0x0040a0b0, | |
| DateOfDocumentOrVerbalTransactionTrial: 0x0040a110, | |
| TimeOfDocumentCreationOrVerbalTransactionTrial: 0x0040a112, | |
| DateTime: 0x0040a120, | |
| Date: 0x0040a121, | |
| Time: 0x0040a122, | |
| PersonName: 0x0040a123, | |
| UID: 0x0040a124, | |
| ReportStatusIDTrial: 0x0040a125, | |
| TemporalRangeType: 0x0040a130, | |
| ReferencedSamplePositions: 0x0040a132, | |
| ReferencedFrameNumbers: 0x0040a136, | |
| ReferencedTimeOffsets: 0x0040a138, | |
| ReferencedDateTime: 0x0040a13a, | |
| TextValue: 0x0040a160, | |
| FloatingPointValue: 0x0040a161, | |
| RationalNumeratorValue: 0x0040a162, | |
| RationalDenominatorValue: 0x0040a163, | |
| ObservationCategoryCodeSequenceTrial: 0x0040a167, | |
| ConceptCodeSequence: 0x0040a168, | |
| BibliographicCitationTrial: 0x0040a16a, | |
| PurposeOfReferenceCodeSequence: 0x0040a170, | |
| ObservationUID: 0x0040a171, | |
| ReferencedObservationUIDTrial: 0x0040a172, | |
| ReferencedObservationClassTrial: 0x0040a173, | |
| ReferencedObjectObservationClassTrial: 0x0040a174, | |
| AnnotationGroupNumber: 0x0040a180, | |
| ObservationDateTrial: 0x0040a192, | |
| ObservationTimeTrial: 0x0040a193, | |
| MeasurementAutomationTrial: 0x0040a194, | |
| ModifierCodeSequence: 0x0040a195, | |
| IdentificationDescriptionTrial: 0x0040a224, | |
| CoordinatesSetGeometricTypeTrial: 0x0040a290, | |
| AlgorithmCodeSequenceTrial: 0x0040a296, | |
| AlgorithmDescriptionTrial: 0x0040a297, | |
| PixelCoordinatesSetTrial: 0x0040a29a, | |
| MeasuredValueSequence: 0x0040a300, | |
| NumericValueQualifierCodeSequence: 0x0040a301, | |
| CurrentObserverTrial: 0x0040a307, | |
| NumericValue: 0x0040a30a, | |
| ReferencedAccessionSequenceTrial: 0x0040a313, | |
| ReportStatusCommentTrial: 0x0040a33a, | |
| ProcedureContextSequenceTrial: 0x0040a340, | |
| VerbalSourceTrial: 0x0040a352, | |
| AddressTrial: 0x0040a353, | |
| TelephoneNumberTrial: 0x0040a354, | |
| VerbalSourceIdentifierCodeSequenceTrial: 0x0040a358, | |
| PredecessorDocumentsSequence: 0x0040a360, | |
| ReferencedRequestSequence: 0x0040a370, | |
| PerformedProcedureCodeSequence: 0x0040a372, | |
| CurrentRequestedProcedureEvidenceSequence: 0x0040a375, | |
| ReportDetailSequenceTrial: 0x0040a380, | |
| PertinentOtherEvidenceSequence: 0x0040a385, | |
| HL7StructuredDocumentReferenceSequence: 0x0040a390, | |
| ObservationSubjectUIDTrial: 0x0040a402, | |
| ObservationSubjectClassTrial: 0x0040a403, | |
| ObservationSubjectTypeCodeSequenceTrial: 0x0040a404, | |
| CompletionFlag: 0x0040a491, | |
| CompletionFlagDescription: 0x0040a492, | |
| VerificationFlag: 0x0040a493, | |
| ArchiveRequested: 0x0040a494, | |
| PreliminaryFlag: 0x0040a496, | |
| ContentTemplateSequence: 0x0040a504, | |
| IdenticalDocumentsSequence: 0x0040a525, | |
| ObservationSubjectContextFlagTrial: 0x0040a600, | |
| ObserverContextFlagTrial: 0x0040a601, | |
| ProcedureContextFlagTrial: 0x0040a603, | |
| ContentSequence: 0x0040a730, | |
| RelationshipSequenceTrial: 0x0040a731, | |
| RelationshipTypeCodeSequenceTrial: 0x0040a732, | |
| LanguageCodeSequenceTrial: 0x0040a744, | |
| UniformResourceLocatorTrial: 0x0040a992, | |
| WaveformAnnotationSequence: 0x0040b020, | |
| TemplateIdentifier: 0x0040db00, | |
| TemplateVersion: 0x0040db06, | |
| TemplateLocalVersion: 0x0040db07, | |
| TemplateExtensionFlag: 0x0040db0b, | |
| TemplateExtensionOrganizationUID: 0x0040db0c, | |
| TemplateExtensionCreatorUID: 0x0040db0d, | |
| ReferencedContentItemIdentifier: 0x0040db73, | |
| HL7InstanceIdentifier: 0x0040e001, | |
| HL7DocumentEffectiveTime: 0x0040e004, | |
| HL7DocumentTypeCodeSequence: 0x0040e006, | |
| DocumentClassCodeSequence: 0x0040e008, | |
| RetrieveURI: 0x0040e010, | |
| RetrieveLocationUID: 0x0040e011, | |
| TypeOfInstances: 0x0040e020, | |
| DICOMRetrievalSequence: 0x0040e021, | |
| DICOMMediaRetrievalSequence: 0x0040e022, | |
| WADORetrievalSequence: 0x0040e023, | |
| XDSRetrievalSequence: 0x0040e024, | |
| WADORSRetrievalSequence: 0x0040e025, | |
| RepositoryUniqueID: 0x0040e030, | |
| HomeCommunityID: 0x0040e031, | |
| DocumentTitle: 0x00420010, | |
| EncapsulatedDocument: 0x00420011, | |
| MIMETypeOfEncapsulatedDocument: 0x00420012, | |
| SourceInstanceSequence: 0x00420013, | |
| ListOfMIMETypes: 0x00420014, | |
| ProductPackageIdentifier: 0x00440001, | |
| SubstanceAdministrationApproval: 0x00440002, | |
| ApprovalStatusFurtherDescription: 0x00440003, | |
| ApprovalStatusDateTime: 0x00440004, | |
| ProductTypeCodeSequence: 0x00440007, | |
| ProductName: 0x00440008, | |
| ProductDescription: 0x00440009, | |
| ProductLotIdentifier: 0x0044000a, | |
| ProductExpirationDateTime: 0x0044000b, | |
| SubstanceAdministrationDateTime: 0x00440010, | |
| SubstanceAdministrationNotes: 0x00440011, | |
| SubstanceAdministrationDeviceID: 0x00440012, | |
| ProductParameterSequence: 0x00440013, | |
| SubstanceAdministrationParameterSequence: 0x00440019, | |
| ApprovalSequence: 0x00440100, | |
| AssertionCodeSequence: 0x00440101, | |
| AssertionUID: 0x00440102, | |
| AsserterIdentificationSequence: 0x00440103, | |
| AssertionDateTime: 0x00440104, | |
| AssertionExpirationDateTime: 0x00440105, | |
| AssertionComments: 0x00440106, | |
| RelatedAssertionSequence: 0x00440107, | |
| ReferencedAssertionUID: 0x00440108, | |
| ApprovalSubjectSequence: 0x00440109, | |
| OrganizationalRoleCodeSequence: 0x0044010a, | |
| LensDescription: 0x00460012, | |
| RightLensSequence: 0x00460014, | |
| LeftLensSequence: 0x00460015, | |
| UnspecifiedLateralityLensSequence: 0x00460016, | |
| CylinderSequence: 0x00460018, | |
| PrismSequence: 0x00460028, | |
| HorizontalPrismPower: 0x00460030, | |
| HorizontalPrismBase: 0x00460032, | |
| VerticalPrismPower: 0x00460034, | |
| VerticalPrismBase: 0x00460036, | |
| LensSegmentType: 0x00460038, | |
| OpticalTransmittance: 0x00460040, | |
| ChannelWidth: 0x00460042, | |
| PupilSize: 0x00460044, | |
| CornealSize: 0x00460046, | |
| AutorefractionRightEyeSequence: 0x00460050, | |
| AutorefractionLeftEyeSequence: 0x00460052, | |
| DistancePupillaryDistance: 0x00460060, | |
| NearPupillaryDistance: 0x00460062, | |
| IntermediatePupillaryDistance: 0x00460063, | |
| OtherPupillaryDistance: 0x00460064, | |
| KeratometryRightEyeSequence: 0x00460070, | |
| KeratometryLeftEyeSequence: 0x00460071, | |
| SteepKeratometricAxisSequence: 0x00460074, | |
| RadiusOfCurvature: 0x00460075, | |
| KeratometricPower: 0x00460076, | |
| KeratometricAxis: 0x00460077, | |
| FlatKeratometricAxisSequence: 0x00460080, | |
| BackgroundColor: 0x00460092, | |
| Optotype: 0x00460094, | |
| OptotypePresentation: 0x00460095, | |
| SubjectiveRefractionRightEyeSequence: 0x00460097, | |
| SubjectiveRefractionLeftEyeSequence: 0x00460098, | |
| AddNearSequence: 0x00460100, | |
| AddIntermediateSequence: 0x00460101, | |
| AddOtherSequence: 0x00460102, | |
| AddPower: 0x00460104, | |
| ViewingDistance: 0x00460106, | |
| VisualAcuityTypeCodeSequence: 0x00460121, | |
| VisualAcuityRightEyeSequence: 0x00460122, | |
| VisualAcuityLeftEyeSequence: 0x00460123, | |
| VisualAcuityBothEyesOpenSequence: 0x00460124, | |
| ViewingDistanceType: 0x00460125, | |
| VisualAcuityModifiers: 0x00460135, | |
| DecimalVisualAcuity: 0x00460137, | |
| OptotypeDetailedDefinition: 0x00460139, | |
| ReferencedRefractiveMeasurementsSequence: 0x00460145, | |
| SpherePower: 0x00460146, | |
| CylinderPower: 0x00460147, | |
| CornealTopographySurface: 0x00460201, | |
| CornealVertexLocation: 0x00460202, | |
| PupilCentroidXCoordinate: 0x00460203, | |
| PupilCentroidYCoordinate: 0x00460204, | |
| EquivalentPupilRadius: 0x00460205, | |
| CornealTopographyMapTypeCodeSequence: 0x00460207, | |
| VerticesOfTheOutlineOfPupil: 0x00460208, | |
| CornealTopographyMappingNormalsSequence: 0x00460210, | |
| MaximumCornealCurvatureSequence: 0x00460211, | |
| MaximumCornealCurvature: 0x00460212, | |
| MaximumCornealCurvatureLocation: 0x00460213, | |
| MinimumKeratometricSequence: 0x00460215, | |
| SimulatedKeratometricCylinderSequence: 0x00460218, | |
| AverageCornealPower: 0x00460220, | |
| CornealISValue: 0x00460224, | |
| AnalyzedArea: 0x00460227, | |
| SurfaceRegularityIndex: 0x00460230, | |
| SurfaceAsymmetryIndex: 0x00460232, | |
| CornealEccentricityIndex: 0x00460234, | |
| KeratoconusPredictionIndex: 0x00460236, | |
| DecimalPotentialVisualAcuity: 0x00460238, | |
| CornealTopographyMapQualityEvaluation: 0x00460242, | |
| SourceImageCornealProcessedDataSequence: 0x00460244, | |
| CornealPointLocation: 0x00460247, | |
| CornealPointEstimated: 0x00460248, | |
| AxialPower: 0x00460249, | |
| TangentialPower: 0x00460250, | |
| RefractivePower: 0x00460251, | |
| RelativeElevation: 0x00460252, | |
| CornealWavefront: 0x00460253, | |
| ImagedVolumeWidth: 0x00480001, | |
| ImagedVolumeHeight: 0x00480002, | |
| ImagedVolumeDepth: 0x00480003, | |
| TotalPixelMatrixColumns: 0x00480006, | |
| TotalPixelMatrixRows: 0x00480007, | |
| TotalPixelMatrixOriginSequence: 0x00480008, | |
| SpecimenLabelInImage: 0x00480010, | |
| FocusMethod: 0x00480011, | |
| ExtendedDepthOfField: 0x00480012, | |
| NumberOfFocalPlanes: 0x00480013, | |
| DistanceBetweenFocalPlanes: 0x00480014, | |
| RecommendedAbsentPixelCIELabValue: 0x00480015, | |
| IlluminatorTypeCodeSequence: 0x00480100, | |
| ImageOrientationSlide: 0x00480102, | |
| OpticalPathSequence: 0x00480105, | |
| OpticalPathIdentifier: 0x00480106, | |
| OpticalPathDescription: 0x00480107, | |
| IlluminationColorCodeSequence: 0x00480108, | |
| SpecimenReferenceSequence: 0x00480110, | |
| CondenserLensPower: 0x00480111, | |
| ObjectiveLensPower: 0x00480112, | |
| ObjectiveLensNumericalAperture: 0x00480113, | |
| PaletteColorLookupTableSequence: 0x00480120, | |
| ReferencedImageNavigationSequence: 0x00480200, | |
| TopLeftHandCornerOfLocalizerArea: 0x00480201, | |
| BottomRightHandCornerOfLocalizerArea: 0x00480202, | |
| OpticalPathIdentificationSequence: 0x00480207, | |
| PlanePositionSlideSequence: 0x0048021a, | |
| ColumnPositionInTotalImagePixelMatrix: 0x0048021e, | |
| RowPositionInTotalImagePixelMatrix: 0x0048021f, | |
| PixelOriginInterpretation: 0x00480301, | |
| CalibrationImage: 0x00500004, | |
| DeviceSequence: 0x00500010, | |
| ContainerComponentTypeCodeSequence: 0x00500012, | |
| ContainerComponentThickness: 0x00500013, | |
| DeviceLength: 0x00500014, | |
| ContainerComponentWidth: 0x00500015, | |
| DeviceDiameter: 0x00500016, | |
| DeviceDiameterUnits: 0x00500017, | |
| DeviceVolume: 0x00500018, | |
| InterMarkerDistance: 0x00500019, | |
| ContainerComponentMaterial: 0x0050001a, | |
| ContainerComponentID: 0x0050001b, | |
| ContainerComponentLength: 0x0050001c, | |
| ContainerComponentDiameter: 0x0050001d, | |
| ContainerComponentDescription: 0x0050001e, | |
| DeviceDescription: 0x00500020, | |
| ContrastBolusIngredientPercentByVolume: 0x00520001, | |
| OCTFocalDistance: 0x00520002, | |
| BeamSpotSize: 0x00520003, | |
| EffectiveRefractiveIndex: 0x00520004, | |
| OCTAcquisitionDomain: 0x00520006, | |
| OCTOpticalCenterWavelength: 0x00520007, | |
| AxialResolution: 0x00520008, | |
| RangingDepth: 0x00520009, | |
| ALineRate: 0x00520011, | |
| ALinesPerFrame: 0x00520012, | |
| CatheterRotationalRate: 0x00520013, | |
| ALinePixelSpacing: 0x00520014, | |
| ModeOfPercutaneousAccessSequence: 0x00520016, | |
| IntravascularOCTFrameTypeSequence: 0x00520025, | |
| OCTZOffsetApplied: 0x00520026, | |
| IntravascularFrameContentSequence: 0x00520027, | |
| IntravascularLongitudinalDistance: 0x00520028, | |
| IntravascularOCTFrameContentSequence: 0x00520029, | |
| OCTZOffsetCorrection: 0x00520030, | |
| CatheterDirectionOfRotation: 0x00520031, | |
| SeamLineLocation: 0x00520033, | |
| FirstALineLocation: 0x00520034, | |
| SeamLineIndex: 0x00520036, | |
| NumberOfPaddedALines: 0x00520038, | |
| InterpolationType: 0x00520039, | |
| RefractiveIndexApplied: 0x0052003a, | |
| EnergyWindowVector: 0x00540010, | |
| NumberOfEnergyWindows: 0x00540011, | |
| EnergyWindowInformationSequence: 0x00540012, | |
| EnergyWindowRangeSequence: 0x00540013, | |
| EnergyWindowLowerLimit: 0x00540014, | |
| EnergyWindowUpperLimit: 0x00540015, | |
| RadiopharmaceuticalInformationSequence: 0x00540016, | |
| ResidualSyringeCounts: 0x00540017, | |
| EnergyWindowName: 0x00540018, | |
| DetectorVector: 0x00540020, | |
| NumberOfDetectors: 0x00540021, | |
| DetectorInformationSequence: 0x00540022, | |
| PhaseVector: 0x00540030, | |
| NumberOfPhases: 0x00540031, | |
| PhaseInformationSequence: 0x00540032, | |
| NumberOfFramesInPhase: 0x00540033, | |
| PhaseDelay: 0x00540036, | |
| PauseBetweenFrames: 0x00540038, | |
| PhaseDescription: 0x00540039, | |
| RotationVector: 0x00540050, | |
| NumberOfRotations: 0x00540051, | |
| RotationInformationSequence: 0x00540052, | |
| NumberOfFramesInRotation: 0x00540053, | |
| RRIntervalVector: 0x00540060, | |
| NumberOfRRIntervals: 0x00540061, | |
| GatedInformationSequence: 0x00540062, | |
| DataInformationSequence: 0x00540063, | |
| TimeSlotVector: 0x00540070, | |
| NumberOfTimeSlots: 0x00540071, | |
| TimeSlotInformationSequence: 0x00540072, | |
| TimeSlotTime: 0x00540073, | |
| SliceVector: 0x00540080, | |
| NumberOfSlices: 0x00540081, | |
| AngularViewVector: 0x00540090, | |
| TimeSliceVector: 0x00540100, | |
| NumberOfTimeSlices: 0x00540101, | |
| StartAngle: 0x00540200, | |
| TypeOfDetectorMotion: 0x00540202, | |
| TriggerVector: 0x00540210, | |
| NumberOfTriggersInPhase: 0x00540211, | |
| ViewCodeSequence: 0x00540220, | |
| ViewModifierCodeSequence: 0x00540222, | |
| RadionuclideCodeSequence: 0x00540300, | |
| AdministrationRouteCodeSequence: 0x00540302, | |
| RadiopharmaceuticalCodeSequence: 0x00540304, | |
| CalibrationDataSequence: 0x00540306, | |
| EnergyWindowNumber: 0x00540308, | |
| ImageID: 0x00540400, | |
| PatientOrientationCodeSequence: 0x00540410, | |
| PatientOrientationModifierCodeSequence: 0x00540412, | |
| PatientGantryRelationshipCodeSequence: 0x00540414, | |
| SliceProgressionDirection: 0x00540500, | |
| ScanProgressionDirection: 0x00540501, | |
| SeriesType: 0x00541000, | |
| Units: 0x00541001, | |
| CountsSource: 0x00541002, | |
| ReprojectionMethod: 0x00541004, | |
| SUVType: 0x00541006, | |
| RandomsCorrectionMethod: 0x00541100, | |
| AttenuationCorrectionMethod: 0x00541101, | |
| DecayCorrection: 0x00541102, | |
| ReconstructionMethod: 0x00541103, | |
| DetectorLinesOfResponseUsed: 0x00541104, | |
| ScatterCorrectionMethod: 0x00541105, | |
| AxialAcceptance: 0x00541200, | |
| AxialMash: 0x00541201, | |
| TransverseMash: 0x00541202, | |
| DetectorElementSize: 0x00541203, | |
| CoincidenceWindowWidth: 0x00541210, | |
| SecondaryCountsType: 0x00541220, | |
| FrameReferenceTime: 0x00541300, | |
| PrimaryPromptsCountsAccumulated: 0x00541310, | |
| SecondaryCountsAccumulated: 0x00541311, | |
| SliceSensitivityFactor: 0x00541320, | |
| DecayFactor: 0x00541321, | |
| DoseCalibrationFactor: 0x00541322, | |
| ScatterFractionFactor: 0x00541323, | |
| DeadTimeFactor: 0x00541324, | |
| ImageIndex: 0x00541330, | |
| CountsIncluded: 0x00541400, | |
| DeadTimeCorrectionFlag: 0x00541401, | |
| HistogramSequence: 0x00603000, | |
| HistogramNumberOfBins: 0x00603002, | |
| HistogramFirstBinValue: 0x00603004, | |
| HistogramLastBinValue: 0x00603006, | |
| HistogramBinWidth: 0x00603008, | |
| HistogramExplanation: 0x00603010, | |
| HistogramData: 0x00603020, | |
| SegmentationType: 0x00620001, | |
| SegmentSequence: 0x00620002, | |
| SegmentedPropertyCategoryCodeSequence: 0x00620003, | |
| SegmentNumber: 0x00620004, | |
| SegmentLabel: 0x00620005, | |
| SegmentDescription: 0x00620006, | |
| SegmentationAlgorithmIdentificationSequence: 0x00620007, | |
| SegmentAlgorithmType: 0x00620008, | |
| SegmentAlgorithmName: 0x00620009, | |
| SegmentIdentificationSequence: 0x0062000a, | |
| ReferencedSegmentNumber: 0x0062000b, | |
| RecommendedDisplayGrayscaleValue: 0x0062000c, | |
| RecommendedDisplayCIELabValue: 0x0062000d, | |
| MaximumFractionalValue: 0x0062000e, | |
| SegmentedPropertyTypeCodeSequence: 0x0062000f, | |
| SegmentationFractionalType: 0x00620010, | |
| SegmentedPropertyTypeModifierCodeSequence: 0x00620011, | |
| UsedSegmentsSequence: 0x00620012, | |
| TrackingID: 0x00620020, | |
| TrackingUID: 0x00620021, | |
| DeformableRegistrationSequence: 0x00640002, | |
| SourceFrameOfReferenceUID: 0x00640003, | |
| DeformableRegistrationGridSequence: 0x00640005, | |
| GridDimensions: 0x00640007, | |
| GridResolution: 0x00640008, | |
| VectorGridData: 0x00640009, | |
| PreDeformationMatrixRegistrationSequence: 0x0064000f, | |
| PostDeformationMatrixRegistrationSequence: 0x00640010, | |
| NumberOfSurfaces: 0x00660001, | |
| SurfaceSequence: 0x00660002, | |
| SurfaceNumber: 0x00660003, | |
| SurfaceComments: 0x00660004, | |
| SurfaceProcessing: 0x00660009, | |
| SurfaceProcessingRatio: 0x0066000a, | |
| SurfaceProcessingDescription: 0x0066000b, | |
| RecommendedPresentationOpacity: 0x0066000c, | |
| RecommendedPresentationType: 0x0066000d, | |
| FiniteVolume: 0x0066000e, | |
| Manifold: 0x00660010, | |
| SurfacePointsSequence: 0x00660011, | |
| SurfacePointsNormalsSequence: 0x00660012, | |
| SurfaceMeshPrimitivesSequence: 0x00660013, | |
| NumberOfSurfacePoints: 0x00660015, | |
| PointCoordinatesData: 0x00660016, | |
| PointPositionAccuracy: 0x00660017, | |
| MeanPointDistance: 0x00660018, | |
| MaximumPointDistance: 0x00660019, | |
| PointsBoundingBoxCoordinates: 0x0066001a, | |
| AxisOfRotation: 0x0066001b, | |
| CenterOfRotation: 0x0066001c, | |
| NumberOfVectors: 0x0066001e, | |
| VectorDimensionality: 0x0066001f, | |
| VectorAccuracy: 0x00660020, | |
| VectorCoordinateData: 0x00660021, | |
| TrianglePointIndexList: 0x00660023, | |
| EdgePointIndexList: 0x00660024, | |
| VertexPointIndexList: 0x00660025, | |
| TriangleStripSequence: 0x00660026, | |
| TriangleFanSequence: 0x00660027, | |
| LineSequence: 0x00660028, | |
| PrimitivePointIndexList: 0x00660029, | |
| SurfaceCount: 0x0066002a, | |
| ReferencedSurfaceSequence: 0x0066002b, | |
| ReferencedSurfaceNumber: 0x0066002c, | |
| SegmentSurfaceGenerationAlgorithmIdentificationSequence: 0x0066002d, | |
| SegmentSurfaceSourceInstanceSequence: 0x0066002e, | |
| AlgorithmFamilyCodeSequence: 0x0066002f, | |
| AlgorithmNameCodeSequence: 0x00660030, | |
| AlgorithmVersion: 0x00660031, | |
| AlgorithmParameters: 0x00660032, | |
| FacetSequence: 0x00660034, | |
| SurfaceProcessingAlgorithmIdentificationSequence: 0x00660035, | |
| AlgorithmName: 0x00660036, | |
| RecommendedPointRadius: 0x00660037, | |
| RecommendedLineThickness: 0x00660038, | |
| LongPrimitivePointIndexList: 0x00660040, | |
| LongTrianglePointIndexList: 0x00660041, | |
| LongEdgePointIndexList: 0x00660042, | |
| LongVertexPointIndexList: 0x00660043, | |
| TrackSetSequence: 0x00660101, | |
| TrackSequence: 0x00660102, | |
| RecommendedDisplayCIELabValueList: 0x00660103, | |
| TrackingAlgorithmIdentificationSequence: 0x00660104, | |
| TrackSetNumber: 0x00660105, | |
| TrackSetLabel: 0x00660106, | |
| TrackSetDescription: 0x00660107, | |
| TrackSetAnatomicalTypeCodeSequence: 0x00660108, | |
| MeasurementsSequence: 0x00660121, | |
| TrackSetStatisticsSequence: 0x00660124, | |
| FloatingPointValues: 0x00660125, | |
| TrackPointIndexList: 0x00660129, | |
| TrackStatisticsSequence: 0x00660130, | |
| MeasurementValuesSequence: 0x00660132, | |
| DiffusionAcquisitionCodeSequence: 0x00660133, | |
| DiffusionModelCodeSequence: 0x00660134, | |
| ImplantSize: 0x00686210, | |
| ImplantTemplateVersion: 0x00686221, | |
| ReplacedImplantTemplateSequence: 0x00686222, | |
| ImplantType: 0x00686223, | |
| DerivationImplantTemplateSequence: 0x00686224, | |
| OriginalImplantTemplateSequence: 0x00686225, | |
| EffectiveDateTime: 0x00686226, | |
| ImplantTargetAnatomySequence: 0x00686230, | |
| InformationFromManufacturerSequence: 0x00686260, | |
| NotificationFromManufacturerSequence: 0x00686265, | |
| InformationIssueDateTime: 0x00686270, | |
| InformationSummary: 0x00686280, | |
| ImplantRegulatoryDisapprovalCodeSequence: 0x006862a0, | |
| OverallTemplateSpatialTolerance: 0x006862a5, | |
| HPGLDocumentSequence: 0x006862c0, | |
| HPGLDocumentID: 0x006862d0, | |
| HPGLDocumentLabel: 0x006862d5, | |
| ViewOrientationCodeSequence: 0x006862e0, | |
| ViewOrientationModifierCodeSequence: 0x006862f0, | |
| HPGLDocumentScaling: 0x006862f2, | |
| HPGLDocument: 0x00686300, | |
| HPGLContourPenNumber: 0x00686310, | |
| HPGLPenSequence: 0x00686320, | |
| HPGLPenNumber: 0x00686330, | |
| HPGLPenLabel: 0x00686340, | |
| HPGLPenDescription: 0x00686345, | |
| RecommendedRotationPoint: 0x00686346, | |
| BoundingRectangle: 0x00686347, | |
| ImplantTemplate3DModelSurfaceNumber: 0x00686350, | |
| SurfaceModelDescriptionSequence: 0x00686360, | |
| SurfaceModelLabel: 0x00686380, | |
| SurfaceModelScalingFactor: 0x00686390, | |
| MaterialsCodeSequence: 0x006863a0, | |
| CoatingMaterialsCodeSequence: 0x006863a4, | |
| ImplantTypeCodeSequence: 0x006863a8, | |
| FixationMethodCodeSequence: 0x006863ac, | |
| MatingFeatureSetsSequence: 0x006863b0, | |
| MatingFeatureSetID: 0x006863c0, | |
| MatingFeatureSetLabel: 0x006863d0, | |
| MatingFeatureSequence: 0x006863e0, | |
| MatingFeatureID: 0x006863f0, | |
| MatingFeatureDegreeOfFreedomSequence: 0x00686400, | |
| DegreeOfFreedomID: 0x00686410, | |
| DegreeOfFreedomType: 0x00686420, | |
| TwoDMatingFeatureCoordinatesSequence: 0x00686430, | |
| ReferencedHPGLDocumentID: 0x00686440, | |
| TwoDMatingPoint: 0x00686450, | |
| TwoDMatingAxes: 0x00686460, | |
| TwoDDegreeOfFreedomSequence: 0x00686470, | |
| ThreeDDegreeOfFreedomAxis: 0x00686490, | |
| RangeOfFreedom: 0x006864a0, | |
| ThreeDMatingPoint: 0x006864c0, | |
| ThreeDMatingAxes: 0x006864d0, | |
| TwoDDegreeOfFreedomAxis: 0x006864f0, | |
| PlanningLandmarkPointSequence: 0x00686500, | |
| PlanningLandmarkLineSequence: 0x00686510, | |
| PlanningLandmarkPlaneSequence: 0x00686520, | |
| PlanningLandmarkID: 0x00686530, | |
| PlanningLandmarkDescription: 0x00686540, | |
| PlanningLandmarkIdentificationCodeSequence: 0x00686545, | |
| TwoDPointCoordinatesSequence: 0x00686550, | |
| TwoDPointCoordinates: 0x00686560, | |
| ThreeDPointCoordinates: 0x00686590, | |
| TwoDLineCoordinatesSequence: 0x006865a0, | |
| TwoDLineCoordinates: 0x006865b0, | |
| ThreeDLineCoordinates: 0x006865d0, | |
| TwoDPlaneCoordinatesSequence: 0x006865e0, | |
| TwoDPlaneIntersection: 0x006865f0, | |
| ThreeDPlaneOrigin: 0x00686610, | |
| ThreeDPlaneNormal: 0x00686620, | |
| GraphicAnnotationSequence: 0x00700001, | |
| GraphicLayer: 0x00700002, | |
| BoundingBoxAnnotationUnits: 0x00700003, | |
| AnchorPointAnnotationUnits: 0x00700004, | |
| GraphicAnnotationUnits: 0x00700005, | |
| UnformattedTextValue: 0x00700006, | |
| TextObjectSequence: 0x00700008, | |
| GraphicObjectSequence: 0x00700009, | |
| BoundingBoxTopLeftHandCorner: 0x00700010, | |
| BoundingBoxBottomRightHandCorner: 0x00700011, | |
| BoundingBoxTextHorizontalJustification: 0x00700012, | |
| AnchorPoint: 0x00700014, | |
| AnchorPointVisibility: 0x00700015, | |
| GraphicDimensions: 0x00700020, | |
| NumberOfGraphicPoints: 0x00700021, | |
| GraphicData: 0x00700022, | |
| GraphicType: 0x00700023, | |
| GraphicFilled: 0x00700024, | |
| ImageRotationRetired: 0x00700040, | |
| ImageHorizontalFlip: 0x00700041, | |
| ImageRotation: 0x00700042, | |
| DisplayedAreaTopLeftHandCornerTrial: 0x00700050, | |
| DisplayedAreaBottomRightHandCornerTrial: 0x00700051, | |
| DisplayedAreaTopLeftHandCorner: 0x00700052, | |
| DisplayedAreaBottomRightHandCorner: 0x00700053, | |
| DisplayedAreaSelectionSequence: 0x0070005a, | |
| GraphicLayerSequence: 0x00700060, | |
| GraphicLayerOrder: 0x00700062, | |
| GraphicLayerRecommendedDisplayGrayscaleValue: 0x00700066, | |
| GraphicLayerRecommendedDisplayRGBValue: 0x00700067, | |
| GraphicLayerDescription: 0x00700068, | |
| ContentLabel: 0x00700080, | |
| ContentDescription: 0x00700081, | |
| PresentationCreationDate: 0x00700082, | |
| PresentationCreationTime: 0x00700083, | |
| ContentCreatorName: 0x00700084, | |
| ContentCreatorIdentificationCodeSequence: 0x00700086, | |
| AlternateContentDescriptionSequence: 0x00700087, | |
| PresentationSizeMode: 0x00700100, | |
| PresentationPixelSpacing: 0x00700101, | |
| PresentationPixelAspectRatio: 0x00700102, | |
| PresentationPixelMagnificationRatio: 0x00700103, | |
| GraphicGroupLabel: 0x00700207, | |
| GraphicGroupDescription: 0x00700208, | |
| CompoundGraphicSequence: 0x00700209, | |
| CompoundGraphicInstanceID: 0x00700226, | |
| FontName: 0x00700227, | |
| FontNameType: 0x00700228, | |
| CSSFontName: 0x00700229, | |
| RotationAngle: 0x00700230, | |
| TextStyleSequence: 0x00700231, | |
| LineStyleSequence: 0x00700232, | |
| FillStyleSequence: 0x00700233, | |
| GraphicGroupSequence: 0x00700234, | |
| TextColorCIELabValue: 0x00700241, | |
| HorizontalAlignment: 0x00700242, | |
| VerticalAlignment: 0x00700243, | |
| ShadowStyle: 0x00700244, | |
| ShadowOffsetX: 0x00700245, | |
| ShadowOffsetY: 0x00700246, | |
| ShadowColorCIELabValue: 0x00700247, | |
| Underlined: 0x00700248, | |
| Bold: 0x00700249, | |
| Italic: 0x00700250, | |
| PatternOnColorCIELabValue: 0x00700251, | |
| PatternOffColorCIELabValue: 0x00700252, | |
| LineThickness: 0x00700253, | |
| LineDashingStyle: 0x00700254, | |
| LinePattern: 0x00700255, | |
| FillPattern: 0x00700256, | |
| FillMode: 0x00700257, | |
| ShadowOpacity: 0x00700258, | |
| GapLength: 0x00700261, | |
| DiameterOfVisibility: 0x00700262, | |
| RotationPoint: 0x00700273, | |
| TickAlignment: 0x00700274, | |
| ShowTickLabel: 0x00700278, | |
| TickLabelAlignment: 0x00700279, | |
| CompoundGraphicUnits: 0x00700282, | |
| PatternOnOpacity: 0x00700284, | |
| PatternOffOpacity: 0x00700285, | |
| MajorTicksSequence: 0x00700287, | |
| TickPosition: 0x00700288, | |
| TickLabel: 0x00700289, | |
| CompoundGraphicType: 0x00700294, | |
| GraphicGroupID: 0x00700295, | |
| ShapeType: 0x00700306, | |
| RegistrationSequence: 0x00700308, | |
| MatrixRegistrationSequence: 0x00700309, | |
| MatrixSequence: 0x0070030a, | |
| FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix: 0x0070030b, | |
| FrameOfReferenceTransformationMatrixType: 0x0070030c, | |
| RegistrationTypeCodeSequence: 0x0070030d, | |
| FiducialDescription: 0x0070030f, | |
| FiducialIdentifier: 0x00700310, | |
| FiducialIdentifierCodeSequence: 0x00700311, | |
| ContourUncertaintyRadius: 0x00700312, | |
| UsedFiducialsSequence: 0x00700314, | |
| GraphicCoordinatesDataSequence: 0x00700318, | |
| FiducialUID: 0x0070031a, | |
| ReferencedFiducialUID: 0x0070031b, | |
| FiducialSetSequence: 0x0070031c, | |
| FiducialSequence: 0x0070031e, | |
| FiducialsPropertyCategoryCodeSequence: 0x0070031f, | |
| GraphicLayerRecommendedDisplayCIELabValue: 0x00700401, | |
| BlendingSequence: 0x00700402, | |
| RelativeOpacity: 0x00700403, | |
| ReferencedSpatialRegistrationSequence: 0x00700404, | |
| BlendingPosition: 0x00700405, | |
| PresentationDisplayCollectionUID: 0x00701101, | |
| PresentationSequenceCollectionUID: 0x00701102, | |
| PresentationSequencePositionIndex: 0x00701103, | |
| RenderedImageReferenceSequence: 0x00701104, | |
| VolumetricPresentationStateInputSequence: 0x00701201, | |
| PresentationInputType: 0x00701202, | |
| InputSequencePositionIndex: 0x00701203, | |
| Crop: 0x00701204, | |
| CroppingSpecificationIndex: 0x00701205, | |
| CompositingMethod: 0x00701206, | |
| VolumetricPresentationInputNumber: 0x00701207, | |
| ImageVolumeGeometry: 0x00701208, | |
| VolumetricPresentationInputSetUID: 0x00701209, | |
| VolumetricPresentationInputSetSequence: 0x0070120a, | |
| GlobalCrop: 0x0070120b, | |
| GlobalCroppingSpecificationIndex: 0x0070120c, | |
| RenderingMethod: 0x0070120d, | |
| VolumeCroppingSequence: 0x00701301, | |
| VolumeCroppingMethod: 0x00701302, | |
| BoundingBoxCrop: 0x00701303, | |
| ObliqueCroppingPlaneSequence: 0x00701304, | |
| Plane: 0x00701305, | |
| PlaneNormal: 0x00701306, | |
| CroppingSpecificationNumber: 0x00701309, | |
| MultiPlanarReconstructionStyle: 0x00701501, | |
| MPRThicknessType: 0x00701502, | |
| MPRSlabThickness: 0x00701503, | |
| MPRTopLeftHandCorner: 0x00701505, | |
| MPRViewWidthDirection: 0x00701507, | |
| MPRViewWidth: 0x00701508, | |
| NumberOfVolumetricCurvePoints: 0x0070150c, | |
| VolumetricCurvePoints: 0x0070150d, | |
| MPRViewHeightDirection: 0x00701511, | |
| MPRViewHeight: 0x00701512, | |
| RenderProjection: 0x00701602, | |
| ViewpointPosition: 0x00701603, | |
| ViewpointLookAtPoint: 0x00701604, | |
| ViewpointUpDirection: 0x00701605, | |
| RenderFieldOfView: 0x00701606, | |
| SamplingStepSize: 0x00701607, | |
| ShadingStyle: 0x00701701, | |
| AmbientReflectionIntensity: 0x00701702, | |
| LightDirection: 0x00701703, | |
| DiffuseReflectionIntensity: 0x00701704, | |
| SpecularReflectionIntensity: 0x00701705, | |
| Shininess: 0x00701706, | |
| PresentationStateClassificationComponentSequence: 0x00701801, | |
| ComponentType: 0x00701802, | |
| ComponentInputSequence: 0x00701803, | |
| VolumetricPresentationInputIndex: 0x00701804, | |
| PresentationStateCompositorComponentSequence: 0x00701805, | |
| WeightingTransferFunctionSequence: 0x00701806, | |
| WeightingLookupTableDescriptor: 0x00701807, | |
| WeightingLookupTableData: 0x00701808, | |
| VolumetricAnnotationSequence: 0x00701901, | |
| ReferencedStructuredContextSequence: 0x00701903, | |
| ReferencedContentItem: 0x00701904, | |
| VolumetricPresentationInputAnnotationSequence: 0x00701905, | |
| AnnotationClipping: 0x00701907, | |
| PresentationAnimationStyle: 0x00701a01, | |
| RecommendedAnimationRate: 0x00701a03, | |
| AnimationCurveSequence: 0x00701a04, | |
| AnimationStepSize: 0x00701a05, | |
| SwivelRange: 0x00701a06, | |
| VolumetricCurveUpDirections: 0x00701a07, | |
| VolumeStreamSequence: 0x00701a08, | |
| RGBATransferFunctionDescription: 0x00701a09, | |
| AdvancedBlendingSequence: 0x00701b01, | |
| BlendingInputNumber: 0x00701b02, | |
| BlendingDisplayInputSequence: 0x00701b03, | |
| BlendingDisplaySequence: 0x00701b04, | |
| BlendingMode: 0x00701b06, | |
| TimeSeriesBlending: 0x00701b07, | |
| GeometryForDisplay: 0x00701b08, | |
| ThresholdSequence: 0x00701b11, | |
| ThresholdValueSequence: 0x00701b12, | |
| ThresholdType: 0x00701b13, | |
| ThresholdValue: 0x00701b14, | |
| HangingProtocolName: 0x00720002, | |
| HangingProtocolDescription: 0x00720004, | |
| HangingProtocolLevel: 0x00720006, | |
| HangingProtocolCreator: 0x00720008, | |
| HangingProtocolCreationDateTime: 0x0072000a, | |
| HangingProtocolDefinitionSequence: 0x0072000c, | |
| HangingProtocolUserIdentificationCodeSequence: 0x0072000e, | |
| HangingProtocolUserGroupName: 0x00720010, | |
| SourceHangingProtocolSequence: 0x00720012, | |
| NumberOfPriorsReferenced: 0x00720014, | |
| ImageSetsSequence: 0x00720020, | |
| ImageSetSelectorSequence: 0x00720022, | |
| ImageSetSelectorUsageFlag: 0x00720024, | |
| SelectorAttribute: 0x00720026, | |
| SelectorValueNumber: 0x00720028, | |
| TimeBasedImageSetsSequence: 0x00720030, | |
| ImageSetNumber: 0x00720032, | |
| ImageSetSelectorCategory: 0x00720034, | |
| RelativeTime: 0x00720038, | |
| RelativeTimeUnits: 0x0072003a, | |
| AbstractPriorValue: 0x0072003c, | |
| AbstractPriorCodeSequence: 0x0072003e, | |
| ImageSetLabel: 0x00720040, | |
| SelectorAttributeVR: 0x00720050, | |
| SelectorSequencePointer: 0x00720052, | |
| SelectorSequencePointerPrivateCreator: 0x00720054, | |
| SelectorAttributePrivateCreator: 0x00720056, | |
| SelectorAEValue: 0x0072005e, | |
| SelectorASValue: 0x0072005f, | |
| SelectorATValue: 0x00720060, | |
| SelectorDAValue: 0x00720061, | |
| SelectorCSValue: 0x00720062, | |
| SelectorDTValue: 0x00720063, | |
| SelectorISValue: 0x00720064, | |
| SelectorOBValue: 0x00720065, | |
| SelectorLOValue: 0x00720066, | |
| SelectorOFValue: 0x00720067, | |
| SelectorLTValue: 0x00720068, | |
| SelectorOWValue: 0x00720069, | |
| SelectorPNValue: 0x0072006a, | |
| SelectorTMValue: 0x0072006b, | |
| SelectorSHValue: 0x0072006c, | |
| SelectorUNValue: 0x0072006d, | |
| SelectorSTValue: 0x0072006e, | |
| SelectorUCValue: 0x0072006f, | |
| SelectorUTValue: 0x00720070, | |
| SelectorURValue: 0x00720071, | |
| SelectorDSValue: 0x00720072, | |
| SelectorODValue: 0x00720073, | |
| SelectorFDValue: 0x00720074, | |
| SelectorOLValue: 0x00720075, | |
| SelectorFLValue: 0x00720076, | |
| SelectorULValue: 0x00720078, | |
| SelectorUSValue: 0x0072007a, | |
| SelectorSLValue: 0x0072007c, | |
| SelectorSSValue: 0x0072007e, | |
| SelectorUIValue: 0x0072007f, | |
| SelectorCodeSequenceValue: 0x00720080, | |
| NumberOfScreens: 0x00720100, | |
| NominalScreenDefinitionSequence: 0x00720102, | |
| NumberOfVerticalPixels: 0x00720104, | |
| NumberOfHorizontalPixels: 0x00720106, | |
| DisplayEnvironmentSpatialPosition: 0x00720108, | |
| ScreenMinimumGrayscaleBitDepth: 0x0072010a, | |
| ScreenMinimumColorBitDepth: 0x0072010c, | |
| ApplicationMaximumRepaintTime: 0x0072010e, | |
| DisplaySetsSequence: 0x00720200, | |
| DisplaySetNumber: 0x00720202, | |
| DisplaySetLabel: 0x00720203, | |
| DisplaySetPresentationGroup: 0x00720204, | |
| DisplaySetPresentationGroupDescription: 0x00720206, | |
| PartialDataDisplayHandling: 0x00720208, | |
| SynchronizedScrollingSequence: 0x00720210, | |
| DisplaySetScrollingGroup: 0x00720212, | |
| NavigationIndicatorSequence: 0x00720214, | |
| NavigationDisplaySet: 0x00720216, | |
| ReferenceDisplaySets: 0x00720218, | |
| ImageBoxesSequence: 0x00720300, | |
| ImageBoxNumber: 0x00720302, | |
| ImageBoxLayoutType: 0x00720304, | |
| ImageBoxTileHorizontalDimension: 0x00720306, | |
| ImageBoxTileVerticalDimension: 0x00720308, | |
| ImageBoxScrollDirection: 0x00720310, | |
| ImageBoxSmallScrollType: 0x00720312, | |
| ImageBoxSmallScrollAmount: 0x00720314, | |
| ImageBoxLargeScrollType: 0x00720316, | |
| ImageBoxLargeScrollAmount: 0x00720318, | |
| ImageBoxOverlapPriority: 0x00720320, | |
| CineRelativeToRealTime: 0x00720330, | |
| FilterOperationsSequence: 0x00720400, | |
| FilterByCategory: 0x00720402, | |
| FilterByAttributePresence: 0x00720404, | |
| FilterByOperator: 0x00720406, | |
| StructuredDisplayBackgroundCIELabValue: 0x00720420, | |
| EmptyImageBoxCIELabValue: 0x00720421, | |
| StructuredDisplayImageBoxSequence: 0x00720422, | |
| StructuredDisplayTextBoxSequence: 0x00720424, | |
| ReferencedFirstFrameSequence: 0x00720427, | |
| ImageBoxSynchronizationSequence: 0x00720430, | |
| SynchronizedImageBoxList: 0x00720432, | |
| TypeOfSynchronization: 0x00720434, | |
| BlendingOperationType: 0x00720500, | |
| ReformattingOperationType: 0x00720510, | |
| ReformattingThickness: 0x00720512, | |
| ReformattingInterval: 0x00720514, | |
| ReformattingOperationInitialViewDirection: 0x00720516, | |
| ThreeDRenderingType: 0x00720520, | |
| SortingOperationsSequence: 0x00720600, | |
| SortByCategory: 0x00720602, | |
| SortingDirection: 0x00720604, | |
| DisplaySetPatientOrientation: 0x00720700, | |
| VOIType: 0x00720702, | |
| PseudoColorType: 0x00720704, | |
| PseudoColorPaletteInstanceReferenceSequence: 0x00720705, | |
| ShowGrayscaleInverted: 0x00720706, | |
| ShowImageTrueSizeFlag: 0x00720710, | |
| ShowGraphicAnnotationFlag: 0x00720712, | |
| ShowPatientDemographicsFlag: 0x00720714, | |
| ShowAcquisitionTechniquesFlag: 0x00720716, | |
| DisplaySetHorizontalJustification: 0x00720717, | |
| DisplaySetVerticalJustification: 0x00720718, | |
| ContinuationStartMeterset: 0x00740120, | |
| ContinuationEndMeterset: 0x00740121, | |
| ProcedureStepState: 0x00741000, | |
| ProcedureStepProgressInformationSequence: 0x00741002, | |
| ProcedureStepProgress: 0x00741004, | |
| ProcedureStepProgressDescription: 0x00741006, | |
| ProcedureStepProgressParametersSequence: 0x00741007, | |
| ProcedureStepCommunicationsURISequence: 0x00741008, | |
| ContactURI: 0x0074100a, | |
| ContactDisplayName: 0x0074100c, | |
| ProcedureStepDiscontinuationReasonCodeSequence: 0x0074100e, | |
| BeamTaskSequence: 0x00741020, | |
| BeamTaskType: 0x00741022, | |
| BeamOrderIndexTrial: 0x00741024, | |
| AutosequenceFlag: 0x00741025, | |
| TableTopVerticalAdjustedPosition: 0x00741026, | |
| TableTopLongitudinalAdjustedPosition: 0x00741027, | |
| TableTopLateralAdjustedPosition: 0x00741028, | |
| PatientSupportAdjustedAngle: 0x0074102a, | |
| TableTopEccentricAdjustedAngle: 0x0074102b, | |
| TableTopPitchAdjustedAngle: 0x0074102c, | |
| TableTopRollAdjustedAngle: 0x0074102d, | |
| DeliveryVerificationImageSequence: 0x00741030, | |
| VerificationImageTiming: 0x00741032, | |
| DoubleExposureFlag: 0x00741034, | |
| DoubleExposureOrdering: 0x00741036, | |
| DoubleExposureMetersetTrial: 0x00741038, | |
| DoubleExposureFieldDeltaTrial: 0x0074103a, | |
| RelatedReferenceRTImageSequence: 0x00741040, | |
| GeneralMachineVerificationSequence: 0x00741042, | |
| ConventionalMachineVerificationSequence: 0x00741044, | |
| IonMachineVerificationSequence: 0x00741046, | |
| FailedAttributesSequence: 0x00741048, | |
| OverriddenAttributesSequence: 0x0074104a, | |
| ConventionalControlPointVerificationSequence: 0x0074104c, | |
| IonControlPointVerificationSequence: 0x0074104e, | |
| AttributeOccurrenceSequence: 0x00741050, | |
| AttributeOccurrencePointer: 0x00741052, | |
| AttributeItemSelector: 0x00741054, | |
| AttributeOccurrencePrivateCreator: 0x00741056, | |
| SelectorSequencePointerItems: 0x00741057, | |
| ScheduledProcedureStepPriority: 0x00741200, | |
| WorklistLabel: 0x00741202, | |
| ProcedureStepLabel: 0x00741204, | |
| ScheduledProcessingParametersSequence: 0x00741210, | |
| PerformedProcessingParametersSequence: 0x00741212, | |
| UnifiedProcedureStepPerformedProcedureSequence: 0x00741216, | |
| RelatedProcedureStepSequence: 0x00741220, | |
| ProcedureStepRelationshipType: 0x00741222, | |
| ReplacedProcedureStepSequence: 0x00741224, | |
| DeletionLock: 0x00741230, | |
| ReceivingAE: 0x00741234, | |
| RequestingAE: 0x00741236, | |
| ReasonForCancellation: 0x00741238, | |
| SCPStatus: 0x00741242, | |
| SubscriptionListStatus: 0x00741244, | |
| UnifiedProcedureStepListStatus: 0x00741246, | |
| BeamOrderIndex: 0x00741324, | |
| DoubleExposureMeterset: 0x00741338, | |
| DoubleExposureFieldDelta: 0x0074133a, | |
| BrachyTaskSequence: 0x00741401, | |
| ContinuationStartTotalReferenceAirKerma: 0x00741402, | |
| ContinuationEndTotalReferenceAirKerma: 0x00741403, | |
| ContinuationPulseNumber: 0x00741404, | |
| ChannelDeliveryOrderSequence: 0x00741405, | |
| ReferencedChannelNumber: 0x00741406, | |
| StartCumulativeTimeWeight: 0x00741407, | |
| EndCumulativeTimeWeight: 0x00741408, | |
| OmittedChannelSequence: 0x00741409, | |
| ReasonForChannelOmission: 0x0074140a, | |
| ReasonForChannelOmissionDescription: 0x0074140b, | |
| ChannelDeliveryOrderIndex: 0x0074140c, | |
| ChannelDeliveryContinuationSequence: 0x0074140d, | |
| OmittedApplicationSetupSequence: 0x0074140e, | |
| ImplantAssemblyTemplateName: 0x00760001, | |
| ImplantAssemblyTemplateIssuer: 0x00760003, | |
| ImplantAssemblyTemplateVersion: 0x00760006, | |
| ReplacedImplantAssemblyTemplateSequence: 0x00760008, | |
| ImplantAssemblyTemplateType: 0x0076000a, | |
| OriginalImplantAssemblyTemplateSequence: 0x0076000c, | |
| DerivationImplantAssemblyTemplateSequence: 0x0076000e, | |
| ImplantAssemblyTemplateTargetAnatomySequence: 0x00760010, | |
| ProcedureTypeCodeSequence: 0x00760020, | |
| SurgicalTechnique: 0x00760030, | |
| ComponentTypesSequence: 0x00760032, | |
| ComponentTypeCodeSequence: 0x00760034, | |
| ExclusiveComponentType: 0x00760036, | |
| MandatoryComponentType: 0x00760038, | |
| ComponentSequence: 0x00760040, | |
| ComponentID: 0x00760055, | |
| ComponentAssemblySequence: 0x00760060, | |
| Component1ReferencedID: 0x00760070, | |
| Component1ReferencedMatingFeatureSetID: 0x00760080, | |
| Component1ReferencedMatingFeatureID: 0x00760090, | |
| Component2ReferencedID: 0x007600a0, | |
| Component2ReferencedMatingFeatureSetID: 0x007600b0, | |
| Component2ReferencedMatingFeatureID: 0x007600c0, | |
| ImplantTemplateGroupName: 0x00780001, | |
| ImplantTemplateGroupDescription: 0x00780010, | |
| ImplantTemplateGroupIssuer: 0x00780020, | |
| ImplantTemplateGroupVersion: 0x00780024, | |
| ReplacedImplantTemplateGroupSequence: 0x00780026, | |
| ImplantTemplateGroupTargetAnatomySequence: 0x00780028, | |
| ImplantTemplateGroupMembersSequence: 0x0078002a, | |
| ImplantTemplateGroupMemberID: 0x0078002e, | |
| ThreeDImplantTemplateGroupMemberMatchingPoint: 0x00780050, | |
| ThreeDImplantTemplateGroupMemberMatchingAxes: 0x00780060, | |
| ImplantTemplateGroupMemberMatching2DCoordinatesSequence: 0x00780070, | |
| TwoDImplantTemplateGroupMemberMatchingPoint: 0x00780090, | |
| TwoDImplantTemplateGroupMemberMatchingAxes: 0x007800a0, | |
| ImplantTemplateGroupVariationDimensionSequence: 0x007800b0, | |
| ImplantTemplateGroupVariationDimensionName: 0x007800b2, | |
| ImplantTemplateGroupVariationDimensionRankSequence: 0x007800b4, | |
| ReferencedImplantTemplateGroupMemberID: 0x007800b6, | |
| ImplantTemplateGroupVariationDimensionRank: 0x007800b8, | |
| SurfaceScanAcquisitionTypeCodeSequence: 0x00800001, | |
| SurfaceScanModeCodeSequence: 0x00800002, | |
| RegistrationMethodCodeSequence: 0x00800003, | |
| ShotDurationTime: 0x00800004, | |
| ShotOffsetTime: 0x00800005, | |
| SurfacePointPresentationValueData: 0x00800006, | |
| SurfacePointColorCIELabValueData: 0x00800007, | |
| UVMappingSequence: 0x00800008, | |
| TextureLabel: 0x00800009, | |
| UValueData: 0x00800010, | |
| VValueData: 0x00800011, | |
| ReferencedTextureSequence: 0x00800012, | |
| ReferencedSurfaceDataSequence: 0x00800013, | |
| AssessmentSummary: 0x00820001, | |
| AssessmentSummaryDescription: 0x00820003, | |
| AssessedSOPInstanceSequence: 0x00820004, | |
| ReferencedComparisonSOPInstanceSequence: 0x00820005, | |
| NumberOfAssessmentObservations: 0x00820006, | |
| AssessmentObservationsSequence: 0x00820007, | |
| ObservationSignificance: 0x00820008, | |
| ObservationDescription: 0x0082000a, | |
| StructuredConstraintObservationSequence: 0x0082000c, | |
| AssessedAttributeValueSequence: 0x00820010, | |
| AssessmentSetID: 0x00820016, | |
| AssessmentRequesterSequence: 0x00820017, | |
| SelectorAttributeName: 0x00820018, | |
| SelectorAttributeKeyword: 0x00820019, | |
| AssessmentTypeCodeSequence: 0x00820021, | |
| ObservationBasisCodeSequence: 0x00820022, | |
| AssessmentLabel: 0x00820023, | |
| ConstraintType: 0x00820032, | |
| SpecificationSelectionGuidance: 0x00820033, | |
| ConstraintValueSequence: 0x00820034, | |
| RecommendedDefaultValueSequence: 0x00820035, | |
| ConstraintViolationSignificance: 0x00820036, | |
| ConstraintViolationCondition: 0x00820037, | |
| ModifiableConstraintFlag: 0x00820038, | |
| StorageMediaFileSetID: 0x00880130, | |
| StorageMediaFileSetUID: 0x00880140, | |
| IconImageSequence: 0x00880200, | |
| TopicTitle: 0x00880904, | |
| TopicSubject: 0x00880906, | |
| TopicAuthor: 0x00880910, | |
| TopicKeywords: 0x00880912, | |
| SOPInstanceStatus: 0x01000410, | |
| SOPAuthorizationDateTime: 0x01000420, | |
| SOPAuthorizationComment: 0x01000424, | |
| AuthorizationEquipmentCertificationNumber: 0x01000426, | |
| MACIDNumber: 0x04000005, | |
| MACCalculationTransferSyntaxUID: 0x04000010, | |
| MACAlgorithm: 0x04000015, | |
| DataElementsSigned: 0x04000020, | |
| DigitalSignatureUID: 0x04000100, | |
| DigitalSignatureDateTime: 0x04000105, | |
| CertificateType: 0x04000110, | |
| CertificateOfSigner: 0x04000115, | |
| Signature: 0x04000120, | |
| CertifiedTimestampType: 0x04000305, | |
| CertifiedTimestamp: 0x04000310, | |
| DigitalSignaturePurposeCodeSequence: 0x04000401, | |
| ReferencedDigitalSignatureSequence: 0x04000402, | |
| ReferencedSOPInstanceMACSequence: 0x04000403, | |
| MAC: 0x04000404, | |
| EncryptedAttributesSequence: 0x04000500, | |
| EncryptedContentTransferSyntaxUID: 0x04000510, | |
| EncryptedContent: 0x04000520, | |
| ModifiedAttributesSequence: 0x04000550, | |
| OriginalAttributesSequence: 0x04000561, | |
| AttributeModificationDateTime: 0x04000562, | |
| ModifyingSystem: 0x04000563, | |
| SourceOfPreviousValues: 0x04000564, | |
| ReasonForTheAttributeModification: 0x04000565, | |
| EscapeTriplet: 0x10000000, | |
| RunLengthTriplet: 0x10000001, | |
| HuffmanTableSize: 0x10000002, | |
| HuffmanTableTriplet: 0x10000003, | |
| ShiftTableSize: 0x10000004, | |
| ShiftTableTriplet: 0x10000005, | |
| ZonalMap: 0x10100000, | |
| NumberOfCopies: 0x20000010, | |
| PrinterConfigurationSequence: 0x2000001e, | |
| PrintPriority: 0x20000020, | |
| MediumType: 0x20000030, | |
| FilmDestination: 0x20000040, | |
| FilmSessionLabel: 0x20000050, | |
| MemoryAllocation: 0x20000060, | |
| MaximumMemoryAllocation: 0x20000061, | |
| ColorImagePrintingFlag: 0x20000062, | |
| CollationFlag: 0x20000063, | |
| AnnotationFlag: 0x20000065, | |
| ImageOverlayFlag: 0x20000067, | |
| PresentationLUTFlag: 0x20000069, | |
| ImageBoxPresentationLUTFlag: 0x2000006a, | |
| MemoryBitDepth: 0x200000a0, | |
| PrintingBitDepth: 0x200000a1, | |
| MediaInstalledSequence: 0x200000a2, | |
| OtherMediaAvailableSequence: 0x200000a4, | |
| SupportedImageDisplayFormatsSequence: 0x200000a8, | |
| ReferencedFilmBoxSequence: 0x20000500, | |
| ReferencedStoredPrintSequence: 0x20000510, | |
| ImageDisplayFormat: 0x20100010, | |
| AnnotationDisplayFormatID: 0x20100030, | |
| FilmOrientation: 0x20100040, | |
| FilmSizeID: 0x20100050, | |
| PrinterResolutionID: 0x20100052, | |
| DefaultPrinterResolutionID: 0x20100054, | |
| MagnificationType: 0x20100060, | |
| SmoothingType: 0x20100080, | |
| DefaultMagnificationType: 0x201000a6, | |
| OtherMagnificationTypesAvailable: 0x201000a7, | |
| DefaultSmoothingType: 0x201000a8, | |
| OtherSmoothingTypesAvailable: 0x201000a9, | |
| BorderDensity: 0x20100100, | |
| EmptyImageDensity: 0x20100110, | |
| MinDensity: 0x20100120, | |
| MaxDensity: 0x20100130, | |
| Trim: 0x20100140, | |
| ConfigurationInformation: 0x20100150, | |
| ConfigurationInformationDescription: 0x20100152, | |
| MaximumCollatedFilms: 0x20100154, | |
| Illumination: 0x2010015e, | |
| ReflectedAmbientLight: 0x20100160, | |
| PrinterPixelSpacing: 0x20100376, | |
| ReferencedFilmSessionSequence: 0x20100500, | |
| ReferencedImageBoxSequence: 0x20100510, | |
| ReferencedBasicAnnotationBoxSequence: 0x20100520, | |
| ImageBoxPosition: 0x20200010, | |
| Polarity: 0x20200020, | |
| RequestedImageSize: 0x20200030, | |
| RequestedDecimateCropBehavior: 0x20200040, | |
| RequestedResolutionID: 0x20200050, | |
| RequestedImageSizeFlag: 0x202000a0, | |
| DecimateCropResult: 0x202000a2, | |
| BasicGrayscaleImageSequence: 0x20200110, | |
| BasicColorImageSequence: 0x20200111, | |
| ReferencedImageOverlayBoxSequence: 0x20200130, | |
| ReferencedVOILUTBoxSequence: 0x20200140, | |
| AnnotationPosition: 0x20300010, | |
| TextString: 0x20300020, | |
| ReferencedOverlayPlaneSequence: 0x20400010, | |
| ReferencedOverlayPlaneGroups: 0x20400011, | |
| OverlayPixelDataSequence: 0x20400020, | |
| OverlayMagnificationType: 0x20400060, | |
| OverlaySmoothingType: 0x20400070, | |
| OverlayOrImageMagnification: 0x20400072, | |
| MagnifyToNumberOfColumns: 0x20400074, | |
| OverlayForegroundDensity: 0x20400080, | |
| OverlayBackgroundDensity: 0x20400082, | |
| OverlayMode: 0x20400090, | |
| ThresholdDensity: 0x20400100, | |
| ReferencedImageBoxSequenceRetired: 0x20400500, | |
| PresentationLUTSequence: 0x20500010, | |
| PresentationLUTShape: 0x20500020, | |
| ReferencedPresentationLUTSequence: 0x20500500, | |
| PrintJobID: 0x21000010, | |
| ExecutionStatus: 0x21000020, | |
| ExecutionStatusInfo: 0x21000030, | |
| CreationDate: 0x21000040, | |
| CreationTime: 0x21000050, | |
| Originator: 0x21000070, | |
| DestinationAE: 0x21000140, | |
| OwnerID: 0x21000160, | |
| NumberOfFilms: 0x21000170, | |
| ReferencedPrintJobSequencePullStoredPrint: 0x21000500, | |
| PrinterStatus: 0x21100010, | |
| PrinterStatusInfo: 0x21100020, | |
| PrinterName: 0x21100030, | |
| PrintQueueID: 0x21100099, | |
| QueueStatus: 0x21200010, | |
| PrintJobDescriptionSequence: 0x21200050, | |
| ReferencedPrintJobSequence: 0x21200070, | |
| PrintManagementCapabilitiesSequence: 0x21300010, | |
| PrinterCharacteristicsSequence: 0x21300015, | |
| FilmBoxContentSequence: 0x21300030, | |
| ImageBoxContentSequence: 0x21300040, | |
| AnnotationContentSequence: 0x21300050, | |
| ImageOverlayBoxContentSequence: 0x21300060, | |
| PresentationLUTContentSequence: 0x21300080, | |
| ProposedStudySequence: 0x213000a0, | |
| OriginalImageSequence: 0x213000c0, | |
| LabelUsingInformationExtractedFromInstances: 0x22000001, | |
| LabelText: 0x22000002, | |
| LabelStyleSelection: 0x22000003, | |
| MediaDisposition: 0x22000004, | |
| BarcodeValue: 0x22000005, | |
| BarcodeSymbology: 0x22000006, | |
| AllowMediaSplitting: 0x22000007, | |
| IncludeNonDICOMObjects: 0x22000008, | |
| IncludeDisplayApplication: 0x22000009, | |
| PreserveCompositeInstancesAfterMediaCreation: 0x2200000a, | |
| TotalNumberOfPiecesOfMediaCreated: 0x2200000b, | |
| RequestedMediaApplicationProfile: 0x2200000c, | |
| ReferencedStorageMediaSequence: 0x2200000d, | |
| FailureAttributes: 0x2200000e, | |
| AllowLossyCompression: 0x2200000f, | |
| RequestPriority: 0x22000020, | |
| RTImageLabel: 0x30020002, | |
| RTImageName: 0x30020003, | |
| RTImageDescription: 0x30020004, | |
| ReportedValuesOrigin: 0x3002000a, | |
| RTImagePlane: 0x3002000c, | |
| XRayImageReceptorTranslation: 0x3002000d, | |
| XRayImageReceptorAngle: 0x3002000e, | |
| RTImageOrientation: 0x30020010, | |
| ImagePlanePixelSpacing: 0x30020011, | |
| RTImagePosition: 0x30020012, | |
| RadiationMachineName: 0x30020020, | |
| RadiationMachineSAD: 0x30020022, | |
| RadiationMachineSSD: 0x30020024, | |
| RTImageSID: 0x30020026, | |
| SourceToReferenceObjectDistance: 0x30020028, | |
| FractionNumber: 0x30020029, | |
| ExposureSequence: 0x30020030, | |
| MetersetExposure: 0x30020032, | |
| DiaphragmPosition: 0x30020034, | |
| FluenceMapSequence: 0x30020040, | |
| FluenceDataSource: 0x30020041, | |
| FluenceDataScale: 0x30020042, | |
| PrimaryFluenceModeSequence: 0x30020050, | |
| FluenceMode: 0x30020051, | |
| FluenceModeID: 0x30020052, | |
| DVHType: 0x30040001, | |
| DoseUnits: 0x30040002, | |
| DoseType: 0x30040004, | |
| SpatialTransformOfDose: 0x30040005, | |
| DoseComment: 0x30040006, | |
| NormalizationPoint: 0x30040008, | |
| DoseSummationType: 0x3004000a, | |
| GridFrameOffsetVector: 0x3004000c, | |
| DoseGridScaling: 0x3004000e, | |
| RTDoseROISequence: 0x30040010, | |
| DoseValue: 0x30040012, | |
| TissueHeterogeneityCorrection: 0x30040014, | |
| DVHNormalizationPoint: 0x30040040, | |
| DVHNormalizationDoseValue: 0x30040042, | |
| DVHSequence: 0x30040050, | |
| DVHDoseScaling: 0x30040052, | |
| DVHVolumeUnits: 0x30040054, | |
| DVHNumberOfBins: 0x30040056, | |
| DVHData: 0x30040058, | |
| DVHReferencedROISequence: 0x30040060, | |
| DVHROIContributionType: 0x30040062, | |
| DVHMinimumDose: 0x30040070, | |
| DVHMaximumDose: 0x30040072, | |
| DVHMeanDose: 0x30040074, | |
| StructureSetLabel: 0x30060002, | |
| StructureSetName: 0x30060004, | |
| StructureSetDescription: 0x30060006, | |
| StructureSetDate: 0x30060008, | |
| StructureSetTime: 0x30060009, | |
| ReferencedFrameOfReferenceSequence: 0x30060010, | |
| RTReferencedStudySequence: 0x30060012, | |
| RTReferencedSeriesSequence: 0x30060014, | |
| ContourImageSequence: 0x30060016, | |
| PredecessorStructureSetSequence: 0x30060018, | |
| StructureSetROISequence: 0x30060020, | |
| ROINumber: 0x30060022, | |
| ReferencedFrameOfReferenceUID: 0x30060024, | |
| ROIName: 0x30060026, | |
| ROIDescription: 0x30060028, | |
| ROIDisplayColor: 0x3006002a, | |
| ROIVolume: 0x3006002c, | |
| RTRelatedROISequence: 0x30060030, | |
| RTROIRelationship: 0x30060033, | |
| ROIGenerationAlgorithm: 0x30060036, | |
| ROIGenerationDescription: 0x30060038, | |
| ROIContourSequence: 0x30060039, | |
| ContourSequence: 0x30060040, | |
| ContourGeometricType: 0x30060042, | |
| ContourSlabThickness: 0x30060044, | |
| ContourOffsetVector: 0x30060045, | |
| NumberOfContourPoints: 0x30060046, | |
| ContourNumber: 0x30060048, | |
| AttachedContours: 0x30060049, | |
| ContourData: 0x30060050, | |
| RTROIObservationsSequence: 0x30060080, | |
| ObservationNumber: 0x30060082, | |
| ReferencedROINumber: 0x30060084, | |
| ROIObservationLabel: 0x30060085, | |
| RTROIIdentificationCodeSequence: 0x30060086, | |
| ROIObservationDescription: 0x30060088, | |
| RelatedRTROIObservationsSequence: 0x300600a0, | |
| RTROIInterpretedType: 0x300600a4, | |
| ROIInterpreter: 0x300600a6, | |
| ROIPhysicalPropertiesSequence: 0x300600b0, | |
| ROIPhysicalProperty: 0x300600b2, | |
| ROIPhysicalPropertyValue: 0x300600b4, | |
| ROIElementalCompositionSequence: 0x300600b6, | |
| ROIElementalCompositionAtomicNumber: 0x300600b7, | |
| ROIElementalCompositionAtomicMassFraction: 0x300600b8, | |
| AdditionalRTROIIdentificationCodeSequence: 0x300600b9, | |
| FrameOfReferenceRelationshipSequence: 0x300600c0, | |
| RelatedFrameOfReferenceUID: 0x300600c2, | |
| FrameOfReferenceTransformationType: 0x300600c4, | |
| FrameOfReferenceTransformationMatrix: 0x300600c6, | |
| FrameOfReferenceTransformationComment: 0x300600c8, | |
| MeasuredDoseReferenceSequence: 0x30080010, | |
| MeasuredDoseDescription: 0x30080012, | |
| MeasuredDoseType: 0x30080014, | |
| MeasuredDoseValue: 0x30080016, | |
| TreatmentSessionBeamSequence: 0x30080020, | |
| TreatmentSessionIonBeamSequence: 0x30080021, | |
| CurrentFractionNumber: 0x30080022, | |
| TreatmentControlPointDate: 0x30080024, | |
| TreatmentControlPointTime: 0x30080025, | |
| TreatmentTerminationStatus: 0x3008002a, | |
| TreatmentTerminationCode: 0x3008002b, | |
| TreatmentVerificationStatus: 0x3008002c, | |
| ReferencedTreatmentRecordSequence: 0x30080030, | |
| SpecifiedPrimaryMeterset: 0x30080032, | |
| SpecifiedSecondaryMeterset: 0x30080033, | |
| DeliveredPrimaryMeterset: 0x30080036, | |
| DeliveredSecondaryMeterset: 0x30080037, | |
| SpecifiedTreatmentTime: 0x3008003a, | |
| DeliveredTreatmentTime: 0x3008003b, | |
| ControlPointDeliverySequence: 0x30080040, | |
| IonControlPointDeliverySequence: 0x30080041, | |
| SpecifiedMeterset: 0x30080042, | |
| DeliveredMeterset: 0x30080044, | |
| MetersetRateSet: 0x30080045, | |
| MetersetRateDelivered: 0x30080046, | |
| ScanSpotMetersetsDelivered: 0x30080047, | |
| DoseRateDelivered: 0x30080048, | |
| TreatmentSummaryCalculatedDoseReferenceSequence: 0x30080050, | |
| CumulativeDoseToDoseReference: 0x30080052, | |
| FirstTreatmentDate: 0x30080054, | |
| MostRecentTreatmentDate: 0x30080056, | |
| NumberOfFractionsDelivered: 0x3008005a, | |
| OverrideSequence: 0x30080060, | |
| ParameterSequencePointer: 0x30080061, | |
| OverrideParameterPointer: 0x30080062, | |
| ParameterItemIndex: 0x30080063, | |
| MeasuredDoseReferenceNumber: 0x30080064, | |
| ParameterPointer: 0x30080065, | |
| OverrideReason: 0x30080066, | |
| ParameterValueNumber: 0x30080067, | |
| CorrectedParameterSequence: 0x30080068, | |
| CorrectionValue: 0x3008006a, | |
| CalculatedDoseReferenceSequence: 0x30080070, | |
| CalculatedDoseReferenceNumber: 0x30080072, | |
| CalculatedDoseReferenceDescription: 0x30080074, | |
| CalculatedDoseReferenceDoseValue: 0x30080076, | |
| StartMeterset: 0x30080078, | |
| EndMeterset: 0x3008007a, | |
| ReferencedMeasuredDoseReferenceSequence: 0x30080080, | |
| ReferencedMeasuredDoseReferenceNumber: 0x30080082, | |
| ReferencedCalculatedDoseReferenceSequence: 0x30080090, | |
| ReferencedCalculatedDoseReferenceNumber: 0x30080092, | |
| BeamLimitingDeviceLeafPairsSequence: 0x300800a0, | |
| RecordedWedgeSequence: 0x300800b0, | |
| RecordedCompensatorSequence: 0x300800c0, | |
| RecordedBlockSequence: 0x300800d0, | |
| TreatmentSummaryMeasuredDoseReferenceSequence: 0x300800e0, | |
| RecordedSnoutSequence: 0x300800f0, | |
| RecordedRangeShifterSequence: 0x300800f2, | |
| RecordedLateralSpreadingDeviceSequence: 0x300800f4, | |
| RecordedRangeModulatorSequence: 0x300800f6, | |
| RecordedSourceSequence: 0x30080100, | |
| SourceSerialNumber: 0x30080105, | |
| TreatmentSessionApplicationSetupSequence: 0x30080110, | |
| ApplicationSetupCheck: 0x30080116, | |
| RecordedBrachyAccessoryDeviceSequence: 0x30080120, | |
| ReferencedBrachyAccessoryDeviceNumber: 0x30080122, | |
| RecordedChannelSequence: 0x30080130, | |
| SpecifiedChannelTotalTime: 0x30080132, | |
| DeliveredChannelTotalTime: 0x30080134, | |
| SpecifiedNumberOfPulses: 0x30080136, | |
| DeliveredNumberOfPulses: 0x30080138, | |
| SpecifiedPulseRepetitionInterval: 0x3008013a, | |
| DeliveredPulseRepetitionInterval: 0x3008013c, | |
| RecordedSourceApplicatorSequence: 0x30080140, | |
| ReferencedSourceApplicatorNumber: 0x30080142, | |
| RecordedChannelShieldSequence: 0x30080150, | |
| ReferencedChannelShieldNumber: 0x30080152, | |
| BrachyControlPointDeliveredSequence: 0x30080160, | |
| SafePositionExitDate: 0x30080162, | |
| SafePositionExitTime: 0x30080164, | |
| SafePositionReturnDate: 0x30080166, | |
| SafePositionReturnTime: 0x30080168, | |
| PulseSpecificBrachyControlPointDeliveredSequence: 0x30080171, | |
| PulseNumber: 0x30080172, | |
| BrachyPulseControlPointDeliveredSequence: 0x30080173, | |
| CurrentTreatmentStatus: 0x30080200, | |
| TreatmentStatusComment: 0x30080202, | |
| FractionGroupSummarySequence: 0x30080220, | |
| ReferencedFractionNumber: 0x30080223, | |
| FractionGroupType: 0x30080224, | |
| BeamStopperPosition: 0x30080230, | |
| FractionStatusSummarySequence: 0x30080240, | |
| TreatmentDate: 0x30080250, | |
| TreatmentTime: 0x30080251, | |
| RTPlanLabel: 0x300a0002, | |
| RTPlanName: 0x300a0003, | |
| RTPlanDescription: 0x300a0004, | |
| RTPlanDate: 0x300a0006, | |
| RTPlanTime: 0x300a0007, | |
| TreatmentProtocols: 0x300a0009, | |
| PlanIntent: 0x300a000a, | |
| TreatmentSites: 0x300a000b, | |
| RTPlanGeometry: 0x300a000c, | |
| PrescriptionDescription: 0x300a000e, | |
| DoseReferenceSequence: 0x300a0010, | |
| DoseReferenceNumber: 0x300a0012, | |
| DoseReferenceUID: 0x300a0013, | |
| DoseReferenceStructureType: 0x300a0014, | |
| NominalBeamEnergyUnit: 0x300a0015, | |
| DoseReferenceDescription: 0x300a0016, | |
| DoseReferencePointCoordinates: 0x300a0018, | |
| NominalPriorDose: 0x300a001a, | |
| DoseReferenceType: 0x300a0020, | |
| ConstraintWeight: 0x300a0021, | |
| DeliveryWarningDose: 0x300a0022, | |
| DeliveryMaximumDose: 0x300a0023, | |
| TargetMinimumDose: 0x300a0025, | |
| TargetPrescriptionDose: 0x300a0026, | |
| TargetMaximumDose: 0x300a0027, | |
| TargetUnderdoseVolumeFraction: 0x300a0028, | |
| OrganAtRiskFullVolumeDose: 0x300a002a, | |
| OrganAtRiskLimitDose: 0x300a002b, | |
| OrganAtRiskMaximumDose: 0x300a002c, | |
| OrganAtRiskOverdoseVolumeFraction: 0x300a002d, | |
| ToleranceTableSequence: 0x300a0040, | |
| ToleranceTableNumber: 0x300a0042, | |
| ToleranceTableLabel: 0x300a0043, | |
| GantryAngleTolerance: 0x300a0044, | |
| BeamLimitingDeviceAngleTolerance: 0x300a0046, | |
| BeamLimitingDeviceToleranceSequence: 0x300a0048, | |
| BeamLimitingDevicePositionTolerance: 0x300a004a, | |
| SnoutPositionTolerance: 0x300a004b, | |
| PatientSupportAngleTolerance: 0x300a004c, | |
| TableTopEccentricAngleTolerance: 0x300a004e, | |
| TableTopPitchAngleTolerance: 0x300a004f, | |
| TableTopRollAngleTolerance: 0x300a0050, | |
| TableTopVerticalPositionTolerance: 0x300a0051, | |
| TableTopLongitudinalPositionTolerance: 0x300a0052, | |
| TableTopLateralPositionTolerance: 0x300a0053, | |
| RTPlanRelationship: 0x300a0055, | |
| FractionGroupSequence: 0x300a0070, | |
| FractionGroupNumber: 0x300a0071, | |
| FractionGroupDescription: 0x300a0072, | |
| NumberOfFractionsPlanned: 0x300a0078, | |
| NumberOfFractionPatternDigitsPerDay: 0x300a0079, | |
| RepeatFractionCycleLength: 0x300a007a, | |
| FractionPattern: 0x300a007b, | |
| NumberOfBeams: 0x300a0080, | |
| BeamDoseSpecificationPoint: 0x300a0082, | |
| ReferencedDoseReferenceUID: 0x300a0083, | |
| BeamDose: 0x300a0084, | |
| BeamMeterset: 0x300a0086, | |
| BeamDosePointDepth: 0x300a0088, | |
| BeamDosePointEquivalentDepth: 0x300a0089, | |
| BeamDosePointSSD: 0x300a008a, | |
| BeamDoseMeaning: 0x300a008b, | |
| BeamDoseVerificationControlPointSequence: 0x300a008c, | |
| AverageBeamDosePointDepth: 0x300a008d, | |
| AverageBeamDosePointEquivalentDepth: 0x300a008e, | |
| AverageBeamDosePointSSD: 0x300a008f, | |
| BeamDoseType: 0x300a0090, | |
| AlternateBeamDose: 0x300a0091, | |
| AlternateBeamDoseType: 0x300a0092, | |
| DepthValueAveragingFlag: 0x300a0093, | |
| NumberOfBrachyApplicationSetups: 0x300a00a0, | |
| BrachyApplicationSetupDoseSpecificationPoint: 0x300a00a2, | |
| BrachyApplicationSetupDose: 0x300a00a4, | |
| BeamSequence: 0x300a00b0, | |
| TreatmentMachineName: 0x300a00b2, | |
| PrimaryDosimeterUnit: 0x300a00b3, | |
| SourceAxisDistance: 0x300a00b4, | |
| BeamLimitingDeviceSequence: 0x300a00b6, | |
| RTBeamLimitingDeviceType: 0x300a00b8, | |
| SourceToBeamLimitingDeviceDistance: 0x300a00ba, | |
| IsocenterToBeamLimitingDeviceDistance: 0x300a00bb, | |
| NumberOfLeafJawPairs: 0x300a00bc, | |
| LeafPositionBoundaries: 0x300a00be, | |
| BeamNumber: 0x300a00c0, | |
| BeamName: 0x300a00c2, | |
| BeamDescription: 0x300a00c3, | |
| BeamType: 0x300a00c4, | |
| BeamDeliveryDurationLimit: 0x300a00c5, | |
| RadiationType: 0x300a00c6, | |
| HighDoseTechniqueType: 0x300a00c7, | |
| ReferenceImageNumber: 0x300a00c8, | |
| PlannedVerificationImageSequence: 0x300a00ca, | |
| ImagingDeviceSpecificAcquisitionParameters: 0x300a00cc, | |
| TreatmentDeliveryType: 0x300a00ce, | |
| NumberOfWedges: 0x300a00d0, | |
| WedgeSequence: 0x300a00d1, | |
| WedgeNumber: 0x300a00d2, | |
| WedgeType: 0x300a00d3, | |
| WedgeID: 0x300a00d4, | |
| WedgeAngle: 0x300a00d5, | |
| WedgeFactor: 0x300a00d6, | |
| TotalWedgeTrayWaterEquivalentThickness: 0x300a00d7, | |
| WedgeOrientation: 0x300a00d8, | |
| IsocenterToWedgeTrayDistance: 0x300a00d9, | |
| SourceToWedgeTrayDistance: 0x300a00da, | |
| WedgeThinEdgePosition: 0x300a00db, | |
| BolusID: 0x300a00dc, | |
| BolusDescription: 0x300a00dd, | |
| EffectiveWedgeAngle: 0x300a00de, | |
| NumberOfCompensators: 0x300a00e0, | |
| MaterialID: 0x300a00e1, | |
| TotalCompensatorTrayFactor: 0x300a00e2, | |
| CompensatorSequence: 0x300a00e3, | |
| CompensatorNumber: 0x300a00e4, | |
| CompensatorID: 0x300a00e5, | |
| SourceToCompensatorTrayDistance: 0x300a00e6, | |
| CompensatorRows: 0x300a00e7, | |
| CompensatorColumns: 0x300a00e8, | |
| CompensatorPixelSpacing: 0x300a00e9, | |
| CompensatorPosition: 0x300a00ea, | |
| CompensatorTransmissionData: 0x300a00eb, | |
| CompensatorThicknessData: 0x300a00ec, | |
| NumberOfBoli: 0x300a00ed, | |
| CompensatorType: 0x300a00ee, | |
| CompensatorTrayID: 0x300a00ef, | |
| NumberOfBlocks: 0x300a00f0, | |
| TotalBlockTrayFactor: 0x300a00f2, | |
| TotalBlockTrayWaterEquivalentThickness: 0x300a00f3, | |
| BlockSequence: 0x300a00f4, | |
| BlockTrayID: 0x300a00f5, | |
| SourceToBlockTrayDistance: 0x300a00f6, | |
| IsocenterToBlockTrayDistance: 0x300a00f7, | |
| BlockType: 0x300a00f8, | |
| AccessoryCode: 0x300a00f9, | |
| BlockDivergence: 0x300a00fa, | |
| BlockMountingPosition: 0x300a00fb, | |
| BlockNumber: 0x300a00fc, | |
| BlockName: 0x300a00fe, | |
| BlockThickness: 0x300a0100, | |
| BlockTransmission: 0x300a0102, | |
| BlockNumberOfPoints: 0x300a0104, | |
| BlockData: 0x300a0106, | |
| ApplicatorSequence: 0x300a0107, | |
| ApplicatorID: 0x300a0108, | |
| ApplicatorType: 0x300a0109, | |
| ApplicatorDescription: 0x300a010a, | |
| CumulativeDoseReferenceCoefficient: 0x300a010c, | |
| FinalCumulativeMetersetWeight: 0x300a010e, | |
| NumberOfControlPoints: 0x300a0110, | |
| ControlPointSequence: 0x300a0111, | |
| ControlPointIndex: 0x300a0112, | |
| NominalBeamEnergy: 0x300a0114, | |
| DoseRateSet: 0x300a0115, | |
| WedgePositionSequence: 0x300a0116, | |
| WedgePosition: 0x300a0118, | |
| BeamLimitingDevicePositionSequence: 0x300a011a, | |
| LeafJawPositions: 0x300a011c, | |
| GantryAngle: 0x300a011e, | |
| GantryRotationDirection: 0x300a011f, | |
| BeamLimitingDeviceAngle: 0x300a0120, | |
| BeamLimitingDeviceRotationDirection: 0x300a0121, | |
| PatientSupportAngle: 0x300a0122, | |
| PatientSupportRotationDirection: 0x300a0123, | |
| TableTopEccentricAxisDistance: 0x300a0124, | |
| TableTopEccentricAngle: 0x300a0125, | |
| TableTopEccentricRotationDirection: 0x300a0126, | |
| TableTopVerticalPosition: 0x300a0128, | |
| TableTopLongitudinalPosition: 0x300a0129, | |
| TableTopLateralPosition: 0x300a012a, | |
| IsocenterPosition: 0x300a012c, | |
| SurfaceEntryPoint: 0x300a012e, | |
| SourceToSurfaceDistance: 0x300a0130, | |
| AverageBeamDosePointSourceToExternalContourDistance: 0x300a0131, | |
| SourceToExternalContourDistance: 0x300a0132, | |
| ExternalContourEntryPoint: 0x300a0133, | |
| CumulativeMetersetWeight: 0x300a0134, | |
| TableTopPitchAngle: 0x300a0140, | |
| TableTopPitchRotationDirection: 0x300a0142, | |
| TableTopRollAngle: 0x300a0144, | |
| TableTopRollRotationDirection: 0x300a0146, | |
| HeadFixationAngle: 0x300a0148, | |
| GantryPitchAngle: 0x300a014a, | |
| GantryPitchRotationDirection: 0x300a014c, | |
| GantryPitchAngleTolerance: 0x300a014e, | |
| FixationEye: 0x300a0150, | |
| ChairHeadFramePosition: 0x300a0151, | |
| HeadFixationAngleTolerance: 0x300a0152, | |
| ChairHeadFramePositionTolerance: 0x300a0153, | |
| FixationLightAzimuthalAngleTolerance: 0x300a0154, | |
| FixationLightPolarAngleTolerance: 0x300a0155, | |
| PatientSetupSequence: 0x300a0180, | |
| PatientSetupNumber: 0x300a0182, | |
| PatientSetupLabel: 0x300a0183, | |
| PatientAdditionalPosition: 0x300a0184, | |
| FixationDeviceSequence: 0x300a0190, | |
| FixationDeviceType: 0x300a0192, | |
| FixationDeviceLabel: 0x300a0194, | |
| FixationDeviceDescription: 0x300a0196, | |
| FixationDevicePosition: 0x300a0198, | |
| FixationDevicePitchAngle: 0x300a0199, | |
| FixationDeviceRollAngle: 0x300a019a, | |
| ShieldingDeviceSequence: 0x300a01a0, | |
| ShieldingDeviceType: 0x300a01a2, | |
| ShieldingDeviceLabel: 0x300a01a4, | |
| ShieldingDeviceDescription: 0x300a01a6, | |
| ShieldingDevicePosition: 0x300a01a8, | |
| SetupTechnique: 0x300a01b0, | |
| SetupTechniqueDescription: 0x300a01b2, | |
| SetupDeviceSequence: 0x300a01b4, | |
| SetupDeviceType: 0x300a01b6, | |
| SetupDeviceLabel: 0x300a01b8, | |
| SetupDeviceDescription: 0x300a01ba, | |
| SetupDeviceParameter: 0x300a01bc, | |
| SetupReferenceDescription: 0x300a01d0, | |
| TableTopVerticalSetupDisplacement: 0x300a01d2, | |
| TableTopLongitudinalSetupDisplacement: 0x300a01d4, | |
| TableTopLateralSetupDisplacement: 0x300a01d6, | |
| BrachyTreatmentTechnique: 0x300a0200, | |
| BrachyTreatmentType: 0x300a0202, | |
| TreatmentMachineSequence: 0x300a0206, | |
| SourceSequence: 0x300a0210, | |
| SourceNumber: 0x300a0212, | |
| SourceType: 0x300a0214, | |
| SourceManufacturer: 0x300a0216, | |
| ActiveSourceDiameter: 0x300a0218, | |
| ActiveSourceLength: 0x300a021a, | |
| SourceModelID: 0x300a021b, | |
| SourceDescription: 0x300a021c, | |
| SourceEncapsulationNominalThickness: 0x300a0222, | |
| SourceEncapsulationNominalTransmission: 0x300a0224, | |
| SourceIsotopeName: 0x300a0226, | |
| SourceIsotopeHalfLife: 0x300a0228, | |
| SourceStrengthUnits: 0x300a0229, | |
| ReferenceAirKermaRate: 0x300a022a, | |
| SourceStrength: 0x300a022b, | |
| SourceStrengthReferenceDate: 0x300a022c, | |
| SourceStrengthReferenceTime: 0x300a022e, | |
| ApplicationSetupSequence: 0x300a0230, | |
| ApplicationSetupType: 0x300a0232, | |
| ApplicationSetupNumber: 0x300a0234, | |
| ApplicationSetupName: 0x300a0236, | |
| ApplicationSetupManufacturer: 0x300a0238, | |
| TemplateNumber: 0x300a0240, | |
| TemplateType: 0x300a0242, | |
| TemplateName: 0x300a0244, | |
| TotalReferenceAirKerma: 0x300a0250, | |
| BrachyAccessoryDeviceSequence: 0x300a0260, | |
| BrachyAccessoryDeviceNumber: 0x300a0262, | |
| BrachyAccessoryDeviceID: 0x300a0263, | |
| BrachyAccessoryDeviceType: 0x300a0264, | |
| BrachyAccessoryDeviceName: 0x300a0266, | |
| BrachyAccessoryDeviceNominalThickness: 0x300a026a, | |
| BrachyAccessoryDeviceNominalTransmission: 0x300a026c, | |
| ChannelEffectiveLength: 0x300a0271, | |
| ChannelInnerLength: 0x300a0272, | |
| AfterloaderChannelID: 0x300a0273, | |
| SourceApplicatorTipLength: 0x300a0274, | |
| ChannelSequence: 0x300a0280, | |
| ChannelNumber: 0x300a0282, | |
| ChannelLength: 0x300a0284, | |
| ChannelTotalTime: 0x300a0286, | |
| SourceMovementType: 0x300a0288, | |
| NumberOfPulses: 0x300a028a, | |
| PulseRepetitionInterval: 0x300a028c, | |
| SourceApplicatorNumber: 0x300a0290, | |
| SourceApplicatorID: 0x300a0291, | |
| SourceApplicatorType: 0x300a0292, | |
| SourceApplicatorName: 0x300a0294, | |
| SourceApplicatorLength: 0x300a0296, | |
| SourceApplicatorManufacturer: 0x300a0298, | |
| SourceApplicatorWallNominalThickness: 0x300a029c, | |
| SourceApplicatorWallNominalTransmission: 0x300a029e, | |
| SourceApplicatorStepSize: 0x300a02a0, | |
| TransferTubeNumber: 0x300a02a2, | |
| TransferTubeLength: 0x300a02a4, | |
| ChannelShieldSequence: 0x300a02b0, | |
| ChannelShieldNumber: 0x300a02b2, | |
| ChannelShieldID: 0x300a02b3, | |
| ChannelShieldName: 0x300a02b4, | |
| ChannelShieldNominalThickness: 0x300a02b8, | |
| ChannelShieldNominalTransmission: 0x300a02ba, | |
| FinalCumulativeTimeWeight: 0x300a02c8, | |
| BrachyControlPointSequence: 0x300a02d0, | |
| ControlPointRelativePosition: 0x300a02d2, | |
| ControlPoint3DPosition: 0x300a02d4, | |
| CumulativeTimeWeight: 0x300a02d6, | |
| CompensatorDivergence: 0x300a02e0, | |
| CompensatorMountingPosition: 0x300a02e1, | |
| SourceToCompensatorDistance: 0x300a02e2, | |
| TotalCompensatorTrayWaterEquivalentThickness: 0x300a02e3, | |
| IsocenterToCompensatorTrayDistance: 0x300a02e4, | |
| CompensatorColumnOffset: 0x300a02e5, | |
| IsocenterToCompensatorDistances: 0x300a02e6, | |
| CompensatorRelativeStoppingPowerRatio: 0x300a02e7, | |
| CompensatorMillingToolDiameter: 0x300a02e8, | |
| IonRangeCompensatorSequence: 0x300a02ea, | |
| CompensatorDescription: 0x300a02eb, | |
| RadiationMassNumber: 0x300a0302, | |
| RadiationAtomicNumber: 0x300a0304, | |
| RadiationChargeState: 0x300a0306, | |
| ScanMode: 0x300a0308, | |
| ModulatedScanModeType: 0x300a0309, | |
| VirtualSourceAxisDistances: 0x300a030a, | |
| SnoutSequence: 0x300a030c, | |
| SnoutPosition: 0x300a030d, | |
| SnoutID: 0x300a030f, | |
| NumberOfRangeShifters: 0x300a0312, | |
| RangeShifterSequence: 0x300a0314, | |
| RangeShifterNumber: 0x300a0316, | |
| RangeShifterID: 0x300a0318, | |
| RangeShifterType: 0x300a0320, | |
| RangeShifterDescription: 0x300a0322, | |
| NumberOfLateralSpreadingDevices: 0x300a0330, | |
| LateralSpreadingDeviceSequence: 0x300a0332, | |
| LateralSpreadingDeviceNumber: 0x300a0334, | |
| LateralSpreadingDeviceID: 0x300a0336, | |
| LateralSpreadingDeviceType: 0x300a0338, | |
| LateralSpreadingDeviceDescription: 0x300a033a, | |
| LateralSpreadingDeviceWaterEquivalentThickness: 0x300a033c, | |
| NumberOfRangeModulators: 0x300a0340, | |
| RangeModulatorSequence: 0x300a0342, | |
| RangeModulatorNumber: 0x300a0344, | |
| RangeModulatorID: 0x300a0346, | |
| RangeModulatorType: 0x300a0348, | |
| RangeModulatorDescription: 0x300a034a, | |
| BeamCurrentModulationID: 0x300a034c, | |
| PatientSupportType: 0x300a0350, | |
| PatientSupportID: 0x300a0352, | |
| PatientSupportAccessoryCode: 0x300a0354, | |
| TrayAccessoryCode: 0x300a0355, | |
| FixationLightAzimuthalAngle: 0x300a0356, | |
| FixationLightPolarAngle: 0x300a0358, | |
| MetersetRate: 0x300a035a, | |
| RangeShifterSettingsSequence: 0x300a0360, | |
| RangeShifterSetting: 0x300a0362, | |
| IsocenterToRangeShifterDistance: 0x300a0364, | |
| RangeShifterWaterEquivalentThickness: 0x300a0366, | |
| LateralSpreadingDeviceSettingsSequence: 0x300a0370, | |
| LateralSpreadingDeviceSetting: 0x300a0372, | |
| IsocenterToLateralSpreadingDeviceDistance: 0x300a0374, | |
| RangeModulatorSettingsSequence: 0x300a0380, | |
| RangeModulatorGatingStartValue: 0x300a0382, | |
| RangeModulatorGatingStopValue: 0x300a0384, | |
| RangeModulatorGatingStartWaterEquivalentThickness: 0x300a0386, | |
| RangeModulatorGatingStopWaterEquivalentThickness: 0x300a0388, | |
| IsocenterToRangeModulatorDistance: 0x300a038a, | |
| ScanSpotTimeOffset: 0x300a038f, | |
| ScanSpotTuneID: 0x300a0390, | |
| ScanSpotPrescribedIndices: 0x300a0391, | |
| NumberOfScanSpotPositions: 0x300a0392, | |
| ScanSpotReordered: 0x300a0393, | |
| ScanSpotPositionMap: 0x300a0394, | |
| ScanSpotReorderingAllowed: 0x300a0395, | |
| ScanSpotMetersetWeights: 0x300a0396, | |
| ScanningSpotSize: 0x300a0398, | |
| NumberOfPaintings: 0x300a039a, | |
| IonToleranceTableSequence: 0x300a03a0, | |
| IonBeamSequence: 0x300a03a2, | |
| IonBeamLimitingDeviceSequence: 0x300a03a4, | |
| IonBlockSequence: 0x300a03a6, | |
| IonControlPointSequence: 0x300a03a8, | |
| IonWedgeSequence: 0x300a03aa, | |
| IonWedgePositionSequence: 0x300a03ac, | |
| ReferencedSetupImageSequence: 0x300a0401, | |
| SetupImageComment: 0x300a0402, | |
| MotionSynchronizationSequence: 0x300a0410, | |
| ControlPointOrientation: 0x300a0412, | |
| GeneralAccessorySequence: 0x300a0420, | |
| GeneralAccessoryID: 0x300a0421, | |
| GeneralAccessoryDescription: 0x300a0422, | |
| GeneralAccessoryType: 0x300a0423, | |
| GeneralAccessoryNumber: 0x300a0424, | |
| SourceToGeneralAccessoryDistance: 0x300a0425, | |
| ApplicatorGeometrySequence: 0x300a0431, | |
| ApplicatorApertureShape: 0x300a0432, | |
| ApplicatorOpening: 0x300a0433, | |
| ApplicatorOpeningX: 0x300a0434, | |
| ApplicatorOpeningY: 0x300a0435, | |
| SourceToApplicatorMountingPositionDistance: 0x300a0436, | |
| NumberOfBlockSlabItems: 0x300a0440, | |
| BlockSlabSequence: 0x300a0441, | |
| BlockSlabThickness: 0x300a0442, | |
| BlockSlabNumber: 0x300a0443, | |
| DeviceMotionControlSequence: 0x300a0450, | |
| DeviceMotionExecutionMode: 0x300a0451, | |
| DeviceMotionObservationMode: 0x300a0452, | |
| DeviceMotionParameterCodeSequence: 0x300a0453, | |
| DistalDepthFraction: 0x300a0501, | |
| DistalDepth: 0x300a0502, | |
| NominalRangeModulationFractions: 0x300a0503, | |
| NominalRangeModulatedRegionDepths: 0x300a0504, | |
| DepthDoseParametersSequence: 0x300a0505, | |
| DeliveredDepthDoseParametersSequence: 0x300a0506, | |
| DeliveredDistalDepthFraction: 0x300a0507, | |
| DeliveredDistalDepth: 0x300a0508, | |
| DeliveredNominalRangeModulationFractions: 0x300a0509, | |
| DeliveredNominalRangeModulatedRegionDepths: 0x300a0510, | |
| DeliveredReferenceDoseDefinition: 0x300a0511, | |
| ReferenceDoseDefinition: 0x300a0512, | |
| ReferencedRTPlanSequence: 0x300c0002, | |
| ReferencedBeamSequence: 0x300c0004, | |
| ReferencedBeamNumber: 0x300c0006, | |
| ReferencedReferenceImageNumber: 0x300c0007, | |
| StartCumulativeMetersetWeight: 0x300c0008, | |
| EndCumulativeMetersetWeight: 0x300c0009, | |
| ReferencedBrachyApplicationSetupSequence: 0x300c000a, | |
| ReferencedBrachyApplicationSetupNumber: 0x300c000c, | |
| ReferencedSourceNumber: 0x300c000e, | |
| ReferencedFractionGroupSequence: 0x300c0020, | |
| ReferencedFractionGroupNumber: 0x300c0022, | |
| ReferencedVerificationImageSequence: 0x300c0040, | |
| ReferencedReferenceImageSequence: 0x300c0042, | |
| ReferencedDoseReferenceSequence: 0x300c0050, | |
| ReferencedDoseReferenceNumber: 0x300c0051, | |
| BrachyReferencedDoseReferenceSequence: 0x300c0055, | |
| ReferencedStructureSetSequence: 0x300c0060, | |
| ReferencedPatientSetupNumber: 0x300c006a, | |
| ReferencedDoseSequence: 0x300c0080, | |
| ReferencedToleranceTableNumber: 0x300c00a0, | |
| ReferencedBolusSequence: 0x300c00b0, | |
| ReferencedWedgeNumber: 0x300c00c0, | |
| ReferencedCompensatorNumber: 0x300c00d0, | |
| ReferencedBlockNumber: 0x300c00e0, | |
| ReferencedControlPointIndex: 0x300c00f0, | |
| ReferencedControlPointSequence: 0x300c00f2, | |
| ReferencedStartControlPointIndex: 0x300c00f4, | |
| ReferencedStopControlPointIndex: 0x300c00f6, | |
| ReferencedRangeShifterNumber: 0x300c0100, | |
| ReferencedLateralSpreadingDeviceNumber: 0x300c0102, | |
| ReferencedRangeModulatorNumber: 0x300c0104, | |
| OmittedBeamTaskSequence: 0x300c0111, | |
| ReasonForOmission: 0x300c0112, | |
| ReasonForOmissionDescription: 0x300c0113, | |
| ApprovalStatus: 0x300e0002, | |
| ReviewDate: 0x300e0004, | |
| ReviewTime: 0x300e0005, | |
| ReviewerName: 0x300e0008, | |
| Arbitrary: 0x40000010, | |
| TextComments: 0x40004000, | |
| ResultsID: 0x40080040, | |
| ResultsIDIssuer: 0x40080042, | |
| ReferencedInterpretationSequence: 0x40080050, | |
| ReportProductionStatusTrial: 0x400800ff, | |
| InterpretationRecordedDate: 0x40080100, | |
| InterpretationRecordedTime: 0x40080101, | |
| InterpretationRecorder: 0x40080102, | |
| ReferenceToRecordedSound: 0x40080103, | |
| InterpretationTranscriptionDate: 0x40080108, | |
| InterpretationTranscriptionTime: 0x40080109, | |
| InterpretationTranscriber: 0x4008010a, | |
| InterpretationText: 0x4008010b, | |
| InterpretationAuthor: 0x4008010c, | |
| InterpretationApproverSequence: 0x40080111, | |
| InterpretationApprovalDate: 0x40080112, | |
| InterpretationApprovalTime: 0x40080113, | |
| PhysicianApprovingInterpretation: 0x40080114, | |
| InterpretationDiagnosisDescription: 0x40080115, | |
| InterpretationDiagnosisCodeSequence: 0x40080117, | |
| ResultsDistributionListSequence: 0x40080118, | |
| DistributionName: 0x40080119, | |
| DistributionAddress: 0x4008011a, | |
| InterpretationID: 0x40080200, | |
| InterpretationIDIssuer: 0x40080202, | |
| InterpretationTypeID: 0x40080210, | |
| InterpretationStatusID: 0x40080212, | |
| Impressions: 0x40080300, | |
| ResultsComments: 0x40084000, | |
| LowEnergyDetectors: 0x40100001, | |
| HighEnergyDetectors: 0x40100002, | |
| DetectorGeometrySequence: 0x40100004, | |
| ThreatROIVoxelSequence: 0x40101001, | |
| ThreatROIBase: 0x40101004, | |
| ThreatROIExtents: 0x40101005, | |
| ThreatROIBitmap: 0x40101006, | |
| RouteSegmentID: 0x40101007, | |
| GantryType: 0x40101008, | |
| OOIOwnerType: 0x40101009, | |
| RouteSegmentSequence: 0x4010100a, | |
| PotentialThreatObjectID: 0x40101010, | |
| ThreatSequence: 0x40101011, | |
| ThreatCategory: 0x40101012, | |
| ThreatCategoryDescription: 0x40101013, | |
| ATDAbilityAssessment: 0x40101014, | |
| ATDAssessmentFlag: 0x40101015, | |
| ATDAssessmentProbability: 0x40101016, | |
| Mass: 0x40101017, | |
| Density: 0x40101018, | |
| ZEffective: 0x40101019, | |
| BoardingPassID: 0x4010101a, | |
| CenterOfMass: 0x4010101b, | |
| CenterOfPTO: 0x4010101c, | |
| BoundingPolygon: 0x4010101d, | |
| RouteSegmentStartLocationID: 0x4010101e, | |
| RouteSegmentEndLocationID: 0x4010101f, | |
| RouteSegmentLocationIDType: 0x40101020, | |
| AbortReason: 0x40101021, | |
| VolumeOfPTO: 0x40101023, | |
| AbortFlag: 0x40101024, | |
| RouteSegmentStartTime: 0x40101025, | |
| RouteSegmentEndTime: 0x40101026, | |
| TDRType: 0x40101027, | |
| InternationalRouteSegment: 0x40101028, | |
| ThreatDetectionAlgorithmandVersion: 0x40101029, | |
| AssignedLocation: 0x4010102a, | |
| AlarmDecisionTime: 0x4010102b, | |
| AlarmDecision: 0x40101031, | |
| NumberOfTotalObjects: 0x40101033, | |
| NumberOfAlarmObjects: 0x40101034, | |
| PTORepresentationSequence: 0x40101037, | |
| ATDAssessmentSequence: 0x40101038, | |
| TIPType: 0x40101039, | |
| DICOSVersion: 0x4010103a, | |
| OOIOwnerCreationTime: 0x40101041, | |
| OOIType: 0x40101042, | |
| OOISize: 0x40101043, | |
| AcquisitionStatus: 0x40101044, | |
| BasisMaterialsCodeSequence: 0x40101045, | |
| PhantomType: 0x40101046, | |
| OOIOwnerSequence: 0x40101047, | |
| ScanType: 0x40101048, | |
| ItineraryID: 0x40101051, | |
| ItineraryIDType: 0x40101052, | |
| ItineraryIDAssigningAuthority: 0x40101053, | |
| RouteID: 0x40101054, | |
| RouteIDAssigningAuthority: 0x40101055, | |
| InboundArrivalType: 0x40101056, | |
| CarrierID: 0x40101058, | |
| CarrierIDAssigningAuthority: 0x40101059, | |
| SourceOrientation: 0x40101060, | |
| SourcePosition: 0x40101061, | |
| BeltHeight: 0x40101062, | |
| AlgorithmRoutingCodeSequence: 0x40101064, | |
| TransportClassification: 0x40101067, | |
| OOITypeDescriptor: 0x40101068, | |
| TotalProcessingTime: 0x40101069, | |
| DetectorCalibrationData: 0x4010106c, | |
| AdditionalScreeningPerformed: 0x4010106d, | |
| AdditionalInspectionSelectionCriteria: 0x4010106e, | |
| AdditionalInspectionMethodSequence: 0x4010106f, | |
| AITDeviceType: 0x40101070, | |
| QRMeasurementsSequence: 0x40101071, | |
| TargetMaterialSequence: 0x40101072, | |
| SNRThreshold: 0x40101073, | |
| ImageScaleRepresentation: 0x40101075, | |
| ReferencedPTOSequence: 0x40101076, | |
| ReferencedTDRInstanceSequence: 0x40101077, | |
| PTOLocationDescription: 0x40101078, | |
| AnomalyLocatorIndicatorSequence: 0x40101079, | |
| AnomalyLocatorIndicator: 0x4010107a, | |
| PTORegionSequence: 0x4010107b, | |
| InspectionSelectionCriteria: 0x4010107c, | |
| SecondaryInspectionMethodSequence: 0x4010107d, | |
| PRCSToRCSOrientation: 0x4010107e, | |
| MACParametersSequence: 0x4ffe0001, | |
| CurveDimensions: 0x50000005, | |
| NumberOfPoints: 0x50000010, | |
| TypeOfData: 0x50000020, | |
| CurveDescription: 0x50000022, | |
| AxisUnits: 0x50000030, | |
| AxisLabels: 0x50000040, | |
| DataValueRepresentation: 0x50000103, | |
| MinimumCoordinateValue: 0x50000104, | |
| MaximumCoordinateValue: 0x50000105, | |
| CurveRange: 0x50000106, | |
| CurveDataDescriptor: 0x50000110, | |
| CoordinateStartValue: 0x50000112, | |
| CoordinateStepValue: 0x50000114, | |
| CurveActivationLayer: 0x50001001, | |
| AudioType: 0x50002000, | |
| AudioSampleFormat: 0x50002002, | |
| NumberOfChannels: 0x50002004, | |
| NumberOfSamples: 0x50002006, | |
| SampleRate: 0x50002008, | |
| TotalTime: 0x5000200a, | |
| AudioSampleData: 0x5000200c, | |
| AudioComments: 0x5000200e, | |
| CurveLabel: 0x50002500, | |
| CurveReferencedOverlaySequence: 0x50002600, | |
| CurveReferencedOverlayGroup: 0x50002610, | |
| CurveData: 0x50003000, | |
| SharedFunctionalGroupsSequence: 0x52009229, | |
| PerFrameFunctionalGroupsSequence: 0x52009230, | |
| WaveformSequence: 0x54000100, | |
| ChannelMinimumValue: 0x54000110, | |
| ChannelMaximumValue: 0x54000112, | |
| WaveformBitsAllocated: 0x54001004, | |
| WaveformSampleInterpretation: 0x54001006, | |
| WaveformPaddingValue: 0x5400100a, | |
| WaveformData: 0x54001010, | |
| FirstOrderPhaseCorrectionAngle: 0x56000010, | |
| SpectroscopyData: 0x56000020, | |
| OverlayRows: 0x60000010, | |
| OverlayColumns: 0x60000011, | |
| OverlayPlanes: 0x60000012, | |
| NumberOfFramesInOverlay: 0x60000015, | |
| OverlayDescription: 0x60000022, | |
| OverlayType: 0x60000040, | |
| OverlaySubtype: 0x60000045, | |
| OverlayOrigin: 0x60000050, | |
| ImageFrameOrigin: 0x60000051, | |
| OverlayPlaneOrigin: 0x60000052, | |
| OverlayCompressionCode: 0x60000060, | |
| OverlayCompressionOriginator: 0x60000061, | |
| OverlayCompressionLabel: 0x60000062, | |
| OverlayCompressionDescription: 0x60000063, | |
| OverlayCompressionStepPointers: 0x60000066, | |
| OverlayRepeatInterval: 0x60000068, | |
| OverlayBitsGrouped: 0x60000069, | |
| OverlayBitsAllocated: 0x60000100, | |
| OverlayBitPosition: 0x60000102, | |
| OverlayFormat: 0x60000110, | |
| OverlayLocation: 0x60000200, | |
| OverlayCodeLabel: 0x60000800, | |
| OverlayNumberOfTables: 0x60000802, | |
| OverlayCodeTableLocation: 0x60000803, | |
| OverlayBitsForCodeWord: 0x60000804, | |
| OverlayActivationLayer: 0x60001001, | |
| OverlayDescriptorGray: 0x60001100, | |
| OverlayDescriptorRed: 0x60001101, | |
| OverlayDescriptorGreen: 0x60001102, | |
| OverlayDescriptorBlue: 0x60001103, | |
| OverlaysGray: 0x60001200, | |
| OverlaysRed: 0x60001201, | |
| OverlaysGreen: 0x60001202, | |
| OverlaysBlue: 0x60001203, | |
| ROIArea: 0x60001301, | |
| ROIMean: 0x60001302, | |
| ROIStandardDeviation: 0x60001303, | |
| OverlayLabel: 0x60001500, | |
| OverlayData: 0x60003000, | |
| OverlayComments: 0x60004000, | |
| FloatPixelData: 0x7fe00008, | |
| DoubleFloatPixelData: 0x7fe00009, | |
| PixelData: 0x7fe00010, | |
| CoefficientsSDVN: 0x7fe00020, | |
| CoefficientsSDHN: 0x7fe00030, | |
| CoefficientsSDDN: 0x7fe00040, | |
| VariablePixelData: 0x7f000010, | |
| VariableNextDataGroup: 0x7f000011, | |
| VariableCoefficientsSDVN: 0x7f000020, | |
| VariableCoefficientsSDHN: 0x7f000030, | |
| VariableCoefficientsSDDN: 0x7f000040, | |
| DigitalSignaturesSequence: 0xfffafffa, | |
| DataSetTrailingPadding: 0xfffcfffc, | |
| Item: 0xfffee000, | |
| ItemDelimitationItem: 0xfffee00d, | |
| SequenceDelimitationItem: 0xfffee0dd, | |
| // private tags | |
| PhilipsSUVScaleFactor: 0x70531000, | |
| PhilipsActivityConcentrationFactor: 0x70531009, | |
| PhilipsCreatorDataElements: 0x70530010, | |
| }; | |
| /***/ }), | |
| /***/ "./src/uid-to-name.ts": | |
| /*!****************************!*\ | |
| !*** ./src/uid-to-name.ts ***! | |
| \****************************/ | |
| /***/ ((__unused_webpack_module, exports) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.UIDToName = void 0; | |
| class UIDToName { | |
| static nameOf(uid) { | |
| return UIDToName.dict[uid]; | |
| } | |
| } | |
| UIDToName.dict = { | |
| '1.2.840.10008.1.1': 'Verification SOP Class', | |
| '1.2.840.10008.1.2': 'Implicit VR Little Endian', | |
| '1.2.840.10008.1.2.1': 'Explicit VR Little Endian', | |
| '1.2.840.10008.1.2.1.99': 'Deflated Explicit VR Little Endian', | |
| '1.2.840.10008.1.2.2': 'Explicit VR Big Endian (Retired,', | |
| '1.2.840.10008.1.2.4.50': 'JPEG Baseline (Process 1,', | |
| '1.2.840.10008.1.2.4.51': 'JPEG Extended (Process 2 & 4,', | |
| '1.2.840.10008.1.2.4.52': 'JPEG Extended (Process 3 & 5, (Retired,', | |
| '1.2.840.10008.1.2.4.53': 'JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8, (Retired,', | |
| '1.2.840.10008.1.2.4.54': 'JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9, (Retired,', | |
| '1.2.840.10008.1.2.4.55': 'JPEG Full Progression, Non-Hierarchical (Process 10 & 12, (Retired,', | |
| '1.2.840.10008.1.2.4.56': 'JPEG Full Progression, Non-Hierarchical (Process 11 & 13, (Retired,', | |
| '1.2.840.10008.1.2.4.57': 'JPEG Lossless, Non-Hierarchical (Process 14,', | |
| '1.2.840.10008.1.2.4.58': 'JPEG Lossless, Non-Hierarchical (Process 15, (Retired,', | |
| '1.2.840.10008.1.2.4.59': 'JPEG Extended, Hierarchical (Process 16 & 18, (Retired,', | |
| '1.2.840.10008.1.2.4.60': 'JPEG Extended, Hierarchical (Process 17 & 19, (Retired,', | |
| '1.2.840.10008.1.2.4.61': 'JPEG Spectral Selection, Hierarchical (Process 20 & 22, (Retired,', | |
| '1.2.840.10008.1.2.4.62': 'JPEG Spectral Selection, Hierarchical (Process 21 & 23, (Retired,', | |
| '1.2.840.10008.1.2.4.63': 'JPEG Full Progression, Hierarchical (Process 24 & 26, (Retired,', | |
| '1.2.840.10008.1.2.4.64': 'JPEG Full Progression, Hierarchical (Process 25 & 27, (Retired,', | |
| '1.2.840.10008.1.2.4.65': 'JPEG Lossless, Hierarchical (Process 28, (Retired,', | |
| '1.2.840.10008.1.2.4.66': 'JPEG Lossless, Hierarchical (Process 29, (Retired,', | |
| '1.2.840.10008.1.2.4.70': 'JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1],', | |
| '1.2.840.10008.1.2.4.80': 'JPEG-LS Lossless Image Compression', | |
| '1.2.840.10008.1.2.4.81': 'JPEG-LS Lossy (Near-Lossless, Image Compression', | |
| '1.2.840.10008.1.2.4.90': 'JPEG 2000 Image Compression (Lossless Only,', | |
| '1.2.840.10008.1.2.4.91': 'JPEG 2000 Image Compression', | |
| '1.2.840.10008.1.2.4.92': 'JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only,', | |
| '1.2.840.10008.1.2.4.93': 'JPEG 2000 Part 2 Multi-component Image Compression', | |
| '1.2.840.10008.1.2.4.94': 'JPIP Referenced', | |
| '1.2.840.10008.1.2.4.95': 'JPIP Referenced Deflate', | |
| '1.2.840.10008.1.2.4.100': 'MPEG2 Main Profile / Main Level', | |
| '1.2.840.10008.1.2.4.101': 'MPEG2 Main Profile / High Level', | |
| '1.2.840.10008.1.2.4.102': 'MPEG-4 AVC/H.264 High Profile / Level 4.1', | |
| '1.2.840.10008.1.2.4.103': 'MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1', | |
| '1.2.840.10008.1.2.4.104': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video', | |
| '1.2.840.10008.1.2.4.105': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video', | |
| '1.2.840.10008.1.2.4.106': 'MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2', | |
| '1.2.840.10008.1.2.4.107': 'HEVC/H.265 Main Profile / Level 5.1', | |
| '1.2.840.10008.1.2.4.108': 'HEVC/H.265 Main 10 Profile / Level 5.1', | |
| '1.2.840.10008.1.2.5': 'RLE Lossless', | |
| '1.2.840.10008.1.2.6.1': 'RFC 2557 MIME encapsulation (Retired,', | |
| '1.2.840.10008.1.2.6.2': 'XML Encoding (Retired,', | |
| '1.2.840.10008.1.3.10': 'Media Storage Directory Storage', | |
| '1.2.840.10008.1.4.1.1': 'Talairach Brain Atlas Frame of Reference', | |
| '1.2.840.10008.1.4.1.2': 'SPM2 T1 Frame of Reference', | |
| '1.2.840.10008.1.4.1.3': 'SPM2 T2 Frame of Reference', | |
| '1.2.840.10008.1.4.1.4': 'SPM2 PD Frame of Reference', | |
| '1.2.840.10008.1.4.1.5': 'SPM2 EPI Frame of Reference', | |
| '1.2.840.10008.1.4.1.6': 'SPM2 FIL T1 Frame of Reference', | |
| '1.2.840.10008.1.4.1.7': 'SPM2 PET Frame of Reference', | |
| '1.2.840.10008.1.4.1.8': 'SPM2 TRANSM Frame of Reference', | |
| '1.2.840.10008.1.4.1.9': 'SPM2 SPECT Frame of Reference', | |
| '1.2.840.10008.1.4.1.10': 'SPM2 GRAY Frame of Reference', | |
| '1.2.840.10008.1.4.1.11': 'SPM2 WHITE Frame of Reference', | |
| '1.2.840.10008.1.4.1.12': 'SPM2 CSF Frame of Reference', | |
| '1.2.840.10008.1.4.1.13': 'SPM2 BRAINMASK Frame of Reference', | |
| '1.2.840.10008.1.4.1.14': 'SPM2 AVG305T1 Frame of Reference', | |
| '1.2.840.10008.1.4.1.15': 'SPM2 AVG152T1 Frame of Reference', | |
| '1.2.840.10008.1.4.1.16': 'SPM2 AVG152T2 Frame of Reference', | |
| '1.2.840.10008.1.4.1.17': 'SPM2 AVG152PD Frame of Reference', | |
| '1.2.840.10008.1.4.1.18': 'SPM2 SINGLESUBJT1 Frame of Reference', | |
| '1.2.840.10008.1.4.2.1': 'ICBM 452 T1 Frame of Reference', | |
| '1.2.840.10008.1.4.2.2': 'ICBM Single Subject MRI Frame of Reference', | |
| '1.2.840.10008.1.5.1': 'Hot Iron Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.2': 'PET Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.3': 'Hot Metal Blue Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.4': 'PET 20 Step Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.5': 'Spring Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.6': 'Summer Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.7': 'Fall Color Palette SOP Instance', | |
| '1.2.840.10008.1.5.8': 'Winter Color Palette SOP Instance', | |
| '1.2.840.10008.1.9': 'Basic Study Content Notification SOP Class (Retired,', | |
| '1.2.840.10008.1.20': 'Papyrus 3 Implicit VR Little Endian (Retired,', | |
| '1.2.840.10008.1.20.1': 'Storage Commitment Push Model SOP Class', | |
| '1.2.840.10008.1.20.1.1': 'Storage Commitment Push Model SOP Instance', | |
| '1.2.840.10008.1.20.2': 'Storage Commitment Pull Model SOP Class (Retired,', | |
| '1.2.840.10008.1.20.2.1': 'Storage Commitment Pull Model SOP Instance (Retired,', | |
| '1.2.840.10008.1.40': 'Procedural Event Logging SOP Class', | |
| '1.2.840.10008.1.40.1': 'Procedural Event Logging SOP Instance', | |
| '1.2.840.10008.1.42': 'Substance Administration Logging SOP Class', | |
| '1.2.840.10008.1.42.1': 'Substance Administration Logging SOP Instance', | |
| '1.2.840.10008.2.6.1': 'DICOM UID Registry', | |
| '1.2.840.10008.2.16.4': 'DICOM Controlled Terminology', | |
| '1.2.840.10008.2.16.5': 'Adult Mouse Anatomy Ontology', | |
| '1.2.840.10008.2.16.6': 'Uberon Ontology', | |
| '1.2.840.10008.2.16.7': 'Integrated Taxonomic Information System', | |
| '1.2.840.10008.2.16.8': 'Mouse Genome Initiative (MGI,', | |
| '1.2.840.10008.2.16.9': 'PubChem Compound CID', | |
| '1.2.840.10008.2.16.10': 'ICD-11', | |
| '1.2.840.10008.2.16.11': 'New York University Melanoma Clinical Cooperative Group', | |
| '1.2.840.10008.2.16.12': 'Mayo Clinic Non-radiological Images Specific Body Structure Anatomical Surface Region Guide', | |
| '1.2.840.10008.2.16.13': 'Image Biomarker Standardisation Initiative', | |
| '1.2.840.10008.2.16.14': 'Radiomics Ontology', | |
| '1.2.840.10008.3.1.1.1': 'DICOM Application Context Name', | |
| '1.2.840.10008.3.1.2.1.1': 'Detached Patient Management SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.1.4': 'Detached Patient Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.2.1': 'Detached Visit Management SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.3.1': 'Detached Study Management SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.3.2': 'Study Component Management SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.3.3': 'Modality Performed Procedure Step SOP Class', | |
| '1.2.840.10008.3.1.2.3.4': 'Modality Performed Procedure Step Retrieve SOP Class', | |
| '1.2.840.10008.3.1.2.3.5': 'Modality Performed Procedure Step Notification SOP Class', | |
| '1.2.840.10008.3.1.2.5.1': 'Detached Results Management SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.5.4': 'Detached Results Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.5.5': 'Detached Study Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.3.1.2.6.1': 'Detached Interpretation Management SOP Class (Retired,', | |
| '1.2.840.10008.4.2': 'Storage Service Class', | |
| '1.2.840.10008.5.1.1.1': 'Basic Film Session SOP Class', | |
| '1.2.840.10008.5.1.1.2': 'Basic Film Box SOP Class', | |
| '1.2.840.10008.5.1.1.4': 'Basic Grayscale Image Box SOP Class', | |
| '1.2.840.10008.5.1.1.4.1': 'Basic Color Image Box SOP Class', | |
| '1.2.840.10008.5.1.1.4.2': 'Referenced Image Box SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.9': 'Basic Grayscale Print Management Meta SOP Class', | |
| '1.2.840.10008.5.1.1.9.1': 'Referenced Grayscale Print Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.14': 'Print Job SOP Class', | |
| '1.2.840.10008.5.1.1.15': 'Basic Annotation Box SOP Class', | |
| '1.2.840.10008.5.1.1.16': 'Printer SOP Class', | |
| '1.2.840.10008.5.1.1.16.376': 'Printer Configuration Retrieval SOP Class', | |
| '1.2.840.10008.5.1.1.17': 'Printer SOP Instance', | |
| '1.2.840.10008.5.1.1.17.376': 'Printer Configuration Retrieval SOP Instance', | |
| '1.2.840.10008.5.1.1.18': 'Basic Color Print Management Meta SOP Class', | |
| '1.2.840.10008.5.1.1.18.1': 'Referenced Color Print Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.22': 'VOI LUT Box SOP Class', | |
| '1.2.840.10008.5.1.1.23': 'Presentation LUT SOP Class', | |
| '1.2.840.10008.5.1.1.24': 'Image Overlay Box SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.24.1': 'Basic Print Image Overlay Box SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.25': 'Print Queue SOP Instance (Retired,', | |
| '1.2.840.10008.5.1.1.26': 'Print Queue Management SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.27': 'Stored Print Storage SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.29': 'Hardcopy Grayscale Image Storage SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.30': 'Hardcopy Color Image Storage SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.31': 'Pull Print Request SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.32': 'Pull Stored Print Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.5.1.1.33': 'Media Creation Management SOP Class UID', | |
| '1.2.840.10008.5.1.1.40': 'Display System SOP Class', | |
| '1.2.840.10008.5.1.1.40.1': 'Display System SOP Instance', | |
| '1.2.840.10008.5.1.4.1.1.1': 'Computed Radiography Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.1.1': 'Digital X-Ray Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.1.1.1': 'Digital X-Ray Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.1.2': 'Digital Mammography X-Ray Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.1.2.1': 'Digital Mammography X-Ray Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.1.3': 'Digital Intra-Oral X-Ray Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.1.3.1': 'Digital Intra-Oral X-Ray Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.2': 'CT Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.2.1': 'Enhanced CT Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.2.2': 'Legacy Converted Enhanced CT Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.3': 'Ultrasound Multi-frame Image Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.3.1': 'Ultrasound Multi-frame Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.4': 'MR Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.4.1': 'Enhanced MR Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.4.2': 'MR Spectroscopy Storage', | |
| '1.2.840.10008.5.1.4.1.1.4.3': 'Enhanced MR Color Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.4.4': 'Legacy Converted Enhanced MR Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.5': 'Nuclear Medicine Image Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.6': 'Ultrasound Image Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.6.1': 'Ultrasound Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.6.2': 'Enhanced US Volume Storage', | |
| '1.2.840.10008.5.1.4.1.1.7': 'Secondary Capture Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.7.1': 'Multi-frame Single Bit Secondary Capture Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.7.2': 'Multi-frame Grayscale Byte Secondary Capture Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.7.3': 'Multi-frame Grayscale Word Secondary Capture Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.7.4': 'Multi-frame True Color Secondary Capture Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.8': 'Standalone Overlay Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.9': 'Standalone Curve Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.9.1': 'Waveform Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.9.1.1': '12-lead ECG Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.1.2': 'General ECG Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.1.3': 'Ambulatory ECG Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.2.1': 'Hemodynamic Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.3.1': 'Cardiac Electrophysiology Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.4.1': 'Basic Voice Audio Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.4.2': 'General Audio Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.5.1': 'Arterial Pulse Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.9.6.1': 'Respiratory Waveform Storage', | |
| '1.2.840.10008.5.1.4.1.1.10': 'Standalone Modality LUT Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.11': 'Standalone VOI LUT Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.11.1': 'Grayscale Softcopy Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.2': 'Color Softcopy Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.3': 'Pseudo-Color Softcopy Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.4': 'Blending Softcopy Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.5': 'XA/XRF Grayscale Softcopy Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.6': 'Grayscale Planar MPR Volumetric Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.7': 'Compositing Planar MPR Volumetric Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.8': 'Advanced Blending Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.9': 'Volume Rendering Volumetric Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.10': 'Segmented Volume Rendering Volumetric Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.11.11': 'Multiple Volume Rendering Volumetric Presentation State Storage', | |
| '1.2.840.10008.5.1.4.1.1.12.1': 'X-Ray Angiographic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.12.1.1': 'Enhanced XA Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.12.2': 'X-Ray Radiofluoroscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.12.2.1': 'Enhanced XRF Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.12.3': 'X-Ray Angiographic Bi-Plane Image Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.12.77': '(Retired,', | |
| '1.2.840.10008.5.1.4.1.1.13.1.1': 'X-Ray 3D Angiographic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.13.1.2': 'X-Ray 3D Craniofacial Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.13.1.3': 'Breast Tomosynthesis Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.13.1.4': 'Breast Projection X-Ray Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.13.1.5': 'Breast Projection X-Ray Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.14.1': 'Intravascular Optical Coherence Tomography Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.14.2': 'Intravascular Optical Coherence Tomography Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.20': 'Nuclear Medicine Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.30': 'Parametric Map Storage', | |
| '1.2.840.10008.5.1.4.1.1.40': '(Retired,', | |
| '1.2.840.10008.5.1.4.1.1.66': 'Raw Data Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.1': 'Spatial Registration Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.2': 'Spatial Fiducials Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.3': 'Deformable Spatial Registration Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.4': 'Segmentation Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.5': 'Surface Segmentation Storage', | |
| '1.2.840.10008.5.1.4.1.1.66.6': 'Tractography Results Storage', | |
| '1.2.840.10008.5.1.4.1.1.67': 'Real World Value Mapping Storage', | |
| '1.2.840.10008.5.1.4.1.1.68.1': 'Surface Scan Mesh Storage', | |
| '1.2.840.10008.5.1.4.1.1.68.2': 'Surface Scan Point Cloud Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1': 'VL Image Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.77.2': 'VL Multi-frame Image Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.77.1.1': 'VL Endoscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.1.1': 'Video Endoscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.2': 'VL Microscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.2.1': 'Video Microscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.3': 'VL Slide-Coordinates Microscopic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.4': 'VL Photographic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.4.1': 'Video Photographic Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.1': 'Ophthalmic Photography 8 Bit Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.2': 'Ophthalmic Photography 16 Bit Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.3': 'Stereometric Relationship Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.4': 'Ophthalmic Tomography Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.5': 'Wide Field Ophthalmic Photography Stereographic Projection Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.6': 'Wide Field Ophthalmic Photography 3D Coordinates Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.7': 'Ophthalmic Optical Coherence Tomography En Face Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.5.8': 'Ophthalmic Optical Coherence Tomography B-scan Volume Analysis Storage', | |
| '1.2.840.10008.5.1.4.1.1.77.1.6': 'VL Whole Slide Microscopy Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.1': 'Lensometry Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.2': 'Autorefraction Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.3': 'Keratometry Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.4': 'Subjective Refraction Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.5': 'Visual Acuity Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.6': 'Spectacle Prescription Report Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.7': 'Ophthalmic Axial Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.78.8': 'Intraocular Lens Calculations Storage', | |
| '1.2.840.10008.5.1.4.1.1.79.1': 'Macular Grid Thickness and Volume Report Storage', | |
| '1.2.840.10008.5.1.4.1.1.80.1': 'Ophthalmic Visual Field Static Perimetry Measurements Storage', | |
| '1.2.840.10008.5.1.4.1.1.81.1': 'Ophthalmic Thickness Map Storage', | |
| '1.2.840.10008.5.1.4.1.1.82.1': 'Corneal Topography Map Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.1': 'Text SR Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.88.2': 'Audio SR Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.88.3': 'Detail SR Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.88.4': 'Comprehensive SR Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.88.11': 'Basic Text SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.22': 'Enhanced SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.33': 'Comprehensive SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.34': 'Comprehensive 3D SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.35': 'Extensible SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.40': 'Procedure Log Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.50': 'Mammography CAD SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.59': 'Key Object Selection Document Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.65': 'Chest CAD SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.67': 'X-Ray Radiation Dose SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.68': 'Radiopharmaceutical Radiation Dose SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.69': 'Colon CAD SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.70': 'Implantation Plan SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.71': 'Acquisition Context SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.72': 'Simplified Adult Echo SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.73': 'Patient Radiation Dose SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.74': 'Planned Imaging Agent Administration SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.88.75': 'Performed Imaging Agent Administration SR Storage', | |
| '1.2.840.10008.5.1.4.1.1.90.1': 'Content Assessment Results Storage', | |
| '1.2.840.10008.5.1.4.1.1.104.1': 'Encapsulated PDF Storage', | |
| '1.2.840.10008.5.1.4.1.1.104.2': 'Encapsulated CDA Storage', | |
| '1.2.840.10008.5.1.4.1.1.104.3': 'Encapsulated STL Storage', | |
| '1.2.840.10008.5.1.4.1.1.128': 'Positron Emission Tomography Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.128.1': 'Legacy Converted Enhanced PET Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.129': 'Standalone PET Curve Storage (Retired,', | |
| '1.2.840.10008.5.1.4.1.1.130': 'Enhanced PET Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.131': 'Basic Structured Display Storage', | |
| '1.2.840.10008.5.1.4.1.1.200.1': 'CT Defined Procedure Protocol Storage', | |
| '1.2.840.10008.5.1.4.1.1.200.2': 'CT Performed Procedure Protocol Storage', | |
| '1.2.840.10008.5.1.4.1.1.200.3': 'Protocol Approval Storage', | |
| '1.2.840.10008.5.1.4.1.1.200.4': 'Protocol Approval Information Model - FIND', | |
| '1.2.840.10008.5.1.4.1.1.200.5': 'Protocol Approval Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.1.1.200.6': 'Protocol Approval Information Model - GET', | |
| '1.2.840.10008.5.1.4.1.1.481.1': 'RT Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.2': 'RT Dose Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.3': 'RT Structure Set Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.4': 'RT Beams Treatment Record Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.5': 'RT Plan Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.6': 'RT Brachy Treatment Record Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.7': 'RT Treatment Summary Record Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.8': 'RT Ion Plan Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.9': 'RT Ion Beams Treatment Record Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.10': 'RT Physician Intent Storage', | |
| '1.2.840.10008.5.1.4.1.1.481.11': 'RT Segment Annotation Storage', | |
| '1.2.840.10008.5.1.4.1.1.501.1': 'DICOS CT Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.501.2.1': 'DICOS Digital X-Ray Image Storage - For Presentation', | |
| '1.2.840.10008.5.1.4.1.1.501.2.2': 'DICOS Digital X-Ray Image Storage - For Processing', | |
| '1.2.840.10008.5.1.4.1.1.501.3': 'DICOS Threat Detection Report Storage', | |
| '1.2.840.10008.5.1.4.1.1.501.4': 'DICOS 2D AIT Storage', | |
| '1.2.840.10008.5.1.4.1.1.501.5': 'DICOS 3D AIT Storage', | |
| '1.2.840.10008.5.1.4.1.1.501.6': 'DICOS Quadrupole Resonance (QR, Storage', | |
| '1.2.840.10008.5.1.4.1.1.601.1': 'Eddy Current Image Storage', | |
| '1.2.840.10008.5.1.4.1.1.601.2': 'Eddy Current Multi-frame Image Storage', | |
| '1.2.840.10008.5.1.4.1.2.1.1': 'Patient Root Query/Retrieve Information Model - FIND', | |
| '1.2.840.10008.5.1.4.1.2.1.2': 'Patient Root Query/Retrieve Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.1.2.1.3': 'Patient Root Query/Retrieve Information Model - GET', | |
| '1.2.840.10008.5.1.4.1.2.2.1': 'Study Root Query/Retrieve Information Model - FIND', | |
| '1.2.840.10008.5.1.4.1.2.2.2': 'Study Root Query/Retrieve Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.1.2.2.3': 'Study Root Query/Retrieve Information Model - GET', | |
| '1.2.840.10008.5.1.4.1.2.3.1': 'Patient/Study Only Query/Retrieve Information Model - FIND (Retired,', | |
| '1.2.840.10008.5.1.4.1.2.3.2': 'Patient/Study Only Query/Retrieve Information Model - MOVE (Retired,', | |
| '1.2.840.10008.5.1.4.1.2.3.3': 'Patient/Study Only Query/Retrieve Information Model - GET (Retired,', | |
| '1.2.840.10008.5.1.4.1.2.4.2': 'Composite Instance Root Retrieve - MOVE', | |
| '1.2.840.10008.5.1.4.1.2.4.3': 'Composite Instance Root Retrieve - GET', | |
| '1.2.840.10008.5.1.4.1.2.5.3': 'Composite Instance Retrieve Without Bulk Data - GET', | |
| '1.2.840.10008.5.1.4.20.1': 'Defined Procedure Protocol Information Model - FIND', | |
| '1.2.840.10008.5.1.4.20.2': 'Defined Procedure Protocol Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.20.3': 'Defined Procedure Protocol Information Model - GET', | |
| '1.2.840.10008.5.1.4.31': 'Modality Worklist Information Model - FIND', | |
| '1.2.840.10008.5.1.4.32': 'General Purpose Worklist Management Meta SOP Class (Retired,', | |
| '1.2.840.10008.5.1.4.32.1': 'General Purpose Worklist Information Model - FIND (Retired,', | |
| '1.2.840.10008.5.1.4.32.2': 'General Purpose Scheduled Procedure Step SOP Class (Retired,', | |
| '1.2.840.10008.5.1.4.32.3': 'General Purpose Performed Procedure Step SOP Class (Retired,', | |
| '1.2.840.10008.5.1.4.33': 'Instance Availability Notification SOP Class', | |
| '1.2.840.10008.5.1.4.34.1': 'RT Beams Delivery Instruction Storage - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.2': 'RT Conventional Machine Verification - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.3': 'RT Ion Machine Verification - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.4': 'Unified Worklist and Procedure Step Service Class - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.4.1': 'Unified Procedure Step - Push SOP Class - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.4.2': 'Unified Procedure Step - Watch SOP Class - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.4.3': 'Unified Procedure Step - Pull SOP Class - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.4.4': 'Unified Procedure Step - Event SOP Class - Trial (Retired,', | |
| '1.2.840.10008.5.1.4.34.5': 'UPS Global Subscription SOP Instance', | |
| '1.2.840.10008.5.1.4.34.5.1': 'UPS Filtered Global Subscription SOP Instance', | |
| '1.2.840.10008.5.1.4.34.6': 'Unified Worklist and Procedure Step Service Class', | |
| '1.2.840.10008.5.1.4.34.6.1': 'Unified Procedure Step - Push SOP Class', | |
| '1.2.840.10008.5.1.4.34.6.2': 'Unified Procedure Step - Watch SOP Class', | |
| '1.2.840.10008.5.1.4.34.6.3': 'Unified Procedure Step - Pull SOP Class', | |
| '1.2.840.10008.5.1.4.34.6.4': 'Unified Procedure Step - Event SOP Class', | |
| '1.2.840.10008.5.1.4.34.7': 'RT Beams Delivery Instruction Storage', | |
| '1.2.840.10008.5.1.4.34.8': 'RT Conventional Machine Verification', | |
| '1.2.840.10008.5.1.4.34.9': 'RT Ion Machine Verification', | |
| '1.2.840.10008.5.1.4.34.10': 'RT Brachy Application Setup Delivery Instruction Storage', | |
| '1.2.840.10008.5.1.4.37.1': 'General Relevant Patient Information Query', | |
| '1.2.840.10008.5.1.4.37.2': 'Breast Imaging Relevant Patient Information Query', | |
| '1.2.840.10008.5.1.4.37.3': 'Cardiac Relevant Patient Information Query', | |
| '1.2.840.10008.5.1.4.38.1': 'Hanging Protocol Storage', | |
| '1.2.840.10008.5.1.4.38.2': 'Hanging Protocol Information Model - FIND', | |
| '1.2.840.10008.5.1.4.38.3': 'Hanging Protocol Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.38.4': 'Hanging Protocol Information Model - GET', | |
| '1.2.840.10008.5.1.4.39.1': 'Color Palette Storage', | |
| '1.2.840.10008.5.1.4.39.2': 'Color Palette Query/Retrieve Information Model - FIND', | |
| '1.2.840.10008.5.1.4.39.3': 'Color Palette Query/Retrieve Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.39.4': 'Color Palette Query/Retrieve Information Model - GET', | |
| '1.2.840.10008.5.1.4.41': 'Product Characteristics Query SOP Class', | |
| '1.2.840.10008.5.1.4.42': 'Substance Approval Query SOP Class', | |
| '1.2.840.10008.5.1.4.43.1': 'Generic Implant Template Storage', | |
| '1.2.840.10008.5.1.4.43.2': 'Generic Implant Template Information Model - FIND', | |
| '1.2.840.10008.5.1.4.43.3': 'Generic Implant Template Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.43.4': 'Generic Implant Template Information Model - GET', | |
| '1.2.840.10008.5.1.4.44.1': 'Implant Assembly Template Storage', | |
| '1.2.840.10008.5.1.4.44.2': 'Implant Assembly Template Information Model - FIND', | |
| '1.2.840.10008.5.1.4.44.3': 'Implant Assembly Template Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.44.4': 'Implant Assembly Template Information Model - GET', | |
| '1.2.840.10008.5.1.4.45.1': 'Implant Template Group Storage', | |
| '1.2.840.10008.5.1.4.45.2': 'Implant Template Group Information Model - FIND', | |
| '1.2.840.10008.5.1.4.45.3': 'Implant Template Group Information Model - MOVE', | |
| '1.2.840.10008.5.1.4.45.4': 'Implant Template Group Information Model - GET', | |
| '1.2.840.10008.7.1.1': 'Native DICOM Model', | |
| '1.2.840.10008.7.1.2': 'Abstract Multi-Dimensional Image Model', | |
| '1.2.840.10008.8.1.1': 'DICOM Content Mapping Resource', | |
| '1.2.840.10008.15.0.3.1': 'dicomDeviceName', | |
| '1.2.840.10008.15.0.3.2': 'dicomDescription', | |
| '1.2.840.10008.15.0.3.3': 'dicomManufacturer', | |
| '1.2.840.10008.15.0.3.4': 'dicomManufacturerModelName', | |
| '1.2.840.10008.15.0.3.5': 'dicomSoftwareVersion', | |
| '1.2.840.10008.15.0.3.6': 'dicomVendorData', | |
| '1.2.840.10008.15.0.3.7': 'dicomAETitle', | |
| '1.2.840.10008.15.0.3.8': 'dicomNetworkConnectionReference', | |
| '1.2.840.10008.15.0.3.9': 'dicomApplicationCluster', | |
| '1.2.840.10008.15.0.3.10': 'dicomAssociationInitiator', | |
| '1.2.840.10008.15.0.3.11': 'dicomAssociationAcceptor', | |
| '1.2.840.10008.15.0.3.12': 'dicomHostname', | |
| '1.2.840.10008.15.0.3.13': 'dicomPort', | |
| '1.2.840.10008.15.0.3.14': 'dicomSOPClass', | |
| '1.2.840.10008.15.0.3.15': 'dicomTransferRole', | |
| '1.2.840.10008.15.0.3.16': 'dicomTransferSyntax', | |
| '1.2.840.10008.15.0.3.17': 'dicomPrimaryDeviceType', | |
| '1.2.840.10008.15.0.3.18': 'dicomRelatedDeviceReference', | |
| '1.2.840.10008.15.0.3.19': 'dicomPreferredCalledAETitle', | |
| '1.2.840.10008.15.0.3.20': 'dicomTLSCyphersuite', | |
| '1.2.840.10008.15.0.3.21': 'dicomAuthorizedNodeCertificateReference', | |
| '1.2.840.10008.15.0.3.22': 'dicomThisNodeCertificateReference', | |
| '1.2.840.10008.15.0.3.23': 'dicomInstalled', | |
| '1.2.840.10008.15.0.3.24': 'dicomStationName', | |
| '1.2.840.10008.15.0.3.25': 'dicomDeviceSerialNumber', | |
| '1.2.840.10008.15.0.3.26': 'dicomInstitutionName', | |
| '1.2.840.10008.15.0.3.27': 'dicomInstitutionAddress', | |
| '1.2.840.10008.15.0.3.28': 'dicomInstitutionDepartmentName', | |
| '1.2.840.10008.15.0.3.29': 'dicomIssuerOfPatientID', | |
| '1.2.840.10008.15.0.3.30': 'dicomPreferredCallingAETitle', | |
| '1.2.840.10008.15.0.3.31': 'dicomSupportedCharacterSet', | |
| '1.2.840.10008.15.0.4.1': 'dicomConfigurationRoot', | |
| '1.2.840.10008.15.0.4.2': 'dicomDevicesRoot', | |
| '1.2.840.10008.15.0.4.3': 'dicomUniqueAETitlesRegistryRoot', | |
| '1.2.840.10008.15.0.4.4': 'dicomDevice', | |
| '1.2.840.10008.15.0.4.5': 'dicomNetworkAE', | |
| '1.2.840.10008.15.0.4.6': 'dicomNetworkConnection', | |
| '1.2.840.10008.15.0.4.7': 'dicomUniqueAETitle', | |
| '1.2.840.10008.15.0.4.8': 'dicomTransferCapability', | |
| '1.2.840.10008.15.1.1': 'Universal Coordinated Time', | |
| }; | |
| exports.UIDToName = UIDToName; | |
| /***/ }), | |
| /***/ "./src/uid.ts": | |
| /*!********************!*\ | |
| !*** ./src/uid.ts ***! | |
| \********************/ | |
| /***/ ((__unused_webpack_module, exports) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.UID = void 0; | |
| exports.UID = { | |
| VerificationSOPClass: '1.2.840.10008.1.1', | |
| ImplicitVRLittleEndian: '1.2.840.10008.1.2', | |
| ExplicitVRLittleEndian: '1.2.840.10008.1.2.1', | |
| DeflatedExplicitVRLittleEndian: '1.2.840.10008.1.2.1.99', | |
| ExplicitVRBigEndianRetired: '1.2.840.10008.1.2.2', | |
| JPEGBaselineProcess1: '1.2.840.10008.1.2.4.50', | |
| JPEGExtendedProcess24: '1.2.840.10008.1.2.4.51', | |
| JPEGExtendedProcess35Retired: '1.2.840.10008.1.2.4.52', | |
| JPEGSpectralSelectionNonHierarchicalProcess68Retired: '1.2.840.10008.1.2.4.53', | |
| JPEGSpectralSelectionNonHierarchicalProcess79Retired: '1.2.840.10008.1.2.4.54', | |
| JPEGFullProgressionNonHierarchicalProcess1012Retired: '1.2.840.10008.1.2.4.55', | |
| JPEGFullProgressionNonHierarchicalProcess1113Retired: '1.2.840.10008.1.2.4.56', | |
| JPEGLosslessNonHierarchicalProcess14: '1.2.840.10008.1.2.4.57', | |
| JPEGLosslessNonHierarchicalProcess15Retired: '1.2.840.10008.1.2.4.58', | |
| JPEGExtendedHierarchicalProcess1618Retired: '1.2.840.10008.1.2.4.59', | |
| JPEGExtendedHierarchicalProcess1719Retired: '1.2.840.10008.1.2.4.60', | |
| JPEGSpectralSelectionHierarchicalProcess2022Retired: '1.2.840.10008.1.2.4.61', | |
| JPEGSpectralSelectionHierarchicalProcess2123Retired: '1.2.840.10008.1.2.4.62', | |
| JPEGFullProgressionHierarchicalProcess2426Retired: '1.2.840.10008.1.2.4.63', | |
| JPEGFullProgressionHierarchicalProcess2527Retired: '1.2.840.10008.1.2.4.64', | |
| JPEGLosslessHierarchicalProcess28Retired: '1.2.840.10008.1.2.4.65', | |
| JPEGLosslessHierarchicalProcess29Retired: '1.2.840.10008.1.2.4.66', | |
| JPEGLosslessNonHierarchicalFirstOrderPredictionProcess14SelectionValue1: '1.2.840.10008.1.2.4.70', | |
| JPEGLSLosslessImageCompression: '1.2.840.10008.1.2.4.80', | |
| JPEGLSLossyNearLosslessImageCompression: '1.2.840.10008.1.2.4.81', | |
| JPEG2000ImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.90', | |
| JPEG2000ImageCompression: '1.2.840.10008.1.2.4.91', | |
| JPEG2000Part2MulticomponentImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.92', | |
| JPEG2000Part2MulticomponentImageCompression: '1.2.840.10008.1.2.4.93', | |
| JPIPReferenced: '1.2.840.10008.1.2.4.94', | |
| JPIPReferencedDeflate: '1.2.840.10008.1.2.4.95', | |
| MPEG2MainProfileMainLevel: '1.2.840.10008.1.2.4.100', | |
| MPEG2MainProfileHighLevel: '1.2.840.10008.1.2.4.101', | |
| MPEG4AVCH264HighProfileLevel41: '1.2.840.10008.1.2.4.102', | |
| MPEG4AVCH264BDcompatibleHighProfileLevel41: '1.2.840.10008.1.2.4.103', | |
| MPEG4AVCH264HighProfileLevel42For2DVideo: '1.2.840.10008.1.2.4.104', | |
| MPEG4AVCH264HighProfileLevel42For3DVideo: '1.2.840.10008.1.2.4.105', | |
| MPEG4AVCH264StereoHighProfileLevel42: '1.2.840.10008.1.2.4.106', | |
| HEVCH265MainProfileLevel51: '1.2.840.10008.1.2.4.107', | |
| HEVCH265Main10ProfileLevel51: '1.2.840.10008.1.2.4.108', | |
| RLELossless: '1.2.840.10008.1.2.5', | |
| RFC2557MIMEencapsulation: '1.2.840.10008.1.2.6.1', | |
| XMLEncoding: '1.2.840.10008.1.2.6.2', | |
| MediaStorageDirectoryStorage: '1.2.840.10008.1.3.10', | |
| TalairachBrainAtlasFrameofReference: '1.2.840.10008.1.4.1.1', | |
| SPM2T1FrameofReference: '1.2.840.10008.1.4.1.2', | |
| SPM2T2FrameofReference: '1.2.840.10008.1.4.1.3', | |
| SPM2PDFrameofReference: '1.2.840.10008.1.4.1.4', | |
| SPM2EPIFrameofReference: '1.2.840.10008.1.4.1.5', | |
| SPM2FILT1FrameofReference: '1.2.840.10008.1.4.1.6', | |
| SPM2PETFrameofReference: '1.2.840.10008.1.4.1.7', | |
| SPM2TRANSMFrameofReference: '1.2.840.10008.1.4.1.8', | |
| SPM2SPECTFrameofReference: '1.2.840.10008.1.4.1.9', | |
| SPM2GRAYFrameofReference: '1.2.840.10008.1.4.1.10', | |
| SPM2WHITEFrameofReference: '1.2.840.10008.1.4.1.11', | |
| SPM2CSFFrameofReference: '1.2.840.10008.1.4.1.12', | |
| SPM2BRAINMASKFrameofReference: '1.2.840.10008.1.4.1.13', | |
| SPM2AVG305T1FrameofReference: '1.2.840.10008.1.4.1.14', | |
| SPM2AVG152T1FrameofReference: '1.2.840.10008.1.4.1.15', | |
| SPM2AVG152T2FrameofReference: '1.2.840.10008.1.4.1.16', | |
| SPM2AVG152PDFrameofReference: '1.2.840.10008.1.4.1.17', | |
| SPM2SINGLESUBJT1FrameofReference: '1.2.840.10008.1.4.1.18', | |
| ICBM452T1FrameofReference: '1.2.840.10008.1.4.2.1', | |
| ICBMSingleSubjectMRIFrameofReference: '1.2.840.10008.1.4.2.2', | |
| HotIronColorPaletteSOPInstance: '1.2.840.10008.1.5.1', | |
| PETColorPaletteSOPInstance: '1.2.840.10008.1.5.2', | |
| HotMetalBlueColorPaletteSOPInstance: '1.2.840.10008.1.5.3', | |
| PET20StepColorPaletteSOPInstance: '1.2.840.10008.1.5.4', | |
| SpringColorPaletteSOPInstance: '1.2.840.10008.1.5.5', | |
| SummerColorPaletteSOPInstance: '1.2.840.10008.1.5.6', | |
| FallColorPaletteSOPInstance: '1.2.840.10008.1.5.7', | |
| WinterColorPaletteSOPInstance: '1.2.840.10008.1.5.8', | |
| BasicStudyContentNotificationSOPClassRetired: '1.2.840.10008.1.9', | |
| Papyrus3ImplicitVRLittleEndianRetired: '1.2.840.10008.1.20', | |
| StorageCommitmentPushModelSOPClass: '1.2.840.10008.1.20.1', | |
| StorageCommitmentPushModelSOPInstance: '1.2.840.10008.1.20.1.1', | |
| StorageCommitmentPullModelSOPClassRetired: '1.2.840.10008.1.20.2', | |
| StorageCommitmentPullModelSOPInstanceRetired: '1.2.840.10008.1.20.2.1', | |
| ProceduralEventLoggingSOPClass: '1.2.840.10008.1.40', | |
| ProceduralEventLoggingSOPInstance: '1.2.840.10008.1.40.1', | |
| SubstanceAdministrationLoggingSOPClass: '1.2.840.10008.1.42', | |
| SubstanceAdministrationLoggingSOPInstance: '1.2.840.10008.1.42.1', | |
| DICOMUIDRegistry: '1.2.840.10008.2.6.1', | |
| DICOMControlledTerminology: '1.2.840.10008.2.16.4', | |
| AdultMouseAnatomyOntology: '1.2.840.10008.2.16.5', | |
| UberonOntology: '1.2.840.10008.2.16.6', | |
| IntegratedTaxonomicInformationSystemITISTaxonomicSerialNumberTSN: '1.2.840.10008.2.16.7', | |
| MouseGenomeInitiativeMGI: '1.2.840.10008.2.16.8', | |
| PubChemCompoundCID: '1.2.840.10008.2.16.9', | |
| DICOMApplicationContextName: '1.2.840.10008.3.1.1.1', | |
| DetachedPatientManagementSOPClassRetired: '1.2.840.10008.3.1.2.1.1', | |
| DetachedPatientManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.1.4', | |
| DetachedVisitManagementSOPClassRetired: '1.2.840.10008.3.1.2.2.1', | |
| DetachedStudyManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.1', | |
| StudyComponentManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.2', | |
| ModalityPerformedProcedureStepSOPClass: '1.2.840.10008.3.1.2.3.3', | |
| ModalityPerformedProcedureStepRetrieveSOPClass: '1.2.840.10008.3.1.2.3.4', | |
| ModalityPerformedProcedureStepNotificationSOPClass: '1.2.840.10008.3.1.2.3.5', | |
| DetachedResultsManagementSOPClassRetired: '1.2.840.10008.3.1.2.5.1', | |
| DetachedResultsManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.4', | |
| DetachedStudyManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.5', | |
| DetachedInterpretationManagementSOPClassRetired: '1.2.840.10008.3.1.2.6.1', | |
| StorageServiceClass: '1.2.840.10008.4.2', | |
| BasicFilmSessionSOPClass: '1.2.840.10008.5.1.1.1', | |
| BasicFilmBoxSOPClass: '1.2.840.10008.5.1.1.2', | |
| BasicGrayscaleImageBoxSOPClass: '1.2.840.10008.5.1.1.4', | |
| BasicColorImageBoxSOPClass: '1.2.840.10008.5.1.1.4.1', | |
| ReferencedImageBoxSOPClassRetired: '1.2.840.10008.5.1.1.4.2', | |
| BasicGrayscalePrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.9', | |
| ReferencedGrayscalePrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.9.1', | |
| PrintJobSOPClass: '1.2.840.10008.5.1.1.14', | |
| BasicAnnotationBoxSOPClass: '1.2.840.10008.5.1.1.15', | |
| PrinterSOPClass: '1.2.840.10008.5.1.1.16', | |
| PrinterConfigurationRetrievalSOPClass: '1.2.840.10008.5.1.1.16.376', | |
| PrinterSOPInstance: '1.2.840.10008.5.1.1.17', | |
| PrinterConfigurationRetrievalSOPInstance: '1.2.840.10008.5.1.1.17.376', | |
| BasicColorPrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.18', | |
| ReferencedColorPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.18.1', | |
| VOILUTBoxSOPClass: '1.2.840.10008.5.1.1.22', | |
| PresentationLUTSOPClass: '1.2.840.10008.5.1.1.23', | |
| ImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24', | |
| BasicPrintImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24.1', | |
| PrintQueueSOPInstanceRetired: '1.2.840.10008.5.1.1.25', | |
| PrintQueueManagementSOPClassRetired: '1.2.840.10008.5.1.1.26', | |
| StoredPrintStorageSOPClassRetired: '1.2.840.10008.5.1.1.27', | |
| HardcopyGrayscaleImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.29', | |
| HardcopyColorImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.30', | |
| PullPrintRequestSOPClassRetired: '1.2.840.10008.5.1.1.31', | |
| PullStoredPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.32', | |
| MediaCreationManagementSOPClassUID: '1.2.840.10008.5.1.1.33', | |
| DisplaySystemSOPClass: '1.2.840.10008.5.1.1.40', | |
| DisplaySystemSOPInstance: '1.2.840.10008.5.1.1.40.1', | |
| ComputedRadiographyImageStorage: '1.2.840.10008.5.1.4.1.1.1', | |
| DigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.1', | |
| DigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.1.1', | |
| DigitalMammographyXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.2', | |
| DigitalMammographyXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.2.1', | |
| DigitalIntraOralXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.3', | |
| DigitalIntraOralXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.3.1', | |
| CTImageStorage: '1.2.840.10008.5.1.4.1.1.2', | |
| EnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.1', | |
| LegacyConvertedEnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.2', | |
| UltrasoundMultiframeImageStorageRetired: '1.2.840.10008.5.1.4.1.1.3', | |
| UltrasoundMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.3.1', | |
| MRImageStorage: '1.2.840.10008.5.1.4.1.1.4', | |
| EnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.1', | |
| MRSpectroscopyStorage: '1.2.840.10008.5.1.4.1.1.4.2', | |
| EnhancedMRColorImageStorage: '1.2.840.10008.5.1.4.1.1.4.3', | |
| LegacyConvertedEnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.4', | |
| NuclearMedicineImageStorageRetired: '1.2.840.10008.5.1.4.1.1.5', | |
| UltrasoundImageStorageRetired: '1.2.840.10008.5.1.4.1.1.6', | |
| UltrasoundImageStorage: '1.2.840.10008.5.1.4.1.1.6.1', | |
| EnhancedUSVolumeStorage: '1.2.840.10008.5.1.4.1.1.6.2', | |
| SecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7', | |
| MultiframeSingleBitSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.1', | |
| MultiframeGrayscaleByteSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.2', | |
| MultiframeGrayscaleWordSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.3', | |
| MultiframeTrueColorSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.4', | |
| StandaloneOverlayStorageRetired: '1.2.840.10008.5.1.4.1.1.8', | |
| StandaloneCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.9', | |
| WaveformStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.9.1', | |
| TwelveleadECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.1', | |
| GeneralECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.2', | |
| AmbulatoryECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.3', | |
| HemodynamicWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.2.1', | |
| CardiacElectrophysiologyWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.3.1', | |
| BasicVoiceAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.1', | |
| GeneralAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.2', | |
| ArterialPulseWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.5.1', | |
| RespiratoryWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.6.1', | |
| StandaloneModalityLUTStorageRetired: '1.2.840.10008.5.1.4.1.1.10', | |
| StandaloneVOILUTStorageRetired: '1.2.840.10008.5.1.4.1.1.11', | |
| GrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.1', | |
| ColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.2', | |
| PseudoColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.3', | |
| BlendingSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.4', | |
| XAXRFGrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.5', | |
| GrayscalePlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.6', | |
| CompositingPlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.7', | |
| AdvancedBlendingPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.8', | |
| VolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.9', | |
| SegmentedVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.10', | |
| MultipleVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.11', | |
| XRayAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.12.1', | |
| EnhancedXAImageStorage: '1.2.840.10008.5.1.4.1.1.12.1.1', | |
| XRayRadiofluoroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.12.2', | |
| EnhancedXRFImageStorage: '1.2.840.10008.5.1.4.1.1.12.2.1', | |
| XRayAngiographicBiPlaneImageStorageRetired: '1.2.840.10008.5.1.4.1.1.12.3', | |
| XRay3DAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.1', | |
| XRay3DCraniofacialImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.2', | |
| BreastTomosynthesisImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.3', | |
| BreastProjectionXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.13.1.4', | |
| BreastProjectionXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.13.1.5', | |
| IntravascularOpticalCoherenceTomographyImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.14.1', | |
| IntravascularOpticalCoherenceTomographyImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.14.2', | |
| NuclearMedicineImageStorage: '1.2.840.10008.5.1.4.1.1.20', | |
| ParametricMapStorage: '1.2.840.10008.5.1.4.1.1.30', | |
| RawDataStorage: '1.2.840.10008.5.1.4.1.1.66', | |
| SpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.1', | |
| SpatialFiducialsStorage: '1.2.840.10008.5.1.4.1.1.66.2', | |
| DeformableSpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.3', | |
| SegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.4', | |
| SurfaceSegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.5', | |
| TractographyResultsStorage: '1.2.840.10008.5.1.4.1.1.66.6', | |
| RealWorldValueMappingStorage: '1.2.840.10008.5.1.4.1.1.67', | |
| SurfaceScanMeshStorage: '1.2.840.10008.5.1.4.1.1.68.1', | |
| SurfaceScanPointCloudStorage: '1.2.840.10008.5.1.4.1.1.68.2', | |
| VLImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.1', | |
| VLMultiframeImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.2', | |
| VLEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1', | |
| VideoEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1.1', | |
| VLMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2', | |
| VideoMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2.1', | |
| VLSlideCoordinatesMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.3', | |
| VLPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4', | |
| VideoPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4.1', | |
| OphthalmicPhotography8BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.1', | |
| OphthalmicPhotography16BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.2', | |
| StereometricRelationshipStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.3', | |
| OphthalmicTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.4', | |
| WideFieldOphthalmicPhotographyStereographicProjectionImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.5', | |
| WideFieldOphthalmicPhotography3DCoordinatesImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.6', | |
| OphthalmicOpticalCoherenceTomographyEnFaceImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.7', | |
| OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.8', | |
| VLWholeSlideMicroscopyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.6', | |
| LensometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.1', | |
| AutorefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.2', | |
| KeratometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.3', | |
| SubjectiveRefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.4', | |
| VisualAcuityMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.5', | |
| SpectaclePrescriptionReportStorage: '1.2.840.10008.5.1.4.1.1.78.6', | |
| OphthalmicAxialMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.7', | |
| IntraocularLensCalculationsStorage: '1.2.840.10008.5.1.4.1.1.78.8', | |
| MacularGridThicknessandVolumeReportStorage: '1.2.840.10008.5.1.4.1.1.79.1', | |
| OphthalmicVisualFieldStaticPerimetryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.80.1', | |
| OphthalmicThicknessMapStorage: '1.2.840.10008.5.1.4.1.1.81.1', | |
| CornealTopographyMapStorage: '1.2.840.10008.5.1.4.1.1.82.1', | |
| TextSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.1', | |
| AudioSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.2', | |
| DetailSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.3', | |
| ComprehensiveSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.4', | |
| BasicTextSRStorage: '1.2.840.10008.5.1.4.1.1.88.11', | |
| EnhancedSRStorage: '1.2.840.10008.5.1.4.1.1.88.22', | |
| ComprehensiveSRStorage: '1.2.840.10008.5.1.4.1.1.88.33', | |
| Comprehensive3DSRStorage: '1.2.840.10008.5.1.4.1.1.88.34', | |
| ExtensibleSRStorage: '1.2.840.10008.5.1.4.1.1.88.35', | |
| ProcedureLogStorage: '1.2.840.10008.5.1.4.1.1.88.40', | |
| MammographyCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.50', | |
| KeyObjectSelectionDocumentStorage: '1.2.840.10008.5.1.4.1.1.88.59', | |
| ChestCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.65', | |
| XRayRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.67', | |
| RadiopharmaceuticalRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.68', | |
| ColonCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.69', | |
| ImplantationPlanSRStorage: '1.2.840.10008.5.1.4.1.1.88.70', | |
| AcquisitionContextSRStorage: '1.2.840.10008.5.1.4.1.1.88.71', | |
| SimplifiedAdultEchoSRStorage: '1.2.840.10008.5.1.4.1.1.88.72', | |
| PatientRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.73', | |
| ContentAssessmentResultsStorage: '1.2.840.10008.5.1.4.1.1.90.1', | |
| EncapsulatedPDFStorage: '1.2.840.10008.5.1.4.1.1.104.1', | |
| EncapsulatedCDAStorage: '1.2.840.10008.5.1.4.1.1.104.2', | |
| PositronEmissionTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.128', | |
| LegacyConvertedEnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.128.1', | |
| StandalonePETCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.129', | |
| EnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.130', | |
| BasicStructuredDisplayStorage: '1.2.840.10008.5.1.4.1.1.131', | |
| CTDefinedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.1', | |
| CTPerformedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.2', | |
| ProtocolApprovalStorage: '1.2.840.10008.5.1.4.1.1.200.3', | |
| ProtocolApprovalInformationModelFIND: '1.2.840.10008.5.1.4.1.1.200.4', | |
| ProtocolApprovalInformationModelMOVE: '1.2.840.10008.5.1.4.1.1.200.5', | |
| ProtocolApprovalInformationModelGET: '1.2.840.10008.5.1.4.1.1.200.6', | |
| RTImageStorage: '1.2.840.10008.5.1.4.1.1.481.1', | |
| RTDoseStorage: '1.2.840.10008.5.1.4.1.1.481.2', | |
| RTStructureSetStorage: '1.2.840.10008.5.1.4.1.1.481.3', | |
| RTBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.4', | |
| RTPlanStorage: '1.2.840.10008.5.1.4.1.1.481.5', | |
| RTBrachyTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.6', | |
| RTTreatmentSummaryRecordStorage: '1.2.840.10008.5.1.4.1.1.481.7', | |
| RTIonPlanStorage: '1.2.840.10008.5.1.4.1.1.481.8', | |
| RTIonBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.9', | |
| DICOSCTImageStorage: '1.2.840.10008.5.1.4.1.1.501.1', | |
| DICOSDigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.501.2.1', | |
| DICOSDigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.501.2.2', | |
| DICOSThreatDetectionReportStorage: '1.2.840.10008.5.1.4.1.1.501.3', | |
| DICOS2DAITStorage: '1.2.840.10008.5.1.4.1.1.501.4', | |
| DICOS3DAITStorage: '1.2.840.10008.5.1.4.1.1.501.5', | |
| DICOSQuadrupoleResonanceQRStorage: '1.2.840.10008.5.1.4.1.1.501.6', | |
| EddyCurrentImageStorage: '1.2.840.10008.5.1.4.1.1.601.1', | |
| EddyCurrentMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.601.2', | |
| PatientRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.1.1', | |
| PatientRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.1.2', | |
| PatientRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.1.3', | |
| StudyRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.2.1', | |
| StudyRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.2.2', | |
| StudyRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.2.3', | |
| PatientStudyOnlyQueryRetrieveInformationModelFINDRetired: '1.2.840.10008.5.1.4.1.2.3.1', | |
| PatientStudyOnlyQueryRetrieveInformationModelMOVERetired: '1.2.840.10008.5.1.4.1.2.3.2', | |
| PatientStudyOnlyQueryRetrieveInformationModelGETRetired: '1.2.840.10008.5.1.4.1.2.3.3', | |
| CompositeInstanceRootRetrieveMOVE: '1.2.840.10008.5.1.4.1.2.4.2', | |
| CompositeInstanceRootRetrieveGET: '1.2.840.10008.5.1.4.1.2.4.3', | |
| CompositeInstanceRetrieveWithoutBulkDataGET: '1.2.840.10008.5.1.4.1.2.5.3', | |
| DefinedProcedureProtocolInformationModelFIND: '1.2.840.10008.5.1.4.20.1', | |
| DefinedProcedureProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.20.2', | |
| DefinedProcedureProtocolInformationModelGET: '1.2.840.10008.5.1.4.20.3', | |
| ModalityWorklistInformationModelFIND: '1.2.840.10008.5.1.4.31', | |
| GeneralPurposeWorklistManagementMetaSOPClassRetired: '1.2.840.10008.5.1.4.32', | |
| GeneralPurposeWorklistInformationModelFINDRetired: '1.2.840.10008.5.1.4.32.1', | |
| GeneralPurposeScheduledProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.2', | |
| GeneralPurposePerformedProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.3', | |
| InstanceAvailabilityNotificationSOPClass: '1.2.840.10008.5.1.4.33', | |
| RTBeamsDeliveryInstructionStorageTrialRetired: '1.2.840.10008.5.1.4.34.1', | |
| RTConventionalMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.2', | |
| RTIonMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.3', | |
| UnifiedWorklistandProcedureStepServiceClassTrialRetired: '1.2.840.10008.5.1.4.34.4', | |
| UnifiedProcedureStepPushSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.1', | |
| UnifiedProcedureStepWatchSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.2', | |
| UnifiedProcedureStepPullSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.3', | |
| UnifiedProcedureStepEventSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.4', | |
| UPSGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5', | |
| UPSFilteredGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5.1', | |
| UnifiedWorklistandProcedureStepServiceClass: '1.2.840.10008.5.1.4.34.6', | |
| UnifiedProcedureStepPushSOPClass: '1.2.840.10008.5.1.4.34.6.1', | |
| UnifiedProcedureStepWatchSOPClass: '1.2.840.10008.5.1.4.34.6.2', | |
| UnifiedProcedureStepPullSOPClass: '1.2.840.10008.5.1.4.34.6.3', | |
| UnifiedProcedureStepEventSOPClass: '1.2.840.10008.5.1.4.34.6.4', | |
| RTBeamsDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.7', | |
| RTConventionalMachineVerification: '1.2.840.10008.5.1.4.34.8', | |
| RTIonMachineVerification: '1.2.840.10008.5.1.4.34.9', | |
| RTBrachyApplicationSetupDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.10', | |
| GeneralRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.1', | |
| BreastImagingRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.2', | |
| CardiacRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.3', | |
| HangingProtocolStorage: '1.2.840.10008.5.1.4.38.1', | |
| HangingProtocolInformationModelFIND: '1.2.840.10008.5.1.4.38.2', | |
| HangingProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.38.3', | |
| HangingProtocolInformationModelGET: '1.2.840.10008.5.1.4.38.4', | |
| ColorPaletteStorage: '1.2.840.10008.5.1.4.39.1', | |
| ColorPaletteQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.39.2', | |
| ColorPaletteQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.39.3', | |
| ColorPaletteQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.39.4', | |
| ProductCharacteristicsQuerySOPClass: '1.2.840.10008.5.1.4.41', | |
| SubstanceApprovalQuerySOPClass: '1.2.840.10008.5.1.4.42', | |
| GenericImplantTemplateStorage: '1.2.840.10008.5.1.4.43.1', | |
| GenericImplantTemplateInformationModelFIND: '1.2.840.10008.5.1.4.43.2', | |
| GenericImplantTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.43.3', | |
| GenericImplantTemplateInformationModelGET: '1.2.840.10008.5.1.4.43.4', | |
| ImplantAssemblyTemplateStorage: '1.2.840.10008.5.1.4.44.1', | |
| ImplantAssemblyTemplateInformationModelFIND: '1.2.840.10008.5.1.4.44.2', | |
| ImplantAssemblyTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.44.3', | |
| ImplantAssemblyTemplateInformationModelGET: '1.2.840.10008.5.1.4.44.4', | |
| ImplantTemplateGroupStorage: '1.2.840.10008.5.1.4.45.1', | |
| ImplantTemplateGroupInformationModelFIND: '1.2.840.10008.5.1.4.45.2', | |
| ImplantTemplateGroupInformationModelMOVE: '1.2.840.10008.5.1.4.45.3', | |
| ImplantTemplateGroupInformationModelGET: '1.2.840.10008.5.1.4.45.4', | |
| NativeDICOMModel: '1.2.840.10008.7.1.1', | |
| AbstractMultiDimensionalImageModel: '1.2.840.10008.7.1.2', | |
| DICOMContentMappingResource: '1.2.840.10008.8.1.1', | |
| dicomDeviceName: '1.2.840.10008.15.0.3.1', | |
| dicomDescription: '1.2.840.10008.15.0.3.2', | |
| dicomManufacturer: '1.2.840.10008.15.0.3.3', | |
| dicomManufacturerModelName: '1.2.840.10008.15.0.3.4', | |
| dicomSoftwareVersion: '1.2.840.10008.15.0.3.5', | |
| dicomVendorData: '1.2.840.10008.15.0.3.6', | |
| dicomAETitle: '1.2.840.10008.15.0.3.7', | |
| dicomNetworkConnectionReference: '1.2.840.10008.15.0.3.8', | |
| dicomApplicationCluster: '1.2.840.10008.15.0.3.9', | |
| dicomAssociationInitiator: '1.2.840.10008.15.0.3.10', | |
| dicomAssociationAcceptor: '1.2.840.10008.15.0.3.11', | |
| dicomHostname: '1.2.840.10008.15.0.3.12', | |
| dicomPort: '1.2.840.10008.15.0.3.13', | |
| dicomSOPClass: '1.2.840.10008.15.0.3.14', | |
| dicomTransferRole: '1.2.840.10008.15.0.3.15', | |
| dicomTransferSyntax: '1.2.840.10008.15.0.3.16', | |
| dicomPrimaryDeviceType: '1.2.840.10008.15.0.3.17', | |
| dicomRelatedDeviceReference: '1.2.840.10008.15.0.3.18', | |
| dicomPreferredCalledAETitle: '1.2.840.10008.15.0.3.19', | |
| dicomTLSCyphersuite: '1.2.840.10008.15.0.3.20', | |
| dicomAuthorizedNodeCertificateReference: '1.2.840.10008.15.0.3.21', | |
| dicomThisNodeCertificateReference: '1.2.840.10008.15.0.3.22', | |
| dicomInstalled: '1.2.840.10008.15.0.3.23', | |
| dicomStationName: '1.2.840.10008.15.0.3.24', | |
| dicomDeviceSerialNumber: '1.2.840.10008.15.0.3.25', | |
| dicomInstitutionName: '1.2.840.10008.15.0.3.26', | |
| dicomInstitutionAddress: '1.2.840.10008.15.0.3.27', | |
| dicomInstitutionDepartmentName: '1.2.840.10008.15.0.3.28', | |
| dicomIssuerOfPatientID: '1.2.840.10008.15.0.3.29', | |
| dicomPreferredCallingAETitle: '1.2.840.10008.15.0.3.30', | |
| dicomSupportedCharacterSet: '1.2.840.10008.15.0.3.31', | |
| dicomConfigurationRoot: '1.2.840.10008.15.0.4.1', | |
| dicomDevicesRoot: '1.2.840.10008.15.0.4.2', | |
| dicomUniqueAETitlesRegistryRoot: '1.2.840.10008.15.0.4.3', | |
| dicomDevice: '1.2.840.10008.15.0.4.4', | |
| dicomNetworkAE: '1.2.840.10008.15.0.4.5', | |
| dicomNetworkConnection: '1.2.840.10008.15.0.4.6', | |
| dicomUniqueAETitle: '1.2.840.10008.15.0.4.7', | |
| dicomTransferCapability: '1.2.840.10008.15.0.4.8', | |
| UniversalCoordinatedTime: '1.2.840.10008.15.1.1', | |
| }; | |
| /***/ }), | |
| /***/ "./src/value.ts": | |
| /*!**********************!*\ | |
| !*** ./src/value.ts ***! | |
| \**********************/ | |
| /***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.parsePersonName = exports.Value = void 0; | |
| const js_joda_1 = __webpack_require__(/*! js-joda */ "js-joda"); | |
| const base_1 = __webpack_require__(/*! ./base */ "./src/base.ts"); | |
| const character_sets_1 = __webpack_require__(/*! ./character-sets */ "./src/character-sets.ts"); | |
| const vr_1 = __webpack_require__(/*! ./vr */ "./src/vr.ts"); | |
| const person_name_1 = __webpack_require__(/*! ./person-name */ "./src/person-name.ts"); | |
| class Value { | |
| static fromString(vr, value, bigEndian = false) { | |
| return create(stringBytes(vr, value, bigEndian), vr); | |
| } | |
| static fromStrings(vr, values, bigEndian = false) { | |
| return create(combine(values.map((v) => stringBytes(vr, v, bigEndian)), vr), vr); | |
| } | |
| static fromBuffer(vr, buffer) { | |
| return create(buffer, vr); | |
| } | |
| static fromBytes(vr, bytes) { | |
| return Value.fromBuffer(vr, Buffer.from(bytes)); | |
| } | |
| static fromNumber(vr, value, bigEndian = false) { | |
| return create(numberBytes(vr, value, bigEndian), vr); | |
| } | |
| static fromNumbers(vr, values, bigEndian = false) { | |
| return create(combine(values.map((v) => numberBytes(vr, v, bigEndian)), vr), vr); | |
| } | |
| static fromDate(vr, value) { | |
| return create(dateBytes(vr, value), vr); | |
| } | |
| static fromDates(vr, values) { | |
| return create(combine(values.map((v) => dateBytes(vr, v)), vr), vr); | |
| } | |
| static fromTime(vr, value) { | |
| return create(timeBytes(vr, value), vr); | |
| } | |
| static fromTimes(vr, values) { | |
| return create(combine(values.map((v) => timeBytes(vr, v)), vr), vr); | |
| } | |
| static fromDateTime(vr, value) { | |
| return create(dateTimeBytes(vr, value), vr); | |
| } | |
| static fromDateTimes(vr, values) { | |
| return create(combine(values.map((v) => dateTimeBytes(vr, v)), vr), vr); | |
| } | |
| static fromPersonName(vr, value) { | |
| return Value.fromBuffer(vr, personNameBytes(vr, value)); | |
| } | |
| static fromPersonNames(vr, values) { | |
| return Value.fromBuffer(vr, combine(values.map((v) => personNameBytes(vr, v)), vr)); | |
| } | |
| static fromURL(vr, value) { | |
| return create(urlBytes(vr, value), vr); | |
| } | |
| static empty() { | |
| return new Value(base_1.emptyBuffer); | |
| } | |
| static headOption(array) { | |
| return array.length > 0 ? array[0] : undefined; | |
| } | |
| constructor(bytes) { | |
| this.bytes = bytes; | |
| this.length = bytes.length; | |
| } | |
| toStrings(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
| if (this.length === 0) { | |
| return []; | |
| } | |
| if (vr === vr_1.VR.AT) { | |
| return parseAT(this.bytes, bigEndian).map(base_1.tagToString); | |
| } | |
| if (vr === vr_1.VR.FL) { | |
| return parseFL(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.FD) { | |
| return parseFD(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.SS) { | |
| return parseSS(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.SL) { | |
| return parseSL(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.SV) { | |
| return parseSV(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.US) { | |
| return parseUS(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.UL) { | |
| return parseUL(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.UV) { | |
| return parseSV(this.bytes, bigEndian).map((v) => v.toString()); | |
| } | |
| if (vr === vr_1.VR.OB) { | |
| return [this.bytes.length + ' bytes']; | |
| } | |
| if (vr === vr_1.VR.OW) { | |
| return [this.bytes.length / 2 + ' words']; | |
| } | |
| if (vr === vr_1.VR.OL) { | |
| return [this.bytes.length / 4 + ' longs']; | |
| } | |
| if (vr === vr_1.VR.OV) { | |
| return [this.bytes.length / 8 + ' very longs']; | |
| } | |
| if (vr === vr_1.VR.OF) { | |
| return [this.bytes.length / 4 + ' floats']; | |
| } | |
| if (vr === vr_1.VR.OD) { | |
| return [this.bytes.length / 8 + ' doubles']; | |
| } | |
| if (vr === vr_1.VR.ST || vr === vr_1.VR.LT || vr === vr_1.VR.UT) { | |
| return [trimTrailing(characterSets.decode(this.bytes, vr), vr.paddingByte)]; | |
| } | |
| if (vr === vr_1.VR.LO || vr === vr_1.VR.SH || vr === vr_1.VR.UC) { | |
| return splitString(characterSets.decode(this.bytes, vr)); | |
| } | |
| if (vr == vr_1.VR.PN) { | |
| return splitString(characterSets.decode(this.bytes, vr)).map(base_1.trim); | |
| } | |
| return splitString(this.bytes.toString()).map(base_1.trim); | |
| } | |
| toSingleString(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
| const strings = this.toStrings(vr, bigEndian, characterSets); | |
| return strings.length === 0 ? '' : strings.join(base_1.multiValueDelimiter); | |
| } | |
| toNumbers(vr, bigEndian = false) { | |
| if (this.length === 0) { | |
| return []; | |
| } | |
| if (vr === vr_1.VR.AT) { | |
| return parseAT(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.DS) { | |
| return parseDS(this.bytes).filter((n) => !isNaN(n)); | |
| } | |
| if (vr === vr_1.VR.FL) { | |
| return parseFL(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.FD) { | |
| return parseFD(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.IS) { | |
| return parseIS(this.bytes).filter((n) => !isNaN(n)); | |
| } | |
| if (vr === vr_1.VR.SL) { | |
| return parseSL(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.SS) { | |
| return parseSS(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.UL) { | |
| return parseUL(this.bytes, bigEndian); | |
| } | |
| if (vr === vr_1.VR.US) { | |
| return parseUS(this.bytes, bigEndian); | |
| } | |
| return []; | |
| } | |
| toDates(vr = vr_1.VR.DA) { | |
| if (vr === vr_1.VR.DA) { | |
| return parseDA(this.bytes); | |
| } | |
| if (vr === vr_1.VR.DT) { | |
| return parseDT(this.bytes, base_1.systemZone).map((dt) => dt.toLocalDate()); | |
| } | |
| return []; | |
| } | |
| toTimes(vr = vr_1.VR.TM) { | |
| if (vr === vr_1.VR.DT) { | |
| return parseDT(this.bytes, base_1.systemZone).map((dt) => dt.toLocalTime()); | |
| } | |
| if (vr === vr_1.VR.TM) { | |
| return parseTM(this.bytes); | |
| } | |
| return []; | |
| } | |
| toDateTimes(vr = vr_1.VR.DT, zone = base_1.systemZone) { | |
| if (vr === vr_1.VR.DA) { | |
| return parseDA(this.bytes).map((da) => da.atStartOfDay(zone)); | |
| } | |
| if (vr === vr_1.VR.DT) { | |
| return parseDT(this.bytes, zone); | |
| } | |
| return []; | |
| } | |
| toPersonNames(vr = vr_1.VR.PN, characterSets = character_sets_1.defaultCharacterSet) { | |
| if (vr === vr_1.VR.PN) { | |
| return parsePN(this.bytes, characterSets); | |
| } | |
| return []; | |
| } | |
| toURL(vr = vr_1.VR.UR) { | |
| if (vr === vr_1.VR.UR) { | |
| return parseUR(this.bytes); | |
| } | |
| return undefined; | |
| } | |
| toString(vr, bigEndian = false, characterSets = character_sets_1.defaultCharacterSet) { | |
| return Value.headOption(this.toStrings(vr, bigEndian, characterSets)); | |
| } | |
| toNumber(vr, bigEndian = false) { | |
| return Value.headOption(this.toNumbers(vr, bigEndian)); | |
| } | |
| toDate(vr) { | |
| return Value.headOption(this.toDates(vr)); | |
| } | |
| toTime(vr) { | |
| return Value.headOption(this.toTimes(vr)); | |
| } | |
| toDateTime(vr, zone) { | |
| return Value.headOption(this.toDateTimes(vr, zone)); | |
| } | |
| toPersonName(vr = vr_1.VR.PN, characterSets = character_sets_1.defaultCharacterSet) { | |
| return Value.headOption(this.toPersonNames(vr, characterSets)); | |
| } | |
| append(bytes) { | |
| return new Value((0, base_1.concat)(this.bytes, bytes)); | |
| } | |
| ensurePadding(vr) { | |
| return Value.fromBuffer(vr, this.bytes); | |
| } | |
| } | |
| exports.Value = Value; | |
| function trimTrailing(s, paddingByte) { | |
| let index = s.length; | |
| while (index > 0 && s.charCodeAt(index - 1) <= paddingByte) { | |
| index -= 1; | |
| } | |
| return s.substring(0, index); | |
| } | |
| function combine(values, vr) { | |
| if (vr === vr_1.VR.AT || | |
| vr === vr_1.VR.FL || | |
| vr === vr_1.VR.FD || | |
| vr === vr_1.VR.SL || | |
| vr === vr_1.VR.SS || | |
| vr === vr_1.VR.UL || | |
| vr === vr_1.VR.US || | |
| vr === vr_1.VR.OB || | |
| vr === vr_1.VR.OW || | |
| vr === vr_1.VR.OL || | |
| vr === vr_1.VR.OF || | |
| vr === vr_1.VR.OD) { | |
| return values.reduce(base_1.concat, base_1.emptyBuffer); | |
| } | |
| const delim = Buffer.from('\\'); | |
| return values.reduce((prev, curr) => (0, base_1.concatv)(prev, delim, curr)); | |
| } | |
| function create(bytes, vr) { | |
| return vr ? new Value((0, base_1.padToEvenLength)(bytes, vr)) : new Value(bytes); | |
| } | |
| function stringBytes(vr, value, bigEndian = false) { | |
| if (vr === vr_1.VR.AT) { | |
| return (0, base_1.tagToBytes)(parseInt(value, 16), bigEndian); | |
| } | |
| if (vr === vr_1.VR.FL) { | |
| return (0, base_1.floatToBytes)(parseFloat(value), bigEndian); | |
| } | |
| if (vr === vr_1.VR.FD) { | |
| return (0, base_1.doubleToBytes)(parseFloat(value), bigEndian); | |
| } | |
| if (vr === vr_1.VR.SL) { | |
| return (0, base_1.intToBytes)(parseInt(value, 10), bigEndian); | |
| } | |
| if (vr === vr_1.VR.SS) { | |
| return (0, base_1.shortToBytes)(parseInt(value, 10), bigEndian); | |
| } | |
| if (vr === vr_1.VR.UL) { | |
| return (0, base_1.intToBytes)(parseInt(value, 10), bigEndian); | |
| } | |
| if (vr === vr_1.VR.US) { | |
| return (0, base_1.shortToBytes)(parseInt(value, 10), bigEndian); | |
| } | |
| if (vr === vr_1.VR.OB || vr === vr_1.VR.OW || vr === vr_1.VR.OL || vr === vr_1.VR.OF || vr === vr_1.VR.OD) { | |
| throw Error('Cannot create binary array from string'); | |
| } | |
| return Buffer.from(value); | |
| } | |
| function numberBytes(vr, value, bigEndian = false) { | |
| if (vr === vr_1.VR.AT) { | |
| return (0, base_1.tagToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.FL) { | |
| return (0, base_1.floatToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.FD) { | |
| return (0, base_1.doubleToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.SL) { | |
| return (0, base_1.intToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.SS) { | |
| return (0, base_1.shortToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.UL) { | |
| return (0, base_1.intToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.US) { | |
| return (0, base_1.shortToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.AT) { | |
| return (0, base_1.tagToBytes)(value, bigEndian); | |
| } | |
| if (vr === vr_1.VR.OB || vr === vr_1.VR.OW || vr === vr_1.VR.OL || vr === vr_1.VR.OF || vr === vr_1.VR.OD) { | |
| throw Error('Cannot create value of VR ' + vr + ' from int'); | |
| } | |
| return Buffer.from(value + ''); | |
| } | |
| function dateBytes(vr, value) { | |
| if (vr === vr_1.VR.AT || | |
| vr === vr_1.VR.FL || | |
| vr === vr_1.VR.FD || | |
| vr === vr_1.VR.SL || | |
| vr === vr_1.VR.SS || | |
| vr === vr_1.VR.UL || | |
| vr === vr_1.VR.US || | |
| vr === vr_1.VR.OB || | |
| vr === vr_1.VR.OW || | |
| vr === vr_1.VR.OL || | |
| vr === vr_1.VR.OF || | |
| vr === vr_1.VR.OD) { | |
| throw Error('Cannot create value of VR ' + vr + ' from date'); | |
| } | |
| return Buffer.from(formatDate(value)); | |
| } | |
| function timeBytes(vr, value) { | |
| if (vr === vr_1.VR.AT || | |
| vr === vr_1.VR.FL || | |
| vr === vr_1.VR.FD || | |
| vr === vr_1.VR.SL || | |
| vr === vr_1.VR.SS || | |
| vr === vr_1.VR.UL || | |
| vr === vr_1.VR.US || | |
| vr === vr_1.VR.OB || | |
| vr === vr_1.VR.OW || | |
| vr === vr_1.VR.OL || | |
| vr === vr_1.VR.OF || | |
| vr === vr_1.VR.OD) { | |
| throw Error('Cannot create value of VR ' + vr + ' from time'); | |
| } | |
| return Buffer.from(formatTime(value)); | |
| } | |
| function dateTimeBytes(vr, value) { | |
| if (vr === vr_1.VR.AT || | |
| vr === vr_1.VR.FL || | |
| vr === vr_1.VR.FD || | |
| vr === vr_1.VR.SL || | |
| vr === vr_1.VR.SS || | |
| vr === vr_1.VR.UL || | |
| vr === vr_1.VR.US || | |
| vr === vr_1.VR.OB || | |
| vr === vr_1.VR.OW || | |
| vr === vr_1.VR.OL || | |
| vr === vr_1.VR.OF || | |
| vr === vr_1.VR.OD) { | |
| throw Error('Cannot create value of VR ' + vr + ' from date-time'); | |
| } | |
| return Buffer.from(formatDateTime(value)); | |
| } | |
| function personNameBytes(vr, value) { | |
| if (vr === vr_1.VR.PN) { | |
| return Buffer.from(value.toString()); | |
| } | |
| throw Error('Cannot create value of VR ' + vr + ' from person name'); | |
| } | |
| function urlBytes(vr, value) { | |
| if (vr === vr_1.VR.UR) { | |
| return Buffer.from(value.toString()); | |
| } | |
| throw Error('Cannot create value of VR ' + vr + ' from URL'); | |
| } | |
| function chunk(arr, len) { | |
| const chunks = []; | |
| const n = arr.length; | |
| let i = 0; | |
| while (i < n) { | |
| chunks.push(arr.slice(i, (i += len))); | |
| } | |
| return chunks; | |
| } | |
| function splitFixed(bytes, size) { | |
| return chunk(bytes, size).filter((g) => g.length === size); | |
| } | |
| function splitString(s) { | |
| return s.split(base_1.multiValueDelimiter); | |
| } | |
| function parseAT(value, bigEndian = false) { | |
| return splitFixed(value, 4).map((b) => (0, base_1.bytesToTag)(b, bigEndian)); | |
| } | |
| function parseSL(value, bigEndian = false) { | |
| return splitFixed(value, 4).map((b) => (0, base_1.bytesToInt)(b, bigEndian)); | |
| } | |
| function parseSV(value, bigEndian = false) { | |
| return splitFixed(value, 8).map((b) => (0, base_1.bytesToFloat)(b, bigEndian)); | |
| } | |
| function parseSS(value, bigEndian = false) { | |
| return splitFixed(value, 2).map((b) => (0, base_1.bytesToShort)(b, bigEndian)); | |
| } | |
| function parseUL(value, bigEndian = false) { | |
| return splitFixed(value, 4).map((b) => (0, base_1.bytesToUInt)(b, bigEndian)); | |
| } | |
| function parseUS(value, bigEndian = false) { | |
| return splitFixed(value, 2).map((b) => (0, base_1.bytesToUShort)(b, bigEndian)); | |
| } | |
| function parseFL(value, bigEndian = false) { | |
| return splitFixed(value, 4).map((b) => (0, base_1.bytesToFloat)(b, bigEndian)); | |
| } | |
| function parseFD(value, bigEndian = false) { | |
| return splitFixed(value, 8).map((b) => (0, base_1.bytesToDouble)(b, bigEndian)); | |
| } | |
| function parseDS(value) { | |
| return splitString(value.toString()) | |
| .map(base_1.trim) | |
| .map((s) => parseFloat(s)); | |
| } | |
| function parseIS(value) { | |
| return splitString(value.toString()) | |
| .map(base_1.trim) | |
| .map((s) => parseInt(s, 10)); | |
| } | |
| function parseDA(value) { | |
| return splitString(value.toString()) | |
| .map(parseDate) | |
| .filter((d) => d !== undefined); | |
| } | |
| function parseTM(value) { | |
| return splitString(value.toString()) | |
| .map(parseTime) | |
| .filter((d) => d !== undefined); | |
| } | |
| function parseDT(value, zone) { | |
| return splitString(value.toString()) | |
| .map((s) => parseDateTime(s, zone)) | |
| .filter((d) => d !== undefined); | |
| } | |
| function parsePN(value, characterSets) { | |
| return splitString(characterSets.decode(value, vr_1.VR.PN)) | |
| .map(base_1.trim) | |
| .map((s) => parsePersonName(s)); | |
| } | |
| function parseUR(value) { | |
| return parseURL(value.toString().trim()); | |
| } | |
| const dateFormat1 = js_joda_1.DateTimeFormatter.ofPattern('uuuuMMdd'); | |
| const dateFormat2 = js_joda_1.DateTimeFormatter.ofPattern("uuuu'.'MM'.'dd"); | |
| const timeFormat = new js_joda_1.DateTimeFormatterBuilder() | |
| .appendPattern("HH[[':']mm[[':']ss[") | |
| .appendFraction(js_joda_1.ChronoField.MICRO_OF_SECOND, 1, 6, true) | |
| .appendPattern(']]]') | |
| .toFormatter(js_joda_1.ResolverStyle.LENIENT); | |
| const timeFormatForEncoding = js_joda_1.DateTimeFormatter.ofPattern("HHmmss'.'SSSSSS"); | |
| const dateTimeFormatForEncoding = js_joda_1.DateTimeFormatter.ofPattern("uuuuMMddHHmmss'.'SSSSSSZ"); | |
| function formatDate(date) { | |
| return date.format(dateFormat1); | |
| } | |
| function formatTime(time) { | |
| return time.format(timeFormatForEncoding); | |
| } | |
| function formatDateTime(dateTime) { | |
| return dateTime.format(dateTimeFormatForEncoding); | |
| } | |
| function parseDate(s) { | |
| const trimmed = s.trim(); | |
| try { | |
| return js_joda_1.LocalDate.parse(trimmed, dateFormat1); | |
| } | |
| catch (error) { | |
| try { | |
| return js_joda_1.LocalDate.parse(trimmed, dateFormat2); | |
| } | |
| catch (error) { | |
| return undefined; | |
| } | |
| } | |
| } | |
| function parseTime(s) { | |
| try { | |
| return js_joda_1.LocalTime.parse(s.trim(), timeFormat); | |
| } | |
| catch (error) { | |
| return undefined; | |
| } | |
| } | |
| function parseDateTime(s, zone = base_1.systemZone) { | |
| try { | |
| s = s.trim(); | |
| let len = s.length; | |
| if (len < 4) { | |
| throw Error('Malformed date-time, must at least include year.'); | |
| } | |
| // parse zone if present and trim this part from string | |
| const zoneStart = Math.max(s.indexOf('+'), s.indexOf('-')); | |
| if (zoneStart >= 4 && s.length === zoneStart + 5) { | |
| const signString = s.substring(zoneStart, zoneStart + 1); | |
| const zoneString = s.substring(zoneStart + 1, zoneStart + 5); | |
| zone = js_joda_1.ZoneOffset.ofHoursMinutes(parseInt(signString + zoneString.substring(0, 2), 10), parseInt(signString + zoneString.substring(2, 4), 10)); | |
| s = s.substring(0, zoneStart); | |
| len = s.length; | |
| } | |
| else if (zoneStart >= 0) { | |
| throw Error('Malformed date-time. Zone is present but misplaced or not of length 5'); | |
| } | |
| const validLengths = [4, 6, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21]; | |
| if (validLengths.indexOf(len) < 0) { | |
| throw Error('Malformed date-time, invalid length ' + len); | |
| } | |
| const year = parseInt(s.substring(0, 4), 10); | |
| let month = 1; | |
| let dayOfMonth = 1; | |
| let hour = 0; | |
| let minute = 0; | |
| let second = 0; | |
| let nanoOfSecond = 0; | |
| if (len >= 6) { | |
| month = parseInt(s.substring(4, 6), 10); | |
| if (len >= 8) { | |
| dayOfMonth = parseInt(s.substring(6, 8), 10); | |
| if (len >= 10) { | |
| hour = parseInt(s.substring(8, 10), 10); | |
| if (len >= 12) { | |
| minute = parseInt(s.substring(10, 12), 10); | |
| if (len >= 14) { | |
| second = parseInt(s.substring(12, 14), 10); | |
| if (s.charAt(14) === '.' && len >= 15) { | |
| const end = Math.min(len, 21); | |
| const precision = end - 15; | |
| const exponent = 9 - precision; | |
| nanoOfSecond = parseInt(s.substring(15, end), 10) * Math.pow(10, exponent); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| return js_joda_1.ZonedDateTime.of(year, month, dayOfMonth, hour, minute, second, nanoOfSecond, zone); | |
| } | |
| catch (error) { | |
| return undefined; | |
| } | |
| } | |
| function parsePersonName(s) { | |
| function ensureLength(ss, n) { | |
| return ss.concat(new Array(Math.max(0, n - ss.length)).fill('')); | |
| } | |
| function transpose(matrix) { | |
| return matrix[0].map((_, i) => matrix.map((col) => col[i])); | |
| } | |
| const matrix = ensureLength(s.split(/=/), 3) | |
| .map(base_1.trim) | |
| .map((s1) => ensureLength(s1.split(/\^/), 5)); | |
| const comps = transpose(matrix).map((c) => new person_name_1.ComponentGroup(c[0], c[1], c[2])); | |
| return new person_name_1.PersonName(comps[0], comps[1], comps[2], comps[3], comps[4]); | |
| } | |
| exports.parsePersonName = parsePersonName; | |
| function parseURL(s) { | |
| try { | |
| return new URL(s); | |
| } | |
| catch (error) { | |
| return undefined; | |
| } | |
| } | |
| /***/ }), | |
| /***/ "./src/vr.ts": | |
| /*!*******************!*\ | |
| !*** ./src/vr.ts ***! | |
| \*******************/ | |
| /***/ ((__unused_webpack_module, exports) => { | |
| Object.defineProperty(exports, "__esModule", ({ value: true })); | |
| exports.VR = void 0; | |
| class VR { | |
| static valueOf(code) { | |
| return VR.map.get(code); | |
| } | |
| constructor(name, code, headerLength, paddingByte) { | |
| this.name = name; | |
| this.code = code; | |
| this.headerLength = headerLength; | |
| this.paddingByte = paddingByte; | |
| } | |
| } | |
| VR.AE = new VR('AE', 0x4145, 8, 0x20); | |
| VR.AS = new VR('AS', 0x4153, 8, 0x20); | |
| VR.AT = new VR('AT', 0x4154, 8, 0); | |
| VR.CS = new VR('CS', 0x4353, 8, 0x20); | |
| VR.DA = new VR('DA', 0x4441, 8, 0x20); | |
| VR.DS = new VR('DS', 0x4453, 8, 0x20); | |
| VR.DT = new VR('DT', 0x4454, 8, 0x20); | |
| VR.FD = new VR('FD', 0x4644, 8, 0); | |
| VR.FL = new VR('FL', 0x464c, 8, 0); | |
| VR.IS = new VR('IS', 0x4953, 8, 0x20); | |
| VR.LO = new VR('LO', 0x4c4f, 8, 0x20); | |
| VR.LT = new VR('LT', 0x4c54, 8, 0x20); | |
| VR.OB = new VR('OB', 0x4f42, 12, 0); | |
| VR.OD = new VR('OD', 0x4f44, 12, 0); | |
| VR.OF = new VR('OF', 0x4f46, 12, 0); | |
| VR.OL = new VR('OL', 0x4f4c, 12, 0); | |
| VR.OV = new VR('OV', 0x4f56, 12, 0); | |
| VR.OW = new VR('OW', 0x4f57, 12, 0); | |
| VR.PN = new VR('PN', 0x504e, 8, 0x20); | |
| VR.SH = new VR('SH', 0x5348, 8, 0x20); | |
| VR.SL = new VR('SL', 0x534c, 8, 0); | |
| VR.SQ = new VR('SQ', 0x5351, 12, 0); | |
| VR.SS = new VR('SS', 0x5353, 8, 0); | |
| VR.ST = new VR('ST', 0x5354, 8, 0x20); | |
| VR.SV = new VR('SV', 0x5356, 12, 0); | |
| VR.TM = new VR('TM', 0x544d, 8, 0x20); | |
| VR.UC = new VR('UC', 0x5543, 12, 0x20); | |
| VR.UI = new VR('UI', 0x5549, 8, 0); | |
| VR.UL = new VR('UL', 0x554c, 8, 0); | |
| VR.UN = new VR('UN', 0x554e, 12, 0); | |
| VR.UR = new VR('UR', 0x5552, 12, 0x20); | |
| VR.US = new VR('US', 0x5553, 8, 0); | |
| VR.UT = new VR('UT', 0x5554, 12, 0x20); | |
| VR.UV = new VR('UV', 0x5556, 12, 0); | |
| VR.values = [ | |
| VR.AE, | |
| VR.AS, | |
| VR.AT, | |
| VR.CS, | |
| VR.DA, | |
| VR.DS, | |
| VR.DT, | |
| VR.FD, | |
| VR.FL, | |
| VR.IS, | |
| VR.LO, | |
| VR.LT, | |
| VR.OB, | |
| VR.OD, | |
| VR.OF, | |
| VR.OL, | |
| VR.OV, | |
| VR.OW, | |
| VR.PN, | |
| VR.SH, | |
| VR.SL, | |
| VR.SQ, | |
| VR.SS, | |
| VR.ST, | |
| VR.SV, | |
| VR.TM, | |
| VR.UC, | |
| VR.UI, | |
| VR.UL, | |
| VR.UN, | |
| VR.UR, | |
| VR.US, | |
| VR.UT, | |
| VR.UV, | |
| ]; | |
| VR.map = VR.values.reduce((m, vr) => { | |
| m.set(vr.code, vr); | |
| return m; | |
| }, new Map()); | |
| exports.VR = VR; | |
| /***/ }), | |
| /***/ "dicom-character-set": | |
| /*!**************************************!*\ | |
| !*** external "dicom-character-set" ***! | |
| \**************************************/ | |
| /***/ ((module) => { | |
| module.exports = require("dicom-character-set"); | |
| /***/ }), | |
| /***/ "js-joda": | |
| /*!**************************!*\ | |
| !*** external "js-joda" ***! | |
| \**************************/ | |
| /***/ ((module) => { | |
| module.exports = require("js-joda"); | |
| /***/ }), | |
| /***/ "multipipe": | |
| /*!****************************!*\ | |
| !*** external "multipipe" ***! | |
| \****************************/ | |
| /***/ ((module) => { | |
| module.exports = require("multipipe"); | |
| /***/ }), | |
| /***/ "uuid": | |
| /*!***********************!*\ | |
| !*** external "uuid" ***! | |
| \***********************/ | |
| /***/ ((module) => { | |
| module.exports = require("uuid"); | |
| /***/ }), | |
| /***/ "stream": | |
| /*!*************************!*\ | |
| !*** external "stream" ***! | |
| \*************************/ | |
| /***/ ((module) => { | |
| module.exports = require("stream"); | |
| /***/ }), | |
| /***/ "zlib": | |
| /*!***********************!*\ | |
| !*** external "zlib" ***! | |
| \***********************/ | |
| /***/ ((module) => { | |
| module.exports = require("zlib"); | |
| /***/ }) | |
| /******/ }); | |
| /************************************************************************/ | |
| /******/ // The module cache | |
| /******/ var __webpack_module_cache__ = {}; | |
| /******/ | |
| /******/ // The require function | |
| /******/ function __webpack_require__(moduleId) { | |
| /******/ // Check if module is in cache | |
| /******/ var cachedModule = __webpack_module_cache__[moduleId]; | |
| /******/ if (cachedModule !== undefined) { | |
| /******/ return cachedModule.exports; | |
| /******/ } | |
| /******/ // Create a new module (and put it into the cache) | |
| /******/ var module = __webpack_module_cache__[moduleId] = { | |
| /******/ // no module.id needed | |
| /******/ // no module.loaded needed | |
| /******/ exports: {} | |
| /******/ }; | |
| /******/ | |
| /******/ // Execute the module function | |
| /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); | |
| /******/ | |
| /******/ // Return the exports of the module | |
| /******/ return module.exports; | |
| /******/ } | |
| /******/ | |
| /************************************************************************/ | |
| /******/ | |
| /******/ // startup | |
| /******/ // Load entry module and return exports | |
| /******/ // This entry module is referenced by other modules so it can't be inlined | |
| /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); | |
| /******/ module.exports = __webpack_exports__; | |
| /******/ | |
| /******/ })() | |
| ; | |
| //# sourceMappingURL=index.js.map | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment