From f838df51a55e14577451242601bff03031f19a05 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 28 Aug 2024 10:21:21 +0800
Subject: [PATCH 001/112] =?UTF-8?q?=E9=98=85=E7=89=87=E5=8D=95=E5=85=83?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=99=84=E5=8A=A0=E8=AF=84=E4=BC=B0=E9=80=BB?=
=?UTF-8?q?=E8=BE=91=E5=8F=8A=E9=98=85=E7=89=87=E9=97=AE=E9=A2=98=E9=AA=8C?=
=?UTF-8?q?=E8=AF=81=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/ReadingCriterions.vue | 4 ++++
.../reading-unit/components/ReadingRules.vue | 1 +
.../setting/reading-unit/index.vue | 24 +++++++++++--------
3 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingCriterions.vue b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingCriterions.vue
index fda5eb60..ea0191bb 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingCriterions.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingCriterions.vue
@@ -11,6 +11,7 @@
0,
+ msg: this.$t('trials:readingUnit:readingCriterion')
+ })
if (
this.$refs["globalReading" + this.TrialReadingCriterionId] &&
this.$refs["globalReading" + this.TrialReadingCriterionId]
@@ -497,12 +497,16 @@ export default {
});
},
reloadArbitrationRules() {
- this.$refs[
+ if (this.$refs[
"arbitrationRules" + this.TrialReadingCriterionId
- ][0].getList();
- this.$refs[
- "arbitrationRules" + this.TrialReadingCriterionId
- ][0].getTrialJudgyInfo();
+ ]) {
+ this.$refs[
+ "arbitrationRules" + this.TrialReadingCriterionId
+ ][0].getList();
+ this.$refs[
+ "arbitrationRules" + this.TrialReadingCriterionId
+ ][0].getTrialJudgyInfo();
+ }
},
},
};
From 870354b4b21c3c9c6815046ef10acd14cb56d4d2 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 28 Aug 2024 11:40:18 +0800
Subject: [PATCH 002/112] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dictionary/checkConfig/index.vue | 11 ++++++++++-
.../trials-panel/trial-summary/audit-record/index.vue | 6 +++---
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/views/dictionary/checkConfig/index.vue b/src/views/dictionary/checkConfig/index.vue
index f6d256c8..eb674998 100644
--- a/src/views/dictionary/checkConfig/index.vue
+++ b/src/views/dictionary/checkConfig/index.vue
@@ -110,7 +110,7 @@
-
+
基本信息
@@ -509,6 +509,14 @@
+
+
+
+ 子数据LableEN
+
+
+
+
@@ -1138,6 +1146,7 @@ export default {
IsSpecialType: false,
DataType: '',
ChildDataLabel: null,
+ ChildDataEnLabel: null,
ChildDataValue: null,
DateType: null,
DictionaryCode: null,
diff --git a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
index e896b63d..2f0664cb 100644
--- a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
@@ -1051,21 +1051,21 @@ export default {
if (row.OptType === 'Add' || row.OptType === 'Init') {
item = {
key: o[v.ChildDataLabel],
- Enum: o[v.ChildDataLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
key: o[v.ChildDataLabel],
- Enum: o[v.ChildDataLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
oldValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
newValue: '--'
}
} else {
item = {
key: o[v.ChildDataLabel],
- Enum: o[v.ChildDataLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
oldValue: uo ? uo[v.ChildDataValue] : '--'
}
From f3b36b91270a72d3b41d70f6ce2ab8479aab41da Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 28 Aug 2024 15:06:15 +0800
Subject: [PATCH 003/112] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trials-panel/trial-summary/audit-record/index.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
index 2f0664cb..d285c900 100644
--- a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
@@ -1019,21 +1019,21 @@ export default {
if (row.OptType === 'Add' || row.OptType === 'Init') {
item = {
key: v.Code,
- Enum: v.ValueCN,
+ Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
newValue: obj[v.Code] ? obj[v.Code] : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
key: v.Code,
- Enum: v.ValueCN,
+ Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
oldValue: obj[v.Code] ? obj[v.Code] : '--',
newValue: '--'
}
} else {
item = {
key: v.Code,
- Enum: v.ValueCN,
+ Enum: this.$i18n.locale === 'zh' ? v.ValueCN : v.Value,
newValue: obj[v.Code] ? obj[v.Code] : '--',
oldValue: upObj[v.Code].length > 0 ? upObj[v.Code] : '--'
}
From 37520fccb6ac9fe7659fad39e3618eeb4d1c05e4 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 28 Aug 2024 15:35:19 +0800
Subject: [PATCH 004/112] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dictionary/checkConfig/index.vue | 11 +++++++++++
.../trials-panel/trial-summary/audit-record/index.vue | 4 ++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/views/dictionary/checkConfig/index.vue b/src/views/dictionary/checkConfig/index.vue
index eb674998..e12c104e 100644
--- a/src/views/dictionary/checkConfig/index.vue
+++ b/src/views/dictionary/checkConfig/index.vue
@@ -392,6 +392,16 @@
+
+
+
+
+
{
- head.push({IsPicture: j.IsPicture, headName: x[j.ColumnName], IsMerge: j.IsMerge, ColumnName: j.ColumnName, ColumnValue: j.ColumnValue, ListName: j.ListName, MergeColumnName: j.IsMerge ? this.$i18n.locale === 'zh' ? j.MergeColumnName : j.MergeColumnEnName : null, ChildrenList: []})
+ head.push({IsPicture: j.IsPicture, headName: x[this.$i18n.locale === 'zh' ? j.ColumnName : j.ColumnEnName ? j.ColumnEnName : j.ColumnName], IsMerge: j.IsMerge, ColumnName: j.ColumnName, ColumnValue: j.ColumnValue, ListName: j.ListName, MergeColumnName: j.IsMerge ? this.$i18n.locale === 'zh' ? j.MergeColumnName : j.MergeColumnEnName : null, ChildrenList: []})
})
} else {
- head.push({IsPicture: j.IsPicture, headName: j.ColumnName, IsMerge: j.IsMerge, ColumnName: j.ColumnName, ColumnValue: j.ColumnValue, ListName: j.ListName, MergeColumnName: j.IsMerge ? this.$i18n.locale === 'zh' ? j.MergeColumnName : j.MergeColumnEnName : null, ChildrenList: []})
+ head.push({IsPicture: j.IsPicture, headName: this.$i18n.locale === 'zh' ? j.ColumnName : j.ColumnEnName ? j.ColumnEnName : j.ColumnName, IsMerge: j.IsMerge, ColumnName: j.ColumnName, ColumnValue: j.ColumnValue, ListName: j.ListName, MergeColumnName: j.IsMerge ? this.$i18n.locale === 'zh' ? j.MergeColumnName : j.MergeColumnEnName : null, ChildrenList: []})
}
}
})
From 9e786c53b89f758a245deba674734fdca589f4b6 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 28 Aug 2024 15:46:59 +0800
Subject: [PATCH 005/112] 1
---
.../trials-panel/trial-summary/audit-record/index.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
index ac2ca120..df893644 100644
--- a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
@@ -1051,21 +1051,21 @@ export default {
if (row.OptType === 'Add' || row.OptType === 'Init') {
item = {
key: o[v.ChildDataLabel],
- Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
key: o[v.ChildDataLabel],
- Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
oldValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
newValue: '--'
}
} else {
item = {
key: o[v.ChildDataLabel],
- Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel],
+ Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
oldValue: uo ? uo[v.ChildDataValue] : '--'
}
From 709063a26e659c9cb81691674c3edf8327ec2237 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Fri, 30 Aug 2024 10:25:32 +0800
Subject: [PATCH 006/112] =?UTF-8?q?=E5=9C=A8=E5=BD=B1=E5=83=8F=E4=B8=8A?=
=?UTF-8?q?=E4=BC=A0=E9=A2=84=E8=A7=88=E5=92=8C=E8=B4=A8=E6=8E=A7=E9=A2=84?=
=?UTF-8?q?=E8=A7=88=E5=B7=A5=E5=85=B7=E4=B8=AD=EF=BC=8C=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?DICOM=E6=A0=87=E7=AD=BE=E6=9F=A5=E7=9C=8B=E5=B7=A5=E5=85=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomCanvas.vue | 42 +-
src/components/Dicom/DicomTags.vue | 172 ++
src/components/Dicom/DicomViewer.vue | 10 +-
src/components/Dicom/dataDictionary.js | 3648 ++++++++++++++++++++++++
4 files changed, 3858 insertions(+), 14 deletions(-)
create mode 100644 src/components/Dicom/DicomTags.vue
create mode 100644 src/components/Dicom/dataDictionary.js
diff --git a/src/components/Dicom/DicomCanvas.vue b/src/components/Dicom/DicomCanvas.vue
index dd5970d0..2f1dd287 100644
--- a/src/components/Dicom/DicomCanvas.vue
+++ b/src/components/Dicom/DicomCanvas.vue
@@ -81,16 +81,25 @@
+
+
+
+
diff --git a/src/components/Dicom/DicomViewer.vue b/src/components/Dicom/DicomViewer.vue
index 5ea237e1..8d091c24 100644
--- a/src/components/Dicom/DicomViewer.vue
+++ b/src/components/Dicom/DicomViewer.vue
@@ -182,7 +182,7 @@
-
+
@@ -233,6 +233,10 @@
+
+
@@ -405,7 +409,7 @@ export default {
loadImageStack(dicomSeries) {
this.currentDicomCanvas.toolState.clipPlaying = false
this.$nextTick(() => {
- let series = Object.assign({}, dicomSeries)
+ const series = Object.assign({}, dicomSeries)
this.currentDicomCanvas.loadImageStack(series)
})
},
@@ -416,7 +420,7 @@ export default {
Array.from(elements).forEach((element, index) => {
const canvasIndex = element.getAttribute('data-index')
if (index < seriesList.length && element.style.display !== 'none') {
- let series = Object.assign({}, seriesList[index])
+ const series = Object.assign({}, seriesList[index])
this.$refs[`dicomCanvas${canvasIndex}`].loadImageStack(series)
}
})
diff --git a/src/components/Dicom/dataDictionary.js b/src/components/Dicom/dataDictionary.js
new file mode 100644
index 00000000..02e4c74d
--- /dev/null
+++ b/src/components/Dicom/dataDictionary.js
@@ -0,0 +1,3648 @@
+'use strict'
+export default {
+ '(0000,0000)': { 'tag': '(0000,0000)', 'vr': 'UL', 'vm': '1', 'name': 'CommandGroupLength' },
+ '(0000,0001)': { 'tag': '(0000,0001)', 'vr': 'UL', 'vm': '1', 'name': 'CommandLengthToEnd' },
+ '(0000,0002)': { 'tag': '(0000,0002)', 'vr': 'UI', 'vm': '1', 'name': 'AffectedSOPClassUID' },
+ '(0000,0003)': { 'tag': '(0000,0003)', 'vr': 'UI', 'vm': '1', 'name': 'RequestedSOPClassUID' },
+ '(0000,0010)': { 'tag': '(0000,0010)', 'vr': 'SH', 'vm': '1', 'name': 'CommandRecognitionCode' },
+ '(0000,0100)': { 'tag': '(0000,0100)', 'vr': 'US', 'vm': '1', 'name': 'CommandField' },
+ '(0000,0110)': { 'tag': '(0000,0110)', 'vr': 'US', 'vm': '1', 'name': 'MessageID' },
+ '(0000,0120)': { 'tag': '(0000,0120)', 'vr': 'US', 'vm': '1', 'name': 'MessageIDBeingRespondedTo' },
+ '(0000,0200)': { 'tag': '(0000,0200)', 'vr': 'AE', 'vm': '1', 'name': 'Initiator' },
+ '(0000,0300)': { 'tag': '(0000,0300)', 'vr': 'AE', 'vm': '1', 'name': 'Receiver' },
+ '(0000,0400)': { 'tag': '(0000,0400)', 'vr': 'AE', 'vm': '1', 'name': 'FindLocation' },
+ '(0000,0600)': { 'tag': '(0000,0600)', 'vr': 'AE', 'vm': '1', 'name': 'MoveDestination' },
+ '(0000,0700)': { 'tag': '(0000,0700)', 'vr': 'US', 'vm': '1', 'name': 'Priority' },
+ '(0000,0800)': { 'tag': '(0000,0800)', 'vr': 'US', 'vm': '1', 'name': 'CommandDataSetType' },
+ '(0000,0850)': { 'tag': '(0000,0850)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfMatches' },
+ '(0000,0860)': { 'tag': '(0000,0860)', 'vr': 'US', 'vm': '1', 'name': 'ResponseSequenceNumber' },
+ '(0000,0900)': { 'tag': '(0000,0900)', 'vr': 'US', 'vm': '1', 'name': 'Status' },
+ '(0000,0901)': { 'tag': '(0000,0901)', 'vr': 'AT', 'vm': '1-n', 'name': 'OffendingElement' },
+ '(0000,0902)': { 'tag': '(0000,0902)', 'vr': 'LO', 'vm': '1', 'name': 'ErrorComment' },
+ '(0000,0903)': { 'tag': '(0000,0903)', 'vr': 'US', 'vm': '1', 'name': 'ErrorID' },
+ '(0000,1000)': { 'tag': '(0000,1000)', 'vr': 'UI', 'vm': '1', 'name': 'AffectedSOPInstanceUID' },
+ '(0000,1001)': { 'tag': '(0000,1001)', 'vr': 'UI', 'vm': '1', 'name': 'RequestedSOPInstanceUID' },
+ '(0000,1002)': { 'tag': '(0000,1002)', 'vr': 'US', 'vm': '1', 'name': 'EventTypeID' },
+ '(0000,1005)': { 'tag': '(0000,1005)', 'vr': 'AT', 'vm': '1-n', 'name': 'AttributeIdentifierList' },
+ '(0000,1008)': { 'tag': '(0000,1008)', 'vr': 'US', 'vm': '1', 'name': 'ActionTypeID' },
+ '(0000,1020)': { 'tag': '(0000,1020)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfRemainingSuboperations' },
+ '(0000,1021)': { 'tag': '(0000,1021)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfCompletedSuboperations' },
+ '(0000,1022)': { 'tag': '(0000,1022)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfFailedSuboperations' },
+ '(0000,1023)': { 'tag': '(0000,1023)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfWarningSuboperations' },
+ '(0000,1030)': { 'tag': '(0000,1030)', 'vr': 'AE', 'vm': '1', 'name': 'MoveOriginatorApplicationEntityTitle' },
+ '(0000,1031)': { 'tag': '(0000,1031)', 'vr': 'US', 'vm': '1', 'name': 'MoveOriginatorMessageID' },
+ '(0000,4000)': { 'tag': '(0000,4000)', 'vr': 'LT', 'vm': '1', 'name': 'DialogReceiver' },
+ '(0000,4010)': { 'tag': '(0000,4010)', 'vr': 'LT', 'vm': '1', 'name': 'TerminalType' },
+ '(0000,5010)': { 'tag': '(0000,5010)', 'vr': 'SH', 'vm': '1', 'name': 'MessageSetID' },
+ '(0000,5020)': { 'tag': '(0000,5020)', 'vr': 'SH', 'vm': '1', 'name': 'EndMessageID' },
+ '(0000,5110)': { 'tag': '(0000,5110)', 'vr': 'LT', 'vm': '1', 'name': 'DisplayFormat' },
+ '(0000,5120)': { 'tag': '(0000,5120)', 'vr': 'LT', 'vm': '1', 'name': 'PagePositionID' },
+ '(0000,5130)': { 'tag': '(0000,5130)', 'vr': 'CS', 'vm': '1', 'name': 'TextFormatID' },
+ '(0000,5140)': { 'tag': '(0000,5140)', 'vr': 'CS', 'vm': '1', 'name': 'NormalReverse' },
+ '(0000,5150)': { 'tag': '(0000,5150)', 'vr': 'CS', 'vm': '1', 'name': 'AddGrayScale' },
+ '(0000,5160)': { 'tag': '(0000,5160)', 'vr': 'CS', 'vm': '1', 'name': 'Borders' },
+ '(0000,5170)': { 'tag': '(0000,5170)', 'vr': 'IS', 'vm': '1', 'name': 'Copies' },
+ '(0000,5180)': { 'tag': '(0000,5180)', 'vr': 'CS', 'vm': '1', 'name': 'CommandMagnificationType' },
+ '(0000,5190)': { 'tag': '(0000,5190)', 'vr': 'CS', 'vm': '1', 'name': 'Erase' },
+ '(0000,51A0)': { 'tag': '(0000,51A0)', 'vr': 'CS', 'vm': '1', 'name': 'Print' },
+ '(0000,51B0)': { 'tag': '(0000,51B0)', 'vr': 'US', 'vm': '1-n', 'name': 'Overlays' },
+ '(0002,0000)': { 'tag': '(0002,0000)', 'vr': 'UL', 'vm': '1', 'name': 'FileMetaInformationGroupLength' },
+ '(0002,0001)': { 'tag': '(0002,0001)', 'vr': 'OB', 'vm': '1', 'name': 'FileMetaInformationVersion' },
+ '(0002,0002)': { 'tag': '(0002,0002)', 'vr': 'UI', 'vm': '1', 'name': 'MediaStorageSOPClassUID' },
+ '(0002,0003)': { 'tag': '(0002,0003)', 'vr': 'UI', 'vm': '1', 'name': 'MediaStorageSOPInstanceUID' },
+ '(0002,0010)': { 'tag': '(0002,0010)', 'vr': 'UI', 'vm': '1', 'name': 'TransferSyntaxUID' },
+ '(0002,0012)': { 'tag': '(0002,0012)', 'vr': 'UI', 'vm': '1', 'name': 'ImplementationClassUID' },
+ '(0002,0013)': { 'tag': '(0002,0013)', 'vr': 'SH', 'vm': '1', 'name': 'ImplementationVersionName' },
+ '(0002,0016)': { 'tag': '(0002,0016)', 'vr': 'AE', 'vm': '1', 'name': 'SourceApplicationEntityTitle' },
+ '(0002,0100)': { 'tag': '(0002,0100)', 'vr': 'UI', 'vm': '1', 'name': 'PrivateInformationCreatorUID' },
+ '(0002,0102)': { 'tag': '(0002,0102)', 'vr': 'OB', 'vm': '1', 'name': 'PrivateInformation' },
+ '(0004,1130)': { 'tag': '(0004,1130)', 'vr': 'CS', 'vm': '1', 'name': 'FileSetID' },
+ '(0004,1141)': { 'tag': '(0004,1141)', 'vr': 'CS', 'vm': '1-8', 'name': 'FileSetDescriptorFileID' },
+ '(0004,1142)': { 'tag': '(0004,1142)', 'vr': 'CS', 'vm': '1', 'name': 'SpecificCharacterSetOfFileSetDescriptorFile' },
+ '(0004,1200)': { 'tag': '(0004,1200)', 'vr': 'UL', 'vm': '1', 'name': 'OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity' },
+ '(0004,1202)': { 'tag': '(0004,1202)', 'vr': 'UL', 'vm': '1', 'name': 'OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity' },
+ '(0004,1212)': { 'tag': '(0004,1212)', 'vr': 'US', 'vm': '1', 'name': 'FileSetConsistencyFlag' },
+ '(0004,1220)': { 'tag': '(0004,1220)', 'vr': 'SQ', 'vm': '1', 'name': 'DirectoryRecordSequence' },
+ '(0004,1400)': { 'tag': '(0004,1400)', 'vr': 'UL', 'vm': '1', 'name': 'OffsetOfTheNextDirectoryRecord' },
+ '(0004,1410)': { 'tag': '(0004,1410)', 'vr': 'US', 'vm': '1', 'name': 'RecordInUseFlag' },
+ '(0004,1420)': { 'tag': '(0004,1420)', 'vr': 'UL', 'vm': '1', 'name': 'OffsetOfReferencedLowerLevelDirectoryEntity' },
+ '(0004,1430)': { 'tag': '(0004,1430)', 'vr': 'CS', 'vm': '1', 'name': 'DirectoryRecordType' },
+ '(0004,1432)': { 'tag': '(0004,1432)', 'vr': 'UI', 'vm': '1', 'name': 'PrivateRecordUID' },
+ '(0004,1500)': { 'tag': '(0004,1500)', 'vr': 'CS', 'vm': '1-8', 'name': 'ReferencedFileID' },
+ '(0004,1504)': { 'tag': '(0004,1504)', 'vr': 'UL', 'vm': '1', 'name': 'MRDRDirectoryRecordOffset' },
+ '(0004,1510)': { 'tag': '(0004,1510)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedSOPClassUIDInFile' },
+ '(0004,1511)': { 'tag': '(0004,1511)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedSOPInstanceUIDInFile' },
+ '(0004,1512)': { 'tag': '(0004,1512)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedTransferSyntaxUIDInFile' },
+ '(0004,151A)': { 'tag': '(0004,151A)', 'vr': 'UI', 'vm': '1-n', 'name': 'ReferencedRelatedGeneralSOPClassUIDInFile' },
+ '(0004,1600)': { 'tag': '(0004,1600)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfReferences' },
+ '(0008,0001)': { 'tag': '(0008,0001)', 'vr': 'UL', 'vm': '1', 'name': 'LengthToEnd' },
+ '(0008,0005)': { 'tag': '(0008,0005)', 'vr': 'CS', 'vm': '1-n', 'name': 'SpecificCharacterSet' },
+ '(0008,0006)': { 'tag': '(0008,0006)', 'vr': 'SQ', 'vm': '1', 'name': 'LanguageCodeSequence' },
+ '(0008,0008)': { 'tag': '(0008,0008)', 'vr': 'CS', 'vm': '2-n', 'name': 'ImageType' },
+ '(0008,0010)': { 'tag': '(0008,0010)', 'vr': 'SH', 'vm': '1', 'name': 'RecognitionCode' },
+ '(0008,0012)': { 'tag': '(0008,0012)', 'vr': 'DA', 'vm': '1', 'name': 'InstanceCreationDate' },
+ '(0008,0013)': { 'tag': '(0008,0013)', 'vr': 'TM', 'vm': '1', 'name': 'InstanceCreationTime' },
+ '(0008,0014)': { 'tag': '(0008,0014)', 'vr': 'UI', 'vm': '1', 'name': 'InstanceCreatorUID' },
+ '(0008,0016)': { 'tag': '(0008,0016)', 'vr': 'UI', 'vm': '1', 'name': 'SOPClassUID' },
+ '(0008,0018)': { 'tag': '(0008,0018)', 'vr': 'UI', 'vm': '1', 'name': 'SOPInstanceUID' },
+ '(0008,001A)': { 'tag': '(0008,001A)', 'vr': 'UI', 'vm': '1-n', 'name': 'RelatedGeneralSOPClassUID' },
+ '(0008,001B)': { 'tag': '(0008,001B)', 'vr': 'UI', 'vm': '1', 'name': 'OriginalSpecializedSOPClassUID' },
+ '(0008,0020)': { 'tag': '(0008,0020)', 'vr': 'DA', 'vm': '1', 'name': 'StudyDate' },
+ '(0008,0021)': { 'tag': '(0008,0021)', 'vr': 'DA', 'vm': '1', 'name': 'SeriesDate' },
+ '(0008,0022)': { 'tag': '(0008,0022)', 'vr': 'DA', 'vm': '1', 'name': 'AcquisitionDate' },
+ '(0008,0023)': { 'tag': '(0008,0023)', 'vr': 'DA', 'vm': '1', 'name': 'ContentDate' },
+ '(0008,0024)': { 'tag': '(0008,0024)', 'vr': 'DA', 'vm': '1', 'name': 'OverlayDate' },
+ '(0008,0025)': { 'tag': '(0008,0025)', 'vr': 'DA', 'vm': '1', 'name': 'CurveDate' },
+ '(0008,002A)': { 'tag': '(0008,002A)', 'vr': 'DT', 'vm': '1', 'name': 'AcquisitionDateTime' },
+ '(0008,0030)': { 'tag': '(0008,0030)', 'vr': 'TM', 'vm': '1', 'name': 'StudyTime' },
+ '(0008,0031)': { 'tag': '(0008,0031)', 'vr': 'TM', 'vm': '1', 'name': 'SeriesTime' },
+ '(0008,0032)': { 'tag': '(0008,0032)', 'vr': 'TM', 'vm': '1', 'name': 'AcquisitionTime' },
+ '(0008,0033)': { 'tag': '(0008,0033)', 'vr': 'TM', 'vm': '1', 'name': 'ContentTime' },
+ '(0008,0034)': { 'tag': '(0008,0034)', 'vr': 'TM', 'vm': '1', 'name': 'OverlayTime' },
+ '(0008,0035)': { 'tag': '(0008,0035)', 'vr': 'TM', 'vm': '1', 'name': 'CurveTime' },
+ '(0008,0040)': { 'tag': '(0008,0040)', 'vr': 'US', 'vm': '1', 'name': 'DataSetType' },
+ '(0008,0041)': { 'tag': '(0008,0041)', 'vr': 'LO', 'vm': '1', 'name': 'DataSetSubtype' },
+ '(0008,0042)': { 'tag': '(0008,0042)', 'vr': 'CS', 'vm': '1', 'name': 'NuclearMedicineSeriesType' },
+ '(0008,0050)': { 'tag': '(0008,0050)', 'vr': 'SH', 'vm': '1', 'name': 'AccessionNumber' },
+ '(0008,0051)': { 'tag': '(0008,0051)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfAccessionNumberSequence' },
+ '(0008,0052)': { 'tag': '(0008,0052)', 'vr': 'CS', 'vm': '1', 'name': 'QueryRetrieveLevel' },
+ '(0008,0054)': { 'tag': '(0008,0054)', 'vr': 'AE', 'vm': '1-n', 'name': 'RetrieveAETitle' },
+ '(0008,0056)': { 'tag': '(0008,0056)', 'vr': 'CS', 'vm': '1', 'name': 'InstanceAvailability' },
+ '(0008,0058)': { 'tag': '(0008,0058)', 'vr': 'UI', 'vm': '1-n', 'name': 'FailedSOPInstanceUIDList' },
+ '(0008,0060)': { 'tag': '(0008,0060)', 'vr': 'CS', 'vm': '1', 'name': 'Modality' },
+ '(0008,0061)': { 'tag': '(0008,0061)', 'vr': 'CS', 'vm': '1-n', 'name': 'ModalitiesInStudy' },
+ '(0008,0062)': { 'tag': '(0008,0062)', 'vr': 'UI', 'vm': '1-n', 'name': 'SOPClassesInStudy' },
+ '(0008,0064)': { 'tag': '(0008,0064)', 'vr': 'CS', 'vm': '1', 'name': 'ConversionType' },
+ '(0008,0068)': { 'tag': '(0008,0068)', 'vr': 'CS', 'vm': '1', 'name': 'PresentationIntentType' },
+ '(0008,0070)': { 'tag': '(0008,0070)', 'vr': 'LO', 'vm': '1', 'name': 'Manufacturer' },
+ '(0008,0080)': { 'tag': '(0008,0080)', 'vr': 'LO', 'vm': '1', 'name': 'InstitutionName' },
+ '(0008,0081)': { 'tag': '(0008,0081)', 'vr': 'ST', 'vm': '1', 'name': 'InstitutionAddress' },
+ '(0008,0082)': { 'tag': '(0008,0082)', 'vr': 'SQ', 'vm': '1', 'name': 'InstitutionCodeSequence' },
+ '(0008,0090)': { 'tag': '(0008,0090)', 'vr': 'PN', 'vm': '1', 'name': 'ReferringPhysicianName' },
+ '(0008,0092)': { 'tag': '(0008,0092)', 'vr': 'ST', 'vm': '1', 'name': 'ReferringPhysicianAddress' },
+ '(0008,0094)': { 'tag': '(0008,0094)', 'vr': 'SH', 'vm': '1-n', 'name': 'ReferringPhysicianTelephoneNumbers' },
+ '(0008,0096)': { 'tag': '(0008,0096)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferringPhysicianIdentificationSequence' },
+ '(0008,0100)': { 'tag': '(0008,0100)', 'vr': 'SH', 'vm': '1', 'name': 'CodeValue' },
+ '(0008,0102)': { 'tag': '(0008,0102)', 'vr': 'SH', 'vm': '1', 'name': 'CodingSchemeDesignator' },
+ '(0008,0103)': { 'tag': '(0008,0103)', 'vr': 'SH', 'vm': '1', 'name': 'CodingSchemeVersion' },
+ '(0008,0104)': { 'tag': '(0008,0104)', 'vr': 'LO', 'vm': '1', 'name': 'CodeMeaning' },
+ '(0008,0105)': { 'tag': '(0008,0105)', 'vr': 'CS', 'vm': '1', 'name': 'MappingResource' },
+ '(0008,0106)': { 'tag': '(0008,0106)', 'vr': 'DT', 'vm': '1', 'name': 'ContextGroupVersion' },
+ '(0008,0107)': { 'tag': '(0008,0107)', 'vr': 'DT', 'vm': '1', 'name': 'ContextGroupLocalVersion' },
+ '(0008,010B)': { 'tag': '(0008,010B)', 'vr': 'CS', 'vm': '1', 'name': 'ContextGroupExtensionFlag' },
+ '(0008,010C)': { 'tag': '(0008,010C)', 'vr': 'UI', 'vm': '1', 'name': 'CodingSchemeUID' },
+ '(0008,010D)': { 'tag': '(0008,010D)', 'vr': 'UI', 'vm': '1', 'name': 'ContextGroupExtensionCreatorUID' },
+ '(0008,010F)': { 'tag': '(0008,010F)', 'vr': 'CS', 'vm': '1', 'name': 'ContextIdentifier' },
+ '(0008,0110)': { 'tag': '(0008,0110)', 'vr': 'SQ', 'vm': '1', 'name': 'CodingSchemeIdentificationSequence' },
+ '(0008,0112)': { 'tag': '(0008,0112)', 'vr': 'LO', 'vm': '1', 'name': 'CodingSchemeRegistry' },
+ '(0008,0114)': { 'tag': '(0008,0114)', 'vr': 'ST', 'vm': '1', 'name': 'CodingSchemeExternalID' },
+ '(0008,0115)': { 'tag': '(0008,0115)', 'vr': 'ST', 'vm': '1', 'name': 'CodingSchemeName' },
+ '(0008,0116)': { 'tag': '(0008,0116)', 'vr': 'ST', 'vm': '1', 'name': 'CodingSchemeResponsibleOrganization' },
+ '(0008,0117)': { 'tag': '(0008,0117)', 'vr': 'UI', 'vm': '1', 'name': 'ContextUID' },
+ '(0008,0201)': { 'tag': '(0008,0201)', 'vr': 'SH', 'vm': '1', 'name': 'TimezoneOffsetFromUTC' },
+ '(0008,1000)': { 'tag': '(0008,1000)', 'vr': 'AE', 'vm': '1', 'name': 'NetworkID' },
+ '(0008,1010)': { 'tag': '(0008,1010)', 'vr': 'SH', 'vm': '1', 'name': 'StationName' },
+ '(0008,1030)': { 'tag': '(0008,1030)', 'vr': 'LO', 'vm': '1', 'name': 'StudyDescription' },
+ '(0008,1032)': { 'tag': '(0008,1032)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureCodeSequence' },
+ '(0008,103E)': { 'tag': '(0008,103E)', 'vr': 'LO', 'vm': '1', 'name': 'SeriesDescription' },
+ '(0008,103F)': { 'tag': '(0008,103F)', 'vr': 'SQ', 'vm': '1', 'name': 'SeriesDescriptionCodeSequence' },
+ '(0008,1040)': { 'tag': '(0008,1040)', 'vr': 'LO', 'vm': '1', 'name': 'InstitutionalDepartmentName' },
+ '(0008,1048)': { 'tag': '(0008,1048)', 'vr': 'PN', 'vm': '1-n', 'name': 'PhysiciansOfRecord' },
+ '(0008,1049)': { 'tag': '(0008,1049)', 'vr': 'SQ', 'vm': '1', 'name': 'PhysiciansOfRecordIdentificationSequence' },
+ '(0008,1050)': { 'tag': '(0008,1050)', 'vr': 'PN', 'vm': '1-n', 'name': 'PerformingPhysicianName' },
+ '(0008,1052)': { 'tag': '(0008,1052)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformingPhysicianIdentificationSequence' },
+ '(0008,1060)': { 'tag': '(0008,1060)', 'vr': 'PN', 'vm': '1-n', 'name': 'NameOfPhysiciansReadingStudy' },
+ '(0008,1062)': { 'tag': '(0008,1062)', 'vr': 'SQ', 'vm': '1', 'name': 'PhysiciansReadingStudyIdentificationSequence' },
+ '(0008,1070)': { 'tag': '(0008,1070)', 'vr': 'PN', 'vm': '1-n', 'name': 'OperatorsName' },
+ '(0008,1072)': { 'tag': '(0008,1072)', 'vr': 'SQ', 'vm': '1', 'name': 'OperatorIdentificationSequence' },
+ '(0008,1080)': { 'tag': '(0008,1080)', 'vr': 'LO', 'vm': '1-n', 'name': 'AdmittingDiagnosesDescription' },
+ '(0008,1084)': { 'tag': '(0008,1084)', 'vr': 'SQ', 'vm': '1', 'name': 'AdmittingDiagnosesCodeSequence' },
+ '(0008,1090)': { 'tag': '(0008,1090)', 'vr': 'LO', 'vm': '1', 'name': 'ManufacturerModelName' },
+ '(0008,1100)': { 'tag': '(0008,1100)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedResultsSequence' },
+ '(0008,1110)': { 'tag': '(0008,1110)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedStudySequence' },
+ '(0008,1111)': { 'tag': '(0008,1111)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPerformedProcedureStepSequence' },
+ '(0008,1115)': { 'tag': '(0008,1115)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSeriesSequence' },
+ '(0008,1120)': { 'tag': '(0008,1120)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPatientSequence' },
+ '(0008,1125)': { 'tag': '(0008,1125)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedVisitSequence' },
+ '(0008,1130)': { 'tag': '(0008,1130)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedOverlaySequence' },
+ '(0008,1134)': { 'tag': '(0008,1134)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedStereometricInstanceSequence' },
+ '(0008,113A)': { 'tag': '(0008,113A)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedWaveformSequence' },
+ '(0008,1140)': { 'tag': '(0008,1140)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageSequence' },
+ '(0008,1145)': { 'tag': '(0008,1145)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedCurveSequence' },
+ '(0008,114A)': { 'tag': '(0008,114A)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedInstanceSequence' },
+ '(0008,114B)': { 'tag': '(0008,114B)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedRealWorldValueMappingInstanceSequence' },
+ '(0008,1150)': { 'tag': '(0008,1150)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedSOPClassUID' },
+ '(0008,1155)': { 'tag': '(0008,1155)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedSOPInstanceUID' },
+ '(0008,115A)': { 'tag': '(0008,115A)', 'vr': 'UI', 'vm': '1-n', 'name': 'SOPClassesSupported' },
+ '(0008,1160)': { 'tag': '(0008,1160)', 'vr': 'IS', 'vm': '1-n', 'name': 'ReferencedFrameNumber' },
+ '(0008,1161)': { 'tag': '(0008,1161)', 'vr': 'UL', 'vm': '1-n', 'name': 'SimpleFrameList' },
+ '(0008,1162)': { 'tag': '(0008,1162)', 'vr': 'UL', 'vm': '3-3n', 'name': 'CalculatedFrameList' },
+ '(0008,1163)': { 'tag': '(0008,1163)', 'vr': 'FD', 'vm': '2', 'name': 'TimeRange' },
+ '(0008,1164)': { 'tag': '(0008,1164)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameExtractionSequence' },
+ '(0008,1167)': { 'tag': '(0008,1167)', 'vr': 'UI', 'vm': '1', 'name': 'MultiFrameSourceSOPInstanceUID' },
+ '(0008,1195)': { 'tag': '(0008,1195)', 'vr': 'UI', 'vm': '1', 'name': 'TransactionUID' },
+ '(0008,1197)': { 'tag': '(0008,1197)', 'vr': 'US', 'vm': '1', 'name': 'FailureReason' },
+ '(0008,1198)': { 'tag': '(0008,1198)', 'vr': 'SQ', 'vm': '1', 'name': 'FailedSOPSequence' },
+ '(0008,1199)': { 'tag': '(0008,1199)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSOPSequence' },
+ '(0008,1200)': { 'tag': '(0008,1200)', 'vr': 'SQ', 'vm': '1', 'name': 'StudiesContainingOtherReferencedInstancesSequence' },
+ '(0008,1250)': { 'tag': '(0008,1250)', 'vr': 'SQ', 'vm': '1', 'name': 'RelatedSeriesSequence' },
+ '(0008,2110)': { 'tag': '(0008,2110)', 'vr': 'CS', 'vm': '1', 'name': 'LossyImageCompressionRetired' },
+ '(0008,2111)': { 'tag': '(0008,2111)', 'vr': 'ST', 'vm': '1', 'name': 'DerivationDescription' },
+ '(0008,2112)': { 'tag': '(0008,2112)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceImageSequence' },
+ '(0008,2120)': { 'tag': '(0008,2120)', 'vr': 'SH', 'vm': '1', 'name': 'StageName' },
+ '(0008,2122)': { 'tag': '(0008,2122)', 'vr': 'IS', 'vm': '1', 'name': 'StageNumber' },
+ '(0008,2124)': { 'tag': '(0008,2124)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfStages' },
+ '(0008,2127)': { 'tag': '(0008,2127)', 'vr': 'SH', 'vm': '1', 'name': 'ViewName' },
+ '(0008,2128)': { 'tag': '(0008,2128)', 'vr': 'IS', 'vm': '1', 'name': 'ViewNumber' },
+ '(0008,2129)': { 'tag': '(0008,2129)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfEventTimers' },
+ '(0008,212A)': { 'tag': '(0008,212A)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfViewsInStage' },
+ '(0008,2130)': { 'tag': '(0008,2130)', 'vr': 'DS', 'vm': '1-n', 'name': 'EventElapsedTimes' },
+ '(0008,2132)': { 'tag': '(0008,2132)', 'vr': 'LO', 'vm': '1-n', 'name': 'EventTimerNames' },
+ '(0008,2133)': { 'tag': '(0008,2133)', 'vr': 'SQ', 'vm': '1', 'name': 'EventTimerSequence' },
+ '(0008,2134)': { 'tag': '(0008,2134)', 'vr': 'FD', 'vm': '1', 'name': 'EventTimeOffset' },
+ '(0008,2135)': { 'tag': '(0008,2135)', 'vr': 'SQ', 'vm': '1', 'name': 'EventCodeSequence' },
+ '(0008,2142)': { 'tag': '(0008,2142)', 'vr': 'IS', 'vm': '1', 'name': 'StartTrim' },
+ '(0008,2143)': { 'tag': '(0008,2143)', 'vr': 'IS', 'vm': '1', 'name': 'StopTrim' },
+ '(0008,2144)': { 'tag': '(0008,2144)', 'vr': 'IS', 'vm': '1', 'name': 'RecommendedDisplayFrameRate' },
+ '(0008,2200)': { 'tag': '(0008,2200)', 'vr': 'CS', 'vm': '1', 'name': 'TransducerPosition' },
+ '(0008,2204)': { 'tag': '(0008,2204)', 'vr': 'CS', 'vm': '1', 'name': 'TransducerOrientation' },
+ '(0008,2208)': { 'tag': '(0008,2208)', 'vr': 'CS', 'vm': '1', 'name': 'AnatomicStructure' },
+ '(0008,2218)': { 'tag': '(0008,2218)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicRegionSequence' },
+ '(0008,2220)': { 'tag': '(0008,2220)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicRegionModifierSequence' },
+ '(0008,2228)': { 'tag': '(0008,2228)', 'vr': 'SQ', 'vm': '1', 'name': 'PrimaryAnatomicStructureSequence' },
+ '(0008,2229)': { 'tag': '(0008,2229)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicStructureSpaceOrRegionSequence' },
+ '(0008,2230)': { 'tag': '(0008,2230)', 'vr': 'SQ', 'vm': '1', 'name': 'PrimaryAnatomicStructureModifierSequence' },
+ '(0008,2240)': { 'tag': '(0008,2240)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerPositionSequence' },
+ '(0008,2242)': { 'tag': '(0008,2242)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerPositionModifierSequence' },
+ '(0008,2244)': { 'tag': '(0008,2244)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerOrientationSequence' },
+ '(0008,2246)': { 'tag': '(0008,2246)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerOrientationModifierSequence' },
+ '(0008,2251)': { 'tag': '(0008,2251)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicStructureSpaceOrRegionCodeSequenceTrial' },
+ '(0008,2253)': { 'tag': '(0008,2253)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicPortalOfEntranceCodeSequenceTrial' },
+ '(0008,2255)': { 'tag': '(0008,2255)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicApproachDirectionCodeSequenceTrial' },
+ '(0008,2256)': { 'tag': '(0008,2256)', 'vr': 'ST', 'vm': '1', 'name': 'AnatomicPerspectiveDescriptionTrial' },
+ '(0008,2257)': { 'tag': '(0008,2257)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicPerspectiveCodeSequenceTrial' },
+ '(0008,2258)': { 'tag': '(0008,2258)', 'vr': 'ST', 'vm': '1', 'name': 'AnatomicLocationOfExaminingInstrumentDescriptionTrial' },
+ '(0008,2259)': { 'tag': '(0008,2259)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicLocationOfExaminingInstrumentCodeSequenceTrial' },
+ '(0008,225A)': { 'tag': '(0008,225A)', 'vr': 'SQ', 'vm': '1', 'name': 'AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial' },
+ '(0008,225C)': { 'tag': '(0008,225C)', 'vr': 'SQ', 'vm': '1', 'name': 'OnAxisBackgroundAnatomicStructureCodeSequenceTrial' },
+ '(0008,3001)': { 'tag': '(0008,3001)', 'vr': 'SQ', 'vm': '1', 'name': 'AlternateRepresentationSequence' },
+ '(0008,3010)': { 'tag': '(0008,3010)', 'vr': 'UI', 'vm': '1', 'name': 'IrradiationEventUID' },
+ '(0008,4000)': { 'tag': '(0008,4000)', 'vr': 'LT', 'vm': '1', 'name': 'IdentifyingComments' },
+ '(0008,9007)': { 'tag': '(0008,9007)', 'vr': 'CS', 'vm': '4', 'name': 'FrameType' },
+ '(0008,9092)': { 'tag': '(0008,9092)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageEvidenceSequence' },
+ '(0008,9121)': { 'tag': '(0008,9121)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedRawDataSequence' },
+ '(0008,9123)': { 'tag': '(0008,9123)', 'vr': 'UI', 'vm': '1', 'name': 'CreatorVersionUID' },
+ '(0008,9124)': { 'tag': '(0008,9124)', 'vr': 'SQ', 'vm': '1', 'name': 'DerivationImageSequence' },
+ '(0008,9154)': { 'tag': '(0008,9154)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceImageEvidenceSequence' },
+ '(0008,9205)': { 'tag': '(0008,9205)', 'vr': 'CS', 'vm': '1', 'name': 'PixelPresentation' },
+ '(0008,9206)': { 'tag': '(0008,9206)', 'vr': 'CS', 'vm': '1', 'name': 'VolumetricProperties' },
+ '(0008,9207)': { 'tag': '(0008,9207)', 'vr': 'CS', 'vm': '1', 'name': 'VolumeBasedCalculationTechnique' },
+ '(0008,9208)': { 'tag': '(0008,9208)', 'vr': 'CS', 'vm': '1', 'name': 'ComplexImageComponent' },
+ '(0008,9209)': { 'tag': '(0008,9209)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionContrast' },
+ '(0008,9215)': { 'tag': '(0008,9215)', 'vr': 'SQ', 'vm': '1', 'name': 'DerivationCodeSequence' },
+ '(0008,9237)': { 'tag': '(0008,9237)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPresentationStateSequence' },
+ '(0008,9410)': { 'tag': '(0008,9410)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedOtherPlaneSequence' },
+ '(0008,9458)': { 'tag': '(0008,9458)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameDisplaySequence' },
+ '(0008,9459)': { 'tag': '(0008,9459)', 'vr': 'FL', 'vm': '1', 'name': 'RecommendedDisplayFrameRateInFloat' },
+ '(0008,9460)': { 'tag': '(0008,9460)', 'vr': 'CS', 'vm': '1', 'name': 'SkipFrameRangeFlag' },
+ '(0010,0010)': { 'tag': '(0010,0010)', 'vr': 'PN', 'vm': '1', 'name': 'PatientName' },
+ '(0010,0020)': { 'tag': '(0010,0020)', 'vr': 'LO', 'vm': '1', 'name': 'PatientID' },
+ '(0010,0021)': { 'tag': '(0010,0021)', 'vr': 'LO', 'vm': '1', 'name': 'IssuerOfPatientID' },
+ '(0010,0022)': { 'tag': '(0010,0022)', 'vr': 'CS', 'vm': '1', 'name': 'TypeOfPatientID' },
+ '(0010,0024)': { 'tag': '(0010,0024)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfPatientIDQualifiersSequence' },
+ '(0010,0030)': { 'tag': '(0010,0030)', 'vr': 'DA', 'vm': '1', 'name': 'PatientBirthDate' },
+ '(0010,0032)': { 'tag': '(0010,0032)', 'vr': 'TM', 'vm': '1', 'name': 'PatientBirthTime' },
+ '(0010,0040)': { 'tag': '(0010,0040)', 'vr': 'CS', 'vm': '1', 'name': 'PatientSex' },
+ '(0010,0050)': { 'tag': '(0010,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientInsurancePlanCodeSequence' },
+ '(0010,0101)': { 'tag': '(0010,0101)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientPrimaryLanguageCodeSequence' },
+ '(0010,0102)': { 'tag': '(0010,0102)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientPrimaryLanguageModifierCodeSequence' },
+ '(0010,1000)': { 'tag': '(0010,1000)', 'vr': 'LO', 'vm': '1-n', 'name': 'OtherPatientIDs' },
+ '(0010,1001)': { 'tag': '(0010,1001)', 'vr': 'PN', 'vm': '1-n', 'name': 'OtherPatientNames' },
+ '(0010,1002)': { 'tag': '(0010,1002)', 'vr': 'SQ', 'vm': '1', 'name': 'OtherPatientIDsSequence' },
+ '(0010,1005)': { 'tag': '(0010,1005)', 'vr': 'PN', 'vm': '1', 'name': 'PatientBirthName' },
+ '(0010,1010)': { 'tag': '(0010,1010)', 'vr': 'AS', 'vm': '1', 'name': 'PatientAge' },
+ '(0010,1020)': { 'tag': '(0010,1020)', 'vr': 'DS', 'vm': '1', 'name': 'PatientSize' },
+ '(0010,1021)': { 'tag': '(0010,1021)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientSizeCodeSequence' },
+ '(0010,1030)': { 'tag': '(0010,1030)', 'vr': 'DS', 'vm': '1', 'name': 'PatientWeight' },
+ '(0010,1040)': { 'tag': '(0010,1040)', 'vr': 'LO', 'vm': '1', 'name': 'PatientAddress' },
+ '(0010,1050)': { 'tag': '(0010,1050)', 'vr': 'LO', 'vm': '1-n', 'name': 'InsurancePlanIdentification' },
+ '(0010,1060)': { 'tag': '(0010,1060)', 'vr': 'PN', 'vm': '1', 'name': 'PatientMotherBirthName' },
+ '(0010,1080)': { 'tag': '(0010,1080)', 'vr': 'LO', 'vm': '1', 'name': 'MilitaryRank' },
+ '(0010,1081)': { 'tag': '(0010,1081)', 'vr': 'LO', 'vm': '1', 'name': 'BranchOfService' },
+ '(0010,1090)': { 'tag': '(0010,1090)', 'vr': 'LO', 'vm': '1', 'name': 'MedicalRecordLocator' },
+ '(0010,2000)': { 'tag': '(0010,2000)', 'vr': 'LO', 'vm': '1-n', 'name': 'MedicalAlerts' },
+ '(0010,2110)': { 'tag': '(0010,2110)', 'vr': 'LO', 'vm': '1-n', 'name': 'Allergies' },
+ '(0010,2150)': { 'tag': '(0010,2150)', 'vr': 'LO', 'vm': '1', 'name': 'CountryOfResidence' },
+ '(0010,2152)': { 'tag': '(0010,2152)', 'vr': 'LO', 'vm': '1', 'name': 'RegionOfResidence' },
+ '(0010,2154)': { 'tag': '(0010,2154)', 'vr': 'SH', 'vm': '1-n', 'name': 'PatientTelephoneNumbers' },
+ '(0010,2160)': { 'tag': '(0010,2160)', 'vr': 'SH', 'vm': '1', 'name': 'EthnicGroup' },
+ '(0010,2180)': { 'tag': '(0010,2180)', 'vr': 'SH', 'vm': '1', 'name': 'Occupation' },
+ '(0010,21A0)': { 'tag': '(0010,21A0)', 'vr': 'CS', 'vm': '1', 'name': 'SmokingStatus' },
+ '(0010,21B0)': { 'tag': '(0010,21B0)', 'vr': 'LT', 'vm': '1', 'name': 'AdditionalPatientHistory' },
+ '(0010,21C0)': { 'tag': '(0010,21C0)', 'vr': 'US', 'vm': '1', 'name': 'PregnancyStatus' },
+ '(0010,21D0)': { 'tag': '(0010,21D0)', 'vr': 'DA', 'vm': '1', 'name': 'LastMenstrualDate' },
+ '(0010,21F0)': { 'tag': '(0010,21F0)', 'vr': 'LO', 'vm': '1', 'name': 'PatientReligiousPreference' },
+ '(0010,2201)': { 'tag': '(0010,2201)', 'vr': 'LO', 'vm': '1', 'name': 'PatientSpeciesDescription' },
+ '(0010,2202)': { 'tag': '(0010,2202)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientSpeciesCodeSequence' },
+ '(0010,2203)': { 'tag': '(0010,2203)', 'vr': 'CS', 'vm': '1', 'name': 'PatientSexNeutered' },
+ '(0010,2210)': { 'tag': '(0010,2210)', 'vr': 'CS', 'vm': '1', 'name': 'AnatomicalOrientationType' },
+ '(0010,2292)': { 'tag': '(0010,2292)', 'vr': 'LO', 'vm': '1', 'name': 'PatientBreedDescription' },
+ '(0010,2293)': { 'tag': '(0010,2293)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientBreedCodeSequence' },
+ '(0010,2294)': { 'tag': '(0010,2294)', 'vr': 'SQ', 'vm': '1', 'name': 'BreedRegistrationSequence' },
+ '(0010,2295)': { 'tag': '(0010,2295)', 'vr': 'LO', 'vm': '1', 'name': 'BreedRegistrationNumber' },
+ '(0010,2296)': { 'tag': '(0010,2296)', 'vr': 'SQ', 'vm': '1', 'name': 'BreedRegistryCodeSequence' },
+ '(0010,2297)': { 'tag': '(0010,2297)', 'vr': 'PN', 'vm': '1', 'name': 'ResponsiblePerson' },
+ '(0010,2298)': { 'tag': '(0010,2298)', 'vr': 'CS', 'vm': '1', 'name': 'ResponsiblePersonRole' },
+ '(0010,2299)': { 'tag': '(0010,2299)', 'vr': 'LO', 'vm': '1', 'name': 'ResponsibleOrganization' },
+ '(0010,4000)': { 'tag': '(0010,4000)', 'vr': 'LT', 'vm': '1', 'name': 'PatientComments' },
+ '(0010,9431)': { 'tag': '(0010,9431)', 'vr': 'FL', 'vm': '1', 'name': 'ExaminedBodyThickness' },
+ '(0012,0010)': { 'tag': '(0012,0010)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSponsorName' },
+ '(0012,0020)': { 'tag': '(0012,0020)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialProtocolID' },
+ '(0012,0021)': { 'tag': '(0012,0021)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialProtocolName' },
+ '(0012,0030)': { 'tag': '(0012,0030)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSiteID' },
+ '(0012,0031)': { 'tag': '(0012,0031)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSiteName' },
+ '(0012,0040)': { 'tag': '(0012,0040)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSubjectID' },
+ '(0012,0042)': { 'tag': '(0012,0042)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSubjectReadingID' },
+ '(0012,0050)': { 'tag': '(0012,0050)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialTimePointID' },
+ '(0012,0051)': { 'tag': '(0012,0051)', 'vr': 'ST', 'vm': '1', 'name': 'ClinicalTrialTimePointDescription' },
+ '(0012,0060)': { 'tag': '(0012,0060)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialCoordinatingCenterName' },
+ '(0012,0062)': { 'tag': '(0012,0062)', 'vr': 'CS', 'vm': '1', 'name': 'PatientIdentityRemoved' },
+ '(0012,0063)': { 'tag': '(0012,0063)', 'vr': 'LO', 'vm': '1-n', 'name': 'DeidentificationMethod' },
+ '(0012,0064)': { 'tag': '(0012,0064)', 'vr': 'SQ', 'vm': '1', 'name': 'DeidentificationMethodCodeSequence' },
+ '(0012,0071)': { 'tag': '(0012,0071)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSeriesID' },
+ '(0012,0072)': { 'tag': '(0012,0072)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialSeriesDescription' },
+ '(0012,0081)': { 'tag': '(0012,0081)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialProtocolEthicsCommitteeName' },
+ '(0012,0082)': { 'tag': '(0012,0082)', 'vr': 'LO', 'vm': '1', 'name': 'ClinicalTrialProtocolEthicsCommitteeApprovalNumber' },
+ '(0012,0083)': { 'tag': '(0012,0083)', 'vr': 'SQ', 'vm': '1', 'name': 'ConsentForClinicalTrialUseSequence' },
+ '(0012,0084)': { 'tag': '(0012,0084)', 'vr': 'CS', 'vm': '1', 'name': 'DistributionType' },
+ '(0012,0085)': { 'tag': '(0012,0085)', 'vr': 'CS', 'vm': '1', 'name': 'ConsentForDistributionFlag' },
+ '(0014,0023)': { 'tag': '(0014,0023)', 'vr': 'ST', 'vm': '1-n', 'name': 'CADFileFormat' },
+ '(0014,0024)': { 'tag': '(0014,0024)', 'vr': 'ST', 'vm': '1-n', 'name': 'ComponentReferenceSystem' },
+ '(0014,0025)': { 'tag': '(0014,0025)', 'vr': 'ST', 'vm': '1-n', 'name': 'ComponentManufacturingProcedure' },
+ '(0014,0028)': { 'tag': '(0014,0028)', 'vr': 'ST', 'vm': '1-n', 'name': 'ComponentManufacturer' },
+ '(0014,0030)': { 'tag': '(0014,0030)', 'vr': 'DS', 'vm': '1-n', 'name': 'MaterialThickness' },
+ '(0014,0032)': { 'tag': '(0014,0032)', 'vr': 'DS', 'vm': '1-n', 'name': 'MaterialPipeDiameter' },
+ '(0014,0034)': { 'tag': '(0014,0034)', 'vr': 'DS', 'vm': '1-n', 'name': 'MaterialIsolationDiameter' },
+ '(0014,0042)': { 'tag': '(0014,0042)', 'vr': 'ST', 'vm': '1-n', 'name': 'MaterialGrade' },
+ '(0014,0044)': { 'tag': '(0014,0044)', 'vr': 'ST', 'vm': '1-n', 'name': 'MaterialPropertiesFileID' },
+ '(0014,0045)': { 'tag': '(0014,0045)', 'vr': 'ST', 'vm': '1-n', 'name': 'MaterialPropertiesFileFormat' },
+ '(0014,0046)': { 'tag': '(0014,0046)', 'vr': 'LT', 'vm': '1', 'name': 'MaterialNotes' },
+ '(0014,0050)': { 'tag': '(0014,0050)', 'vr': 'CS', 'vm': '1', 'name': 'ComponentShape' },
+ '(0014,0052)': { 'tag': '(0014,0052)', 'vr': 'CS', 'vm': '1', 'name': 'CurvatureType' },
+ '(0014,0054)': { 'tag': '(0014,0054)', 'vr': 'DS', 'vm': '1', 'name': 'OuterDiameter' },
+ '(0014,0056)': { 'tag': '(0014,0056)', 'vr': 'DS', 'vm': '1', 'name': 'InnerDiameter' },
+ '(0014,1010)': { 'tag': '(0014,1010)', 'vr': 'ST', 'vm': '1', 'name': 'ActualEnvironmentalConditions' },
+ '(0014,1020)': { 'tag': '(0014,1020)', 'vr': 'DA', 'vm': '1', 'name': 'ExpiryDate' },
+ '(0014,1040)': { 'tag': '(0014,1040)', 'vr': 'ST', 'vm': '1', 'name': 'EnvironmentalConditions' },
+ '(0014,2002)': { 'tag': '(0014,2002)', 'vr': 'SQ', 'vm': '1', 'name': 'EvaluatorSequence' },
+ '(0014,2004)': { 'tag': '(0014,2004)', 'vr': 'IS', 'vm': '1', 'name': 'EvaluatorNumber' },
+ '(0014,2006)': { 'tag': '(0014,2006)', 'vr': 'PN', 'vm': '1', 'name': 'EvaluatorName' },
+ '(0014,2008)': { 'tag': '(0014,2008)', 'vr': 'IS', 'vm': '1', 'name': 'EvaluationAttempt' },
+ '(0014,2012)': { 'tag': '(0014,2012)', 'vr': 'SQ', 'vm': '1', 'name': 'IndicationSequence' },
+ '(0014,2014)': { 'tag': '(0014,2014)', 'vr': 'IS', 'vm': '1', 'name': 'IndicationNumber ' },
+ '(0014,2016)': { 'tag': '(0014,2016)', 'vr': 'SH', 'vm': '1', 'name': 'IndicationLabel' },
+ '(0014,2018)': { 'tag': '(0014,2018)', 'vr': 'ST', 'vm': '1', 'name': 'IndicationDescription' },
+ '(0014,201A)': { 'tag': '(0014,201A)', 'vr': 'CS', 'vm': '1-n', 'name': 'IndicationType' },
+ '(0014,201C)': { 'tag': '(0014,201C)', 'vr': 'CS', 'vm': '1', 'name': 'IndicationDisposition' },
+ '(0014,201E)': { 'tag': '(0014,201E)', 'vr': 'SQ', 'vm': '1', 'name': 'IndicationROISequence' },
+ '(0014,2030)': { 'tag': '(0014,2030)', 'vr': 'SQ', 'vm': '1', 'name': 'IndicationPhysicalPropertySequence' },
+ '(0014,2032)': { 'tag': '(0014,2032)', 'vr': 'SH', 'vm': '1', 'name': 'PropertyLabel' },
+ '(0014,2202)': { 'tag': '(0014,2202)', 'vr': 'IS', 'vm': '1', 'name': 'CoordinateSystemNumberOfAxes ' },
+ '(0014,2204)': { 'tag': '(0014,2204)', 'vr': 'SQ', 'vm': '1', 'name': 'CoordinateSystemAxesSequence' },
+ '(0014,2206)': { 'tag': '(0014,2206)', 'vr': 'ST', 'vm': '1', 'name': 'CoordinateSystemAxisDescription' },
+ '(0014,2208)': { 'tag': '(0014,2208)', 'vr': 'CS', 'vm': '1', 'name': 'CoordinateSystemDataSetMapping' },
+ '(0014,220A)': { 'tag': '(0014,220A)', 'vr': 'IS', 'vm': '1', 'name': 'CoordinateSystemAxisNumber' },
+ '(0014,220C)': { 'tag': '(0014,220C)', 'vr': 'CS', 'vm': '1', 'name': 'CoordinateSystemAxisType' },
+ '(0014,220E)': { 'tag': '(0014,220E)', 'vr': 'CS', 'vm': '1', 'name': 'CoordinateSystemAxisUnits' },
+ '(0014,2210)': { 'tag': '(0014,2210)', 'vr': 'OB', 'vm': '1', 'name': 'CoordinateSystemAxisValues' },
+ '(0014,2220)': { 'tag': '(0014,2220)', 'vr': 'SQ', 'vm': '1', 'name': 'CoordinateSystemTransformSequence' },
+ '(0014,2222)': { 'tag': '(0014,2222)', 'vr': 'ST', 'vm': '1', 'name': 'TransformDescription' },
+ '(0014,2224)': { 'tag': '(0014,2224)', 'vr': 'IS', 'vm': '1', 'name': 'TransformNumberOfAxes' },
+ '(0014,2226)': { 'tag': '(0014,2226)', 'vr': 'IS', 'vm': '1-n', 'name': 'TransformOrderOfAxes' },
+ '(0014,2228)': { 'tag': '(0014,2228)', 'vr': 'CS', 'vm': '1', 'name': 'TransformedAxisUnits' },
+ '(0014,222A)': { 'tag': '(0014,222A)', 'vr': 'DS', 'vm': '1-n', 'name': 'CoordinateSystemTransformRotationAndScaleMatrix' },
+ '(0014,222C)': { 'tag': '(0014,222C)', 'vr': 'DS', 'vm': '1-n', 'name': 'CoordinateSystemTransformTranslationMatrix' },
+ '(0014,3011)': { 'tag': '(0014,3011)', 'vr': 'DS', 'vm': '1', 'name': 'InternalDetectorFrameTime' },
+ '(0014,3012)': { 'tag': '(0014,3012)', 'vr': 'DS', 'vm': '1', 'name': 'NumberOfFramesIntegrated' },
+ '(0014,3020)': { 'tag': '(0014,3020)', 'vr': 'SQ', 'vm': '1', 'name': 'DetectorTemperatureSequence' },
+ '(0014,3022)': { 'tag': '(0014,3022)', 'vr': 'DS', 'vm': '1', 'name': 'SensorName' },
+ '(0014,3024)': { 'tag': '(0014,3024)', 'vr': 'DS', 'vm': '1', 'name': 'HorizontalOffsetOfSensor' },
+ '(0014,3026)': { 'tag': '(0014,3026)', 'vr': 'DS', 'vm': '1', 'name': 'VerticalOffsetOfSensor' },
+ '(0014,3028)': { 'tag': '(0014,3028)', 'vr': 'DS', 'vm': '1', 'name': 'SensorTemperature' },
+ '(0014,3040)': { 'tag': '(0014,3040)', 'vr': 'SQ', 'vm': '1', 'name': 'DarkCurrentSequence' },
+ '(0014,3050)': { 'tag': '(0014,3050)', 'vr': 'OB|OW', 'vm': '1', 'name': 'DarkCurrentCounts' },
+ '(0014,3060)': { 'tag': '(0014,3060)', 'vr': 'SQ', 'vm': '1', 'name': 'GainCorrectionReferenceSequence' },
+ '(0014,3070)': { 'tag': '(0014,3070)', 'vr': 'OB|OW', 'vm': '1', 'name': 'AirCounts' },
+ '(0014,3071)': { 'tag': '(0014,3071)', 'vr': 'DS', 'vm': '1', 'name': 'KVUsedInGainCalibration' },
+ '(0014,3072)': { 'tag': '(0014,3072)', 'vr': 'DS', 'vm': '1', 'name': 'MAUsedInGainCalibration' },
+ '(0014,3073)': { 'tag': '(0014,3073)', 'vr': 'DS', 'vm': '1', 'name': 'NumberOfFramesUsedForIntegration' },
+ '(0014,3074)': { 'tag': '(0014,3074)', 'vr': 'LO', 'vm': '1', 'name': 'FilterMaterialUsedInGainCalibration' },
+ '(0014,3075)': { 'tag': '(0014,3075)', 'vr': 'DS', 'vm': '1', 'name': 'FilterThicknessUsedInGainCalibration' },
+ '(0014,3076)': { 'tag': '(0014,3076)', 'vr': 'DA', 'vm': '1', 'name': 'DateOfGainCalibration' },
+ '(0014,3077)': { 'tag': '(0014,3077)', 'vr': 'TM', 'vm': '1', 'name': 'TimeOfGainCalibration' },
+ '(0014,3080)': { 'tag': '(0014,3080)', 'vr': 'OB', 'vm': '1', 'name': 'BadPixelImage' },
+ '(0014,3099)': { 'tag': '(0014,3099)', 'vr': 'LT', 'vm': '1', 'name': 'CalibrationNotes' },
+ '(0014,4002)': { 'tag': '(0014,4002)', 'vr': 'SQ', 'vm': '1', 'name': 'PulserEquipmentSequence' },
+ '(0014,4004)': { 'tag': '(0014,4004)', 'vr': 'CS', 'vm': '1', 'name': 'PulserType' },
+ '(0014,4006)': { 'tag': '(0014,4006)', 'vr': 'LT', 'vm': '1', 'name': 'PulserNotes' },
+ '(0014,4008)': { 'tag': '(0014,4008)', 'vr': 'SQ', 'vm': '1', 'name': 'ReceiverEquipmentSequence' },
+ '(0014,400A)': { 'tag': '(0014,400A)', 'vr': 'CS', 'vm': '1', 'name': 'AmplifierType' },
+ '(0014,400C)': { 'tag': '(0014,400C)', 'vr': 'LT', 'vm': '1', 'name': 'ReceiverNotes' },
+ '(0014,400E)': { 'tag': '(0014,400E)', 'vr': 'SQ', 'vm': '1', 'name': 'PreAmplifierEquipmentSequence' },
+ '(0014,400F)': { 'tag': '(0014,400F)', 'vr': 'LT', 'vm': '1', 'name': 'PreAmplifierNotes' },
+ '(0014,4010)': { 'tag': '(0014,4010)', 'vr': 'SQ', 'vm': '1', 'name': 'TransmitTransducerSequence' },
+ '(0014,4011)': { 'tag': '(0014,4011)', 'vr': 'SQ', 'vm': '1', 'name': 'ReceiveTransducerSequence' },
+ '(0014,4012)': { 'tag': '(0014,4012)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfElements' },
+ '(0014,4013)': { 'tag': '(0014,4013)', 'vr': 'CS', 'vm': '1', 'name': 'ElementShape' },
+ '(0014,4014)': { 'tag': '(0014,4014)', 'vr': 'DS', 'vm': '1', 'name': 'ElementDimensionA' },
+ '(0014,4015)': { 'tag': '(0014,4015)', 'vr': 'DS', 'vm': '1', 'name': 'ElementDimensionB' },
+ '(0014,4016)': { 'tag': '(0014,4016)', 'vr': 'DS', 'vm': '1', 'name': 'ElementPitch' },
+ '(0014,4017)': { 'tag': '(0014,4017)', 'vr': 'DS', 'vm': '1', 'name': 'MeasuredBeamDimensionA' },
+ '(0014,4018)': { 'tag': '(0014,4018)', 'vr': 'DS', 'vm': '1', 'name': 'MeasuredBeamDimensionB' },
+ '(0014,4019)': { 'tag': '(0014,4019)', 'vr': 'DS', 'vm': '1', 'name': 'LocationOfMeasuredBeamDiameter' },
+ '(0014,401A)': { 'tag': '(0014,401A)', 'vr': 'DS', 'vm': '1', 'name': 'NominalFrequency' },
+ '(0014,401B)': { 'tag': '(0014,401B)', 'vr': 'DS', 'vm': '1', 'name': 'MeasuredCenterFrequency' },
+ '(0014,401C)': { 'tag': '(0014,401C)', 'vr': 'DS', 'vm': '1', 'name': 'MeasuredBandwidth' },
+ '(0014,4020)': { 'tag': '(0014,4020)', 'vr': 'SQ', 'vm': '1', 'name': 'PulserSettingsSequence' },
+ '(0014,4022)': { 'tag': '(0014,4022)', 'vr': 'DS', 'vm': '1', 'name': 'PulseWidth' },
+ '(0014,4024)': { 'tag': '(0014,4024)', 'vr': 'DS', 'vm': '1', 'name': 'ExcitationFrequency' },
+ '(0014,4026)': { 'tag': '(0014,4026)', 'vr': 'CS', 'vm': '1', 'name': 'ModulationType' },
+ '(0014,4028)': { 'tag': '(0014,4028)', 'vr': 'DS', 'vm': '1', 'name': 'Damping' },
+ '(0014,4030)': { 'tag': '(0014,4030)', 'vr': 'SQ', 'vm': '1', 'name': 'ReceiverSettingsSequence' },
+ '(0014,4031)': { 'tag': '(0014,4031)', 'vr': 'DS', 'vm': '1', 'name': 'AcquiredSoundpathLength' },
+ '(0014,4032)': { 'tag': '(0014,4032)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionCompressionType' },
+ '(0014,4033)': { 'tag': '(0014,4033)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionSampleSize' },
+ '(0014,4034)': { 'tag': '(0014,4034)', 'vr': 'DS', 'vm': '1', 'name': 'RectifierSmoothing' },
+ '(0014,4035)': { 'tag': '(0014,4035)', 'vr': 'SQ', 'vm': '1', 'name': 'DACSequence' },
+ '(0014,4036)': { 'tag': '(0014,4036)', 'vr': 'CS', 'vm': '1', 'name': 'DACType' },
+ '(0014,4038)': { 'tag': '(0014,4038)', 'vr': 'DS', 'vm': '1-n', 'name': 'DACGainPoints' },
+ '(0014,403A)': { 'tag': '(0014,403A)', 'vr': 'DS', 'vm': '1-n', 'name': 'DACTimePoints' },
+ '(0014,403C)': { 'tag': '(0014,403C)', 'vr': 'DS', 'vm': '1-n', 'name': 'DACAmplitude' },
+ '(0014,4040)': { 'tag': '(0014,4040)', 'vr': 'SQ', 'vm': '1', 'name': 'PreAmplifierSettingsSequence' },
+ '(0014,4050)': { 'tag': '(0014,4050)', 'vr': 'SQ', 'vm': '1', 'name': 'TransmitTransducerSettingsSequence' },
+ '(0014,4051)': { 'tag': '(0014,4051)', 'vr': 'SQ', 'vm': '1', 'name': 'ReceiveTransducerSettingsSequence' },
+ '(0014,4052)': { 'tag': '(0014,4052)', 'vr': 'DS', 'vm': '1', 'name': 'IncidentAngle' },
+ '(0014,4054)': { 'tag': '(0014,4054)', 'vr': 'ST', 'vm': '1', 'name': 'CouplingTechnique' },
+ '(0014,4056)': { 'tag': '(0014,4056)', 'vr': 'ST', 'vm': '1', 'name': 'CouplingMedium' },
+ '(0014,4057)': { 'tag': '(0014,4057)', 'vr': 'DS', 'vm': '1', 'name': 'CouplingVelocity' },
+ '(0014,4058)': { 'tag': '(0014,4058)', 'vr': 'DS', 'vm': '1', 'name': 'CrystalCenterLocationX' },
+ '(0014,4059)': { 'tag': '(0014,4059)', 'vr': 'DS', 'vm': '1', 'name': 'CrystalCenterLocationZ' },
+ '(0014,405A)': { 'tag': '(0014,405A)', 'vr': 'DS', 'vm': '1', 'name': 'SoundPathLength' },
+ '(0014,405C)': { 'tag': '(0014,405C)', 'vr': 'ST', 'vm': '1', 'name': 'DelayLawIdentifier' },
+ '(0014,4060)': { 'tag': '(0014,4060)', 'vr': 'SQ', 'vm': '1', 'name': 'GateSettingsSequence' },
+ '(0014,4062)': { 'tag': '(0014,4062)', 'vr': 'DS', 'vm': '1', 'name': 'GateThreshold' },
+ '(0014,4064)': { 'tag': '(0014,4064)', 'vr': 'DS', 'vm': '1', 'name': 'VelocityOfSound' },
+ '(0014,4070)': { 'tag': '(0014,4070)', 'vr': 'SQ', 'vm': '1', 'name': 'CalibrationSettingsSequence' },
+ '(0014,4072)': { 'tag': '(0014,4072)', 'vr': 'ST', 'vm': '1', 'name': 'CalibrationProcedure' },
+ '(0014,4074)': { 'tag': '(0014,4074)', 'vr': 'SH', 'vm': '1', 'name': 'ProcedureVersion' },
+ '(0014,4076)': { 'tag': '(0014,4076)', 'vr': 'DA', 'vm': '1', 'name': 'ProcedureCreationDate' },
+ '(0014,4078)': { 'tag': '(0014,4078)', 'vr': 'DA', 'vm': '1', 'name': 'ProcedureExpirationDate' },
+ '(0014,407A)': { 'tag': '(0014,407A)', 'vr': 'DA', 'vm': '1', 'name': 'ProcedureLastModifiedDate' },
+ '(0014,407C)': { 'tag': '(0014,407C)', 'vr': 'TM', 'vm': '1-n', 'name': 'CalibrationTime' },
+ '(0014,407E)': { 'tag': '(0014,407E)', 'vr': 'DA', 'vm': '1-n', 'name': 'CalibrationDate' },
+ '(0014,5002)': { 'tag': '(0014,5002)', 'vr': 'IS', 'vm': '1', 'name': 'LINACEnergy' },
+ '(0014,5004)': { 'tag': '(0014,5004)', 'vr': 'IS', 'vm': '1', 'name': 'LINACOutput' },
+ '(0018,0010)': { 'tag': '(0018,0010)', 'vr': 'LO', 'vm': '1', 'name': 'ContrastBolusAgent' },
+ '(0018,0012)': { 'tag': '(0018,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'ContrastBolusAgentSequence' },
+ '(0018,0014)': { 'tag': '(0018,0014)', 'vr': 'SQ', 'vm': '1', 'name': 'ContrastBolusAdministrationRouteSequence' },
+ '(0018,0015)': { 'tag': '(0018,0015)', 'vr': 'CS', 'vm': '1', 'name': 'BodyPartExamined' },
+ '(0018,0020)': { 'tag': '(0018,0020)', 'vr': 'CS', 'vm': '1-n', 'name': 'ScanningSequence' },
+ '(0018,0021)': { 'tag': '(0018,0021)', 'vr': 'CS', 'vm': '1-n', 'name': 'SequenceVariant' },
+ '(0018,0022)': { 'tag': '(0018,0022)', 'vr': 'CS', 'vm': '1-n', 'name': 'ScanOptions' },
+ '(0018,0023)': { 'tag': '(0018,0023)', 'vr': 'CS', 'vm': '1', 'name': 'MRAcquisitionType' },
+ '(0018,0024)': { 'tag': '(0018,0024)', 'vr': 'SH', 'vm': '1', 'name': 'SequenceName' },
+ '(0018,0025)': { 'tag': '(0018,0025)', 'vr': 'CS', 'vm': '1', 'name': 'AngioFlag' },
+ '(0018,0026)': { 'tag': '(0018,0026)', 'vr': 'SQ', 'vm': '1', 'name': 'InterventionDrugInformationSequence' },
+ '(0018,0027)': { 'tag': '(0018,0027)', 'vr': 'TM', 'vm': '1', 'name': 'InterventionDrugStopTime' },
+ '(0018,0028)': { 'tag': '(0018,0028)', 'vr': 'DS', 'vm': '1', 'name': 'InterventionDrugDose' },
+ '(0018,0029)': { 'tag': '(0018,0029)', 'vr': 'SQ', 'vm': '1', 'name': 'InterventionDrugCodeSequence' },
+ '(0018,002A)': { 'tag': '(0018,002A)', 'vr': 'SQ', 'vm': '1', 'name': 'AdditionalDrugSequence' },
+ '(0018,0030)': { 'tag': '(0018,0030)', 'vr': 'LO', 'vm': '1-n', 'name': 'Radionuclide' },
+ '(0018,0031)': { 'tag': '(0018,0031)', 'vr': 'LO', 'vm': '1', 'name': 'Radiopharmaceutical' },
+ '(0018,0032)': { 'tag': '(0018,0032)', 'vr': 'DS', 'vm': '1', 'name': 'EnergyWindowCenterline' },
+ '(0018,0033)': { 'tag': '(0018,0033)', 'vr': 'DS', 'vm': '1-n', 'name': 'EnergyWindowTotalWidth' },
+ '(0018,0034)': { 'tag': '(0018,0034)', 'vr': 'LO', 'vm': '1', 'name': 'InterventionDrugName' },
+ '(0018,0035)': { 'tag': '(0018,0035)', 'vr': 'TM', 'vm': '1', 'name': 'InterventionDrugStartTime' },
+ '(0018,0036)': { 'tag': '(0018,0036)', 'vr': 'SQ', 'vm': '1', 'name': 'InterventionSequence' },
+ '(0018,0037)': { 'tag': '(0018,0037)', 'vr': 'CS', 'vm': '1', 'name': 'TherapyType' },
+ '(0018,0038)': { 'tag': '(0018,0038)', 'vr': 'CS', 'vm': '1', 'name': 'InterventionStatus' },
+ '(0018,0039)': { 'tag': '(0018,0039)', 'vr': 'CS', 'vm': '1', 'name': 'TherapyDescription' },
+ '(0018,003A)': { 'tag': '(0018,003A)', 'vr': 'ST', 'vm': '1', 'name': 'InterventionDescription' },
+ '(0018,0040)': { 'tag': '(0018,0040)', 'vr': 'IS', 'vm': '1', 'name': 'CineRate' },
+ '(0018,0042)': { 'tag': '(0018,0042)', 'vr': 'CS', 'vm': '1', 'name': 'InitialCineRunState' },
+ '(0018,0050)': { 'tag': '(0018,0050)', 'vr': 'DS', 'vm': '1', 'name': 'SliceThickness' },
+ '(0018,0060)': { 'tag': '(0018,0060)', 'vr': 'DS', 'vm': '1', 'name': 'KVP' },
+ '(0018,0070)': { 'tag': '(0018,0070)', 'vr': 'IS', 'vm': '1', 'name': 'CountsAccumulated' },
+ '(0018,0071)': { 'tag': '(0018,0071)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionTerminationCondition' },
+ '(0018,0072)': { 'tag': '(0018,0072)', 'vr': 'DS', 'vm': '1', 'name': 'EffectiveDuration' },
+ '(0018,0073)': { 'tag': '(0018,0073)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionStartCondition' },
+ '(0018,0074)': { 'tag': '(0018,0074)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionStartConditionData' },
+ '(0018,0075)': { 'tag': '(0018,0075)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionTerminationConditionData' },
+ '(0018,0080)': { 'tag': '(0018,0080)', 'vr': 'DS', 'vm': '1', 'name': 'RepetitionTime' },
+ '(0018,0081)': { 'tag': '(0018,0081)', 'vr': 'DS', 'vm': '1', 'name': 'EchoTime' },
+ '(0018,0082)': { 'tag': '(0018,0082)', 'vr': 'DS', 'vm': '1', 'name': 'InversionTime' },
+ '(0018,0083)': { 'tag': '(0018,0083)', 'vr': 'DS', 'vm': '1', 'name': 'NumberOfAverages' },
+ '(0018,0084)': { 'tag': '(0018,0084)', 'vr': 'DS', 'vm': '1', 'name': 'ImagingFrequency' },
+ '(0018,0085)': { 'tag': '(0018,0085)', 'vr': 'SH', 'vm': '1', 'name': 'ImagedNucleus' },
+ '(0018,0086)': { 'tag': '(0018,0086)', 'vr': 'IS', 'vm': '1-n', 'name': 'EchoNumbers' },
+ '(0018,0087)': { 'tag': '(0018,0087)', 'vr': 'DS', 'vm': '1', 'name': 'MagneticFieldStrength' },
+ '(0018,0088)': { 'tag': '(0018,0088)', 'vr': 'DS', 'vm': '1', 'name': 'SpacingBetweenSlices' },
+ '(0018,0089)': { 'tag': '(0018,0089)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPhaseEncodingSteps' },
+ '(0018,0090)': { 'tag': '(0018,0090)', 'vr': 'DS', 'vm': '1', 'name': 'DataCollectionDiameter' },
+ '(0018,0091)': { 'tag': '(0018,0091)', 'vr': 'IS', 'vm': '1', 'name': 'EchoTrainLength' },
+ '(0018,0093)': { 'tag': '(0018,0093)', 'vr': 'DS', 'vm': '1', 'name': 'PercentSampling' },
+ '(0018,0094)': { 'tag': '(0018,0094)', 'vr': 'DS', 'vm': '1', 'name': 'PercentPhaseFieldOfView' },
+ '(0018,0095)': { 'tag': '(0018,0095)', 'vr': 'DS', 'vm': '1', 'name': 'PixelBandwidth' },
+ '(0018,1000)': { 'tag': '(0018,1000)', 'vr': 'LO', 'vm': '1', 'name': 'DeviceSerialNumber' },
+ '(0018,1002)': { 'tag': '(0018,1002)', 'vr': 'UI', 'vm': '1', 'name': 'DeviceUID' },
+ '(0018,1003)': { 'tag': '(0018,1003)', 'vr': 'LO', 'vm': '1', 'name': 'DeviceID' },
+ '(0018,1004)': { 'tag': '(0018,1004)', 'vr': 'LO', 'vm': '1', 'name': 'PlateID' },
+ '(0018,1005)': { 'tag': '(0018,1005)', 'vr': 'LO', 'vm': '1', 'name': 'GeneratorID' },
+ '(0018,1006)': { 'tag': '(0018,1006)', 'vr': 'LO', 'vm': '1', 'name': 'GridID' },
+ '(0018,1007)': { 'tag': '(0018,1007)', 'vr': 'LO', 'vm': '1', 'name': 'CassetteID' },
+ '(0018,1008)': { 'tag': '(0018,1008)', 'vr': 'LO', 'vm': '1', 'name': 'GantryID' },
+ '(0018,1010)': { 'tag': '(0018,1010)', 'vr': 'LO', 'vm': '1', 'name': 'SecondaryCaptureDeviceID' },
+ '(0018,1011)': { 'tag': '(0018,1011)', 'vr': 'LO', 'vm': '1', 'name': 'HardcopyCreationDeviceID' },
+ '(0018,1012)': { 'tag': '(0018,1012)', 'vr': 'DA', 'vm': '1', 'name': 'DateOfSecondaryCapture' },
+ '(0018,1014)': { 'tag': '(0018,1014)', 'vr': 'TM', 'vm': '1', 'name': 'TimeOfSecondaryCapture' },
+ '(0018,1016)': { 'tag': '(0018,1016)', 'vr': 'LO', 'vm': '1', 'name': 'SecondaryCaptureDeviceManufacturer' },
+ '(0018,1017)': { 'tag': '(0018,1017)', 'vr': 'LO', 'vm': '1', 'name': 'HardcopyDeviceManufacturer' },
+ '(0018,1018)': { 'tag': '(0018,1018)', 'vr': 'LO', 'vm': '1', 'name': 'SecondaryCaptureDeviceManufacturerModelName' },
+ '(0018,1019)': { 'tag': '(0018,1019)', 'vr': 'LO', 'vm': '1-n', 'name': 'SecondaryCaptureDeviceSoftwareVersions' },
+ '(0018,101A)': { 'tag': '(0018,101A)', 'vr': 'LO', 'vm': '1-n', 'name': 'HardcopyDeviceSoftwareVersion' },
+ '(0018,101B)': { 'tag': '(0018,101B)', 'vr': 'LO', 'vm': '1', 'name': 'HardcopyDeviceManufacturerModelName' },
+ '(0018,1020)': { 'tag': '(0018,1020)', 'vr': 'LO', 'vm': '1-n', 'name': 'SoftwareVersions' },
+ '(0018,1022)': { 'tag': '(0018,1022)', 'vr': 'SH', 'vm': '1', 'name': 'VideoImageFormatAcquired' },
+ '(0018,1023)': { 'tag': '(0018,1023)', 'vr': 'LO', 'vm': '1', 'name': 'DigitalImageFormatAcquired' },
+ '(0018,1030)': { 'tag': '(0018,1030)', 'vr': 'LO', 'vm': '1', 'name': 'ProtocolName' },
+ '(0018,1040)': { 'tag': '(0018,1040)', 'vr': 'LO', 'vm': '1', 'name': 'ContrastBolusRoute' },
+ '(0018,1041)': { 'tag': '(0018,1041)', 'vr': 'DS', 'vm': '1', 'name': 'ContrastBolusVolume' },
+ '(0018,1042)': { 'tag': '(0018,1042)', 'vr': 'TM', 'vm': '1', 'name': 'ContrastBolusStartTime' },
+ '(0018,1043)': { 'tag': '(0018,1043)', 'vr': 'TM', 'vm': '1', 'name': 'ContrastBolusStopTime' },
+ '(0018,1044)': { 'tag': '(0018,1044)', 'vr': 'DS', 'vm': '1', 'name': 'ContrastBolusTotalDose' },
+ '(0018,1045)': { 'tag': '(0018,1045)', 'vr': 'IS', 'vm': '1', 'name': 'SyringeCounts' },
+ '(0018,1046)': { 'tag': '(0018,1046)', 'vr': 'DS', 'vm': '1-n', 'name': 'ContrastFlowRate' },
+ '(0018,1047)': { 'tag': '(0018,1047)', 'vr': 'DS', 'vm': '1-n', 'name': 'ContrastFlowDuration' },
+ '(0018,1048)': { 'tag': '(0018,1048)', 'vr': 'CS', 'vm': '1', 'name': 'ContrastBolusIngredient' },
+ '(0018,1049)': { 'tag': '(0018,1049)', 'vr': 'DS', 'vm': '1', 'name': 'ContrastBolusIngredientConcentration' },
+ '(0018,1050)': { 'tag': '(0018,1050)', 'vr': 'DS', 'vm': '1', 'name': 'SpatialResolution' },
+ '(0018,1060)': { 'tag': '(0018,1060)', 'vr': 'DS', 'vm': '1', 'name': 'TriggerTime' },
+ '(0018,1061)': { 'tag': '(0018,1061)', 'vr': 'LO', 'vm': '1', 'name': 'TriggerSourceOrType' },
+ '(0018,1062)': { 'tag': '(0018,1062)', 'vr': 'IS', 'vm': '1', 'name': 'NominalInterval' },
+ '(0018,1063)': { 'tag': '(0018,1063)', 'vr': 'DS', 'vm': '1', 'name': 'FrameTime' },
+ '(0018,1064)': { 'tag': '(0018,1064)', 'vr': 'LO', 'vm': '1', 'name': 'CardiacFramingType' },
+ '(0018,1065)': { 'tag': '(0018,1065)', 'vr': 'DS', 'vm': '1-n', 'name': 'FrameTimeVector' },
+ '(0018,1066)': { 'tag': '(0018,1066)', 'vr': 'DS', 'vm': '1', 'name': 'FrameDelay' },
+ '(0018,1067)': { 'tag': '(0018,1067)', 'vr': 'DS', 'vm': '1', 'name': 'ImageTriggerDelay' },
+ '(0018,1068)': { 'tag': '(0018,1068)', 'vr': 'DS', 'vm': '1', 'name': 'MultiplexGroupTimeOffset' },
+ '(0018,1069)': { 'tag': '(0018,1069)', 'vr': 'DS', 'vm': '1', 'name': 'TriggerTimeOffset' },
+ '(0018,106A)': { 'tag': '(0018,106A)', 'vr': 'CS', 'vm': '1', 'name': 'SynchronizationTrigger' },
+ '(0018,106C)': { 'tag': '(0018,106C)', 'vr': 'US', 'vm': '2', 'name': 'SynchronizationChannel' },
+ '(0018,106E)': { 'tag': '(0018,106E)', 'vr': 'UL', 'vm': '1', 'name': 'TriggerSamplePosition' },
+ '(0018,1070)': { 'tag': '(0018,1070)', 'vr': 'LO', 'vm': '1', 'name': 'RadiopharmaceuticalRoute' },
+ '(0018,1071)': { 'tag': '(0018,1071)', 'vr': 'DS', 'vm': '1', 'name': 'RadiopharmaceuticalVolume' },
+ '(0018,1072)': { 'tag': '(0018,1072)', 'vr': 'TM', 'vm': '1', 'name': 'RadiopharmaceuticalStartTime' },
+ '(0018,1073)': { 'tag': '(0018,1073)', 'vr': 'TM', 'vm': '1', 'name': 'RadiopharmaceuticalStopTime' },
+ '(0018,1074)': { 'tag': '(0018,1074)', 'vr': 'DS', 'vm': '1', 'name': 'RadionuclideTotalDose' },
+ '(0018,1075)': { 'tag': '(0018,1075)', 'vr': 'DS', 'vm': '1', 'name': 'RadionuclideHalfLife' },
+ '(0018,1076)': { 'tag': '(0018,1076)', 'vr': 'DS', 'vm': '1', 'name': 'RadionuclidePositronFraction' },
+ '(0018,1077)': { 'tag': '(0018,1077)', 'vr': 'DS', 'vm': '1', 'name': 'RadiopharmaceuticalSpecificActivity' },
+ '(0018,1078)': { 'tag': '(0018,1078)', 'vr': 'DT', 'vm': '1', 'name': 'RadiopharmaceuticalStartDateTime' },
+ '(0018,1079)': { 'tag': '(0018,1079)', 'vr': 'DT', 'vm': '1', 'name': 'RadiopharmaceuticalStopDateTime' },
+ '(0018,1080)': { 'tag': '(0018,1080)', 'vr': 'CS', 'vm': '1', 'name': 'BeatRejectionFlag' },
+ '(0018,1081)': { 'tag': '(0018,1081)', 'vr': 'IS', 'vm': '1', 'name': 'LowRRValue' },
+ '(0018,1082)': { 'tag': '(0018,1082)', 'vr': 'IS', 'vm': '1', 'name': 'HighRRValue' },
+ '(0018,1083)': { 'tag': '(0018,1083)', 'vr': 'IS', 'vm': '1', 'name': 'IntervalsAcquired' },
+ '(0018,1084)': { 'tag': '(0018,1084)', 'vr': 'IS', 'vm': '1', 'name': 'IntervalsRejected' },
+ '(0018,1085)': { 'tag': '(0018,1085)', 'vr': 'LO', 'vm': '1', 'name': 'PVCRejection' },
+ '(0018,1086)': { 'tag': '(0018,1086)', 'vr': 'IS', 'vm': '1', 'name': 'SkipBeats' },
+ '(0018,1088)': { 'tag': '(0018,1088)', 'vr': 'IS', 'vm': '1', 'name': 'HeartRate' },
+ '(0018,1090)': { 'tag': '(0018,1090)', 'vr': 'IS', 'vm': '1', 'name': 'CardiacNumberOfImages' },
+ '(0018,1094)': { 'tag': '(0018,1094)', 'vr': 'IS', 'vm': '1', 'name': 'TriggerWindow' },
+ '(0018,1100)': { 'tag': '(0018,1100)', 'vr': 'DS', 'vm': '1', 'name': 'ReconstructionDiameter' },
+ '(0018,1110)': { 'tag': '(0018,1110)', 'vr': 'DS', 'vm': '1', 'name': 'DistanceSourceToDetector' },
+ '(0018,1111)': { 'tag': '(0018,1111)', 'vr': 'DS', 'vm': '1', 'name': 'DistanceSourceToPatient' },
+ '(0018,1114)': { 'tag': '(0018,1114)', 'vr': 'DS', 'vm': '1', 'name': 'EstimatedRadiographicMagnificationFactor' },
+ '(0018,1120)': { 'tag': '(0018,1120)', 'vr': 'DS', 'vm': '1', 'name': 'GantryDetectorTilt' },
+ '(0018,1121)': { 'tag': '(0018,1121)', 'vr': 'DS', 'vm': '1', 'name': 'GantryDetectorSlew' },
+ '(0018,1130)': { 'tag': '(0018,1130)', 'vr': 'DS', 'vm': '1', 'name': 'TableHeight' },
+ '(0018,1131)': { 'tag': '(0018,1131)', 'vr': 'DS', 'vm': '1', 'name': 'TableTraverse' },
+ '(0018,1134)': { 'tag': '(0018,1134)', 'vr': 'CS', 'vm': '1', 'name': 'TableMotion' },
+ '(0018,1135)': { 'tag': '(0018,1135)', 'vr': 'DS', 'vm': '1-n', 'name': 'TableVerticalIncrement' },
+ '(0018,1136)': { 'tag': '(0018,1136)', 'vr': 'DS', 'vm': '1-n', 'name': 'TableLateralIncrement' },
+ '(0018,1137)': { 'tag': '(0018,1137)', 'vr': 'DS', 'vm': '1-n', 'name': 'TableLongitudinalIncrement' },
+ '(0018,1138)': { 'tag': '(0018,1138)', 'vr': 'DS', 'vm': '1', 'name': 'TableAngle' },
+ '(0018,113A)': { 'tag': '(0018,113A)', 'vr': 'CS', 'vm': '1', 'name': 'TableType' },
+ '(0018,1140)': { 'tag': '(0018,1140)', 'vr': 'CS', 'vm': '1', 'name': 'RotationDirection' },
+ '(0018,1141)': { 'tag': '(0018,1141)', 'vr': 'DS', 'vm': '1', 'name': 'AngularPosition' },
+ '(0018,1142)': { 'tag': '(0018,1142)', 'vr': 'DS', 'vm': '1-n', 'name': 'RadialPosition' },
+ '(0018,1143)': { 'tag': '(0018,1143)', 'vr': 'DS', 'vm': '1', 'name': 'ScanArc' },
+ '(0018,1144)': { 'tag': '(0018,1144)', 'vr': 'DS', 'vm': '1', 'name': 'AngularStep' },
+ '(0018,1145)': { 'tag': '(0018,1145)', 'vr': 'DS', 'vm': '1', 'name': 'CenterOfRotationOffset' },
+ '(0018,1146)': { 'tag': '(0018,1146)', 'vr': 'DS', 'vm': '1-n', 'name': 'RotationOffset' },
+ '(0018,1147)': { 'tag': '(0018,1147)', 'vr': 'CS', 'vm': '1', 'name': 'FieldOfViewShape' },
+ '(0018,1149)': { 'tag': '(0018,1149)', 'vr': 'IS', 'vm': '1-2', 'name': 'FieldOfViewDimensions' },
+ '(0018,1150)': { 'tag': '(0018,1150)', 'vr': 'IS', 'vm': '1', 'name': 'ExposureTime' },
+ '(0018,1151)': { 'tag': '(0018,1151)', 'vr': 'IS', 'vm': '1', 'name': 'XRayTubeCurrent' },
+ '(0018,1152)': { 'tag': '(0018,1152)', 'vr': 'IS', 'vm': '1', 'name': 'Exposure' },
+ '(0018,1153)': { 'tag': '(0018,1153)', 'vr': 'IS', 'vm': '1', 'name': 'ExposureInuAs' },
+ '(0018,1154)': { 'tag': '(0018,1154)', 'vr': 'DS', 'vm': '1', 'name': 'AveragePulseWidth' },
+ '(0018,1155)': { 'tag': '(0018,1155)', 'vr': 'CS', 'vm': '1', 'name': 'RadiationSetting' },
+ '(0018,1156)': { 'tag': '(0018,1156)', 'vr': 'CS', 'vm': '1', 'name': 'RectificationType' },
+ '(0018,115A)': { 'tag': '(0018,115A)', 'vr': 'CS', 'vm': '1', 'name': 'RadiationMode' },
+ '(0018,115E)': { 'tag': '(0018,115E)', 'vr': 'DS', 'vm': '1', 'name': 'ImageAndFluoroscopyAreaDoseProduct' },
+ '(0018,1160)': { 'tag': '(0018,1160)', 'vr': 'SH', 'vm': '1', 'name': 'FilterType' },
+ '(0018,1161)': { 'tag': '(0018,1161)', 'vr': 'LO', 'vm': '1-n', 'name': 'TypeOfFilters' },
+ '(0018,1162)': { 'tag': '(0018,1162)', 'vr': 'DS', 'vm': '1', 'name': 'IntensifierSize' },
+ '(0018,1164)': { 'tag': '(0018,1164)', 'vr': 'DS', 'vm': '2', 'name': 'ImagerPixelSpacing' },
+ '(0018,1166)': { 'tag': '(0018,1166)', 'vr': 'CS', 'vm': '1-n', 'name': 'Grid' },
+ '(0018,1170)': { 'tag': '(0018,1170)', 'vr': 'IS', 'vm': '1', 'name': 'GeneratorPower' },
+ '(0018,1180)': { 'tag': '(0018,1180)', 'vr': 'SH', 'vm': '1', 'name': 'CollimatorGridName' },
+ '(0018,1181)': { 'tag': '(0018,1181)', 'vr': 'CS', 'vm': '1', 'name': 'CollimatorType' },
+ '(0018,1182)': { 'tag': '(0018,1182)', 'vr': 'IS', 'vm': '1-2', 'name': 'FocalDistance' },
+ '(0018,1183)': { 'tag': '(0018,1183)', 'vr': 'DS', 'vm': '1-2', 'name': 'XFocusCenter' },
+ '(0018,1184)': { 'tag': '(0018,1184)', 'vr': 'DS', 'vm': '1-2', 'name': 'YFocusCenter' },
+ '(0018,1190)': { 'tag': '(0018,1190)', 'vr': 'DS', 'vm': '1-n', 'name': 'FocalSpots' },
+ '(0018,1191)': { 'tag': '(0018,1191)', 'vr': 'CS', 'vm': '1', 'name': 'AnodeTargetMaterial' },
+ '(0018,11A0)': { 'tag': '(0018,11A0)', 'vr': 'DS', 'vm': '1', 'name': 'BodyPartThickness' },
+ '(0018,11A2)': { 'tag': '(0018,11A2)', 'vr': 'DS', 'vm': '1', 'name': 'CompressionForce' },
+ '(0018,1200)': { 'tag': '(0018,1200)', 'vr': 'DA', 'vm': '1-n', 'name': 'DateOfLastCalibration' },
+ '(0018,1201)': { 'tag': '(0018,1201)', 'vr': 'TM', 'vm': '1-n', 'name': 'TimeOfLastCalibration' },
+ '(0018,1210)': { 'tag': '(0018,1210)', 'vr': 'SH', 'vm': '1-n', 'name': 'ConvolutionKernel' },
+ '(0018,1240)': { 'tag': '(0018,1240)', 'vr': 'IS', 'vm': '1-n', 'name': 'UpperLowerPixelValues' },
+ '(0018,1242)': { 'tag': '(0018,1242)', 'vr': 'IS', 'vm': '1', 'name': 'ActualFrameDuration' },
+ '(0018,1243)': { 'tag': '(0018,1243)', 'vr': 'IS', 'vm': '1', 'name': 'CountRate' },
+ '(0018,1244)': { 'tag': '(0018,1244)', 'vr': 'US', 'vm': '1', 'name': 'PreferredPlaybackSequencing' },
+ '(0018,1250)': { 'tag': '(0018,1250)', 'vr': 'SH', 'vm': '1', 'name': 'ReceiveCoilName' },
+ '(0018,1251)': { 'tag': '(0018,1251)', 'vr': 'SH', 'vm': '1', 'name': 'TransmitCoilName' },
+ '(0018,1260)': { 'tag': '(0018,1260)', 'vr': 'SH', 'vm': '1', 'name': 'PlateType' },
+ '(0018,1261)': { 'tag': '(0018,1261)', 'vr': 'LO', 'vm': '1', 'name': 'PhosphorType' },
+ '(0018,1300)': { 'tag': '(0018,1300)', 'vr': 'DS', 'vm': '1', 'name': 'ScanVelocity' },
+ '(0018,1301)': { 'tag': '(0018,1301)', 'vr': 'CS', 'vm': '1-n', 'name': 'WholeBodyTechnique' },
+ '(0018,1302)': { 'tag': '(0018,1302)', 'vr': 'IS', 'vm': '1', 'name': 'ScanLength' },
+ '(0018,1310)': { 'tag': '(0018,1310)', 'vr': 'US', 'vm': '4', 'name': 'AcquisitionMatrix' },
+ '(0018,1312)': { 'tag': '(0018,1312)', 'vr': 'CS', 'vm': '1', 'name': 'InPlanePhaseEncodingDirection' },
+ '(0018,1314)': { 'tag': '(0018,1314)', 'vr': 'DS', 'vm': '1', 'name': 'FlipAngle' },
+ '(0018,1315)': { 'tag': '(0018,1315)', 'vr': 'CS', 'vm': '1', 'name': 'VariableFlipAngleFlag' },
+ '(0018,1316)': { 'tag': '(0018,1316)', 'vr': 'DS', 'vm': '1', 'name': 'SAR' },
+ '(0018,1318)': { 'tag': '(0018,1318)', 'vr': 'DS', 'vm': '1', 'name': 'dBdt' },
+ '(0018,1400)': { 'tag': '(0018,1400)', 'vr': 'LO', 'vm': '1', 'name': 'AcquisitionDeviceProcessingDescription' },
+ '(0018,1401)': { 'tag': '(0018,1401)', 'vr': 'LO', 'vm': '1', 'name': 'AcquisitionDeviceProcessingCode' },
+ '(0018,1402)': { 'tag': '(0018,1402)', 'vr': 'CS', 'vm': '1', 'name': 'CassetteOrientation' },
+ '(0018,1403)': { 'tag': '(0018,1403)', 'vr': 'CS', 'vm': '1', 'name': 'CassetteSize' },
+ '(0018,1404)': { 'tag': '(0018,1404)', 'vr': 'US', 'vm': '1', 'name': 'ExposuresOnPlate' },
+ '(0018,1405)': { 'tag': '(0018,1405)', 'vr': 'IS', 'vm': '1', 'name': 'RelativeXRayExposure' },
+ '(0018,1411)': { 'tag': '(0018,1411)', 'vr': 'DS', 'vm': '1', 'name': 'ExposureIndex' },
+ '(0018,1412)': { 'tag': '(0018,1412)', 'vr': 'DS', 'vm': '1', 'name': 'TargetExposureIndex' },
+ '(0018,1413)': { 'tag': '(0018,1413)', 'vr': 'DS', 'vm': '1', 'name': 'DeviationIndex' },
+ '(0018,1450)': { 'tag': '(0018,1450)', 'vr': 'DS', 'vm': '1', 'name': 'ColumnAngulation' },
+ '(0018,1460)': { 'tag': '(0018,1460)', 'vr': 'DS', 'vm': '1', 'name': 'TomoLayerHeight' },
+ '(0018,1470)': { 'tag': '(0018,1470)', 'vr': 'DS', 'vm': '1', 'name': 'TomoAngle' },
+ '(0018,1480)': { 'tag': '(0018,1480)', 'vr': 'DS', 'vm': '1', 'name': 'TomoTime' },
+ '(0018,1490)': { 'tag': '(0018,1490)', 'vr': 'CS', 'vm': '1', 'name': 'TomoType' },
+ '(0018,1491)': { 'tag': '(0018,1491)', 'vr': 'CS', 'vm': '1', 'name': 'TomoClass' },
+ '(0018,1495)': { 'tag': '(0018,1495)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfTomosynthesisSourceImages' },
+ '(0018,1500)': { 'tag': '(0018,1500)', 'vr': 'CS', 'vm': '1', 'name': 'PositionerMotion' },
+ '(0018,1508)': { 'tag': '(0018,1508)', 'vr': 'CS', 'vm': '1', 'name': 'PositionerType' },
+ '(0018,1510)': { 'tag': '(0018,1510)', 'vr': 'DS', 'vm': '1', 'name': 'PositionerPrimaryAngle' },
+ '(0018,1511)': { 'tag': '(0018,1511)', 'vr': 'DS', 'vm': '1', 'name': 'PositionerSecondaryAngle' },
+ '(0018,1520)': { 'tag': '(0018,1520)', 'vr': 'DS', 'vm': '1-n', 'name': 'PositionerPrimaryAngleIncrement' },
+ '(0018,1521)': { 'tag': '(0018,1521)', 'vr': 'DS', 'vm': '1-n', 'name': 'PositionerSecondaryAngleIncrement' },
+ '(0018,1530)': { 'tag': '(0018,1530)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorPrimaryAngle' },
+ '(0018,1531)': { 'tag': '(0018,1531)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorSecondaryAngle' },
+ '(0018,1600)': { 'tag': '(0018,1600)', 'vr': 'CS', 'vm': '1-3', 'name': 'ShutterShape' },
+ '(0018,1602)': { 'tag': '(0018,1602)', 'vr': 'IS', 'vm': '1', 'name': 'ShutterLeftVerticalEdge' },
+ '(0018,1604)': { 'tag': '(0018,1604)', 'vr': 'IS', 'vm': '1', 'name': 'ShutterRightVerticalEdge' },
+ '(0018,1606)': { 'tag': '(0018,1606)', 'vr': 'IS', 'vm': '1', 'name': 'ShutterUpperHorizontalEdge' },
+ '(0018,1608)': { 'tag': '(0018,1608)', 'vr': 'IS', 'vm': '1', 'name': 'ShutterLowerHorizontalEdge' },
+ '(0018,1610)': { 'tag': '(0018,1610)', 'vr': 'IS', 'vm': '2', 'name': 'CenterOfCircularShutter' },
+ '(0018,1612)': { 'tag': '(0018,1612)', 'vr': 'IS', 'vm': '1', 'name': 'RadiusOfCircularShutter' },
+ '(0018,1620)': { 'tag': '(0018,1620)', 'vr': 'IS', 'vm': '2-2n', 'name': 'VerticesOfThePolygonalShutter' },
+ '(0018,1622)': { 'tag': '(0018,1622)', 'vr': 'US', 'vm': '1', 'name': 'ShutterPresentationValue' },
+ '(0018,1623)': { 'tag': '(0018,1623)', 'vr': 'US', 'vm': '1', 'name': 'ShutterOverlayGroup' },
+ '(0018,1624)': { 'tag': '(0018,1624)', 'vr': 'US', 'vm': '3', 'name': 'ShutterPresentationColorCIELabValue' },
+ '(0018,1700)': { 'tag': '(0018,1700)', 'vr': 'CS', 'vm': '1-3', 'name': 'CollimatorShape' },
+ '(0018,1702)': { 'tag': '(0018,1702)', 'vr': 'IS', 'vm': '1', 'name': 'CollimatorLeftVerticalEdge' },
+ '(0018,1704)': { 'tag': '(0018,1704)', 'vr': 'IS', 'vm': '1', 'name': 'CollimatorRightVerticalEdge' },
+ '(0018,1706)': { 'tag': '(0018,1706)', 'vr': 'IS', 'vm': '1', 'name': 'CollimatorUpperHorizontalEdge' },
+ '(0018,1708)': { 'tag': '(0018,1708)', 'vr': 'IS', 'vm': '1', 'name': 'CollimatorLowerHorizontalEdge' },
+ '(0018,1710)': { 'tag': '(0018,1710)', 'vr': 'IS', 'vm': '2', 'name': 'CenterOfCircularCollimator' },
+ '(0018,1712)': { 'tag': '(0018,1712)', 'vr': 'IS', 'vm': '1', 'name': 'RadiusOfCircularCollimator' },
+ '(0018,1720)': { 'tag': '(0018,1720)', 'vr': 'IS', 'vm': '2-2n', 'name': 'VerticesOfThePolygonalCollimator' },
+ '(0018,1800)': { 'tag': '(0018,1800)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionTimeSynchronized' },
+ '(0018,1801)': { 'tag': '(0018,1801)', 'vr': 'SH', 'vm': '1', 'name': 'TimeSource' },
+ '(0018,1802)': { 'tag': '(0018,1802)', 'vr': 'CS', 'vm': '1', 'name': 'TimeDistributionProtocol' },
+ '(0018,1803)': { 'tag': '(0018,1803)', 'vr': 'LO', 'vm': '1', 'name': 'NTPSourceAddress' },
+ '(0018,2001)': { 'tag': '(0018,2001)', 'vr': 'IS', 'vm': '1-n', 'name': 'PageNumberVector' },
+ '(0018,2002)': { 'tag': '(0018,2002)', 'vr': 'SH', 'vm': '1-n', 'name': 'FrameLabelVector' },
+ '(0018,2003)': { 'tag': '(0018,2003)', 'vr': 'DS', 'vm': '1-n', 'name': 'FramePrimaryAngleVector' },
+ '(0018,2004)': { 'tag': '(0018,2004)', 'vr': 'DS', 'vm': '1-n', 'name': 'FrameSecondaryAngleVector' },
+ '(0018,2005)': { 'tag': '(0018,2005)', 'vr': 'DS', 'vm': '1-n', 'name': 'SliceLocationVector' },
+ '(0018,2006)': { 'tag': '(0018,2006)', 'vr': 'SH', 'vm': '1-n', 'name': 'DisplayWindowLabelVector' },
+ '(0018,2010)': { 'tag': '(0018,2010)', 'vr': 'DS', 'vm': '2', 'name': 'NominalScannedPixelSpacing' },
+ '(0018,2020)': { 'tag': '(0018,2020)', 'vr': 'CS', 'vm': '1', 'name': 'DigitizingDeviceTransportDirection' },
+ '(0018,2030)': { 'tag': '(0018,2030)', 'vr': 'DS', 'vm': '1', 'name': 'RotationOfScannedFilm' },
+ '(0018,3100)': { 'tag': '(0018,3100)', 'vr': 'CS', 'vm': '1', 'name': 'IVUSAcquisition' },
+ '(0018,3101)': { 'tag': '(0018,3101)', 'vr': 'DS', 'vm': '1', 'name': 'IVUSPullbackRate' },
+ '(0018,3102)': { 'tag': '(0018,3102)', 'vr': 'DS', 'vm': '1', 'name': 'IVUSGatedRate' },
+ '(0018,3103)': { 'tag': '(0018,3103)', 'vr': 'IS', 'vm': '1', 'name': 'IVUSPullbackStartFrameNumber' },
+ '(0018,3104)': { 'tag': '(0018,3104)', 'vr': 'IS', 'vm': '1', 'name': 'IVUSPullbackStopFrameNumber' },
+ '(0018,3105)': { 'tag': '(0018,3105)', 'vr': 'IS', 'vm': '1-n', 'name': 'LesionNumber' },
+ '(0018,4000)': { 'tag': '(0018,4000)', 'vr': 'LT', 'vm': '1', 'name': 'AcquisitionComments' },
+ '(0018,5000)': { 'tag': '(0018,5000)', 'vr': 'SH', 'vm': '1-n', 'name': 'OutputPower' },
+ '(0018,5010)': { 'tag': '(0018,5010)', 'vr': 'LO', 'vm': '1-n', 'name': 'TransducerData' },
+ '(0018,5012)': { 'tag': '(0018,5012)', 'vr': 'DS', 'vm': '1', 'name': 'FocusDepth' },
+ '(0018,5020)': { 'tag': '(0018,5020)', 'vr': 'LO', 'vm': '1', 'name': 'ProcessingFunction' },
+ '(0018,5021)': { 'tag': '(0018,5021)', 'vr': 'LO', 'vm': '1', 'name': 'PostprocessingFunction' },
+ '(0018,5022)': { 'tag': '(0018,5022)', 'vr': 'DS', 'vm': '1', 'name': 'MechanicalIndex' },
+ '(0018,5024)': { 'tag': '(0018,5024)', 'vr': 'DS', 'vm': '1', 'name': 'BoneThermalIndex' },
+ '(0018,5026)': { 'tag': '(0018,5026)', 'vr': 'DS', 'vm': '1', 'name': 'CranialThermalIndex' },
+ '(0018,5027)': { 'tag': '(0018,5027)', 'vr': 'DS', 'vm': '1', 'name': 'SoftTissueThermalIndex' },
+ '(0018,5028)': { 'tag': '(0018,5028)', 'vr': 'DS', 'vm': '1', 'name': 'SoftTissueFocusThermalIndex' },
+ '(0018,5029)': { 'tag': '(0018,5029)', 'vr': 'DS', 'vm': '1', 'name': 'SoftTissueSurfaceThermalIndex' },
+ '(0018,5030)': { 'tag': '(0018,5030)', 'vr': 'DS', 'vm': '1', 'name': 'DynamicRange' },
+ '(0018,5040)': { 'tag': '(0018,5040)', 'vr': 'DS', 'vm': '1', 'name': 'TotalGain' },
+ '(0018,5050)': { 'tag': '(0018,5050)', 'vr': 'IS', 'vm': '1', 'name': 'DepthOfScanField' },
+ '(0018,5100)': { 'tag': '(0018,5100)', 'vr': 'CS', 'vm': '1', 'name': 'PatientPosition' },
+ '(0018,5101)': { 'tag': '(0018,5101)', 'vr': 'CS', 'vm': '1', 'name': 'ViewPosition' },
+ '(0018,5104)': { 'tag': '(0018,5104)', 'vr': 'SQ', 'vm': '1', 'name': 'ProjectionEponymousNameCodeSequence' },
+ '(0018,5210)': { 'tag': '(0018,5210)', 'vr': 'DS', 'vm': '6', 'name': 'ImageTransformationMatrix' },
+ '(0018,5212)': { 'tag': '(0018,5212)', 'vr': 'DS', 'vm': '3', 'name': 'ImageTranslationVector' },
+ '(0018,6000)': { 'tag': '(0018,6000)', 'vr': 'DS', 'vm': '1', 'name': 'Sensitivity' },
+ '(0018,6011)': { 'tag': '(0018,6011)', 'vr': 'SQ', 'vm': '1', 'name': 'SequenceOfUltrasoundRegions' },
+ '(0018,6012)': { 'tag': '(0018,6012)', 'vr': 'US', 'vm': '1', 'name': 'RegionSpatialFormat' },
+ '(0018,6014)': { 'tag': '(0018,6014)', 'vr': 'US', 'vm': '1', 'name': 'RegionDataType' },
+ '(0018,6016)': { 'tag': '(0018,6016)', 'vr': 'UL', 'vm': '1', 'name': 'RegionFlags' },
+ '(0018,6018)': { 'tag': '(0018,6018)', 'vr': 'UL', 'vm': '1', 'name': 'RegionLocationMinX0' },
+ '(0018,601A)': { 'tag': '(0018,601A)', 'vr': 'UL', 'vm': '1', 'name': 'RegionLocationMinY0' },
+ '(0018,601C)': { 'tag': '(0018,601C)', 'vr': 'UL', 'vm': '1', 'name': 'RegionLocationMaxX1' },
+ '(0018,601E)': { 'tag': '(0018,601E)', 'vr': 'UL', 'vm': '1', 'name': 'RegionLocationMaxY1' },
+ '(0018,6020)': { 'tag': '(0018,6020)', 'vr': 'SL', 'vm': '1', 'name': 'ReferencePixelX0' },
+ '(0018,6022)': { 'tag': '(0018,6022)', 'vr': 'SL', 'vm': '1', 'name': 'ReferencePixelY0' },
+ '(0018,6024)': { 'tag': '(0018,6024)', 'vr': 'US', 'vm': '1', 'name': 'PhysicalUnitsXDirection' },
+ '(0018,6026)': { 'tag': '(0018,6026)', 'vr': 'US', 'vm': '1', 'name': 'PhysicalUnitsYDirection' },
+ '(0018,6028)': { 'tag': '(0018,6028)', 'vr': 'FD', 'vm': '1', 'name': 'ReferencePixelPhysicalValueX' },
+ '(0018,602A)': { 'tag': '(0018,602A)', 'vr': 'FD', 'vm': '1', 'name': 'ReferencePixelPhysicalValueY' },
+ '(0018,602C)': { 'tag': '(0018,602C)', 'vr': 'FD', 'vm': '1', 'name': 'PhysicalDeltaX' },
+ '(0018,602E)': { 'tag': '(0018,602E)', 'vr': 'FD', 'vm': '1', 'name': 'PhysicalDeltaY' },
+ '(0018,6030)': { 'tag': '(0018,6030)', 'vr': 'UL', 'vm': '1', 'name': 'TransducerFrequency' },
+ '(0018,6031)': { 'tag': '(0018,6031)', 'vr': 'CS', 'vm': '1', 'name': 'TransducerType' },
+ '(0018,6032)': { 'tag': '(0018,6032)', 'vr': 'UL', 'vm': '1', 'name': 'PulseRepetitionFrequency' },
+ '(0018,6034)': { 'tag': '(0018,6034)', 'vr': 'FD', 'vm': '1', 'name': 'DopplerCorrectionAngle' },
+ '(0018,6036)': { 'tag': '(0018,6036)', 'vr': 'FD', 'vm': '1', 'name': 'SteeringAngle' },
+ '(0018,6038)': { 'tag': '(0018,6038)', 'vr': 'UL', 'vm': '1', 'name': 'DopplerSampleVolumeXPositionRetired' },
+ '(0018,6039)': { 'tag': '(0018,6039)', 'vr': 'SL', 'vm': '1', 'name': 'DopplerSampleVolumeXPosition' },
+ '(0018,603A)': { 'tag': '(0018,603A)', 'vr': 'UL', 'vm': '1', 'name': 'DopplerSampleVolumeYPositionRetired' },
+ '(0018,603B)': { 'tag': '(0018,603B)', 'vr': 'SL', 'vm': '1', 'name': 'DopplerSampleVolumeYPosition' },
+ '(0018,603C)': { 'tag': '(0018,603C)', 'vr': 'UL', 'vm': '1', 'name': 'TMLinePositionX0Retired' },
+ '(0018,603D)': { 'tag': '(0018,603D)', 'vr': 'SL', 'vm': '1', 'name': 'TMLinePositionX0' },
+ '(0018,603E)': { 'tag': '(0018,603E)', 'vr': 'UL', 'vm': '1', 'name': 'TMLinePositionY0Retired' },
+ '(0018,603F)': { 'tag': '(0018,603F)', 'vr': 'SL', 'vm': '1', 'name': 'TMLinePositionY0' },
+ '(0018,6040)': { 'tag': '(0018,6040)', 'vr': 'UL', 'vm': '1', 'name': 'TMLinePositionX1Retired' },
+ '(0018,6041)': { 'tag': '(0018,6041)', 'vr': 'SL', 'vm': '1', 'name': 'TMLinePositionX1' },
+ '(0018,6042)': { 'tag': '(0018,6042)', 'vr': 'UL', 'vm': '1', 'name': 'TMLinePositionY1Retired' },
+ '(0018,6043)': { 'tag': '(0018,6043)', 'vr': 'SL', 'vm': '1', 'name': 'TMLinePositionY1' },
+ '(0018,6044)': { 'tag': '(0018,6044)', 'vr': 'US', 'vm': '1', 'name': 'PixelComponentOrganization' },
+ '(0018,6046)': { 'tag': '(0018,6046)', 'vr': 'UL', 'vm': '1', 'name': 'PixelComponentMask' },
+ '(0018,6048)': { 'tag': '(0018,6048)', 'vr': 'UL', 'vm': '1', 'name': 'PixelComponentRangeStart' },
+ '(0018,604A)': { 'tag': '(0018,604A)', 'vr': 'UL', 'vm': '1', 'name': 'PixelComponentRangeStop' },
+ '(0018,604C)': { 'tag': '(0018,604C)', 'vr': 'US', 'vm': '1', 'name': 'PixelComponentPhysicalUnits' },
+ '(0018,604E)': { 'tag': '(0018,604E)', 'vr': 'US', 'vm': '1', 'name': 'PixelComponentDataType' },
+ '(0018,6050)': { 'tag': '(0018,6050)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfTableBreakPoints' },
+ '(0018,6052)': { 'tag': '(0018,6052)', 'vr': 'UL', 'vm': '1-n', 'name': 'TableOfXBreakPoints' },
+ '(0018,6054)': { 'tag': '(0018,6054)', 'vr': 'FD', 'vm': '1-n', 'name': 'TableOfYBreakPoints' },
+ '(0018,6056)': { 'tag': '(0018,6056)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfTableEntries' },
+ '(0018,6058)': { 'tag': '(0018,6058)', 'vr': 'UL', 'vm': '1-n', 'name': 'TableOfPixelValues' },
+ '(0018,605A)': { 'tag': '(0018,605A)', 'vr': 'FL', 'vm': '1-n', 'name': 'TableOfParameterValues' },
+ '(0018,6060)': { 'tag': '(0018,6060)', 'vr': 'FL', 'vm': '1-n', 'name': 'RWaveTimeVector' },
+ '(0018,7000)': { 'tag': '(0018,7000)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorConditionsNominalFlag' },
+ '(0018,7001)': { 'tag': '(0018,7001)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorTemperature' },
+ '(0018,7004)': { 'tag': '(0018,7004)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorType' },
+ '(0018,7005)': { 'tag': '(0018,7005)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorConfiguration' },
+ '(0018,7006)': { 'tag': '(0018,7006)', 'vr': 'LT', 'vm': '1', 'name': 'DetectorDescription' },
+ '(0018,7008)': { 'tag': '(0018,7008)', 'vr': 'LT', 'vm': '1', 'name': 'DetectorMode' },
+ '(0018,700A)': { 'tag': '(0018,700A)', 'vr': 'SH', 'vm': '1', 'name': 'DetectorID' },
+ '(0018,700C)': { 'tag': '(0018,700C)', 'vr': 'DA', 'vm': '1', 'name': 'DateOfLastDetectorCalibration' },
+ '(0018,700E)': { 'tag': '(0018,700E)', 'vr': 'TM', 'vm': '1', 'name': 'TimeOfLastDetectorCalibration' },
+ '(0018,7010)': { 'tag': '(0018,7010)', 'vr': 'IS', 'vm': '1', 'name': 'ExposuresOnDetectorSinceLastCalibration' },
+ '(0018,7011)': { 'tag': '(0018,7011)', 'vr': 'IS', 'vm': '1', 'name': 'ExposuresOnDetectorSinceManufactured' },
+ '(0018,7012)': { 'tag': '(0018,7012)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorTimeSinceLastExposure' },
+ '(0018,7014)': { 'tag': '(0018,7014)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorActiveTime' },
+ '(0018,7016)': { 'tag': '(0018,7016)', 'vr': 'DS', 'vm': '1', 'name': 'DetectorActivationOffsetFromExposure' },
+ '(0018,701A)': { 'tag': '(0018,701A)', 'vr': 'DS', 'vm': '2', 'name': 'DetectorBinning' },
+ '(0018,7020)': { 'tag': '(0018,7020)', 'vr': 'DS', 'vm': '2', 'name': 'DetectorElementPhysicalSize' },
+ '(0018,7022)': { 'tag': '(0018,7022)', 'vr': 'DS', 'vm': '2', 'name': 'DetectorElementSpacing' },
+ '(0018,7024)': { 'tag': '(0018,7024)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorActiveShape' },
+ '(0018,7026)': { 'tag': '(0018,7026)', 'vr': 'DS', 'vm': '1-2', 'name': 'DetectorActiveDimensions' },
+ '(0018,7028)': { 'tag': '(0018,7028)', 'vr': 'DS', 'vm': '2', 'name': 'DetectorActiveOrigin' },
+ '(0018,702A)': { 'tag': '(0018,702A)', 'vr': 'LO', 'vm': '1', 'name': 'DetectorManufacturerName' },
+ '(0018,702B)': { 'tag': '(0018,702B)', 'vr': 'LO', 'vm': '1', 'name': 'DetectorManufacturerModelName' },
+ '(0018,7030)': { 'tag': '(0018,7030)', 'vr': 'DS', 'vm': '2', 'name': 'FieldOfViewOrigin' },
+ '(0018,7032)': { 'tag': '(0018,7032)', 'vr': 'DS', 'vm': '1', 'name': 'FieldOfViewRotation' },
+ '(0018,7034)': { 'tag': '(0018,7034)', 'vr': 'CS', 'vm': '1', 'name': 'FieldOfViewHorizontalFlip' },
+ '(0018,7036)': { 'tag': '(0018,7036)', 'vr': 'FL', 'vm': '2', 'name': 'PixelDataAreaOriginRelativeToFOV' },
+ '(0018,7038)': { 'tag': '(0018,7038)', 'vr': 'FL', 'vm': '1', 'name': 'PixelDataAreaRotationAngleRelativeToFOV' },
+ '(0018,7040)': { 'tag': '(0018,7040)', 'vr': 'LT', 'vm': '1', 'name': 'GridAbsorbingMaterial' },
+ '(0018,7041)': { 'tag': '(0018,7041)', 'vr': 'LT', 'vm': '1', 'name': 'GridSpacingMaterial' },
+ '(0018,7042)': { 'tag': '(0018,7042)', 'vr': 'DS', 'vm': '1', 'name': 'GridThickness' },
+ '(0018,7044)': { 'tag': '(0018,7044)', 'vr': 'DS', 'vm': '1', 'name': 'GridPitch' },
+ '(0018,7046)': { 'tag': '(0018,7046)', 'vr': 'IS', 'vm': '2', 'name': 'GridAspectRatio' },
+ '(0018,7048)': { 'tag': '(0018,7048)', 'vr': 'DS', 'vm': '1', 'name': 'GridPeriod' },
+ '(0018,704C)': { 'tag': '(0018,704C)', 'vr': 'DS', 'vm': '1', 'name': 'GridFocalDistance' },
+ '(0018,7050)': { 'tag': '(0018,7050)', 'vr': 'CS', 'vm': '1-n', 'name': 'FilterMaterial' },
+ '(0018,7052)': { 'tag': '(0018,7052)', 'vr': 'DS', 'vm': '1-n', 'name': 'FilterThicknessMinimum' },
+ '(0018,7054)': { 'tag': '(0018,7054)', 'vr': 'DS', 'vm': '1-n', 'name': 'FilterThicknessMaximum' },
+ '(0018,7056)': { 'tag': '(0018,7056)', 'vr': 'FL', 'vm': '1-n', 'name': 'FilterBeamPathLengthMinimum' },
+ '(0018,7058)': { 'tag': '(0018,7058)', 'vr': 'FL', 'vm': '1-n', 'name': 'FilterBeamPathLengthMaximum' },
+ '(0018,7060)': { 'tag': '(0018,7060)', 'vr': 'CS', 'vm': '1', 'name': 'ExposureControlMode' },
+ '(0018,7062)': { 'tag': '(0018,7062)', 'vr': 'LT', 'vm': '1', 'name': 'ExposureControlModeDescription' },
+ '(0018,7064)': { 'tag': '(0018,7064)', 'vr': 'CS', 'vm': '1', 'name': 'ExposureStatus' },
+ '(0018,7065)': { 'tag': '(0018,7065)', 'vr': 'DS', 'vm': '1', 'name': 'PhototimerSetting' },
+ '(0018,8150)': { 'tag': '(0018,8150)', 'vr': 'DS', 'vm': '1', 'name': 'ExposureTimeInuS' },
+ '(0018,8151)': { 'tag': '(0018,8151)', 'vr': 'DS', 'vm': '1', 'name': 'XRayTubeCurrentInuA' },
+ '(0018,9004)': { 'tag': '(0018,9004)', 'vr': 'CS', 'vm': '1', 'name': 'ContentQualification' },
+ '(0018,9005)': { 'tag': '(0018,9005)', 'vr': 'SH', 'vm': '1', 'name': 'PulseSequenceName' },
+ '(0018,9006)': { 'tag': '(0018,9006)', 'vr': 'SQ', 'vm': '1', 'name': 'MRImagingModifierSequence' },
+ '(0018,9008)': { 'tag': '(0018,9008)', 'vr': 'CS', 'vm': '1', 'name': 'EchoPulseSequence' },
+ '(0018,9009)': { 'tag': '(0018,9009)', 'vr': 'CS', 'vm': '1', 'name': 'InversionRecovery' },
+ '(0018,9010)': { 'tag': '(0018,9010)', 'vr': 'CS', 'vm': '1', 'name': 'FlowCompensation' },
+ '(0018,9011)': { 'tag': '(0018,9011)', 'vr': 'CS', 'vm': '1', 'name': 'MultipleSpinEcho' },
+ '(0018,9012)': { 'tag': '(0018,9012)', 'vr': 'CS', 'vm': '1', 'name': 'MultiPlanarExcitation' },
+ '(0018,9014)': { 'tag': '(0018,9014)', 'vr': 'CS', 'vm': '1', 'name': 'PhaseContrast' },
+ '(0018,9015)': { 'tag': '(0018,9015)', 'vr': 'CS', 'vm': '1', 'name': 'TimeOfFlightContrast' },
+ '(0018,9016)': { 'tag': '(0018,9016)', 'vr': 'CS', 'vm': '1', 'name': 'Spoiling' },
+ '(0018,9017)': { 'tag': '(0018,9017)', 'vr': 'CS', 'vm': '1', 'name': 'SteadyStatePulseSequence' },
+ '(0018,9018)': { 'tag': '(0018,9018)', 'vr': 'CS', 'vm': '1', 'name': 'EchoPlanarPulseSequence' },
+ '(0018,9019)': { 'tag': '(0018,9019)', 'vr': 'FD', 'vm': '1', 'name': 'TagAngleFirstAxis' },
+ '(0018,9020)': { 'tag': '(0018,9020)', 'vr': 'CS', 'vm': '1', 'name': 'MagnetizationTransfer' },
+ '(0018,9021)': { 'tag': '(0018,9021)', 'vr': 'CS', 'vm': '1', 'name': 'T2Preparation' },
+ '(0018,9022)': { 'tag': '(0018,9022)', 'vr': 'CS', 'vm': '1', 'name': 'BloodSignalNulling' },
+ '(0018,9024)': { 'tag': '(0018,9024)', 'vr': 'CS', 'vm': '1', 'name': 'SaturationRecovery' },
+ '(0018,9025)': { 'tag': '(0018,9025)', 'vr': 'CS', 'vm': '1', 'name': 'SpectrallySelectedSuppression' },
+ '(0018,9026)': { 'tag': '(0018,9026)', 'vr': 'CS', 'vm': '1', 'name': 'SpectrallySelectedExcitation' },
+ '(0018,9027)': { 'tag': '(0018,9027)', 'vr': 'CS', 'vm': '1', 'name': 'SpatialPresaturation' },
+ '(0018,9028)': { 'tag': '(0018,9028)', 'vr': 'CS', 'vm': '1', 'name': 'Tagging' },
+ '(0018,9029)': { 'tag': '(0018,9029)', 'vr': 'CS', 'vm': '1', 'name': 'OversamplingPhase' },
+ '(0018,9030)': { 'tag': '(0018,9030)', 'vr': 'FD', 'vm': '1', 'name': 'TagSpacingFirstDimension' },
+ '(0018,9032)': { 'tag': '(0018,9032)', 'vr': 'CS', 'vm': '1', 'name': 'GeometryOfKSpaceTraversal' },
+ '(0018,9033)': { 'tag': '(0018,9033)', 'vr': 'CS', 'vm': '1', 'name': 'SegmentedKSpaceTraversal' },
+ '(0018,9034)': { 'tag': '(0018,9034)', 'vr': 'CS', 'vm': '1', 'name': 'RectilinearPhaseEncodeReordering' },
+ '(0018,9035)': { 'tag': '(0018,9035)', 'vr': 'FD', 'vm': '1', 'name': 'TagThickness' },
+ '(0018,9036)': { 'tag': '(0018,9036)', 'vr': 'CS', 'vm': '1', 'name': 'PartialFourierDirection' },
+ '(0018,9037)': { 'tag': '(0018,9037)', 'vr': 'CS', 'vm': '1', 'name': 'CardiacSynchronizationTechnique' },
+ '(0018,9041)': { 'tag': '(0018,9041)', 'vr': 'LO', 'vm': '1', 'name': 'ReceiveCoilManufacturerName' },
+ '(0018,9042)': { 'tag': '(0018,9042)', 'vr': 'SQ', 'vm': '1', 'name': 'MRReceiveCoilSequence' },
+ '(0018,9043)': { 'tag': '(0018,9043)', 'vr': 'CS', 'vm': '1', 'name': 'ReceiveCoilType' },
+ '(0018,9044)': { 'tag': '(0018,9044)', 'vr': 'CS', 'vm': '1', 'name': 'QuadratureReceiveCoil' },
+ '(0018,9045)': { 'tag': '(0018,9045)', 'vr': 'SQ', 'vm': '1', 'name': 'MultiCoilDefinitionSequence' },
+ '(0018,9046)': { 'tag': '(0018,9046)', 'vr': 'LO', 'vm': '1', 'name': 'MultiCoilConfiguration' },
+ '(0018,9047)': { 'tag': '(0018,9047)', 'vr': 'SH', 'vm': '1', 'name': 'MultiCoilElementName' },
+ '(0018,9048)': { 'tag': '(0018,9048)', 'vr': 'CS', 'vm': '1', 'name': 'MultiCoilElementUsed' },
+ '(0018,9049)': { 'tag': '(0018,9049)', 'vr': 'SQ', 'vm': '1', 'name': 'MRTransmitCoilSequence' },
+ '(0018,9050)': { 'tag': '(0018,9050)', 'vr': 'LO', 'vm': '1', 'name': 'TransmitCoilManufacturerName' },
+ '(0018,9051)': { 'tag': '(0018,9051)', 'vr': 'CS', 'vm': '1', 'name': 'TransmitCoilType' },
+ '(0018,9052)': { 'tag': '(0018,9052)', 'vr': 'FD', 'vm': '1-2', 'name': 'SpectralWidth' },
+ '(0018,9053)': { 'tag': '(0018,9053)', 'vr': 'FD', 'vm': '1-2', 'name': 'ChemicalShiftReference' },
+ '(0018,9054)': { 'tag': '(0018,9054)', 'vr': 'CS', 'vm': '1', 'name': 'VolumeLocalizationTechnique' },
+ '(0018,9058)': { 'tag': '(0018,9058)', 'vr': 'US', 'vm': '1', 'name': 'MRAcquisitionFrequencyEncodingSteps' },
+ '(0018,9059)': { 'tag': '(0018,9059)', 'vr': 'CS', 'vm': '1', 'name': 'Decoupling' },
+ '(0018,9060)': { 'tag': '(0018,9060)', 'vr': 'CS', 'vm': '1-2', 'name': 'DecoupledNucleus' },
+ '(0018,9061)': { 'tag': '(0018,9061)', 'vr': 'FD', 'vm': '1-2', 'name': 'DecouplingFrequency' },
+ '(0018,9062)': { 'tag': '(0018,9062)', 'vr': 'CS', 'vm': '1', 'name': 'DecouplingMethod' },
+ '(0018,9063)': { 'tag': '(0018,9063)', 'vr': 'FD', 'vm': '1-2', 'name': 'DecouplingChemicalShiftReference' },
+ '(0018,9064)': { 'tag': '(0018,9064)', 'vr': 'CS', 'vm': '1', 'name': 'KSpaceFiltering' },
+ '(0018,9065)': { 'tag': '(0018,9065)', 'vr': 'CS', 'vm': '1-2', 'name': 'TimeDomainFiltering' },
+ '(0018,9066)': { 'tag': '(0018,9066)', 'vr': 'US', 'vm': '1-2', 'name': 'NumberOfZeroFills' },
+ '(0018,9067)': { 'tag': '(0018,9067)', 'vr': 'CS', 'vm': '1', 'name': 'BaselineCorrection' },
+ '(0018,9069)': { 'tag': '(0018,9069)', 'vr': 'FD', 'vm': '1', 'name': 'ParallelReductionFactorInPlane' },
+ '(0018,9070)': { 'tag': '(0018,9070)', 'vr': 'FD', 'vm': '1', 'name': 'CardiacRRIntervalSpecified' },
+ '(0018,9073)': { 'tag': '(0018,9073)', 'vr': 'FD', 'vm': '1', 'name': 'AcquisitionDuration' },
+ '(0018,9074)': { 'tag': '(0018,9074)', 'vr': 'DT', 'vm': '1', 'name': 'FrameAcquisitionDateTime' },
+ '(0018,9075)': { 'tag': '(0018,9075)', 'vr': 'CS', 'vm': '1', 'name': 'DiffusionDirectionality' },
+ '(0018,9076)': { 'tag': '(0018,9076)', 'vr': 'SQ', 'vm': '1', 'name': 'DiffusionGradientDirectionSequence' },
+ '(0018,9077)': { 'tag': '(0018,9077)', 'vr': 'CS', 'vm': '1', 'name': 'ParallelAcquisition' },
+ '(0018,9078)': { 'tag': '(0018,9078)', 'vr': 'CS', 'vm': '1', 'name': 'ParallelAcquisitionTechnique' },
+ '(0018,9079)': { 'tag': '(0018,9079)', 'vr': 'FD', 'vm': '1-n', 'name': 'InversionTimes' },
+ '(0018,9080)': { 'tag': '(0018,9080)', 'vr': 'ST', 'vm': '1', 'name': 'MetaboliteMapDescription' },
+ '(0018,9081)': { 'tag': '(0018,9081)', 'vr': 'CS', 'vm': '1', 'name': 'PartialFourier' },
+ '(0018,9082)': { 'tag': '(0018,9082)', 'vr': 'FD', 'vm': '1', 'name': 'EffectiveEchoTime' },
+ '(0018,9083)': { 'tag': '(0018,9083)', 'vr': 'SQ', 'vm': '1', 'name': 'MetaboliteMapCodeSequence' },
+ '(0018,9084)': { 'tag': '(0018,9084)', 'vr': 'SQ', 'vm': '1', 'name': 'ChemicalShiftSequence' },
+ '(0018,9085)': { 'tag': '(0018,9085)', 'vr': 'CS', 'vm': '1', 'name': 'CardiacSignalSource' },
+ '(0018,9087)': { 'tag': '(0018,9087)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValue' },
+ '(0018,9089)': { 'tag': '(0018,9089)', 'vr': 'FD', 'vm': '3', 'name': 'DiffusionGradientOrientation' },
+ '(0018,9090)': { 'tag': '(0018,9090)', 'vr': 'FD', 'vm': '3', 'name': 'VelocityEncodingDirection' },
+ '(0018,9091)': { 'tag': '(0018,9091)', 'vr': 'FD', 'vm': '1', 'name': 'VelocityEncodingMinimumValue' },
+ '(0018,9092)': { 'tag': '(0018,9092)', 'vr': 'SQ', 'vm': '1', 'name': 'VelocityEncodingAcquisitionSequence' },
+ '(0018,9093)': { 'tag': '(0018,9093)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfKSpaceTrajectories' },
+ '(0018,9094)': { 'tag': '(0018,9094)', 'vr': 'CS', 'vm': '1', 'name': 'CoverageOfKSpace' },
+ '(0018,9095)': { 'tag': '(0018,9095)', 'vr': 'UL', 'vm': '1', 'name': 'SpectroscopyAcquisitionPhaseRows' },
+ '(0018,9096)': { 'tag': '(0018,9096)', 'vr': 'FD', 'vm': '1', 'name': 'ParallelReductionFactorInPlaneRetired' },
+ '(0018,9098)': { 'tag': '(0018,9098)', 'vr': 'FD', 'vm': '1-2', 'name': 'TransmitterFrequency' },
+ '(0018,9100)': { 'tag': '(0018,9100)', 'vr': 'CS', 'vm': '1-2', 'name': 'ResonantNucleus' },
+ '(0018,9101)': { 'tag': '(0018,9101)', 'vr': 'CS', 'vm': '1', 'name': 'FrequencyCorrection' },
+ '(0018,9103)': { 'tag': '(0018,9103)', 'vr': 'SQ', 'vm': '1', 'name': 'MRSpectroscopyFOVGeometrySequence' },
+ '(0018,9104)': { 'tag': '(0018,9104)', 'vr': 'FD', 'vm': '1', 'name': 'SlabThickness' },
+ '(0018,9105)': { 'tag': '(0018,9105)', 'vr': 'FD', 'vm': '3', 'name': 'SlabOrientation' },
+ '(0018,9106)': { 'tag': '(0018,9106)', 'vr': 'FD', 'vm': '3', 'name': 'MidSlabPosition' },
+ '(0018,9107)': { 'tag': '(0018,9107)', 'vr': 'SQ', 'vm': '1', 'name': 'MRSpatialSaturationSequence' },
+ '(0018,9112)': { 'tag': '(0018,9112)', 'vr': 'SQ', 'vm': '1', 'name': 'MRTimingAndRelatedParametersSequence' },
+ '(0018,9114)': { 'tag': '(0018,9114)', 'vr': 'SQ', 'vm': '1', 'name': 'MREchoSequence' },
+ '(0018,9115)': { 'tag': '(0018,9115)', 'vr': 'SQ', 'vm': '1', 'name': 'MRModifierSequence' },
+ '(0018,9117)': { 'tag': '(0018,9117)', 'vr': 'SQ', 'vm': '1', 'name': 'MRDiffusionSequence' },
+ '(0018,9118)': { 'tag': '(0018,9118)', 'vr': 'SQ', 'vm': '1', 'name': 'CardiacSynchronizationSequence' },
+ '(0018,9119)': { 'tag': '(0018,9119)', 'vr': 'SQ', 'vm': '1', 'name': 'MRAveragesSequence' },
+ '(0018,9125)': { 'tag': '(0018,9125)', 'vr': 'SQ', 'vm': '1', 'name': 'MRFOVGeometrySequence' },
+ '(0018,9126)': { 'tag': '(0018,9126)', 'vr': 'SQ', 'vm': '1', 'name': 'VolumeLocalizationSequence' },
+ '(0018,9127)': { 'tag': '(0018,9127)', 'vr': 'UL', 'vm': '1', 'name': 'SpectroscopyAcquisitionDataColumns' },
+ '(0018,9147)': { 'tag': '(0018,9147)', 'vr': 'CS', 'vm': '1', 'name': 'DiffusionAnisotropyType' },
+ '(0018,9151)': { 'tag': '(0018,9151)', 'vr': 'DT', 'vm': '1', 'name': 'FrameReferenceDateTime' },
+ '(0018,9152)': { 'tag': '(0018,9152)', 'vr': 'SQ', 'vm': '1', 'name': 'MRMetaboliteMapSequence' },
+ '(0018,9155)': { 'tag': '(0018,9155)', 'vr': 'FD', 'vm': '1', 'name': 'ParallelReductionFactorOutOfPlane' },
+ '(0018,9159)': { 'tag': '(0018,9159)', 'vr': 'UL', 'vm': '1', 'name': 'SpectroscopyAcquisitionOutOfPlanePhaseSteps' },
+ '(0018,9166)': { 'tag': '(0018,9166)', 'vr': 'CS', 'vm': '1', 'name': 'BulkMotionStatus' },
+ '(0018,9168)': { 'tag': '(0018,9168)', 'vr': 'FD', 'vm': '1', 'name': 'ParallelReductionFactorSecondInPlane' },
+ '(0018,9169)': { 'tag': '(0018,9169)', 'vr': 'CS', 'vm': '1', 'name': 'CardiacBeatRejectionTechnique' },
+ '(0018,9170)': { 'tag': '(0018,9170)', 'vr': 'CS', 'vm': '1', 'name': 'RespiratoryMotionCompensationTechnique' },
+ '(0018,9171)': { 'tag': '(0018,9171)', 'vr': 'CS', 'vm': '1', 'name': 'RespiratorySignalSource' },
+ '(0018,9172)': { 'tag': '(0018,9172)', 'vr': 'CS', 'vm': '1', 'name': 'BulkMotionCompensationTechnique' },
+ '(0018,9173)': { 'tag': '(0018,9173)', 'vr': 'CS', 'vm': '1', 'name': 'BulkMotionSignalSource' },
+ '(0018,9174)': { 'tag': '(0018,9174)', 'vr': 'CS', 'vm': '1', 'name': 'ApplicableSafetyStandardAgency' },
+ '(0018,9175)': { 'tag': '(0018,9175)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicableSafetyStandardDescription' },
+ '(0018,9176)': { 'tag': '(0018,9176)', 'vr': 'SQ', 'vm': '1', 'name': 'OperatingModeSequence' },
+ '(0018,9177)': { 'tag': '(0018,9177)', 'vr': 'CS', 'vm': '1', 'name': 'OperatingModeType' },
+ '(0018,9178)': { 'tag': '(0018,9178)', 'vr': 'CS', 'vm': '1', 'name': 'OperatingMode' },
+ '(0018,9179)': { 'tag': '(0018,9179)', 'vr': 'CS', 'vm': '1', 'name': 'SpecificAbsorptionRateDefinition' },
+ '(0018,9180)': { 'tag': '(0018,9180)', 'vr': 'CS', 'vm': '1', 'name': 'GradientOutputType' },
+ '(0018,9181)': { 'tag': '(0018,9181)', 'vr': 'FD', 'vm': '1', 'name': 'SpecificAbsorptionRateValue' },
+ '(0018,9182)': { 'tag': '(0018,9182)', 'vr': 'FD', 'vm': '1', 'name': 'GradientOutput' },
+ '(0018,9183)': { 'tag': '(0018,9183)', 'vr': 'CS', 'vm': '1', 'name': 'FlowCompensationDirection' },
+ '(0018,9184)': { 'tag': '(0018,9184)', 'vr': 'FD', 'vm': '1', 'name': 'TaggingDelay' },
+ '(0018,9185)': { 'tag': '(0018,9185)', 'vr': 'ST', 'vm': '1', 'name': 'RespiratoryMotionCompensationTechniqueDescription' },
+ '(0018,9186)': { 'tag': '(0018,9186)', 'vr': 'SH', 'vm': '1', 'name': 'RespiratorySignalSourceID' },
+ '(0018,9195)': { 'tag': '(0018,9195)', 'vr': 'FD', 'vm': '1', 'name': 'ChemicalShiftMinimumIntegrationLimitInHz' },
+ '(0018,9196)': { 'tag': '(0018,9196)', 'vr': 'FD', 'vm': '1', 'name': 'ChemicalShiftMaximumIntegrationLimitInHz' },
+ '(0018,9197)': { 'tag': '(0018,9197)', 'vr': 'SQ', 'vm': '1', 'name': 'MRVelocityEncodingSequence' },
+ '(0018,9198)': { 'tag': '(0018,9198)', 'vr': 'CS', 'vm': '1', 'name': 'FirstOrderPhaseCorrection' },
+ '(0018,9199)': { 'tag': '(0018,9199)', 'vr': 'CS', 'vm': '1', 'name': 'WaterReferencedPhaseCorrection' },
+ '(0018,9200)': { 'tag': '(0018,9200)', 'vr': 'CS', 'vm': '1', 'name': 'MRSpectroscopyAcquisitionType' },
+ '(0018,9214)': { 'tag': '(0018,9214)', 'vr': 'CS', 'vm': '1', 'name': 'RespiratoryCyclePosition' },
+ '(0018,9217)': { 'tag': '(0018,9217)', 'vr': 'FD', 'vm': '1', 'name': 'VelocityEncodingMaximumValue' },
+ '(0018,9218)': { 'tag': '(0018,9218)', 'vr': 'FD', 'vm': '1', 'name': 'TagSpacingSecondDimension' },
+ '(0018,9219)': { 'tag': '(0018,9219)', 'vr': 'SS', 'vm': '1', 'name': 'TagAngleSecondAxis' },
+ '(0018,9220)': { 'tag': '(0018,9220)', 'vr': 'FD', 'vm': '1', 'name': 'FrameAcquisitionDuration' },
+ '(0018,9226)': { 'tag': '(0018,9226)', 'vr': 'SQ', 'vm': '1', 'name': 'MRImageFrameTypeSequence' },
+ '(0018,9227)': { 'tag': '(0018,9227)', 'vr': 'SQ', 'vm': '1', 'name': 'MRSpectroscopyFrameTypeSequence' },
+ '(0018,9231)': { 'tag': '(0018,9231)', 'vr': 'US', 'vm': '1', 'name': 'MRAcquisitionPhaseEncodingStepsInPlane' },
+ '(0018,9232)': { 'tag': '(0018,9232)', 'vr': 'US', 'vm': '1', 'name': 'MRAcquisitionPhaseEncodingStepsOutOfPlane' },
+ '(0018,9234)': { 'tag': '(0018,9234)', 'vr': 'UL', 'vm': '1', 'name': 'SpectroscopyAcquisitionPhaseColumns' },
+ '(0018,9236)': { 'tag': '(0018,9236)', 'vr': 'CS', 'vm': '1', 'name': 'CardiacCyclePosition' },
+ '(0018,9239)': { 'tag': '(0018,9239)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecificAbsorptionRateSequence' },
+ '(0018,9240)': { 'tag': '(0018,9240)', 'vr': 'US', 'vm': '1', 'name': 'RFEchoTrainLength' },
+ '(0018,9241)': { 'tag': '(0018,9241)', 'vr': 'US', 'vm': '1', 'name': 'GradientEchoTrainLength' },
+ '(0018,9250)': { 'tag': '(0018,9250)', 'vr': 'CS', 'vm': '1', 'name': 'ArterialSpinLabelingContrast' },
+ '(0018,9251)': { 'tag': '(0018,9251)', 'vr': 'SQ', 'vm': '1', 'name': 'MRArterialSpinLabelingSequence' },
+ '(0018,9252)': { 'tag': '(0018,9252)', 'vr': 'LO', 'vm': '1', 'name': 'ASLTechniqueDescription' },
+ '(0018,9253)': { 'tag': '(0018,9253)', 'vr': 'US', 'vm': '1', 'name': 'ASLSlabNumber' },
+ '(0018,9254)': { 'tag': '(0018,9254)', 'vr': 'FD', 'vm': '1 ', 'name': 'ASLSlabThickness' },
+ '(0018,9255)': { 'tag': '(0018,9255)', 'vr': 'FD', 'vm': '3 ', 'name': 'ASLSlabOrientation' },
+ '(0018,9256)': { 'tag': '(0018,9256)', 'vr': 'FD', 'vm': '3', 'name': 'ASLMidSlabPosition' },
+ '(0018,9257)': { 'tag': '(0018,9257)', 'vr': 'CS', 'vm': '1 ', 'name': 'ASLContext' },
+ '(0018,9258)': { 'tag': '(0018,9258)', 'vr': 'UL', 'vm': '1', 'name': 'ASLPulseTrainDuration' },
+ '(0018,9259)': { 'tag': '(0018,9259)', 'vr': 'CS', 'vm': '1 ', 'name': 'ASLCrusherFlag' },
+ '(0018,925A)': { 'tag': '(0018,925A)', 'vr': 'FD', 'vm': '1', 'name': 'ASLCrusherFlow' },
+ '(0018,925B)': { 'tag': '(0018,925B)', 'vr': 'LO', 'vm': '1', 'name': 'ASLCrusherDescription' },
+ '(0018,925C)': { 'tag': '(0018,925C)', 'vr': 'CS', 'vm': '1 ', 'name': 'ASLBolusCutoffFlag' },
+ '(0018,925D)': { 'tag': '(0018,925D)', 'vr': 'SQ', 'vm': '1', 'name': 'ASLBolusCutoffTimingSequence' },
+ '(0018,925E)': { 'tag': '(0018,925E)', 'vr': 'LO', 'vm': '1', 'name': 'ASLBolusCutoffTechnique' },
+ '(0018,925F)': { 'tag': '(0018,925F)', 'vr': 'UL', 'vm': '1', 'name': 'ASLBolusCutoffDelayTime' },
+ '(0018,9260)': { 'tag': '(0018,9260)', 'vr': 'SQ', 'vm': '1', 'name': 'ASLSlabSequence' },
+ '(0018,9295)': { 'tag': '(0018,9295)', 'vr': 'FD', 'vm': '1', 'name': 'ChemicalShiftMinimumIntegrationLimitInppm' },
+ '(0018,9296)': { 'tag': '(0018,9296)', 'vr': 'FD', 'vm': '1', 'name': 'ChemicalShiftMaximumIntegrationLimitInppm' },
+ '(0018,9301)': { 'tag': '(0018,9301)', 'vr': 'SQ', 'vm': '1', 'name': 'CTAcquisitionTypeSequence' },
+ '(0018,9302)': { 'tag': '(0018,9302)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionType' },
+ '(0018,9303)': { 'tag': '(0018,9303)', 'vr': 'FD', 'vm': '1', 'name': 'TubeAngle' },
+ '(0018,9304)': { 'tag': '(0018,9304)', 'vr': 'SQ', 'vm': '1', 'name': 'CTAcquisitionDetailsSequence' },
+ '(0018,9305)': { 'tag': '(0018,9305)', 'vr': 'FD', 'vm': '1', 'name': 'RevolutionTime' },
+ '(0018,9306)': { 'tag': '(0018,9306)', 'vr': 'FD', 'vm': '1', 'name': 'SingleCollimationWidth' },
+ '(0018,9307)': { 'tag': '(0018,9307)', 'vr': 'FD', 'vm': '1', 'name': 'TotalCollimationWidth' },
+ '(0018,9308)': { 'tag': '(0018,9308)', 'vr': 'SQ', 'vm': '1', 'name': 'CTTableDynamicsSequence' },
+ '(0018,9309)': { 'tag': '(0018,9309)', 'vr': 'FD', 'vm': '1', 'name': 'TableSpeed' },
+ '(0018,9310)': { 'tag': '(0018,9310)', 'vr': 'FD', 'vm': '1', 'name': 'TableFeedPerRotation' },
+ '(0018,9311)': { 'tag': '(0018,9311)', 'vr': 'FD', 'vm': '1', 'name': 'SpiralPitchFactor' },
+ '(0018,9312)': { 'tag': '(0018,9312)', 'vr': 'SQ', 'vm': '1', 'name': 'CTGeometrySequence' },
+ '(0018,9313)': { 'tag': '(0018,9313)', 'vr': 'FD', 'vm': '3', 'name': 'DataCollectionCenterPatient' },
+ '(0018,9314)': { 'tag': '(0018,9314)', 'vr': 'SQ', 'vm': '1', 'name': 'CTReconstructionSequence' },
+ '(0018,9315)': { 'tag': '(0018,9315)', 'vr': 'CS', 'vm': '1', 'name': 'ReconstructionAlgorithm' },
+ '(0018,9316)': { 'tag': '(0018,9316)', 'vr': 'CS', 'vm': '1', 'name': 'ConvolutionKernelGroup' },
+ '(0018,9317)': { 'tag': '(0018,9317)', 'vr': 'FD', 'vm': '2', 'name': 'ReconstructionFieldOfView' },
+ '(0018,9318)': { 'tag': '(0018,9318)', 'vr': 'FD', 'vm': '3', 'name': 'ReconstructionTargetCenterPatient' },
+ '(0018,9319)': { 'tag': '(0018,9319)', 'vr': 'FD', 'vm': '1', 'name': 'ReconstructionAngle' },
+ '(0018,9320)': { 'tag': '(0018,9320)', 'vr': 'SH', 'vm': '1', 'name': 'ImageFilter' },
+ '(0018,9321)': { 'tag': '(0018,9321)', 'vr': 'SQ', 'vm': '1', 'name': 'CTExposureSequence' },
+ '(0018,9322)': { 'tag': '(0018,9322)', 'vr': 'FD', 'vm': '2', 'name': 'ReconstructionPixelSpacing' },
+ '(0018,9323)': { 'tag': '(0018,9323)', 'vr': 'CS', 'vm': '1', 'name': 'ExposureModulationType' },
+ '(0018,9324)': { 'tag': '(0018,9324)', 'vr': 'FD', 'vm': '1', 'name': 'EstimatedDoseSaving' },
+ '(0018,9325)': { 'tag': '(0018,9325)', 'vr': 'SQ', 'vm': '1', 'name': 'CTXRayDetailsSequence' },
+ '(0018,9326)': { 'tag': '(0018,9326)', 'vr': 'SQ', 'vm': '1', 'name': 'CTPositionSequence' },
+ '(0018,9327)': { 'tag': '(0018,9327)', 'vr': 'FD', 'vm': '1', 'name': 'TablePosition' },
+ '(0018,9328)': { 'tag': '(0018,9328)', 'vr': 'FD', 'vm': '1', 'name': 'ExposureTimeInms' },
+ '(0018,9329)': { 'tag': '(0018,9329)', 'vr': 'SQ', 'vm': '1', 'name': 'CTImageFrameTypeSequence' },
+ '(0018,9330)': { 'tag': '(0018,9330)', 'vr': 'FD', 'vm': '1', 'name': 'XRayTubeCurrentInmA' },
+ '(0018,9332)': { 'tag': '(0018,9332)', 'vr': 'FD', 'vm': '1', 'name': 'ExposureInmAs' },
+ '(0018,9333)': { 'tag': '(0018,9333)', 'vr': 'CS', 'vm': '1', 'name': 'ConstantVolumeFlag' },
+ '(0018,9334)': { 'tag': '(0018,9334)', 'vr': 'CS', 'vm': '1', 'name': 'FluoroscopyFlag' },
+ '(0018,9335)': { 'tag': '(0018,9335)', 'vr': 'FD', 'vm': '1', 'name': 'DistanceSourceToDataCollectionCenter' },
+ '(0018,9337)': { 'tag': '(0018,9337)', 'vr': 'US', 'vm': '1', 'name': 'ContrastBolusAgentNumber' },
+ '(0018,9338)': { 'tag': '(0018,9338)', 'vr': 'SQ', 'vm': '1', 'name': 'ContrastBolusIngredientCodeSequence' },
+ '(0018,9340)': { 'tag': '(0018,9340)', 'vr': 'SQ', 'vm': '1', 'name': 'ContrastAdministrationProfileSequence' },
+ '(0018,9341)': { 'tag': '(0018,9341)', 'vr': 'SQ', 'vm': '1', 'name': 'ContrastBolusUsageSequence' },
+ '(0018,9342)': { 'tag': '(0018,9342)', 'vr': 'CS', 'vm': '1', 'name': 'ContrastBolusAgentAdministered' },
+ '(0018,9343)': { 'tag': '(0018,9343)', 'vr': 'CS', 'vm': '1', 'name': 'ContrastBolusAgentDetected' },
+ '(0018,9344)': { 'tag': '(0018,9344)', 'vr': 'CS', 'vm': '1', 'name': 'ContrastBolusAgentPhase' },
+ '(0018,9345)': { 'tag': '(0018,9345)', 'vr': 'FD', 'vm': '1', 'name': 'CTDIvol' },
+ '(0018,9346)': { 'tag': '(0018,9346)', 'vr': 'SQ', 'vm': '1', 'name': 'CTDIPhantomTypeCodeSequence' },
+ '(0018,9351)': { 'tag': '(0018,9351)', 'vr': 'FL', 'vm': '1', 'name': 'CalciumScoringMassFactorPatient' },
+ '(0018,9352)': { 'tag': '(0018,9352)', 'vr': 'FL', 'vm': '3', 'name': 'CalciumScoringMassFactorDevice' },
+ '(0018,9353)': { 'tag': '(0018,9353)', 'vr': 'FL', 'vm': '1', 'name': 'EnergyWeightingFactor' },
+ '(0018,9360)': { 'tag': '(0018,9360)', 'vr': 'SQ', 'vm': '1', 'name': 'CTAdditionalXRaySourceSequence' },
+ '(0018,9401)': { 'tag': '(0018,9401)', 'vr': 'SQ', 'vm': '1', 'name': 'ProjectionPixelCalibrationSequence' },
+ '(0018,9402)': { 'tag': '(0018,9402)', 'vr': 'FL', 'vm': '1', 'name': 'DistanceSourceToIsocenter' },
+ '(0018,9403)': { 'tag': '(0018,9403)', 'vr': 'FL', 'vm': '1', 'name': 'DistanceObjectToTableTop' },
+ '(0018,9404)': { 'tag': '(0018,9404)', 'vr': 'FL', 'vm': '2', 'name': 'ObjectPixelSpacingInCenterOfBeam' },
+ '(0018,9405)': { 'tag': '(0018,9405)', 'vr': 'SQ', 'vm': '1', 'name': 'PositionerPositionSequence' },
+ '(0018,9406)': { 'tag': '(0018,9406)', 'vr': 'SQ', 'vm': '1', 'name': 'TablePositionSequence' },
+ '(0018,9407)': { 'tag': '(0018,9407)', 'vr': 'SQ', 'vm': '1', 'name': 'CollimatorShapeSequence' },
+ '(0018,9410)': { 'tag': '(0018,9410)', 'vr': 'CS', 'vm': '1', 'name': 'PlanesInAcquisition' },
+ '(0018,9412)': { 'tag': '(0018,9412)', 'vr': 'SQ', 'vm': '1', 'name': 'XAXRFFrameCharacteristicsSequence' },
+ '(0018,9417)': { 'tag': '(0018,9417)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameAcquisitionSequence' },
+ '(0018,9420)': { 'tag': '(0018,9420)', 'vr': 'CS', 'vm': '1', 'name': 'XRayReceptorType' },
+ '(0018,9423)': { 'tag': '(0018,9423)', 'vr': 'LO', 'vm': '1', 'name': 'AcquisitionProtocolName' },
+ '(0018,9424)': { 'tag': '(0018,9424)', 'vr': 'LT', 'vm': '1', 'name': 'AcquisitionProtocolDescription' },
+ '(0018,9425)': { 'tag': '(0018,9425)', 'vr': 'CS', 'vm': '1', 'name': 'ContrastBolusIngredientOpaque' },
+ '(0018,9426)': { 'tag': '(0018,9426)', 'vr': 'FL', 'vm': '1', 'name': 'DistanceReceptorPlaneToDetectorHousing' },
+ '(0018,9427)': { 'tag': '(0018,9427)', 'vr': 'CS', 'vm': '1', 'name': 'IntensifierActiveShape' },
+ '(0018,9428)': { 'tag': '(0018,9428)', 'vr': 'FL', 'vm': '1-2', 'name': 'IntensifierActiveDimensions' },
+ '(0018,9429)': { 'tag': '(0018,9429)', 'vr': 'FL', 'vm': '2', 'name': 'PhysicalDetectorSize' },
+ '(0018,9430)': { 'tag': '(0018,9430)', 'vr': 'FL', 'vm': '2', 'name': 'PositionOfIsocenterProjection' },
+ '(0018,9432)': { 'tag': '(0018,9432)', 'vr': 'SQ', 'vm': '1', 'name': 'FieldOfViewSequence' },
+ '(0018,9433)': { 'tag': '(0018,9433)', 'vr': 'LO', 'vm': '1', 'name': 'FieldOfViewDescription' },
+ '(0018,9434)': { 'tag': '(0018,9434)', 'vr': 'SQ', 'vm': '1', 'name': 'ExposureControlSensingRegionsSequence' },
+ '(0018,9435)': { 'tag': '(0018,9435)', 'vr': 'CS', 'vm': '1', 'name': 'ExposureControlSensingRegionShape' },
+ '(0018,9436)': { 'tag': '(0018,9436)', 'vr': 'SS', 'vm': '1', 'name': 'ExposureControlSensingRegionLeftVerticalEdge' },
+ '(0018,9437)': { 'tag': '(0018,9437)', 'vr': 'SS', 'vm': '1', 'name': 'ExposureControlSensingRegionRightVerticalEdge' },
+ '(0018,9438)': { 'tag': '(0018,9438)', 'vr': 'SS', 'vm': '1', 'name': 'ExposureControlSensingRegionUpperHorizontalEdge' },
+ '(0018,9439)': { 'tag': '(0018,9439)', 'vr': 'SS', 'vm': '1', 'name': 'ExposureControlSensingRegionLowerHorizontalEdge' },
+ '(0018,9440)': { 'tag': '(0018,9440)', 'vr': 'SS', 'vm': '2', 'name': 'CenterOfCircularExposureControlSensingRegion' },
+ '(0018,9441)': { 'tag': '(0018,9441)', 'vr': 'US', 'vm': '1', 'name': 'RadiusOfCircularExposureControlSensingRegion' },
+ '(0018,9442)': { 'tag': '(0018,9442)', 'vr': 'SS', 'vm': '2-n', 'name': 'VerticesOfThePolygonalExposureControlSensingRegion' },
+ '(0018,9447)': { 'tag': '(0018,9447)', 'vr': 'FL', 'vm': '1', 'name': 'ColumnAngulationPatient' },
+ '(0018,9449)': { 'tag': '(0018,9449)', 'vr': 'FL', 'vm': '1', 'name': 'BeamAngle' },
+ '(0018,9451)': { 'tag': '(0018,9451)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameDetectorParametersSequence' },
+ '(0018,9452)': { 'tag': '(0018,9452)', 'vr': 'FL', 'vm': '1', 'name': 'CalculatedAnatomyThickness' },
+ '(0018,9455)': { 'tag': '(0018,9455)', 'vr': 'SQ', 'vm': '1', 'name': 'CalibrationSequence' },
+ '(0018,9456)': { 'tag': '(0018,9456)', 'vr': 'SQ', 'vm': '1', 'name': 'ObjectThicknessSequence' },
+ '(0018,9457)': { 'tag': '(0018,9457)', 'vr': 'CS', 'vm': '1', 'name': 'PlaneIdentification' },
+ '(0018,9461)': { 'tag': '(0018,9461)', 'vr': 'FL', 'vm': '1-2', 'name': 'FieldOfViewDimensionsInFloat' },
+ '(0018,9462)': { 'tag': '(0018,9462)', 'vr': 'SQ', 'vm': '1', 'name': 'IsocenterReferenceSystemSequence' },
+ '(0018,9463)': { 'tag': '(0018,9463)', 'vr': 'FL', 'vm': '1', 'name': 'PositionerIsocenterPrimaryAngle' },
+ '(0018,9464)': { 'tag': '(0018,9464)', 'vr': 'FL', 'vm': '1', 'name': 'PositionerIsocenterSecondaryAngle' },
+ '(0018,9465)': { 'tag': '(0018,9465)', 'vr': 'FL', 'vm': '1', 'name': 'PositionerIsocenterDetectorRotationAngle' },
+ '(0018,9466)': { 'tag': '(0018,9466)', 'vr': 'FL', 'vm': '1', 'name': 'TableXPositionToIsocenter' },
+ '(0018,9467)': { 'tag': '(0018,9467)', 'vr': 'FL', 'vm': '1', 'name': 'TableYPositionToIsocenter' },
+ '(0018,9468)': { 'tag': '(0018,9468)', 'vr': 'FL', 'vm': '1', 'name': 'TableZPositionToIsocenter' },
+ '(0018,9469)': { 'tag': '(0018,9469)', 'vr': 'FL', 'vm': '1', 'name': 'TableHorizontalRotationAngle' },
+ '(0018,9470)': { 'tag': '(0018,9470)', 'vr': 'FL', 'vm': '1', 'name': 'TableHeadTiltAngle' },
+ '(0018,9471)': { 'tag': '(0018,9471)', 'vr': 'FL', 'vm': '1', 'name': 'TableCradleTiltAngle' },
+ '(0018,9472)': { 'tag': '(0018,9472)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameDisplayShutterSequence' },
+ '(0018,9473)': { 'tag': '(0018,9473)', 'vr': 'FL', 'vm': '1', 'name': 'AcquiredImageAreaDoseProduct' },
+ '(0018,9474)': { 'tag': '(0018,9474)', 'vr': 'CS', 'vm': '1', 'name': 'CArmPositionerTabletopRelationship' },
+ '(0018,9476)': { 'tag': '(0018,9476)', 'vr': 'SQ', 'vm': '1', 'name': 'XRayGeometrySequence' },
+ '(0018,9477)': { 'tag': '(0018,9477)', 'vr': 'SQ', 'vm': '1', 'name': 'IrradiationEventIdentificationSequence' },
+ '(0018,9504)': { 'tag': '(0018,9504)', 'vr': 'SQ', 'vm': '1', 'name': 'XRay3DFrameTypeSequence' },
+ '(0018,9506)': { 'tag': '(0018,9506)', 'vr': 'SQ', 'vm': '1', 'name': 'ContributingSourcesSequence' },
+ '(0018,9507)': { 'tag': '(0018,9507)', 'vr': 'SQ', 'vm': '1', 'name': 'XRay3DAcquisitionSequence' },
+ '(0018,9508)': { 'tag': '(0018,9508)', 'vr': 'FL', 'vm': '1', 'name': 'PrimaryPositionerScanArc' },
+ '(0018,9509)': { 'tag': '(0018,9509)', 'vr': 'FL', 'vm': '1', 'name': 'SecondaryPositionerScanArc' },
+ '(0018,9510)': { 'tag': '(0018,9510)', 'vr': 'FL', 'vm': '1', 'name': 'PrimaryPositionerScanStartAngle' },
+ '(0018,9511)': { 'tag': '(0018,9511)', 'vr': 'FL', 'vm': '1', 'name': 'SecondaryPositionerScanStartAngle' },
+ '(0018,9514)': { 'tag': '(0018,9514)', 'vr': 'FL', 'vm': '1', 'name': 'PrimaryPositionerIncrement' },
+ '(0018,9515)': { 'tag': '(0018,9515)', 'vr': 'FL', 'vm': '1', 'name': 'SecondaryPositionerIncrement' },
+ '(0018,9516)': { 'tag': '(0018,9516)', 'vr': 'DT', 'vm': '1', 'name': 'StartAcquisitionDateTime' },
+ '(0018,9517)': { 'tag': '(0018,9517)', 'vr': 'DT', 'vm': '1', 'name': 'EndAcquisitionDateTime' },
+ '(0018,9524)': { 'tag': '(0018,9524)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicationName' },
+ '(0018,9525)': { 'tag': '(0018,9525)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicationVersion' },
+ '(0018,9526)': { 'tag': '(0018,9526)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicationManufacturer' },
+ '(0018,9527)': { 'tag': '(0018,9527)', 'vr': 'CS', 'vm': '1', 'name': 'AlgorithmType' },
+ '(0018,9528)': { 'tag': '(0018,9528)', 'vr': 'LO', 'vm': '1', 'name': 'AlgorithmDescription' },
+ '(0018,9530)': { 'tag': '(0018,9530)', 'vr': 'SQ', 'vm': '1', 'name': 'XRay3DReconstructionSequence' },
+ '(0018,9531)': { 'tag': '(0018,9531)', 'vr': 'LO', 'vm': '1', 'name': 'ReconstructionDescription' },
+ '(0018,9538)': { 'tag': '(0018,9538)', 'vr': 'SQ', 'vm': '1', 'name': 'PerProjectionAcquisitionSequence' },
+ '(0018,9601)': { 'tag': '(0018,9601)', 'vr': 'SQ', 'vm': '1', 'name': 'DiffusionBMatrixSequence' },
+ '(0018,9602)': { 'tag': '(0018,9602)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueXX' },
+ '(0018,9603)': { 'tag': '(0018,9603)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueXY' },
+ '(0018,9604)': { 'tag': '(0018,9604)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueXZ' },
+ '(0018,9605)': { 'tag': '(0018,9605)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueYY' },
+ '(0018,9606)': { 'tag': '(0018,9606)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueYZ' },
+ '(0018,9607)': { 'tag': '(0018,9607)', 'vr': 'FD', 'vm': '1', 'name': 'DiffusionBValueZZ' },
+ '(0018,9701)': { 'tag': '(0018,9701)', 'vr': 'DT', 'vm': '1', 'name': 'DecayCorrectionDateTime' },
+ '(0018,9715)': { 'tag': '(0018,9715)', 'vr': 'FD', 'vm': '1', 'name': 'StartDensityThreshold' },
+ '(0018,9716)': { 'tag': '(0018,9716)', 'vr': 'FD', 'vm': '1', 'name': 'StartRelativeDensityDifferenceThreshold' },
+ '(0018,9717)': { 'tag': '(0018,9717)', 'vr': 'FD', 'vm': '1', 'name': 'StartCardiacTriggerCountThreshold' },
+ '(0018,9718)': { 'tag': '(0018,9718)', 'vr': 'FD', 'vm': '1', 'name': 'StartRespiratoryTriggerCountThreshold' },
+ '(0018,9719)': { 'tag': '(0018,9719)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationCountsThreshold' },
+ '(0018,9720)': { 'tag': '(0018,9720)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationDensityThreshold' },
+ '(0018,9721)': { 'tag': '(0018,9721)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationRelativeDensityThreshold' },
+ '(0018,9722)': { 'tag': '(0018,9722)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationTimeThreshold' },
+ '(0018,9723)': { 'tag': '(0018,9723)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationCardiacTriggerCountThreshold' },
+ '(0018,9724)': { 'tag': '(0018,9724)', 'vr': 'FD', 'vm': '1', 'name': 'TerminationRespiratoryTriggerCountThreshold' },
+ '(0018,9725)': { 'tag': '(0018,9725)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorGeometry' },
+ '(0018,9726)': { 'tag': '(0018,9726)', 'vr': 'FD', 'vm': '1', 'name': 'TransverseDetectorSeparation' },
+ '(0018,9727)': { 'tag': '(0018,9727)', 'vr': 'FD', 'vm': '1', 'name': 'AxialDetectorDimension' },
+ '(0018,9729)': { 'tag': '(0018,9729)', 'vr': 'US', 'vm': '1', 'name': 'RadiopharmaceuticalAgentNumber' },
+ '(0018,9732)': { 'tag': '(0018,9732)', 'vr': 'SQ', 'vm': '1', 'name': 'PETFrameAcquisitionSequence' },
+ '(0018,9733)': { 'tag': '(0018,9733)', 'vr': 'SQ', 'vm': '1', 'name': 'PETDetectorMotionDetailsSequence' },
+ '(0018,9734)': { 'tag': '(0018,9734)', 'vr': 'SQ', 'vm': '1', 'name': 'PETTableDynamicsSequence' },
+ '(0018,9735)': { 'tag': '(0018,9735)', 'vr': 'SQ', 'vm': '1', 'name': 'PETPositionSequence' },
+ '(0018,9736)': { 'tag': '(0018,9736)', 'vr': 'SQ', 'vm': '1', 'name': 'PETFrameCorrectionFactorsSequence' },
+ '(0018,9737)': { 'tag': '(0018,9737)', 'vr': 'SQ', 'vm': '1', 'name': 'RadiopharmaceuticalUsageSequence' },
+ '(0018,9738)': { 'tag': '(0018,9738)', 'vr': 'CS', 'vm': '1', 'name': 'AttenuationCorrectionSource' },
+ '(0018,9739)': { 'tag': '(0018,9739)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfIterations' },
+ '(0018,9740)': { 'tag': '(0018,9740)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfSubsets' },
+ '(0018,9749)': { 'tag': '(0018,9749)', 'vr': 'SQ', 'vm': '1', 'name': 'PETReconstructionSequence' },
+ '(0018,9751)': { 'tag': '(0018,9751)', 'vr': 'SQ', 'vm': '1', 'name': 'PETFrameTypeSequence' },
+ '(0018,9755)': { 'tag': '(0018,9755)', 'vr': 'CS', 'vm': '1', 'name': 'TimeOfFlightInformationUsed' },
+ '(0018,9756)': { 'tag': '(0018,9756)', 'vr': 'CS', 'vm': '1', 'name': 'ReconstructionType' },
+ '(0018,9758)': { 'tag': '(0018,9758)', 'vr': 'CS', 'vm': '1', 'name': 'DecayCorrected' },
+ '(0018,9759)': { 'tag': '(0018,9759)', 'vr': 'CS', 'vm': '1', 'name': 'AttenuationCorrected' },
+ '(0018,9760)': { 'tag': '(0018,9760)', 'vr': 'CS', 'vm': '1', 'name': 'ScatterCorrected' },
+ '(0018,9761)': { 'tag': '(0018,9761)', 'vr': 'CS', 'vm': '1', 'name': 'DeadTimeCorrected' },
+ '(0018,9762)': { 'tag': '(0018,9762)', 'vr': 'CS', 'vm': '1', 'name': 'GantryMotionCorrected' },
+ '(0018,9763)': { 'tag': '(0018,9763)', 'vr': 'CS', 'vm': '1', 'name': 'PatientMotionCorrected' },
+ '(0018,9764)': { 'tag': '(0018,9764)', 'vr': 'CS', 'vm': '1', 'name': 'CountLossNormalizationCorrected' },
+ '(0018,9765)': { 'tag': '(0018,9765)', 'vr': 'CS', 'vm': '1', 'name': 'RandomsCorrected' },
+ '(0018,9766)': { 'tag': '(0018,9766)', 'vr': 'CS', 'vm': '1', 'name': 'NonUniformRadialSamplingCorrected' },
+ '(0018,9767)': { 'tag': '(0018,9767)', 'vr': 'CS', 'vm': '1', 'name': 'SensitivityCalibrated' },
+ '(0018,9768)': { 'tag': '(0018,9768)', 'vr': 'CS', 'vm': '1', 'name': 'DetectorNormalizationCorrection' },
+ '(0018,9769)': { 'tag': '(0018,9769)', 'vr': 'CS', 'vm': '1', 'name': 'IterativeReconstructionMethod' },
+ '(0018,9770)': { 'tag': '(0018,9770)', 'vr': 'CS', 'vm': '1', 'name': 'AttenuationCorrectionTemporalRelationship' },
+ '(0018,9771)': { 'tag': '(0018,9771)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientPhysiologicalStateSequence' },
+ '(0018,9772)': { 'tag': '(0018,9772)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientPhysiologicalStateCodeSequence' },
+ '(0018,9801)': { 'tag': '(0018,9801)', 'vr': 'FD', 'vm': '1-n', 'name': 'DepthsOfFocus' },
+ '(0018,9803)': { 'tag': '(0018,9803)', 'vr': 'SQ', 'vm': '1', 'name': 'ExcludedIntervalsSequence' },
+ '(0018,9804)': { 'tag': '(0018,9804)', 'vr': 'DT', 'vm': '1', 'name': 'ExclusionStartDatetime' },
+ '(0018,9805)': { 'tag': '(0018,9805)', 'vr': 'FD', 'vm': '1', 'name': 'ExclusionDuration' },
+ '(0018,9806)': { 'tag': '(0018,9806)', 'vr': 'SQ', 'vm': '1', 'name': 'USImageDescriptionSequence' },
+ '(0018,9807)': { 'tag': '(0018,9807)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageDataTypeSequence' },
+ '(0018,9808)': { 'tag': '(0018,9808)', 'vr': 'CS', 'vm': '1', 'name': 'DataType' },
+ '(0018,9809)': { 'tag': '(0018,9809)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerScanPatternCodeSequence' },
+ '(0018,980B)': { 'tag': '(0018,980B)', 'vr': 'CS', 'vm': '1', 'name': 'AliasedDataType' },
+ '(0018,980C)': { 'tag': '(0018,980C)', 'vr': 'CS', 'vm': '1', 'name': 'PositionMeasuringDeviceUsed' },
+ '(0018,980D)': { 'tag': '(0018,980D)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerGeometryCodeSequence' },
+ '(0018,980E)': { 'tag': '(0018,980E)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerBeamSteeringCodeSequence' },
+ '(0018,980F)': { 'tag': '(0018,980F)', 'vr': 'SQ', 'vm': '1', 'name': 'TransducerApplicationCodeSequence' },
+ '(0018,A001)': { 'tag': '(0018,A001)', 'vr': 'SQ', 'vm': '1', 'name': 'ContributingEquipmentSequence' },
+ '(0018,A002)': { 'tag': '(0018,A002)', 'vr': 'DT', 'vm': '1', 'name': 'ContributionDateTime' },
+ '(0018,A003)': { 'tag': '(0018,A003)', 'vr': 'ST', 'vm': '1', 'name': 'ContributionDescription' },
+ '(0020,000D)': { 'tag': '(0020,000D)', 'vr': 'UI', 'vm': '1', 'name': 'StudyInstanceUID' },
+ '(0020,000E)': { 'tag': '(0020,000E)', 'vr': 'UI', 'vm': '1', 'name': 'SeriesInstanceUID' },
+ '(0020,0010)': { 'tag': '(0020,0010)', 'vr': 'SH', 'vm': '1', 'name': 'StudyID' },
+ '(0020,0011)': { 'tag': '(0020,0011)', 'vr': 'IS', 'vm': '1', 'name': 'SeriesNumber' },
+ '(0020,0012)': { 'tag': '(0020,0012)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionNumber' },
+ '(0020,0013)': { 'tag': '(0020,0013)', 'vr': 'IS', 'vm': '1', 'name': 'InstanceNumber' },
+ '(0020,0014)': { 'tag': '(0020,0014)', 'vr': 'IS', 'vm': '1', 'name': 'IsotopeNumber' },
+ '(0020,0015)': { 'tag': '(0020,0015)', 'vr': 'IS', 'vm': '1', 'name': 'PhaseNumber' },
+ '(0020,0016)': { 'tag': '(0020,0016)', 'vr': 'IS', 'vm': '1', 'name': 'IntervalNumber' },
+ '(0020,0017)': { 'tag': '(0020,0017)', 'vr': 'IS', 'vm': '1', 'name': 'TimeSlotNumber' },
+ '(0020,0018)': { 'tag': '(0020,0018)', 'vr': 'IS', 'vm': '1', 'name': 'AngleNumber' },
+ '(0020,0019)': { 'tag': '(0020,0019)', 'vr': 'IS', 'vm': '1', 'name': 'ItemNumber' },
+ '(0020,0020)': { 'tag': '(0020,0020)', 'vr': 'CS', 'vm': '2', 'name': 'PatientOrientation' },
+ '(0020,0022)': { 'tag': '(0020,0022)', 'vr': 'IS', 'vm': '1', 'name': 'OverlayNumber' },
+ '(0020,0024)': { 'tag': '(0020,0024)', 'vr': 'IS', 'vm': '1', 'name': 'CurveNumber' },
+ '(0020,0026)': { 'tag': '(0020,0026)', 'vr': 'IS', 'vm': '1', 'name': 'LUTNumber' },
+ '(0020,0030)': { 'tag': '(0020,0030)', 'vr': 'DS', 'vm': '3', 'name': 'ImagePosition' },
+ '(0020,0032)': { 'tag': '(0020,0032)', 'vr': 'DS', 'vm': '3', 'name': 'ImagePositionPatient' },
+ '(0020,0035)': { 'tag': '(0020,0035)', 'vr': 'DS', 'vm': '6', 'name': 'ImageOrientation' },
+ '(0020,0037)': { 'tag': '(0020,0037)', 'vr': 'DS', 'vm': '6', 'name': 'ImageOrientationPatient' },
+ '(0020,0050)': { 'tag': '(0020,0050)', 'vr': 'DS', 'vm': '1', 'name': 'Location' },
+ '(0020,0052)': { 'tag': '(0020,0052)', 'vr': 'UI', 'vm': '1', 'name': 'FrameOfReferenceUID' },
+ '(0020,0060)': { 'tag': '(0020,0060)', 'vr': 'CS', 'vm': '1', 'name': 'Laterality' },
+ '(0020,0062)': { 'tag': '(0020,0062)', 'vr': 'CS', 'vm': '1', 'name': 'ImageLaterality' },
+ '(0020,0070)': { 'tag': '(0020,0070)', 'vr': 'LO', 'vm': '1', 'name': 'ImageGeometryType' },
+ '(0020,0080)': { 'tag': '(0020,0080)', 'vr': 'CS', 'vm': '1-n', 'name': 'MaskingImage' },
+ '(0020,00AA)': { 'tag': '(0020,00AA)', 'vr': 'IS', 'vm': '1', 'name': 'ReportNumber' },
+ '(0020,0100)': { 'tag': '(0020,0100)', 'vr': 'IS', 'vm': '1', 'name': 'TemporalPositionIdentifier' },
+ '(0020,0105)': { 'tag': '(0020,0105)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfTemporalPositions' },
+ '(0020,0110)': { 'tag': '(0020,0110)', 'vr': 'DS', 'vm': '1', 'name': 'TemporalResolution' },
+ '(0020,0200)': { 'tag': '(0020,0200)', 'vr': 'UI', 'vm': '1', 'name': 'SynchronizationFrameOfReferenceUID' },
+ '(0020,0242)': { 'tag': '(0020,0242)', 'vr': 'UI', 'vm': '1', 'name': 'SOPInstanceUIDOfConcatenationSource' },
+ '(0020,1000)': { 'tag': '(0020,1000)', 'vr': 'IS', 'vm': '1', 'name': 'SeriesInStudy' },
+ '(0020,1001)': { 'tag': '(0020,1001)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionsInSeries' },
+ '(0020,1002)': { 'tag': '(0020,1002)', 'vr': 'IS', 'vm': '1', 'name': 'ImagesInAcquisition' },
+ '(0020,1003)': { 'tag': '(0020,1003)', 'vr': 'IS', 'vm': '1', 'name': 'ImagesInSeries' },
+ '(0020,1004)': { 'tag': '(0020,1004)', 'vr': 'IS', 'vm': '1', 'name': 'AcquisitionsInStudy' },
+ '(0020,1005)': { 'tag': '(0020,1005)', 'vr': 'IS', 'vm': '1', 'name': 'ImagesInStudy' },
+ '(0020,1020)': { 'tag': '(0020,1020)', 'vr': 'LO', 'vm': '1-n', 'name': 'Reference' },
+ '(0020,1040)': { 'tag': '(0020,1040)', 'vr': 'LO', 'vm': '1', 'name': 'PositionReferenceIndicator' },
+ '(0020,1041)': { 'tag': '(0020,1041)', 'vr': 'DS', 'vm': '1', 'name': 'SliceLocation' },
+ '(0020,1070)': { 'tag': '(0020,1070)', 'vr': 'IS', 'vm': '1-n', 'name': 'OtherStudyNumbers' },
+ '(0020,1200)': { 'tag': '(0020,1200)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPatientRelatedStudies' },
+ '(0020,1202)': { 'tag': '(0020,1202)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPatientRelatedSeries' },
+ '(0020,1204)': { 'tag': '(0020,1204)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPatientRelatedInstances' },
+ '(0020,1206)': { 'tag': '(0020,1206)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfStudyRelatedSeries' },
+ '(0020,1208)': { 'tag': '(0020,1208)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfStudyRelatedInstances' },
+ '(0020,1209)': { 'tag': '(0020,1209)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfSeriesRelatedInstances' },
+ '(0020,31xx)': { 'tag': '(0020,31xx)', 'vr': 'CS', 'vm': '1-n', 'name': 'SourceImageIDs' },
+ '(0020,3401)': { 'tag': '(0020,3401)', 'vr': 'CS', 'vm': '1', 'name': 'ModifyingDeviceID' },
+ '(0020,3402)': { 'tag': '(0020,3402)', 'vr': 'CS', 'vm': '1', 'name': 'ModifiedImageID' },
+ '(0020,3403)': { 'tag': '(0020,3403)', 'vr': 'DA', 'vm': '1', 'name': 'ModifiedImageDate' },
+ '(0020,3404)': { 'tag': '(0020,3404)', 'vr': 'LO', 'vm': '1', 'name': 'ModifyingDeviceManufacturer' },
+ '(0020,3405)': { 'tag': '(0020,3405)', 'vr': 'TM', 'vm': '1', 'name': 'ModifiedImageTime' },
+ '(0020,3406)': { 'tag': '(0020,3406)', 'vr': 'LO', 'vm': '1', 'name': 'ModifiedImageDescription' },
+ '(0020,4000)': { 'tag': '(0020,4000)', 'vr': 'LT', 'vm': '1', 'name': 'ImageComments' },
+ '(0020,5000)': { 'tag': '(0020,5000)', 'vr': 'AT', 'vm': '1-n', 'name': 'OriginalImageIdentification' },
+ '(0020,5002)': { 'tag': '(0020,5002)', 'vr': 'LO', 'vm': '1-n', 'name': 'OriginalImageIdentificationNomenclature' },
+ '(0020,9056)': { 'tag': '(0020,9056)', 'vr': 'SH', 'vm': '1', 'name': 'StackID' },
+ '(0020,9057)': { 'tag': '(0020,9057)', 'vr': 'UL', 'vm': '1', 'name': 'InStackPositionNumber' },
+ '(0020,9071)': { 'tag': '(0020,9071)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameAnatomySequence' },
+ '(0020,9072)': { 'tag': '(0020,9072)', 'vr': 'CS', 'vm': '1', 'name': 'FrameLaterality' },
+ '(0020,9111)': { 'tag': '(0020,9111)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameContentSequence' },
+ '(0020,9113)': { 'tag': '(0020,9113)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanePositionSequence' },
+ '(0020,9116)': { 'tag': '(0020,9116)', 'vr': 'SQ', 'vm': '1', 'name': 'PlaneOrientationSequence' },
+ '(0020,9128)': { 'tag': '(0020,9128)', 'vr': 'UL', 'vm': '1', 'name': 'TemporalPositionIndex' },
+ '(0020,9153)': { 'tag': '(0020,9153)', 'vr': 'FD', 'vm': '1', 'name': 'NominalCardiacTriggerDelayTime' },
+ '(0020,9154)': { 'tag': '(0020,9154)', 'vr': 'FL', 'vm': '1', 'name': 'NominalCardiacTriggerTimePriorToRPeak' },
+ '(0020,9155)': { 'tag': '(0020,9155)', 'vr': 'FL', 'vm': '1', 'name': 'ActualCardiacTriggerTimePriorToRPeak' },
+ '(0020,9156)': { 'tag': '(0020,9156)', 'vr': 'US', 'vm': '1', 'name': 'FrameAcquisitionNumber' },
+ '(0020,9157)': { 'tag': '(0020,9157)', 'vr': 'UL', 'vm': '1-n', 'name': 'DimensionIndexValues' },
+ '(0020,9158)': { 'tag': '(0020,9158)', 'vr': 'LT', 'vm': '1', 'name': 'FrameComments' },
+ '(0020,9161)': { 'tag': '(0020,9161)', 'vr': 'UI', 'vm': '1', 'name': 'ConcatenationUID' },
+ '(0020,9162)': { 'tag': '(0020,9162)', 'vr': 'US', 'vm': '1', 'name': 'InConcatenationNumber' },
+ '(0020,9163)': { 'tag': '(0020,9163)', 'vr': 'US', 'vm': '1', 'name': 'InConcatenationTotalNumber' },
+ '(0020,9164)': { 'tag': '(0020,9164)', 'vr': 'UI', 'vm': '1', 'name': 'DimensionOrganizationUID' },
+ '(0020,9165)': { 'tag': '(0020,9165)', 'vr': 'AT', 'vm': '1', 'name': 'DimensionIndexPointer' },
+ '(0020,9167)': { 'tag': '(0020,9167)', 'vr': 'AT', 'vm': '1', 'name': 'FunctionalGroupPointer' },
+ '(0020,9213)': { 'tag': '(0020,9213)', 'vr': 'LO', 'vm': '1', 'name': 'DimensionIndexPrivateCreator' },
+ '(0020,9221)': { 'tag': '(0020,9221)', 'vr': 'SQ', 'vm': '1', 'name': 'DimensionOrganizationSequence' },
+ '(0020,9222)': { 'tag': '(0020,9222)', 'vr': 'SQ', 'vm': '1', 'name': 'DimensionIndexSequence' },
+ '(0020,9228)': { 'tag': '(0020,9228)', 'vr': 'UL', 'vm': '1', 'name': 'ConcatenationFrameOffsetNumber' },
+ '(0020,9238)': { 'tag': '(0020,9238)', 'vr': 'LO', 'vm': '1', 'name': 'FunctionalGroupPrivateCreator' },
+ '(0020,9241)': { 'tag': '(0020,9241)', 'vr': 'FL', 'vm': '1', 'name': 'NominalPercentageOfCardiacPhase' },
+ '(0020,9245)': { 'tag': '(0020,9245)', 'vr': 'FL', 'vm': '1', 'name': 'NominalPercentageOfRespiratoryPhase' },
+ '(0020,9246)': { 'tag': '(0020,9246)', 'vr': 'FL', 'vm': '1', 'name': 'StartingRespiratoryAmplitude' },
+ '(0020,9247)': { 'tag': '(0020,9247)', 'vr': 'CS', 'vm': '1', 'name': 'StartingRespiratoryPhase' },
+ '(0020,9248)': { 'tag': '(0020,9248)', 'vr': 'FL', 'vm': '1', 'name': 'EndingRespiratoryAmplitude' },
+ '(0020,9249)': { 'tag': '(0020,9249)', 'vr': 'CS', 'vm': '1', 'name': 'EndingRespiratoryPhase' },
+ '(0020,9250)': { 'tag': '(0020,9250)', 'vr': 'CS', 'vm': '1', 'name': 'RespiratoryTriggerType' },
+ '(0020,9251)': { 'tag': '(0020,9251)', 'vr': 'FD', 'vm': '1', 'name': 'RRIntervalTimeNominal' },
+ '(0020,9252)': { 'tag': '(0020,9252)', 'vr': 'FD', 'vm': '1', 'name': 'ActualCardiacTriggerDelayTime' },
+ '(0020,9253)': { 'tag': '(0020,9253)', 'vr': 'SQ', 'vm': '1', 'name': 'RespiratorySynchronizationSequence' },
+ '(0020,9254)': { 'tag': '(0020,9254)', 'vr': 'FD', 'vm': '1', 'name': 'RespiratoryIntervalTime' },
+ '(0020,9255)': { 'tag': '(0020,9255)', 'vr': 'FD', 'vm': '1', 'name': 'NominalRespiratoryTriggerDelayTime' },
+ '(0020,9256)': { 'tag': '(0020,9256)', 'vr': 'FD', 'vm': '1', 'name': 'RespiratoryTriggerDelayThreshold' },
+ '(0020,9257)': { 'tag': '(0020,9257)', 'vr': 'FD', 'vm': '1', 'name': 'ActualRespiratoryTriggerDelayTime' },
+ '(0020,9301)': { 'tag': '(0020,9301)', 'vr': 'FD', 'vm': '3', 'name': 'ImagePositionVolume' },
+ '(0020,9302)': { 'tag': '(0020,9302)', 'vr': 'FD', 'vm': '6', 'name': 'ImageOrientationVolume' },
+ '(0020,9307)': { 'tag': '(0020,9307)', 'vr': 'CS', 'vm': '1', 'name': 'UltrasoundAcquisitionGeometry' },
+ '(0020,9308)': { 'tag': '(0020,9308)', 'vr': 'FD', 'vm': '3', 'name': 'ApexPosition' },
+ '(0020,9309)': { 'tag': '(0020,9309)', 'vr': 'FD', 'vm': '16', 'name': 'VolumeToTransducerMappingMatrix' },
+ '(0020,930A)': { 'tag': '(0020,930A)', 'vr': 'FD', 'vm': '16', 'name': 'VolumeToTableMappingMatrix' },
+ '(0020,930C)': { 'tag': '(0020,930C)', 'vr': 'CS', 'vm': '1', 'name': 'PatientFrameOfReferenceSource' },
+ '(0020,930D)': { 'tag': '(0020,930D)', 'vr': 'FD', 'vm': '1', 'name': 'TemporalPositionTimeOffset' },
+ '(0020,930E)': { 'tag': '(0020,930E)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanePositionVolumeSequence' },
+ '(0020,930F)': { 'tag': '(0020,930F)', 'vr': 'SQ', 'vm': '1', 'name': 'PlaneOrientationVolumeSequence' },
+ '(0020,9310)': { 'tag': '(0020,9310)', 'vr': 'SQ', 'vm': '1', 'name': 'TemporalPositionSequence' },
+ '(0020,9311)': { 'tag': '(0020,9311)', 'vr': 'CS', 'vm': '1', 'name': 'DimensionOrganizationType' },
+ '(0020,9312)': { 'tag': '(0020,9312)', 'vr': 'UI', 'vm': '1', 'name': 'VolumeFrameOfReferenceUID' },
+ '(0020,9313)': { 'tag': '(0020,9313)', 'vr': 'UI', 'vm': '1', 'name': 'TableFrameOfReferenceUID' },
+ '(0020,9421)': { 'tag': '(0020,9421)', 'vr': 'LO', 'vm': '1', 'name': 'DimensionDescriptionLabel' },
+ '(0020,9450)': { 'tag': '(0020,9450)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientOrientationInFrameSequence' },
+ '(0020,9453)': { 'tag': '(0020,9453)', 'vr': 'LO', 'vm': '1', 'name': 'FrameLabel' },
+ '(0020,9518)': { 'tag': '(0020,9518)', 'vr': 'US', 'vm': '1-n', 'name': 'AcquisitionIndex' },
+ '(0020,9529)': { 'tag': '(0020,9529)', 'vr': 'SQ', 'vm': '1', 'name': 'ContributingSOPInstancesReferenceSequence' },
+ '(0020,9536)': { 'tag': '(0020,9536)', 'vr': 'US', 'vm': '1', 'name': 'ReconstructionIndex' },
+ '(0022,0001)': { 'tag': '(0022,0001)', 'vr': 'US', 'vm': '1', 'name': 'LightPathFilterPassThroughWavelength' },
+ '(0022,0002)': { 'tag': '(0022,0002)', 'vr': 'US', 'vm': '2', 'name': 'LightPathFilterPassBand' },
+ '(0022,0003)': { 'tag': '(0022,0003)', 'vr': 'US', 'vm': '1', 'name': 'ImagePathFilterPassThroughWavelength' },
+ '(0022,0004)': { 'tag': '(0022,0004)', 'vr': 'US', 'vm': '2', 'name': 'ImagePathFilterPassBand' },
+ '(0022,0005)': { 'tag': '(0022,0005)', 'vr': 'CS', 'vm': '1', 'name': 'PatientEyeMovementCommanded' },
+ '(0022,0006)': { 'tag': '(0022,0006)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientEyeMovementCommandCodeSequence' },
+ '(0022,0007)': { 'tag': '(0022,0007)', 'vr': 'FL', 'vm': '1', 'name': 'SphericalLensPower' },
+ '(0022,0008)': { 'tag': '(0022,0008)', 'vr': 'FL', 'vm': '1', 'name': 'CylinderLensPower' },
+ '(0022,0009)': { 'tag': '(0022,0009)', 'vr': 'FL', 'vm': '1', 'name': 'CylinderAxis' },
+ '(0022,000A)': { 'tag': '(0022,000A)', 'vr': 'FL', 'vm': '1', 'name': 'EmmetropicMagnification' },
+ '(0022,000B)': { 'tag': '(0022,000B)', 'vr': 'FL', 'vm': '1', 'name': 'IntraOcularPressure' },
+ '(0022,000C)': { 'tag': '(0022,000C)', 'vr': 'FL', 'vm': '1', 'name': 'HorizontalFieldOfView' },
+ '(0022,000D)': { 'tag': '(0022,000D)', 'vr': 'CS', 'vm': '1', 'name': 'PupilDilated' },
+ '(0022,000E)': { 'tag': '(0022,000E)', 'vr': 'FL', 'vm': '1', 'name': 'DegreeOfDilation' },
+ '(0022,0010)': { 'tag': '(0022,0010)', 'vr': 'FL', 'vm': '1', 'name': 'StereoBaselineAngle' },
+ '(0022,0011)': { 'tag': '(0022,0011)', 'vr': 'FL', 'vm': '1', 'name': 'StereoBaselineDisplacement' },
+ '(0022,0012)': { 'tag': '(0022,0012)', 'vr': 'FL', 'vm': '1', 'name': 'StereoHorizontalPixelOffset' },
+ '(0022,0013)': { 'tag': '(0022,0013)', 'vr': 'FL', 'vm': '1', 'name': 'StereoVerticalPixelOffset' },
+ '(0022,0014)': { 'tag': '(0022,0014)', 'vr': 'FL', 'vm': '1', 'name': 'StereoRotation' },
+ '(0022,0015)': { 'tag': '(0022,0015)', 'vr': 'SQ', 'vm': '1', 'name': 'AcquisitionDeviceTypeCodeSequence' },
+ '(0022,0016)': { 'tag': '(0022,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'IlluminationTypeCodeSequence' },
+ '(0022,0017)': { 'tag': '(0022,0017)', 'vr': 'SQ', 'vm': '1', 'name': 'LightPathFilterTypeStackCodeSequence' },
+ '(0022,0018)': { 'tag': '(0022,0018)', 'vr': 'SQ', 'vm': '1', 'name': 'ImagePathFilterTypeStackCodeSequence' },
+ '(0022,0019)': { 'tag': '(0022,0019)', 'vr': 'SQ', 'vm': '1', 'name': 'LensesCodeSequence' },
+ '(0022,001A)': { 'tag': '(0022,001A)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelDescriptionCodeSequence' },
+ '(0022,001B)': { 'tag': '(0022,001B)', 'vr': 'SQ', 'vm': '1', 'name': 'RefractiveStateSequence' },
+ '(0022,001C)': { 'tag': '(0022,001C)', 'vr': 'SQ', 'vm': '1', 'name': 'MydriaticAgentCodeSequence' },
+ '(0022,001D)': { 'tag': '(0022,001D)', 'vr': 'SQ', 'vm': '1', 'name': 'RelativeImagePositionCodeSequence' },
+ '(0022,001E)': { 'tag': '(0022,001E)', 'vr': 'FL', 'vm': '1', 'name': 'CameraAngleOfView' },
+ '(0022,0020)': { 'tag': '(0022,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'StereoPairsSequence' },
+ '(0022,0021)': { 'tag': '(0022,0021)', 'vr': 'SQ', 'vm': '1', 'name': 'LeftImageSequence' },
+ '(0022,0022)': { 'tag': '(0022,0022)', 'vr': 'SQ', 'vm': '1', 'name': 'RightImageSequence' },
+ '(0022,0030)': { 'tag': '(0022,0030)', 'vr': 'FL', 'vm': '1', 'name': 'AxialLengthOfTheEye' },
+ '(0022,0031)': { 'tag': '(0022,0031)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicFrameLocationSequence' },
+ '(0022,0032)': { 'tag': '(0022,0032)', 'vr': 'FL', 'vm': '2-2n', 'name': 'ReferenceCoordinates' },
+ '(0022,0035)': { 'tag': '(0022,0035)', 'vr': 'FL', 'vm': '1', 'name': 'DepthSpatialResolution' },
+ '(0022,0036)': { 'tag': '(0022,0036)', 'vr': 'FL', 'vm': '1', 'name': 'MaximumDepthDistortion' },
+ '(0022,0037)': { 'tag': '(0022,0037)', 'vr': 'FL', 'vm': '1', 'name': 'AlongScanSpatialResolution' },
+ '(0022,0038)': { 'tag': '(0022,0038)', 'vr': 'FL', 'vm': '1', 'name': 'MaximumAlongScanDistortion' },
+ '(0022,0039)': { 'tag': '(0022,0039)', 'vr': 'CS', 'vm': '1', 'name': 'OphthalmicImageOrientation' },
+ '(0022,0041)': { 'tag': '(0022,0041)', 'vr': 'FL', 'vm': '1', 'name': 'DepthOfTransverseImage' },
+ '(0022,0042)': { 'tag': '(0022,0042)', 'vr': 'SQ', 'vm': '1', 'name': 'MydriaticAgentConcentrationUnitsSequence' },
+ '(0022,0048)': { 'tag': '(0022,0048)', 'vr': 'FL', 'vm': '1', 'name': 'AcrossScanSpatialResolution' },
+ '(0022,0049)': { 'tag': '(0022,0049)', 'vr': 'FL', 'vm': '1', 'name': 'MaximumAcrossScanDistortion' },
+ '(0022,004E)': { 'tag': '(0022,004E)', 'vr': 'DS', 'vm': '1', 'name': 'MydriaticAgentConcentration' },
+ '(0022,0055)': { 'tag': '(0022,0055)', 'vr': 'FL', 'vm': '1', 'name': 'IlluminationWaveLength' },
+ '(0022,0056)': { 'tag': '(0022,0056)', 'vr': 'FL', 'vm': '1', 'name': 'IlluminationPower' },
+ '(0022,0057)': { 'tag': '(0022,0057)', 'vr': 'FL', 'vm': '1', 'name': 'IlluminationBandwidth' },
+ '(0022,0058)': { 'tag': '(0022,0058)', 'vr': 'SQ', 'vm': '1', 'name': 'MydriaticAgentSequence' },
+ '(0022,1007)': { 'tag': '(0022,1007)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialMeasurementsRightEyeSequence' },
+ '(0022,1008)': { 'tag': '(0022,1008)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialMeasurementsLeftEyeSequence' },
+ '(0022,1010)': { 'tag': '(0022,1010)', 'vr': 'CS', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsType' },
+ '(0022,1019)': { 'tag': '(0022,1019)', 'vr': 'FL', 'vm': '1', 'name': 'OphthalmicAxialLength' },
+ '(0022,1024)': { 'tag': '(0022,1024)', 'vr': 'SQ', 'vm': '1', 'name': 'LensStatusCodeSequence' },
+ '(0022,1025)': { 'tag': '(0022,1025)', 'vr': 'SQ', 'vm': '1', 'name': 'VitreousStatusCodeSequence' },
+ '(0022,1028)': { 'tag': '(0022,1028)', 'vr': 'SQ', 'vm': '1', 'name': 'IOLFormulaCodeSequence' },
+ '(0022,1029)': { 'tag': '(0022,1029)', 'vr': 'LO', 'vm': '1', 'name': 'IOLFormulaDetail' },
+ '(0022,1033)': { 'tag': '(0022,1033)', 'vr': 'FL', 'vm': '1', 'name': 'KeratometerIndex' },
+ '(0022,1035)': { 'tag': '(0022,1035)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceOfOphthalmicAxialLengthCodeSequence' },
+ '(0022,1037)': { 'tag': '(0022,1037)', 'vr': 'FL', 'vm': '1', 'name': 'TargetRefraction' },
+ '(0022,1039)': { 'tag': '(0022,1039)', 'vr': 'CS', 'vm': '1', 'name': 'RefractiveProcedureOccurred' },
+ '(0022,1040)': { 'tag': '(0022,1040)', 'vr': 'SQ', 'vm': '1', 'name': 'RefractiveSurgeryTypeCodeSequence' },
+ '(0022,1044)': { 'tag': '(0022,1044)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicUltrasoundAxialMeasurementsTypeCodeSequence' },
+ '(0022,1050)': { 'tag': '(0022,1050)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsSequence' },
+ '(0022,1053)': { 'tag': '(0022,1053)', 'vr': 'FL', 'vm': '1', 'name': 'IOLPower' },
+ '(0022,1054)': { 'tag': '(0022,1054)', 'vr': 'FL', 'vm': '1', 'name': 'PredictedRefractiveError' },
+ '(0022,1059)': { 'tag': '(0022,1059)', 'vr': 'FL', 'vm': '1', 'name': 'OphthalmicAxialLengthVelocity' },
+ '(0022,1065)': { 'tag': '(0022,1065)', 'vr': 'LO', 'vm': '1', 'name': 'LensStatusDescription' },
+ '(0022,1066)': { 'tag': '(0022,1066)', 'vr': 'LO', 'vm': '1', 'name': 'VitreousStatusDescription' },
+ '(0022,1090)': { 'tag': '(0022,1090)', 'vr': 'SQ', 'vm': '1', 'name': 'IOLPowerSequence' },
+ '(0022,1092)': { 'tag': '(0022,1092)', 'vr': 'SQ', 'vm': '1', 'name': 'LensConstantSequence' },
+ '(0022,1093)': { 'tag': '(0022,1093)', 'vr': 'LO', 'vm': '1', 'name': 'IOLManufacturer' },
+ '(0022,1094)': { 'tag': '(0022,1094)', 'vr': 'LO', 'vm': '1', 'name': 'LensConstantDescription' },
+ '(0022,1096)': { 'tag': '(0022,1096)', 'vr': 'SQ', 'vm': '1', 'name': 'KeratometryMeasurementTypeCodeSequence' },
+ '(0022,1100)': { 'tag': '(0022,1100)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedOphthalmicAxialMeasurementsSequence' },
+ '(0022,1101)': { 'tag': '(0022,1101)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence' },
+ '(0022,1103)': { 'tag': '(0022,1103)', 'vr': 'SQ', 'vm': '1', 'name': 'RefractiveErrorBeforeRefractiveSurgeryCodeSequence' },
+ '(0022,1121)': { 'tag': '(0022,1121)', 'vr': 'FL', 'vm': '1', 'name': 'IOLPowerForExactEmmetropia' },
+ '(0022,1122)': { 'tag': '(0022,1122)', 'vr': 'FL', 'vm': '1', 'name': 'IOLPowerForExactTargetRefraction' },
+ '(0022,1125)': { 'tag': '(0022,1125)', 'vr': 'SQ', 'vm': '1', 'name': 'AnteriorChamberDepthDefinitionCodeSequence' },
+ '(0022,1130)': { 'tag': '(0022,1130)', 'vr': 'FL', 'vm': '1', 'name': 'LensThickness' },
+ '(0022,1131)': { 'tag': '(0022,1131)', 'vr': 'FL', 'vm': '1', 'name': 'AnteriorChamberDepth' },
+ '(0022,1132)': { 'tag': '(0022,1132)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceOfLensThicknessDataCodeSequence' },
+ '(0022,1133)': { 'tag': '(0022,1133)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceOfAnteriorChamberDepthDataCodeSequence' },
+ '(0022,1135)': { 'tag': '(0022,1135)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceOfRefractiveErrorDataCodeSequence' },
+ '(0022,1140)': { 'tag': '(0022,1140)', 'vr': 'CS', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementModified' },
+ '(0022,1150)': { 'tag': '(0022,1150)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthDataSourceCodeSequence' },
+ '(0022,1153)': { 'tag': '(0022,1153)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthAcquisitionMethodCodeSequence' },
+ '(0022,1155)': { 'tag': '(0022,1155)', 'vr': 'FL', 'vm': '1', 'name': 'SignalToNoiseRatio' },
+ '(0022,1159)': { 'tag': '(0022,1159)', 'vr': 'LO', 'vm': '1', 'name': 'OphthalmicAxialLengthDataSourceDescription' },
+ '(0022,1210)': { 'tag': '(0022,1210)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsTotalLengthSequence' },
+ '(0022,1211)': { 'tag': '(0022,1211)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsSegmentalLengthSequence' },
+ '(0022,1212)': { 'tag': '(0022,1212)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthMeasurementsLengthSummationSequence' },
+ '(0022,1220)': { 'tag': '(0022,1220)', 'vr': 'SQ', 'vm': '1', 'name': 'UltrasoundOphthalmicAxialLengthMeasurementsSequence' },
+ '(0022,1225)': { 'tag': '(0022,1225)', 'vr': 'SQ', 'vm': '1', 'name': 'OpticalOphthalmicAxialLengthMeasurementsSequence' },
+ '(0022,1230)': { 'tag': '(0022,1230)', 'vr': 'SQ', 'vm': '1', 'name': 'UltrasoundSelectedOphthalmicAxialLengthSequence' },
+ '(0022,1250)': { 'tag': '(0022,1250)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthSelectionMethodCodeSequence' },
+ '(0022,1255)': { 'tag': '(0022,1255)', 'vr': 'SQ', 'vm': '1', 'name': 'OpticalSelectedOphthalmicAxialLengthSequence' },
+ '(0022,1257)': { 'tag': '(0022,1257)', 'vr': 'SQ', 'vm': '1', 'name': 'SelectedSegmentalOphthalmicAxialLengthSequence' },
+ '(0022,1260)': { 'tag': '(0022,1260)', 'vr': 'SQ', 'vm': '1', 'name': 'SelectedTotalOphthalmicAxialLengthSequence' },
+ '(0022,1262)': { 'tag': '(0022,1262)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicAxialLengthQualityMetricSequence' },
+ '(0022,1273)': { 'tag': '(0022,1273)', 'vr': 'LO', 'vm': '1', 'name': 'OphthalmicAxialLengthQualityMetricTypeDescription' },
+ '(0022,1300)': { 'tag': '(0022,1300)', 'vr': 'SQ', 'vm': '1', 'name': 'IntraocularLensCalculationsRightEyeSequence' },
+ '(0022,1310)': { 'tag': '(0022,1310)', 'vr': 'SQ', 'vm': '1', 'name': 'IntraocularLensCalculationsLeftEyeSequence' },
+ '(0022,1330)': { 'tag': '(0022,1330)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedOphthalmicAxialLengthMeasurementQCImageSequence' },
+ '(0024,0010)': { 'tag': '(0024,0010)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldHorizontalExtent' },
+ '(0024,0011)': { 'tag': '(0024,0011)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldVerticalExtent' },
+ '(0024,0012)': { 'tag': '(0024,0012)', 'vr': 'CS', 'vm': '1', 'name': 'VisualFieldShape' },
+ '(0024,0016)': { 'tag': '(0024,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'ScreeningTestModeCodeSequence' },
+ '(0024,0018)': { 'tag': '(0024,0018)', 'vr': 'FL', 'vm': '1', 'name': 'MaximumStimulusLuminance' },
+ '(0024,0020)': { 'tag': '(0024,0020)', 'vr': 'FL', 'vm': '1', 'name': 'BackgroundLuminance' },
+ '(0024,0021)': { 'tag': '(0024,0021)', 'vr': 'SQ', 'vm': '1', 'name': 'StimulusColorCodeSequence' },
+ '(0024,0024)': { 'tag': '(0024,0024)', 'vr': 'SQ', 'vm': '1', 'name': 'BackgroundIlluminationColorCodeSequence' },
+ '(0024,0025)': { 'tag': '(0024,0025)', 'vr': 'FL', 'vm': '1', 'name': 'StimulusArea' },
+ '(0024,0028)': { 'tag': '(0024,0028)', 'vr': 'FL', 'vm': '1', 'name': 'StimulusPresentationTime' },
+ '(0024,0032)': { 'tag': '(0024,0032)', 'vr': 'SQ', 'vm': '1', 'name': 'FixationSequence' },
+ '(0024,0033)': { 'tag': '(0024,0033)', 'vr': 'SQ', 'vm': '1', 'name': 'FixationMonitoringCodeSequence' },
+ '(0024,0034)': { 'tag': '(0024,0034)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualFieldCatchTrialSequence' },
+ '(0024,0035)': { 'tag': '(0024,0035)', 'vr': 'US', 'vm': '1', 'name': 'FixationCheckedQuantity' },
+ '(0024,0036)': { 'tag': '(0024,0036)', 'vr': 'US', 'vm': '1', 'name': 'PatientNotProperlyFixatedQuantity' },
+ '(0024,0037)': { 'tag': '(0024,0037)', 'vr': 'CS', 'vm': '1', 'name': 'PresentedVisualStimuliDataFlag' },
+ '(0024,0038)': { 'tag': '(0024,0038)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfVisualStimuli' },
+ '(0024,0039)': { 'tag': '(0024,0039)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFixationLossesDataFlag' },
+ '(0024,0040)': { 'tag': '(0024,0040)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFixationLosses' },
+ '(0024,0042)': { 'tag': '(0024,0042)', 'vr': 'US', 'vm': '1', 'name': 'StimuliRetestingQuantity' },
+ '(0024,0044)': { 'tag': '(0024,0044)', 'vr': 'LT', 'vm': '1', 'name': 'CommentsOnPatientPerformanceOfVisualField' },
+ '(0024,0045)': { 'tag': '(0024,0045)', 'vr': 'CS', 'vm': '1', 'name': 'FalseNegativesEstimateFlag' },
+ '(0024,0046)': { 'tag': '(0024,0046)', 'vr': 'FL', 'vm': '1', 'name': 'FalseNegativesEstimate' },
+ '(0024,0048)': { 'tag': '(0024,0048)', 'vr': 'US', 'vm': '1', 'name': 'NegativeCatchTrialsQuantity' },
+ '(0024,0050)': { 'tag': '(0024,0050)', 'vr': 'US', 'vm': '1', 'name': 'FalseNegativesQuantity' },
+ '(0024,0051)': { 'tag': '(0024,0051)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFalseNegativesDataFlag' },
+ '(0024,0052)': { 'tag': '(0024,0052)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFalseNegatives' },
+ '(0024,0053)': { 'tag': '(0024,0053)', 'vr': 'CS', 'vm': '1', 'name': 'FalsePositivesEstimateFlag' },
+ '(0024,0054)': { 'tag': '(0024,0054)', 'vr': 'FL', 'vm': '1', 'name': 'FalsePositivesEstimate' },
+ '(0024,0055)': { 'tag': '(0024,0055)', 'vr': 'CS', 'vm': '1', 'name': 'CatchTrialsDataFlag' },
+ '(0024,0056)': { 'tag': '(0024,0056)', 'vr': 'US', 'vm': '1', 'name': 'PositiveCatchTrialsQuantity' },
+ '(0024,0057)': { 'tag': '(0024,0057)', 'vr': 'CS', 'vm': '1', 'name': 'TestPointNormalsDataFlag' },
+ '(0024,0058)': { 'tag': '(0024,0058)', 'vr': 'SQ', 'vm': '1', 'name': 'TestPointNormalsSequence' },
+ '(0024,0059)': { 'tag': '(0024,0059)', 'vr': 'CS', 'vm': '1', 'name': 'GlobalDeviationProbabilityNormalsFlag' },
+ '(0024,0060)': { 'tag': '(0024,0060)', 'vr': 'US', 'vm': '1', 'name': 'FalsePositivesQuantity' },
+ '(0024,0061)': { 'tag': '(0024,0061)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFalsePositivesDataFlag' },
+ '(0024,0062)': { 'tag': '(0024,0062)', 'vr': 'CS', 'vm': '1', 'name': 'ExcessiveFalsePositives' },
+ '(0024,0063)': { 'tag': '(0024,0063)', 'vr': 'CS', 'vm': '1', 'name': 'VisualFieldTestNormalsFlag' },
+ '(0024,0064)': { 'tag': '(0024,0064)', 'vr': 'SQ', 'vm': '1', 'name': 'ResultsNormalsSequence' },
+ '(0024,0065)': { 'tag': '(0024,0065)', 'vr': 'SQ', 'vm': '1', 'name': 'AgeCorrectedSensitivityDeviationAlgorithmSequence' },
+ '(0024,0066)': { 'tag': '(0024,0066)', 'vr': 'FL', 'vm': '1', 'name': 'GlobalDeviationFromNormal' },
+ '(0024,0067)': { 'tag': '(0024,0067)', 'vr': 'SQ', 'vm': '1', 'name': 'GeneralizedDefectSensitivityDeviationAlgorithmSequence' },
+ '(0024,0068)': { 'tag': '(0024,0068)', 'vr': 'FL', 'vm': '1', 'name': 'LocalizedDeviationfromNormal' },
+ '(0024,0069)': { 'tag': '(0024,0069)', 'vr': 'LO', 'vm': '1', 'name': 'PatientReliabilityIndicator' },
+ '(0024,0070)': { 'tag': '(0024,0070)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldMeanSensitivity' },
+ '(0024,0071)': { 'tag': '(0024,0071)', 'vr': 'FL', 'vm': '1', 'name': 'GlobalDeviationProbability' },
+ '(0024,0072)': { 'tag': '(0024,0072)', 'vr': 'CS', 'vm': '1', 'name': 'LocalDeviationProbabilityNormalsFlag' },
+ '(0024,0073)': { 'tag': '(0024,0073)', 'vr': 'FL', 'vm': '1', 'name': 'LocalizedDeviationProbability' },
+ '(0024,0074)': { 'tag': '(0024,0074)', 'vr': 'CS', 'vm': '1', 'name': 'ShortTermFluctuationCalculated' },
+ '(0024,0075)': { 'tag': '(0024,0075)', 'vr': 'FL', 'vm': '1', 'name': 'ShortTermFluctuation' },
+ '(0024,0076)': { 'tag': '(0024,0076)', 'vr': 'CS', 'vm': '1', 'name': 'ShortTermFluctuationProbabilityCalculated' },
+ '(0024,0077)': { 'tag': '(0024,0077)', 'vr': 'FL', 'vm': '1', 'name': 'ShortTermFluctuationProbability' },
+ '(0024,0078)': { 'tag': '(0024,0078)', 'vr': 'CS', 'vm': '1', 'name': 'CorrectedLocalizedDeviationFromNormalCalculated' },
+ '(0024,0079)': { 'tag': '(0024,0079)', 'vr': 'FL', 'vm': '1', 'name': 'CorrectedLocalizedDeviationFromNormal' },
+ '(0024,0080)': { 'tag': '(0024,0080)', 'vr': 'CS', 'vm': '1', 'name': 'CorrectedLocalizedDeviationFromNormalProbabilityCalculated' },
+ '(0024,0081)': { 'tag': '(0024,0081)', 'vr': 'FL', 'vm': '1', 'name': 'CorrectedLocalizedDeviationFromNormalProbability' },
+ '(0024,0083)': { 'tag': '(0024,0083)', 'vr': 'SQ', 'vm': '1', 'name': 'GlobalDeviationProbabilitySequence' },
+ '(0024,0085)': { 'tag': '(0024,0085)', 'vr': 'SQ', 'vm': '1', 'name': 'LocalizedDeviationProbabilitySequence' },
+ '(0024,0086)': { 'tag': '(0024,0086)', 'vr': 'CS', 'vm': '1', 'name': 'FovealSensitivityMeasured' },
+ '(0024,0087)': { 'tag': '(0024,0087)', 'vr': 'FL', 'vm': '1', 'name': 'FovealSensitivity' },
+ '(0024,0088)': { 'tag': '(0024,0088)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldTestDuration' },
+ '(0024,0089)': { 'tag': '(0024,0089)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualFieldTestPointSequence' },
+ '(0024,0090)': { 'tag': '(0024,0090)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldTestPointXCoordinate' },
+ '(0024,0091)': { 'tag': '(0024,0091)', 'vr': 'FL', 'vm': '1', 'name': 'VisualFieldTestPointYCoordinate' },
+ '(0024,0092)': { 'tag': '(0024,0092)', 'vr': 'FL', 'vm': '1', 'name': 'AgeCorrectedSensitivityDeviationValue' },
+ '(0024,0093)': { 'tag': '(0024,0093)', 'vr': 'CS', 'vm': '1', 'name': 'StimulusResults' },
+ '(0024,0094)': { 'tag': '(0024,0094)', 'vr': 'FL', 'vm': '1', 'name': 'SensitivityValue' },
+ '(0024,0095)': { 'tag': '(0024,0095)', 'vr': 'CS', 'vm': '1', 'name': 'RetestStimulusSeen' },
+ '(0024,0096)': { 'tag': '(0024,0096)', 'vr': 'FL', 'vm': '1', 'name': 'RetestSensitivityValue' },
+ '(0024,0097)': { 'tag': '(0024,0097)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualFieldTestPointNormalsSequence' },
+ '(0024,0098)': { 'tag': '(0024,0098)', 'vr': 'FL', 'vm': '1', 'name': 'QuantifiedDefect' },
+ '(0024,0100)': { 'tag': '(0024,0100)', 'vr': 'FL', 'vm': '1', 'name': 'AgeCorrectedSensitivityDeviationProbabilityValue' },
+ '(0024,0102)': { 'tag': '(0024,0102)', 'vr': 'CS', 'vm': '1', 'name': 'GeneralizedDefectCorrectedSensitivityDeviationFlag ' },
+ '(0024,0103)': { 'tag': '(0024,0103)', 'vr': 'FL', 'vm': '1', 'name': 'GeneralizedDefectCorrectedSensitivityDeviationValue ' },
+ '(0024,0104)': { 'tag': '(0024,0104)', 'vr': 'FL', 'vm': '1', 'name': 'GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue' },
+ '(0024,0105)': { 'tag': '(0024,0105)', 'vr': 'FL', 'vm': '1', 'name': 'MinimumSensitivityValue' },
+ '(0024,0106)': { 'tag': '(0024,0106)', 'vr': 'CS', 'vm': '1', 'name': 'BlindSpotLocalized' },
+ '(0024,0107)': { 'tag': '(0024,0107)', 'vr': 'FL', 'vm': '1', 'name': 'BlindSpotXCoordinate' },
+ '(0024,0108)': { 'tag': '(0024,0108)', 'vr': 'FL', 'vm': '1', 'name': 'BlindSpotYCoordinate ' },
+ '(0024,0110)': { 'tag': '(0024,0110)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualAcuityMeasurementSequence' },
+ '(0024,0112)': { 'tag': '(0024,0112)', 'vr': 'SQ', 'vm': '1', 'name': 'RefractiveParametersUsedOnPatientSequence' },
+ '(0024,0113)': { 'tag': '(0024,0113)', 'vr': 'CS', 'vm': '1', 'name': 'MeasurementLaterality' },
+ '(0024,0114)': { 'tag': '(0024,0114)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicPatientClinicalInformationLeftEyeSequence' },
+ '(0024,0115)': { 'tag': '(0024,0115)', 'vr': 'SQ', 'vm': '1', 'name': 'OphthalmicPatientClinicalInformationRightEyeSequence' },
+ '(0024,0117)': { 'tag': '(0024,0117)', 'vr': 'CS', 'vm': '1', 'name': 'FovealPointNormativeDataFlag' },
+ '(0024,0118)': { 'tag': '(0024,0118)', 'vr': 'FL', 'vm': '1', 'name': 'FovealPointProbabilityValue' },
+ '(0024,0120)': { 'tag': '(0024,0120)', 'vr': 'CS', 'vm': '1', 'name': 'ScreeningBaselineMeasured' },
+ '(0024,0122)': { 'tag': '(0024,0122)', 'vr': 'SQ', 'vm': '1', 'name': 'ScreeningBaselineMeasuredSequence' },
+ '(0024,0124)': { 'tag': '(0024,0124)', 'vr': 'CS', 'vm': '1', 'name': 'ScreeningBaselineType' },
+ '(0024,0126)': { 'tag': '(0024,0126)', 'vr': 'FL', 'vm': '1', 'name': 'ScreeningBaselineValue' },
+ '(0024,0202)': { 'tag': '(0024,0202)', 'vr': 'LO', 'vm': '1', 'name': 'AlgorithmSource' },
+ '(0024,0306)': { 'tag': '(0024,0306)', 'vr': 'LO', 'vm': '1', 'name': 'DataSetName' },
+ '(0024,0307)': { 'tag': '(0024,0307)', 'vr': 'LO', 'vm': '1', 'name': 'DataSetVersion' },
+ '(0024,0308)': { 'tag': '(0024,0308)', 'vr': 'LO', 'vm': '1', 'name': 'DataSetSource' },
+ '(0024,0309)': { 'tag': '(0024,0309)', 'vr': 'LO', 'vm': '1', 'name': 'DataSetDescription' },
+ '(0024,0317)': { 'tag': '(0024,0317)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualFieldTestReliabilityGlobalIndexSequence' },
+ '(0024,0320)': { 'tag': '(0024,0320)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualFieldGlobalResultsIndexSequence' },
+ '(0024,0325)': { 'tag': '(0024,0325)', 'vr': 'SQ', 'vm': '1', 'name': 'DataObservationSequence' },
+ '(0024,0338)': { 'tag': '(0024,0338)', 'vr': 'CS', 'vm': '1', 'name': 'IndexNormalsFlag' },
+ '(0024,0341)': { 'tag': '(0024,0341)', 'vr': 'FL', 'vm': '1', 'name': 'IndexProbability' },
+ '(0024,0344)': { 'tag': '(0024,0344)', 'vr': 'SQ', 'vm': '1', 'name': 'IndexProbabilitySequence' },
+ '(0028,0002)': { 'tag': '(0028,0002)', 'vr': 'US', 'vm': '1', 'name': 'SamplesPerPixel' },
+ '(0028,0003)': { 'tag': '(0028,0003)', 'vr': 'US', 'vm': '1', 'name': 'SamplesPerPixelUsed' },
+ '(0028,0004)': { 'tag': '(0028,0004)', 'vr': 'CS', 'vm': '1', 'name': 'PhotometricInterpretation' },
+ '(0028,0005)': { 'tag': '(0028,0005)', 'vr': 'US', 'vm': '1', 'name': 'ImageDimensions' },
+ '(0028,0006)': { 'tag': '(0028,0006)', 'vr': 'US', 'vm': '1', 'name': 'PlanarConfiguration' },
+ '(0028,0008)': { 'tag': '(0028,0008)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFrames' },
+ '(0028,0009)': { 'tag': '(0028,0009)', 'vr': 'AT', 'vm': '1-n', 'name': 'FrameIncrementPointer' },
+ '(0028,000A)': { 'tag': '(0028,000A)', 'vr': 'AT', 'vm': '1-n', 'name': 'FrameDimensionPointer' },
+ '(0028,0010)': { 'tag': '(0028,0010)', 'vr': 'US', 'vm': '1', 'name': 'Rows' },
+ '(0028,0011)': { 'tag': '(0028,0011)', 'vr': 'US', 'vm': '1', 'name': 'Columns' },
+ '(0028,0012)': { 'tag': '(0028,0012)', 'vr': 'US', 'vm': '1', 'name': 'Planes' },
+ '(0028,0014)': { 'tag': '(0028,0014)', 'vr': 'US', 'vm': '1', 'name': 'UltrasoundColorDataPresent' },
+ '(0028,0030)': { 'tag': '(0028,0030)', 'vr': 'DS', 'vm': '2', 'name': 'PixelSpacing' },
+ '(0028,0031)': { 'tag': '(0028,0031)', 'vr': 'DS', 'vm': '2', 'name': 'ZoomFactor' },
+ '(0028,0032)': { 'tag': '(0028,0032)', 'vr': 'DS', 'vm': '2', 'name': 'ZoomCenter' },
+ '(0028,0034)': { 'tag': '(0028,0034)', 'vr': 'IS', 'vm': '2', 'name': 'PixelAspectRatio' },
+ '(0028,0040)': { 'tag': '(0028,0040)', 'vr': 'CS', 'vm': '1', 'name': 'ImageFormat' },
+ '(0028,0050)': { 'tag': '(0028,0050)', 'vr': 'LO', 'vm': '1-n', 'name': 'ManipulatedImage' },
+ '(0028,0051)': { 'tag': '(0028,0051)', 'vr': 'CS', 'vm': '1-n', 'name': 'CorrectedImage' },
+ '(0028,005F)': { 'tag': '(0028,005F)', 'vr': 'LO', 'vm': '1', 'name': 'CompressionRecognitionCode' },
+ '(0028,0060)': { 'tag': '(0028,0060)', 'vr': 'CS', 'vm': '1', 'name': 'CompressionCode' },
+ '(0028,0061)': { 'tag': '(0028,0061)', 'vr': 'SH', 'vm': '1', 'name': 'CompressionOriginator' },
+ '(0028,0062)': { 'tag': '(0028,0062)', 'vr': 'LO', 'vm': '1', 'name': 'CompressionLabel' },
+ '(0028,0063)': { 'tag': '(0028,0063)', 'vr': 'SH', 'vm': '1', 'name': 'CompressionDescription' },
+ '(0028,0065)': { 'tag': '(0028,0065)', 'vr': 'CS', 'vm': '1-n', 'name': 'CompressionSequence' },
+ '(0028,0066)': { 'tag': '(0028,0066)', 'vr': 'AT', 'vm': '1-n', 'name': 'CompressionStepPointers' },
+ '(0028,0068)': { 'tag': '(0028,0068)', 'vr': 'US', 'vm': '1', 'name': 'RepeatInterval' },
+ '(0028,0069)': { 'tag': '(0028,0069)', 'vr': 'US', 'vm': '1', 'name': 'BitsGrouped' },
+ '(0028,0070)': { 'tag': '(0028,0070)', 'vr': 'US', 'vm': '1-n', 'name': 'PerimeterTable' },
+ '(0028,0071)': { 'tag': '(0028,0071)', 'vr': 'US|SS', 'vm': '1', 'name': 'PerimeterValue' },
+ '(0028,0080)': { 'tag': '(0028,0080)', 'vr': 'US', 'vm': '1', 'name': 'PredictorRows' },
+ '(0028,0081)': { 'tag': '(0028,0081)', 'vr': 'US', 'vm': '1', 'name': 'PredictorColumns' },
+ '(0028,0082)': { 'tag': '(0028,0082)', 'vr': 'US', 'vm': '1-n', 'name': 'PredictorConstants' },
+ '(0028,0090)': { 'tag': '(0028,0090)', 'vr': 'CS', 'vm': '1', 'name': 'BlockedPixels' },
+ '(0028,0091)': { 'tag': '(0028,0091)', 'vr': 'US', 'vm': '1', 'name': 'BlockRows' },
+ '(0028,0092)': { 'tag': '(0028,0092)', 'vr': 'US', 'vm': '1', 'name': 'BlockColumns' },
+ '(0028,0093)': { 'tag': '(0028,0093)', 'vr': 'US', 'vm': '1', 'name': 'RowOverlap' },
+ '(0028,0094)': { 'tag': '(0028,0094)', 'vr': 'US', 'vm': '1', 'name': 'ColumnOverlap' },
+ '(0028,0100)': { 'tag': '(0028,0100)', 'vr': 'US', 'vm': '1', 'name': 'BitsAllocated' },
+ '(0028,0101)': { 'tag': '(0028,0101)', 'vr': 'US', 'vm': '1', 'name': 'BitsStored' },
+ '(0028,0102)': { 'tag': '(0028,0102)', 'vr': 'US', 'vm': '1', 'name': 'HighBit' },
+ '(0028,0103)': { 'tag': '(0028,0103)', 'vr': 'US', 'vm': '1', 'name': 'PixelRepresentation' },
+ '(0028,0104)': { 'tag': '(0028,0104)', 'vr': 'US|SS', 'vm': '1', 'name': 'SmallestValidPixelValue' },
+ '(0028,0105)': { 'tag': '(0028,0105)', 'vr': 'US|SS', 'vm': '1', 'name': 'LargestValidPixelValue' },
+ '(0028,0106)': { 'tag': '(0028,0106)', 'vr': 'US|SS', 'vm': '1', 'name': 'SmallestImagePixelValue' },
+ '(0028,0107)': { 'tag': '(0028,0107)', 'vr': 'US|SS', 'vm': '1', 'name': 'LargestImagePixelValue' },
+ '(0028,0108)': { 'tag': '(0028,0108)', 'vr': 'US|SS', 'vm': '1', 'name': 'SmallestPixelValueInSeries' },
+ '(0028,0109)': { 'tag': '(0028,0109)', 'vr': 'US|SS', 'vm': '1', 'name': 'LargestPixelValueInSeries' },
+ '(0028,0110)': { 'tag': '(0028,0110)', 'vr': 'US|SS', 'vm': '1', 'name': 'SmallestImagePixelValueInPlane' },
+ '(0028,0111)': { 'tag': '(0028,0111)', 'vr': 'US|SS', 'vm': '1', 'name': 'LargestImagePixelValueInPlane' },
+ '(0028,0120)': { 'tag': '(0028,0120)', 'vr': 'US|SS', 'vm': '1', 'name': 'PixelPaddingValue' },
+ '(0028,0121)': { 'tag': '(0028,0121)', 'vr': 'US|SS', 'vm': '1', 'name': 'PixelPaddingRangeLimit' },
+ '(0028,0200)': { 'tag': '(0028,0200)', 'vr': 'US', 'vm': '1', 'name': 'ImageLocation' },
+ '(0028,0300)': { 'tag': '(0028,0300)', 'vr': 'CS', 'vm': '1', 'name': 'QualityControlImage' },
+ '(0028,0301)': { 'tag': '(0028,0301)', 'vr': 'CS', 'vm': '1', 'name': 'BurnedInAnnotation' },
+ '(0028,0302)': { 'tag': '(0028,0302)', 'vr': 'CS', 'vm': '1', 'name': 'RecognizableVisualFeatures' },
+ '(0028,0303)': { 'tag': '(0028,0303)', 'vr': 'CS', 'vm': '1', 'name': 'LongitudinalTemporalInformationModified' },
+ '(0028,0400)': { 'tag': '(0028,0400)', 'vr': 'LO', 'vm': '1', 'name': 'TransformLabel' },
+ '(0028,0401)': { 'tag': '(0028,0401)', 'vr': 'LO', 'vm': '1', 'name': 'TransformVersionNumber' },
+ '(0028,0402)': { 'tag': '(0028,0402)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTransformSteps' },
+ '(0028,0403)': { 'tag': '(0028,0403)', 'vr': 'LO', 'vm': '1-n', 'name': 'SequenceOfCompressedData' },
+ '(0028,0404)': { 'tag': '(0028,0404)', 'vr': 'AT', 'vm': '1-n', 'name': 'DetailsOfCoefficients' },
+ '(0028,04x0)': { 'tag': '(0028,04x0)', 'vr': 'US', 'vm': '1', 'name': 'RowsForNthOrderCoefficients' },
+ '(0028,04x1)': { 'tag': '(0028,04x1)', 'vr': 'US', 'vm': '1', 'name': 'ColumnsForNthOrderCoefficients' },
+ '(0028,04x2)': { 'tag': '(0028,04x2)', 'vr': 'LO', 'vm': '1-n', 'name': 'CoefficientCoding' },
+ '(0028,04x3)': { 'tag': '(0028,04x3)', 'vr': 'AT', 'vm': '1-n', 'name': 'CoefficientCodingPointers' },
+ '(0028,0700)': { 'tag': '(0028,0700)', 'vr': 'LO', 'vm': '1', 'name': 'DCTLabel' },
+ '(0028,0701)': { 'tag': '(0028,0701)', 'vr': 'CS', 'vm': '1-n', 'name': 'DataBlockDescription' },
+ '(0028,0702)': { 'tag': '(0028,0702)', 'vr': 'AT', 'vm': '1-n', 'name': 'DataBlock' },
+ '(0028,0710)': { 'tag': '(0028,0710)', 'vr': 'US', 'vm': '1', 'name': 'NormalizationFactorFormat' },
+ '(0028,0720)': { 'tag': '(0028,0720)', 'vr': 'US', 'vm': '1', 'name': 'ZonalMapNumberFormat' },
+ '(0028,0721)': { 'tag': '(0028,0721)', 'vr': 'AT', 'vm': '1-n', 'name': 'ZonalMapLocation' },
+ '(0028,0722)': { 'tag': '(0028,0722)', 'vr': 'US', 'vm': '1', 'name': 'ZonalMapFormat' },
+ '(0028,0730)': { 'tag': '(0028,0730)', 'vr': 'US', 'vm': '1', 'name': 'AdaptiveMapFormat' },
+ '(0028,0740)': { 'tag': '(0028,0740)', 'vr': 'US', 'vm': '1', 'name': 'CodeNumberFormat' },
+ '(0028,08x0)': { 'tag': '(0028,08x0)', 'vr': 'CS', 'vm': '1-n', 'name': 'CodeLabel' },
+ '(0028,08x2)': { 'tag': '(0028,08x2)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTables' },
+ '(0028,08x3)': { 'tag': '(0028,08x3)', 'vr': 'AT', 'vm': '1-n', 'name': 'CodeTableLocation' },
+ '(0028,08x4)': { 'tag': '(0028,08x4)', 'vr': 'US', 'vm': '1', 'name': 'BitsForCodeWord' },
+ '(0028,08x8)': { 'tag': '(0028,08x8)', 'vr': 'AT', 'vm': '1-n', 'name': 'ImageDataLocation' },
+ '(0028,0A02)': { 'tag': '(0028,0A02)', 'vr': 'CS', 'vm': '1', 'name': 'PixelSpacingCalibrationType' },
+ '(0028,0A04)': { 'tag': '(0028,0A04)', 'vr': 'LO', 'vm': '1', 'name': 'PixelSpacingCalibrationDescription' },
+ '(0028,1040)': { 'tag': '(0028,1040)', 'vr': 'CS', 'vm': '1', 'name': 'PixelIntensityRelationship' },
+ '(0028,1041)': { 'tag': '(0028,1041)', 'vr': 'SS', 'vm': '1', 'name': 'PixelIntensityRelationshipSign' },
+ '(0028,1050)': { 'tag': '(0028,1050)', 'vr': 'DS', 'vm': '1-n', 'name': 'WindowCenter' },
+ '(0028,1051)': { 'tag': '(0028,1051)', 'vr': 'DS', 'vm': '1-n', 'name': 'WindowWidth' },
+ '(0028,1052)': { 'tag': '(0028,1052)', 'vr': 'DS', 'vm': '1', 'name': 'RescaleIntercept' },
+ '(0028,1053)': { 'tag': '(0028,1053)', 'vr': 'DS', 'vm': '1', 'name': 'RescaleSlope' },
+ '(0028,1054)': { 'tag': '(0028,1054)', 'vr': 'LO', 'vm': '1', 'name': 'RescaleType' },
+ '(0028,1055)': { 'tag': '(0028,1055)', 'vr': 'LO', 'vm': '1-n', 'name': 'WindowCenterWidthExplanation' },
+ '(0028,1056)': { 'tag': '(0028,1056)', 'vr': 'CS', 'vm': '1', 'name': 'VOILUTFunction' },
+ '(0028,1080)': { 'tag': '(0028,1080)', 'vr': 'CS', 'vm': '1', 'name': 'GrayScale' },
+ '(0028,1090)': { 'tag': '(0028,1090)', 'vr': 'CS', 'vm': '1', 'name': 'RecommendedViewingMode' },
+ '(0028,1100)': { 'tag': '(0028,1100)', 'vr': 'US|SS', 'vm': '3', 'name': 'GrayLookupTableDescriptor' },
+ '(0028,1101)': { 'tag': '(0028,1101)', 'vr': 'US|SS', 'vm': '3', 'name': 'RedPaletteColorLookupTableDescriptor' },
+ '(0028,1102)': { 'tag': '(0028,1102)', 'vr': 'US|SS', 'vm': '3', 'name': 'GreenPaletteColorLookupTableDescriptor' },
+ '(0028,1103)': { 'tag': '(0028,1103)', 'vr': 'US|SS', 'vm': '3', 'name': 'BluePaletteColorLookupTableDescriptor' },
+ '(0028,1104)': { 'tag': '(0028,1104)', 'vr': 'US', 'vm': '3', 'name': 'AlphaPaletteColorLookupTableDescriptor' },
+ '(0028,1111)': { 'tag': '(0028,1111)', 'vr': 'US|SS', 'vm': '4', 'name': 'LargeRedPaletteColorLookupTableDescriptor' },
+ '(0028,1112)': { 'tag': '(0028,1112)', 'vr': 'US|SS', 'vm': '4', 'name': 'LargeGreenPaletteColorLookupTableDescriptor' },
+ '(0028,1113)': { 'tag': '(0028,1113)', 'vr': 'US|SS', 'vm': '4', 'name': 'LargeBluePaletteColorLookupTableDescriptor' },
+ '(0028,1199)': { 'tag': '(0028,1199)', 'vr': 'UI', 'vm': '1', 'name': 'PaletteColorLookupTableUID' },
+ '(0028,1200)': { 'tag': '(0028,1200)', 'vr': 'US|SS|OW', 'vm': '1-n1', 'name': 'GrayLookupTableData' },
+ '(0028,1201)': { 'tag': '(0028,1201)', 'vr': 'OW', 'vm': '1', 'name': 'RedPaletteColorLookupTableData' },
+ '(0028,1202)': { 'tag': '(0028,1202)', 'vr': 'OW', 'vm': '1', 'name': 'GreenPaletteColorLookupTableData' },
+ '(0028,1203)': { 'tag': '(0028,1203)', 'vr': 'OW', 'vm': '1', 'name': 'BluePaletteColorLookupTableData' },
+ '(0028,1204)': { 'tag': '(0028,1204)', 'vr': 'OW', 'vm': '1', 'name': 'AlphaPaletteColorLookupTableData' },
+ '(0028,1211)': { 'tag': '(0028,1211)', 'vr': 'OW', 'vm': '1', 'name': 'LargeRedPaletteColorLookupTableData' },
+ '(0028,1212)': { 'tag': '(0028,1212)', 'vr': 'OW', 'vm': '1', 'name': 'LargeGreenPaletteColorLookupTableData' },
+ '(0028,1213)': { 'tag': '(0028,1213)', 'vr': 'OW', 'vm': '1', 'name': 'LargeBluePaletteColorLookupTableData' },
+ '(0028,1214)': { 'tag': '(0028,1214)', 'vr': 'UI', 'vm': '1', 'name': 'LargePaletteColorLookupTableUID' },
+ '(0028,1221)': { 'tag': '(0028,1221)', 'vr': 'OW', 'vm': '1', 'name': 'SegmentedRedPaletteColorLookupTableData' },
+ '(0028,1222)': { 'tag': '(0028,1222)', 'vr': 'OW', 'vm': '1', 'name': 'SegmentedGreenPaletteColorLookupTableData' },
+ '(0028,1223)': { 'tag': '(0028,1223)', 'vr': 'OW', 'vm': '1', 'name': 'SegmentedBluePaletteColorLookupTableData' },
+ '(0028,1300)': { 'tag': '(0028,1300)', 'vr': 'CS', 'vm': '1', 'name': 'BreastImplantPresent' },
+ '(0028,1350)': { 'tag': '(0028,1350)', 'vr': 'CS', 'vm': '1', 'name': 'PartialView' },
+ '(0028,1351)': { 'tag': '(0028,1351)', 'vr': 'ST', 'vm': '1', 'name': 'PartialViewDescription' },
+ '(0028,1352)': { 'tag': '(0028,1352)', 'vr': 'SQ', 'vm': '1', 'name': 'PartialViewCodeSequence' },
+ '(0028,135A)': { 'tag': '(0028,135A)', 'vr': 'CS', 'vm': '1', 'name': 'SpatialLocationsPreserved' },
+ '(0028,1401)': { 'tag': '(0028,1401)', 'vr': 'SQ', 'vm': '1', 'name': 'DataFrameAssignmentSequence' },
+ '(0028,1402)': { 'tag': '(0028,1402)', 'vr': 'CS', 'vm': '1', 'name': 'DataPathAssignment' },
+ '(0028,1403)': { 'tag': '(0028,1403)', 'vr': 'US', 'vm': '1', 'name': 'BitsMappedToColorLookupTable' },
+ '(0028,1404)': { 'tag': '(0028,1404)', 'vr': 'SQ', 'vm': '1', 'name': 'BlendingLUT1Sequence' },
+ '(0028,1405)': { 'tag': '(0028,1405)', 'vr': 'CS', 'vm': '1', 'name': 'BlendingLUT1TransferFunction' },
+ '(0028,1406)': { 'tag': '(0028,1406)', 'vr': 'FD', 'vm': '1', 'name': 'BlendingWeightConstant' },
+ '(0028,1407)': { 'tag': '(0028,1407)', 'vr': 'US', 'vm': '3', 'name': 'BlendingLookupTableDescriptor' },
+ '(0028,1408)': { 'tag': '(0028,1408)', 'vr': 'OW', 'vm': '1', 'name': 'BlendingLookupTableData' },
+ '(0028,140B)': { 'tag': '(0028,140B)', 'vr': 'SQ', 'vm': '1', 'name': 'EnhancedPaletteColorLookupTableSequence' },
+ '(0028,140C)': { 'tag': '(0028,140C)', 'vr': 'SQ', 'vm': '1', 'name': 'BlendingLUT2Sequence' },
+ '(0028,140D)': { 'tag': '(0028,140D)', 'vr': 'CS', 'vm': '1', 'name': 'BlendingLUT2TransferFunction' },
+ '(0028,140E)': { 'tag': '(0028,140E)', 'vr': 'CS', 'vm': '1', 'name': 'DataPathID' },
+ '(0028,140F)': { 'tag': '(0028,140F)', 'vr': 'CS', 'vm': '1', 'name': 'RGBLUTTransferFunction' },
+ '(0028,1410)': { 'tag': '(0028,1410)', 'vr': 'CS', 'vm': '1', 'name': 'AlphaLUTTransferFunction' },
+ '(0028,2000)': { 'tag': '(0028,2000)', 'vr': 'OB', 'vm': '1', 'name': 'ICCProfile' },
+ '(0028,2110)': { 'tag': '(0028,2110)', 'vr': 'CS', 'vm': '1', 'name': 'LossyImageCompression' },
+ '(0028,2112)': { 'tag': '(0028,2112)', 'vr': 'DS', 'vm': '1-n', 'name': 'LossyImageCompressionRatio' },
+ '(0028,2114)': { 'tag': '(0028,2114)', 'vr': 'CS', 'vm': '1-n', 'name': 'LossyImageCompressionMethod' },
+ '(0028,3000)': { 'tag': '(0028,3000)', 'vr': 'SQ', 'vm': '1', 'name': 'ModalityLUTSequence' },
+ '(0028,3002)': { 'tag': '(0028,3002)', 'vr': 'US|SS', 'vm': '3', 'name': 'LUTDescriptor' },
+ '(0028,3003)': { 'tag': '(0028,3003)', 'vr': 'LO', 'vm': '1', 'name': 'LUTExplanation' },
+ '(0028,3004)': { 'tag': '(0028,3004)', 'vr': 'LO', 'vm': '1', 'name': 'ModalityLUTType' },
+ '(0028,3006)': { 'tag': '(0028,3006)', 'vr': 'US|OW', 'vm': '1-n1', 'name': 'LUTData' },
+ '(0028,3010)': { 'tag': '(0028,3010)', 'vr': 'SQ', 'vm': '1', 'name': 'VOILUTSequence' },
+ '(0028,3110)': { 'tag': '(0028,3110)', 'vr': 'SQ', 'vm': '1', 'name': 'SoftcopyVOILUTSequence' },
+ '(0028,4000)': { 'tag': '(0028,4000)', 'vr': 'LT', 'vm': '1', 'name': 'ImagePresentationComments' },
+ '(0028,5000)': { 'tag': '(0028,5000)', 'vr': 'SQ', 'vm': '1', 'name': 'BiPlaneAcquisitionSequence' },
+ '(0028,6010)': { 'tag': '(0028,6010)', 'vr': 'US', 'vm': '1', 'name': 'RepresentativeFrameNumber' },
+ '(0028,6020)': { 'tag': '(0028,6020)', 'vr': 'US', 'vm': '1-n', 'name': 'FrameNumbersOfInterest' },
+ '(0028,6022)': { 'tag': '(0028,6022)', 'vr': 'LO', 'vm': '1-n', 'name': 'FrameOfInterestDescription' },
+ '(0028,6023)': { 'tag': '(0028,6023)', 'vr': 'CS', 'vm': '1-n', 'name': 'FrameOfInterestType' },
+ '(0028,6030)': { 'tag': '(0028,6030)', 'vr': 'US', 'vm': '1-n', 'name': 'MaskPointers' },
+ '(0028,6040)': { 'tag': '(0028,6040)', 'vr': 'US', 'vm': '1-n', 'name': 'RWavePointer' },
+ '(0028,6100)': { 'tag': '(0028,6100)', 'vr': 'SQ', 'vm': '1', 'name': 'MaskSubtractionSequence' },
+ '(0028,6101)': { 'tag': '(0028,6101)', 'vr': 'CS', 'vm': '1', 'name': 'MaskOperation' },
+ '(0028,6102)': { 'tag': '(0028,6102)', 'vr': 'US', 'vm': '2-2n', 'name': 'ApplicableFrameRange' },
+ '(0028,6110)': { 'tag': '(0028,6110)', 'vr': 'US', 'vm': '1-n', 'name': 'MaskFrameNumbers' },
+ '(0028,6112)': { 'tag': '(0028,6112)', 'vr': 'US', 'vm': '1', 'name': 'ContrastFrameAveraging' },
+ '(0028,6114)': { 'tag': '(0028,6114)', 'vr': 'FL', 'vm': '2', 'name': 'MaskSubPixelShift' },
+ '(0028,6120)': { 'tag': '(0028,6120)', 'vr': 'SS', 'vm': '1', 'name': 'TIDOffset' },
+ '(0028,6190)': { 'tag': '(0028,6190)', 'vr': 'ST', 'vm': '1', 'name': 'MaskOperationExplanation' },
+ '(0028,7FE0)': { 'tag': '(0028,7FE0)', 'vr': 'UT', 'vm': '1', 'name': 'PixelDataProviderURL' },
+ '(0028,9001)': { 'tag': '(0028,9001)', 'vr': 'UL', 'vm': '1', 'name': 'DataPointRows' },
+ '(0028,9002)': { 'tag': '(0028,9002)', 'vr': 'UL', 'vm': '1', 'name': 'DataPointColumns' },
+ '(0028,9003)': { 'tag': '(0028,9003)', 'vr': 'CS', 'vm': '1', 'name': 'SignalDomainColumns' },
+ '(0028,9099)': { 'tag': '(0028,9099)', 'vr': 'US', 'vm': '1', 'name': 'LargestMonochromePixelValue' },
+ '(0028,9108)': { 'tag': '(0028,9108)', 'vr': 'CS', 'vm': '1', 'name': 'DataRepresentation' },
+ '(0028,9110)': { 'tag': '(0028,9110)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelMeasuresSequence' },
+ '(0028,9132)': { 'tag': '(0028,9132)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameVOILUTSequence' },
+ '(0028,9145)': { 'tag': '(0028,9145)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelValueTransformationSequence' },
+ '(0028,9235)': { 'tag': '(0028,9235)', 'vr': 'CS', 'vm': '1', 'name': 'SignalDomainRows' },
+ '(0028,9411)': { 'tag': '(0028,9411)', 'vr': 'FL', 'vm': '1', 'name': 'DisplayFilterPercentage' },
+ '(0028,9415)': { 'tag': '(0028,9415)', 'vr': 'SQ', 'vm': '1', 'name': 'FramePixelShiftSequence' },
+ '(0028,9416)': { 'tag': '(0028,9416)', 'vr': 'US', 'vm': '1', 'name': 'SubtractionItemID' },
+ '(0028,9422)': { 'tag': '(0028,9422)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelIntensityRelationshipLUTSequence' },
+ '(0028,9443)': { 'tag': '(0028,9443)', 'vr': 'SQ', 'vm': '1', 'name': 'FramePixelDataPropertiesSequence' },
+ '(0028,9444)': { 'tag': '(0028,9444)', 'vr': 'CS', 'vm': '1', 'name': 'GeometricalProperties' },
+ '(0028,9445)': { 'tag': '(0028,9445)', 'vr': 'FL', 'vm': '1', 'name': 'GeometricMaximumDistortion' },
+ '(0028,9446)': { 'tag': '(0028,9446)', 'vr': 'CS', 'vm': '1-n', 'name': 'ImageProcessingApplied' },
+ '(0028,9454)': { 'tag': '(0028,9454)', 'vr': 'CS', 'vm': '1', 'name': 'MaskSelectionMode' },
+ '(0028,9474)': { 'tag': '(0028,9474)', 'vr': 'CS', 'vm': '1', 'name': 'LUTFunction' },
+ '(0028,9478)': { 'tag': '(0028,9478)', 'vr': 'FL', 'vm': '1', 'name': 'MaskVisibilityPercentage' },
+ '(0028,9501)': { 'tag': '(0028,9501)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelShiftSequence' },
+ '(0028,9502)': { 'tag': '(0028,9502)', 'vr': 'SQ', 'vm': '1', 'name': 'RegionPixelShiftSequence' },
+ '(0028,9503)': { 'tag': '(0028,9503)', 'vr': 'SS', 'vm': '2-2n', 'name': 'VerticesOfTheRegion' },
+ '(0028,9505)': { 'tag': '(0028,9505)', 'vr': 'SQ', 'vm': '1', 'name': 'MultiFramePresentationSequence' },
+ '(0028,9506)': { 'tag': '(0028,9506)', 'vr': 'US', 'vm': '2-2n', 'name': 'PixelShiftFrameRange' },
+ '(0028,9507)': { 'tag': '(0028,9507)', 'vr': 'US', 'vm': '2-2n', 'name': 'LUTFrameRange' },
+ '(0028,9520)': { 'tag': '(0028,9520)', 'vr': 'DS', 'vm': '16', 'name': 'ImageToEquipmentMappingMatrix' },
+ '(0028,9537)': { 'tag': '(0028,9537)', 'vr': 'CS', 'vm': '1', 'name': 'EquipmentCoordinateSystemIdentification' },
+ '(0032,000A)': { 'tag': '(0032,000A)', 'vr': 'CS', 'vm': '1', 'name': 'StudyStatusID' },
+ '(0032,000C)': { 'tag': '(0032,000C)', 'vr': 'CS', 'vm': '1', 'name': 'StudyPriorityID' },
+ '(0032,0012)': { 'tag': '(0032,0012)', 'vr': 'LO', 'vm': '1', 'name': 'StudyIDIssuer' },
+ '(0032,0032)': { 'tag': '(0032,0032)', 'vr': 'DA', 'vm': '1', 'name': 'StudyVerifiedDate' },
+ '(0032,0033)': { 'tag': '(0032,0033)', 'vr': 'TM', 'vm': '1', 'name': 'StudyVerifiedTime' },
+ '(0032,0034)': { 'tag': '(0032,0034)', 'vr': 'DA', 'vm': '1', 'name': 'StudyReadDate' },
+ '(0032,0035)': { 'tag': '(0032,0035)', 'vr': 'TM', 'vm': '1', 'name': 'StudyReadTime' },
+ '(0032,1000)': { 'tag': '(0032,1000)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledStudyStartDate' },
+ '(0032,1001)': { 'tag': '(0032,1001)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledStudyStartTime' },
+ '(0032,1010)': { 'tag': '(0032,1010)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledStudyStopDate' },
+ '(0032,1011)': { 'tag': '(0032,1011)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledStudyStopTime' },
+ '(0032,1020)': { 'tag': '(0032,1020)', 'vr': 'LO', 'vm': '1', 'name': 'ScheduledStudyLocation' },
+ '(0032,1021)': { 'tag': '(0032,1021)', 'vr': 'AE', 'vm': '1-n', 'name': 'ScheduledStudyLocationAETitle' },
+ '(0032,1030)': { 'tag': '(0032,1030)', 'vr': 'LO', 'vm': '1', 'name': 'ReasonForStudy' },
+ '(0032,1031)': { 'tag': '(0032,1031)', 'vr': 'SQ', 'vm': '1', 'name': 'RequestingPhysicianIdentificationSequence' },
+ '(0032,1032)': { 'tag': '(0032,1032)', 'vr': 'PN', 'vm': '1', 'name': 'RequestingPhysician' },
+ '(0032,1033)': { 'tag': '(0032,1033)', 'vr': 'LO', 'vm': '1', 'name': 'RequestingService' },
+ '(0032,1034)': { 'tag': '(0032,1034)', 'vr': 'SQ', 'vm': '1', 'name': 'RequestingServiceCodeSequence' },
+ '(0032,1040)': { 'tag': '(0032,1040)', 'vr': 'DA', 'vm': '1', 'name': 'StudyArrivalDate' },
+ '(0032,1041)': { 'tag': '(0032,1041)', 'vr': 'TM', 'vm': '1', 'name': 'StudyArrivalTime' },
+ '(0032,1050)': { 'tag': '(0032,1050)', 'vr': 'DA', 'vm': '1', 'name': 'StudyCompletionDate' },
+ '(0032,1051)': { 'tag': '(0032,1051)', 'vr': 'TM', 'vm': '1', 'name': 'StudyCompletionTime' },
+ '(0032,1055)': { 'tag': '(0032,1055)', 'vr': 'CS', 'vm': '1', 'name': 'StudyComponentStatusID' },
+ '(0032,1060)': { 'tag': '(0032,1060)', 'vr': 'LO', 'vm': '1', 'name': 'RequestedProcedureDescription' },
+ '(0032,1064)': { 'tag': '(0032,1064)', 'vr': 'SQ', 'vm': '1', 'name': 'RequestedProcedureCodeSequence' },
+ '(0032,1070)': { 'tag': '(0032,1070)', 'vr': 'LO', 'vm': '1', 'name': 'RequestedContrastAgent' },
+ '(0032,4000)': { 'tag': '(0032,4000)', 'vr': 'LT', 'vm': '1', 'name': 'StudyComments' },
+ '(0038,0004)': { 'tag': '(0038,0004)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPatientAliasSequence' },
+ '(0038,0008)': { 'tag': '(0038,0008)', 'vr': 'CS', 'vm': '1', 'name': 'VisitStatusID' },
+ '(0038,0010)': { 'tag': '(0038,0010)', 'vr': 'LO', 'vm': '1', 'name': 'AdmissionID' },
+ '(0038,0011)': { 'tag': '(0038,0011)', 'vr': 'LO', 'vm': '1', 'name': 'IssuerOfAdmissionID' },
+ '(0038,0014)': { 'tag': '(0038,0014)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfAdmissionIDSequence' },
+ '(0038,0016)': { 'tag': '(0038,0016)', 'vr': 'LO', 'vm': '1', 'name': 'RouteOfAdmissions' },
+ '(0038,001A)': { 'tag': '(0038,001A)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledAdmissionDate' },
+ '(0038,001B)': { 'tag': '(0038,001B)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledAdmissionTime' },
+ '(0038,001C)': { 'tag': '(0038,001C)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledDischargeDate' },
+ '(0038,001D)': { 'tag': '(0038,001D)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledDischargeTime' },
+ '(0038,001E)': { 'tag': '(0038,001E)', 'vr': 'LO', 'vm': '1', 'name': 'ScheduledPatientInstitutionResidence' },
+ '(0038,0020)': { 'tag': '(0038,0020)', 'vr': 'DA', 'vm': '1', 'name': 'AdmittingDate' },
+ '(0038,0021)': { 'tag': '(0038,0021)', 'vr': 'TM', 'vm': '1', 'name': 'AdmittingTime' },
+ '(0038,0030)': { 'tag': '(0038,0030)', 'vr': 'DA', 'vm': '1', 'name': 'DischargeDate' },
+ '(0038,0032)': { 'tag': '(0038,0032)', 'vr': 'TM', 'vm': '1', 'name': 'DischargeTime' },
+ '(0038,0040)': { 'tag': '(0038,0040)', 'vr': 'LO', 'vm': '1', 'name': 'DischargeDiagnosisDescription' },
+ '(0038,0044)': { 'tag': '(0038,0044)', 'vr': 'SQ', 'vm': '1', 'name': 'DischargeDiagnosisCodeSequence' },
+ '(0038,0050)': { 'tag': '(0038,0050)', 'vr': 'LO', 'vm': '1', 'name': 'SpecialNeeds' },
+ '(0038,0060)': { 'tag': '(0038,0060)', 'vr': 'LO', 'vm': '1', 'name': 'ServiceEpisodeID' },
+ '(0038,0061)': { 'tag': '(0038,0061)', 'vr': 'LO', 'vm': '1', 'name': 'IssuerOfServiceEpisodeID' },
+ '(0038,0062)': { 'tag': '(0038,0062)', 'vr': 'LO', 'vm': '1', 'name': 'ServiceEpisodeDescription' },
+ '(0038,0064)': { 'tag': '(0038,0064)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfServiceEpisodeIDSequence' },
+ '(0038,0100)': { 'tag': '(0038,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'PertinentDocumentsSequence' },
+ '(0038,0300)': { 'tag': '(0038,0300)', 'vr': 'LO', 'vm': '1', 'name': 'CurrentPatientLocation' },
+ '(0038,0400)': { 'tag': '(0038,0400)', 'vr': 'LO', 'vm': '1', 'name': 'PatientInstitutionResidence' },
+ '(0038,0500)': { 'tag': '(0038,0500)', 'vr': 'LO', 'vm': '1', 'name': 'PatientState' },
+ '(0038,0502)': { 'tag': '(0038,0502)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientClinicalTrialParticipationSequence' },
+ '(0038,4000)': { 'tag': '(0038,4000)', 'vr': 'LT', 'vm': '1', 'name': 'VisitComments' },
+ '(003A,0004)': { 'tag': '(003A,0004)', 'vr': 'CS', 'vm': '1', 'name': 'WaveformOriginality' },
+ '(003A,0005)': { 'tag': '(003A,0005)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfWaveformChannels' },
+ '(003A,0010)': { 'tag': '(003A,0010)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfWaveformSamples' },
+ '(003A,001A)': { 'tag': '(003A,001A)', 'vr': 'DS', 'vm': '1', 'name': 'SamplingFrequency' },
+ '(003A,0020)': { 'tag': '(003A,0020)', 'vr': 'SH', 'vm': '1', 'name': 'MultiplexGroupLabel' },
+ '(003A,0200)': { 'tag': '(003A,0200)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelDefinitionSequence' },
+ '(003A,0202)': { 'tag': '(003A,0202)', 'vr': 'IS', 'vm': '1', 'name': 'WaveformChannelNumber' },
+ '(003A,0203)': { 'tag': '(003A,0203)', 'vr': 'SH', 'vm': '1', 'name': 'ChannelLabel' },
+ '(003A,0205)': { 'tag': '(003A,0205)', 'vr': 'CS', 'vm': '1-n', 'name': 'ChannelStatus' },
+ '(003A,0208)': { 'tag': '(003A,0208)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelSourceSequence' },
+ '(003A,0209)': { 'tag': '(003A,0209)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelSourceModifiersSequence' },
+ '(003A,020A)': { 'tag': '(003A,020A)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceWaveformSequence' },
+ '(003A,020C)': { 'tag': '(003A,020C)', 'vr': 'LO', 'vm': '1', 'name': 'ChannelDerivationDescription' },
+ '(003A,0210)': { 'tag': '(003A,0210)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelSensitivity' },
+ '(003A,0211)': { 'tag': '(003A,0211)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelSensitivityUnitsSequence' },
+ '(003A,0212)': { 'tag': '(003A,0212)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelSensitivityCorrectionFactor' },
+ '(003A,0213)': { 'tag': '(003A,0213)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelBaseline' },
+ '(003A,0214)': { 'tag': '(003A,0214)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelTimeSkew' },
+ '(003A,0215)': { 'tag': '(003A,0215)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelSampleSkew' },
+ '(003A,0218)': { 'tag': '(003A,0218)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelOffset' },
+ '(003A,021A)': { 'tag': '(003A,021A)', 'vr': 'US', 'vm': '1', 'name': 'WaveformBitsStored' },
+ '(003A,0220)': { 'tag': '(003A,0220)', 'vr': 'DS', 'vm': '1', 'name': 'FilterLowFrequency' },
+ '(003A,0221)': { 'tag': '(003A,0221)', 'vr': 'DS', 'vm': '1', 'name': 'FilterHighFrequency' },
+ '(003A,0222)': { 'tag': '(003A,0222)', 'vr': 'DS', 'vm': '1', 'name': 'NotchFilterFrequency' },
+ '(003A,0223)': { 'tag': '(003A,0223)', 'vr': 'DS', 'vm': '1', 'name': 'NotchFilterBandwidth' },
+ '(003A,0230)': { 'tag': '(003A,0230)', 'vr': 'FL', 'vm': '1', 'name': 'WaveformDataDisplayScale' },
+ '(003A,0231)': { 'tag': '(003A,0231)', 'vr': 'US', 'vm': '3', 'name': 'WaveformDisplayBackgroundCIELabValue' },
+ '(003A,0240)': { 'tag': '(003A,0240)', 'vr': 'SQ', 'vm': '1', 'name': 'WaveformPresentationGroupSequence' },
+ '(003A,0241)': { 'tag': '(003A,0241)', 'vr': 'US', 'vm': '1', 'name': 'PresentationGroupNumber' },
+ '(003A,0242)': { 'tag': '(003A,0242)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelDisplaySequence' },
+ '(003A,0244)': { 'tag': '(003A,0244)', 'vr': 'US', 'vm': '3', 'name': 'ChannelRecommendedDisplayCIELabValue' },
+ '(003A,0245)': { 'tag': '(003A,0245)', 'vr': 'FL', 'vm': '1', 'name': 'ChannelPosition' },
+ '(003A,0246)': { 'tag': '(003A,0246)', 'vr': 'CS', 'vm': '1', 'name': 'DisplayShadingFlag' },
+ '(003A,0247)': { 'tag': '(003A,0247)', 'vr': 'FL', 'vm': '1', 'name': 'FractionalChannelDisplayScale' },
+ '(003A,0248)': { 'tag': '(003A,0248)', 'vr': 'FL', 'vm': '1', 'name': 'AbsoluteChannelDisplayScale' },
+ '(003A,0300)': { 'tag': '(003A,0300)', 'vr': 'SQ', 'vm': '1', 'name': 'MultiplexedAudioChannelsDescriptionCodeSequence' },
+ '(003A,0301)': { 'tag': '(003A,0301)', 'vr': 'IS', 'vm': '1', 'name': 'ChannelIdentificationCode' },
+ '(003A,0302)': { 'tag': '(003A,0302)', 'vr': 'CS', 'vm': '1', 'name': 'ChannelMode' },
+ '(0040,0001)': { 'tag': '(0040,0001)', 'vr': 'AE', 'vm': '1-n', 'name': 'ScheduledStationAETitle' },
+ '(0040,0002)': { 'tag': '(0040,0002)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledProcedureStepStartDate' },
+ '(0040,0003)': { 'tag': '(0040,0003)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledProcedureStepStartTime' },
+ '(0040,0004)': { 'tag': '(0040,0004)', 'vr': 'DA', 'vm': '1', 'name': 'ScheduledProcedureStepEndDate' },
+ '(0040,0005)': { 'tag': '(0040,0005)', 'vr': 'TM', 'vm': '1', 'name': 'ScheduledProcedureStepEndTime' },
+ '(0040,0006)': { 'tag': '(0040,0006)', 'vr': 'PN', 'vm': '1', 'name': 'ScheduledPerformingPhysicianName' },
+ '(0040,0007)': { 'tag': '(0040,0007)', 'vr': 'LO', 'vm': '1', 'name': 'ScheduledProcedureStepDescription' },
+ '(0040,0008)': { 'tag': '(0040,0008)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledProtocolCodeSequence' },
+ '(0040,0009)': { 'tag': '(0040,0009)', 'vr': 'SH', 'vm': '1', 'name': 'ScheduledProcedureStepID' },
+ '(0040,000A)': { 'tag': '(0040,000A)', 'vr': 'SQ', 'vm': '1', 'name': 'StageCodeSequence' },
+ '(0040,000B)': { 'tag': '(0040,000B)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledPerformingPhysicianIdentificationSequence' },
+ '(0040,0010)': { 'tag': '(0040,0010)', 'vr': 'SH', 'vm': '1-n', 'name': 'ScheduledStationName' },
+ '(0040,0011)': { 'tag': '(0040,0011)', 'vr': 'SH', 'vm': '1', 'name': 'ScheduledProcedureStepLocation' },
+ '(0040,0012)': { 'tag': '(0040,0012)', 'vr': 'LO', 'vm': '1', 'name': 'PreMedication' },
+ '(0040,0020)': { 'tag': '(0040,0020)', 'vr': 'CS', 'vm': '1', 'name': 'ScheduledProcedureStepStatus' },
+ '(0040,0026)': { 'tag': '(0040,0026)', 'vr': 'SQ', 'vm': '1', 'name': 'OrderPlacerIdentifierSequence' },
+ '(0040,0027)': { 'tag': '(0040,0027)', 'vr': 'SQ', 'vm': '1', 'name': 'OrderFillerIdentifierSequence' },
+ '(0040,0031)': { 'tag': '(0040,0031)', 'vr': 'UT', 'vm': '1', 'name': 'LocalNamespaceEntityID' },
+ '(0040,0032)': { 'tag': '(0040,0032)', 'vr': 'UT', 'vm': '1', 'name': 'UniversalEntityID' },
+ '(0040,0033)': { 'tag': '(0040,0033)', 'vr': 'CS', 'vm': '1', 'name': 'UniversalEntityIDType' },
+ '(0040,0035)': { 'tag': '(0040,0035)', 'vr': 'CS', 'vm': '1', 'name': 'IdentifierTypeCode' },
+ '(0040,0036)': { 'tag': '(0040,0036)', 'vr': 'SQ', 'vm': '1', 'name': 'AssigningFacilitySequence' },
+ '(0040,0039)': { 'tag': '(0040,0039)', 'vr': 'SQ', 'vm': '1', 'name': 'AssigningJurisdictionCodeSequence' },
+ '(0040,003A)': { 'tag': '(0040,003A)', 'vr': 'SQ', 'vm': '1', 'name': 'AssigningAgencyOrDepartmentCodeSequence' },
+ '(0040,0100)': { 'tag': '(0040,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledProcedureStepSequence' },
+ '(0040,0220)': { 'tag': '(0040,0220)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedNonImageCompositeSOPInstanceSequence' },
+ '(0040,0241)': { 'tag': '(0040,0241)', 'vr': 'AE', 'vm': '1', 'name': 'PerformedStationAETitle' },
+ '(0040,0242)': { 'tag': '(0040,0242)', 'vr': 'SH', 'vm': '1', 'name': 'PerformedStationName' },
+ '(0040,0243)': { 'tag': '(0040,0243)', 'vr': 'SH', 'vm': '1', 'name': 'PerformedLocation' },
+ '(0040,0244)': { 'tag': '(0040,0244)', 'vr': 'DA', 'vm': '1', 'name': 'PerformedProcedureStepStartDate' },
+ '(0040,0245)': { 'tag': '(0040,0245)', 'vr': 'TM', 'vm': '1', 'name': 'PerformedProcedureStepStartTime' },
+ '(0040,0250)': { 'tag': '(0040,0250)', 'vr': 'DA', 'vm': '1', 'name': 'PerformedProcedureStepEndDate' },
+ '(0040,0251)': { 'tag': '(0040,0251)', 'vr': 'TM', 'vm': '1', 'name': 'PerformedProcedureStepEndTime' },
+ '(0040,0252)': { 'tag': '(0040,0252)', 'vr': 'CS', 'vm': '1', 'name': 'PerformedProcedureStepStatus' },
+ '(0040,0253)': { 'tag': '(0040,0253)', 'vr': 'SH', 'vm': '1', 'name': 'PerformedProcedureStepID' },
+ '(0040,0254)': { 'tag': '(0040,0254)', 'vr': 'LO', 'vm': '1', 'name': 'PerformedProcedureStepDescription' },
+ '(0040,0255)': { 'tag': '(0040,0255)', 'vr': 'LO', 'vm': '1', 'name': 'PerformedProcedureTypeDescription' },
+ '(0040,0260)': { 'tag': '(0040,0260)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedProtocolCodeSequence' },
+ '(0040,0261)': { 'tag': '(0040,0261)', 'vr': 'CS', 'vm': '1', 'name': 'PerformedProtocolType' },
+ '(0040,0270)': { 'tag': '(0040,0270)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledStepAttributesSequence' },
+ '(0040,0275)': { 'tag': '(0040,0275)', 'vr': 'SQ', 'vm': '1', 'name': 'RequestAttributesSequence' },
+ '(0040,0280)': { 'tag': '(0040,0280)', 'vr': 'ST', 'vm': '1', 'name': 'CommentsOnThePerformedProcedureStep' },
+ '(0040,0281)': { 'tag': '(0040,0281)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedProcedureStepDiscontinuationReasonCodeSequence' },
+ '(0040,0293)': { 'tag': '(0040,0293)', 'vr': 'SQ', 'vm': '1', 'name': 'QuantitySequence' },
+ '(0040,0294)': { 'tag': '(0040,0294)', 'vr': 'DS', 'vm': '1', 'name': 'Quantity' },
+ '(0040,0295)': { 'tag': '(0040,0295)', 'vr': 'SQ', 'vm': '1', 'name': 'MeasuringUnitsSequence' },
+ '(0040,0296)': { 'tag': '(0040,0296)', 'vr': 'SQ', 'vm': '1', 'name': 'BillingItemSequence' },
+ '(0040,0300)': { 'tag': '(0040,0300)', 'vr': 'US', 'vm': '1', 'name': 'TotalTimeOfFluoroscopy' },
+ '(0040,0301)': { 'tag': '(0040,0301)', 'vr': 'US', 'vm': '1', 'name': 'TotalNumberOfExposures' },
+ '(0040,0302)': { 'tag': '(0040,0302)', 'vr': 'US', 'vm': '1', 'name': 'EntranceDose' },
+ '(0040,0303)': { 'tag': '(0040,0303)', 'vr': 'US', 'vm': '1-2', 'name': 'ExposedArea' },
+ '(0040,0306)': { 'tag': '(0040,0306)', 'vr': 'DS', 'vm': '1', 'name': 'DistanceSourceToEntrance' },
+ '(0040,0307)': { 'tag': '(0040,0307)', 'vr': 'DS', 'vm': '1', 'name': 'DistanceSourceToSupport' },
+ '(0040,030E)': { 'tag': '(0040,030E)', 'vr': 'SQ', 'vm': '1', 'name': 'ExposureDoseSequence' },
+ '(0040,0310)': { 'tag': '(0040,0310)', 'vr': 'ST', 'vm': '1', 'name': 'CommentsOnRadiationDose' },
+ '(0040,0312)': { 'tag': '(0040,0312)', 'vr': 'DS', 'vm': '1', 'name': 'XRayOutput' },
+ '(0040,0314)': { 'tag': '(0040,0314)', 'vr': 'DS', 'vm': '1', 'name': 'HalfValueLayer' },
+ '(0040,0316)': { 'tag': '(0040,0316)', 'vr': 'DS', 'vm': '1', 'name': 'OrganDose' },
+ '(0040,0318)': { 'tag': '(0040,0318)', 'vr': 'CS', 'vm': '1', 'name': 'OrganExposed' },
+ '(0040,0320)': { 'tag': '(0040,0320)', 'vr': 'SQ', 'vm': '1', 'name': 'BillingProcedureStepSequence' },
+ '(0040,0321)': { 'tag': '(0040,0321)', 'vr': 'SQ', 'vm': '1', 'name': 'FilmConsumptionSequence' },
+ '(0040,0324)': { 'tag': '(0040,0324)', 'vr': 'SQ', 'vm': '1', 'name': 'BillingSuppliesAndDevicesSequence' },
+ '(0040,0330)': { 'tag': '(0040,0330)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedProcedureStepSequence' },
+ '(0040,0340)': { 'tag': '(0040,0340)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedSeriesSequence' },
+ '(0040,0400)': { 'tag': '(0040,0400)', 'vr': 'LT', 'vm': '1', 'name': 'CommentsOnTheScheduledProcedureStep' },
+ '(0040,0440)': { 'tag': '(0040,0440)', 'vr': 'SQ', 'vm': '1', 'name': 'ProtocolContextSequence' },
+ '(0040,0441)': { 'tag': '(0040,0441)', 'vr': 'SQ', 'vm': '1', 'name': 'ContentItemModifierSequence' },
+ '(0040,0500)': { 'tag': '(0040,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledSpecimenSequence' },
+ '(0040,050A)': { 'tag': '(0040,050A)', 'vr': 'LO', 'vm': '1', 'name': 'SpecimenAccessionNumber' },
+ '(0040,0512)': { 'tag': '(0040,0512)', 'vr': 'LO', 'vm': '1', 'name': 'ContainerIdentifier' },
+ '(0040,0513)': { 'tag': '(0040,0513)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfTheContainerIdentifierSequence' },
+ '(0040,0515)': { 'tag': '(0040,0515)', 'vr': 'SQ', 'vm': '1', 'name': 'AlternateContainerIdentifierSequence' },
+ '(0040,0518)': { 'tag': '(0040,0518)', 'vr': 'SQ', 'vm': '1', 'name': 'ContainerTypeCodeSequence' },
+ '(0040,051A)': { 'tag': '(0040,051A)', 'vr': 'LO', 'vm': '1', 'name': 'ContainerDescription' },
+ '(0040,0520)': { 'tag': '(0040,0520)', 'vr': 'SQ', 'vm': '1', 'name': 'ContainerComponentSequence' },
+ '(0040,0550)': { 'tag': '(0040,0550)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenSequence' },
+ '(0040,0551)': { 'tag': '(0040,0551)', 'vr': 'LO', 'vm': '1', 'name': 'SpecimenIdentifier' },
+ '(0040,0552)': { 'tag': '(0040,0552)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenDescriptionSequenceTrial' },
+ '(0040,0553)': { 'tag': '(0040,0553)', 'vr': 'ST', 'vm': '1', 'name': 'SpecimenDescriptionTrial' },
+ '(0040,0554)': { 'tag': '(0040,0554)', 'vr': 'UI', 'vm': '1', 'name': 'SpecimenUID' },
+ '(0040,0555)': { 'tag': '(0040,0555)', 'vr': 'SQ', 'vm': '1', 'name': 'AcquisitionContextSequence' },
+ '(0040,0556)': { 'tag': '(0040,0556)', 'vr': 'ST', 'vm': '1', 'name': 'AcquisitionContextDescription' },
+ '(0040,0560)': { 'tag': '(0040,0560)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenDescriptionSequence' },
+ '(0040,0562)': { 'tag': '(0040,0562)', 'vr': 'SQ', 'vm': '1', 'name': 'IssuerOfTheSpecimenIdentifierSequence' },
+ '(0040,059A)': { 'tag': '(0040,059A)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenTypeCodeSequence' },
+ '(0040,0600)': { 'tag': '(0040,0600)', 'vr': 'LO', 'vm': '1', 'name': 'SpecimenShortDescription' },
+ '(0040,0602)': { 'tag': '(0040,0602)', 'vr': 'UT', 'vm': '1', 'name': 'SpecimenDetailedDescription' },
+ '(0040,0610)': { 'tag': '(0040,0610)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenPreparationSequence' },
+ '(0040,0612)': { 'tag': '(0040,0612)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenPreparationStepContentItemSequence' },
+ '(0040,0620)': { 'tag': '(0040,0620)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenLocalizationContentItemSequence' },
+ '(0040,06FA)': { 'tag': '(0040,06FA)', 'vr': 'LO', 'vm': '1', 'name': 'SlideIdentifier' },
+ '(0040,071A)': { 'tag': '(0040,071A)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageCenterPointCoordinatesSequence' },
+ '(0040,072A)': { 'tag': '(0040,072A)', 'vr': 'DS', 'vm': '1', 'name': 'XOffsetInSlideCoordinateSystem' },
+ '(0040,073A)': { 'tag': '(0040,073A)', 'vr': 'DS', 'vm': '1', 'name': 'YOffsetInSlideCoordinateSystem' },
+ '(0040,074A)': { 'tag': '(0040,074A)', 'vr': 'DS', 'vm': '1', 'name': 'ZOffsetInSlideCoordinateSystem' },
+ '(0040,08D8)': { 'tag': '(0040,08D8)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelSpacingSequence' },
+ '(0040,08DA)': { 'tag': '(0040,08DA)', 'vr': 'SQ', 'vm': '1', 'name': 'CoordinateSystemAxisCodeSequence' },
+ '(0040,08EA)': { 'tag': '(0040,08EA)', 'vr': 'SQ', 'vm': '1', 'name': 'MeasurementUnitsCodeSequence' },
+ '(0040,09F8)': { 'tag': '(0040,09F8)', 'vr': 'SQ', 'vm': '1', 'name': 'VitalStainCodeSequenceTrial' },
+ '(0040,1001)': { 'tag': '(0040,1001)', 'vr': 'SH', 'vm': '1', 'name': 'RequestedProcedureID' },
+ '(0040,1002)': { 'tag': '(0040,1002)', 'vr': 'LO', 'vm': '1', 'name': 'ReasonForTheRequestedProcedure' },
+ '(0040,1003)': { 'tag': '(0040,1003)', 'vr': 'SH', 'vm': '1', 'name': 'RequestedProcedurePriority' },
+ '(0040,1004)': { 'tag': '(0040,1004)', 'vr': 'LO', 'vm': '1', 'name': 'PatientTransportArrangements' },
+ '(0040,1005)': { 'tag': '(0040,1005)', 'vr': 'LO', 'vm': '1', 'name': 'RequestedProcedureLocation' },
+ '(0040,1006)': { 'tag': '(0040,1006)', 'vr': 'SH', 'vm': '1', 'name': 'PlacerOrderNumberProcedure' },
+ '(0040,1007)': { 'tag': '(0040,1007)', 'vr': 'SH', 'vm': '1', 'name': 'FillerOrderNumberProcedure' },
+ '(0040,1008)': { 'tag': '(0040,1008)', 'vr': 'LO', 'vm': '1', 'name': 'ConfidentialityCode' },
+ '(0040,1009)': { 'tag': '(0040,1009)', 'vr': 'SH', 'vm': '1', 'name': 'ReportingPriority' },
+ '(0040,100A)': { 'tag': '(0040,100A)', 'vr': 'SQ', 'vm': '1', 'name': 'ReasonForRequestedProcedureCodeSequence' },
+ '(0040,1010)': { 'tag': '(0040,1010)', 'vr': 'PN', 'vm': '1-n', 'name': 'NamesOfIntendedRecipientsOfResults' },
+ '(0040,1011)': { 'tag': '(0040,1011)', 'vr': 'SQ', 'vm': '1', 'name': 'IntendedRecipientsOfResultsIdentificationSequence' },
+ '(0040,1012)': { 'tag': '(0040,1012)', 'vr': 'SQ', 'vm': '1', 'name': 'ReasonForPerformedProcedureCodeSequence' },
+ '(0040,1060)': { 'tag': '(0040,1060)', 'vr': 'LO', 'vm': '1', 'name': 'RequestedProcedureDescriptionTrial' },
+ '(0040,1101)': { 'tag': '(0040,1101)', 'vr': 'SQ', 'vm': '1', 'name': 'PersonIdentificationCodeSequence' },
+ '(0040,1102)': { 'tag': '(0040,1102)', 'vr': 'ST', 'vm': '1', 'name': 'PersonAddress' },
+ '(0040,1103)': { 'tag': '(0040,1103)', 'vr': 'LO', 'vm': '1-n', 'name': 'PersonTelephoneNumbers' },
+ '(0040,1400)': { 'tag': '(0040,1400)', 'vr': 'LT', 'vm': '1', 'name': 'RequestedProcedureComments' },
+ '(0040,2001)': { 'tag': '(0040,2001)', 'vr': 'LO', 'vm': '1', 'name': 'ReasonForTheImagingServiceRequest' },
+ '(0040,2004)': { 'tag': '(0040,2004)', 'vr': 'DA', 'vm': '1', 'name': 'IssueDateOfImagingServiceRequest' },
+ '(0040,2005)': { 'tag': '(0040,2005)', 'vr': 'TM', 'vm': '1', 'name': 'IssueTimeOfImagingServiceRequest' },
+ '(0040,2006)': { 'tag': '(0040,2006)', 'vr': 'SH', 'vm': '1', 'name': 'PlacerOrderNumberImagingServiceRequestRetired' },
+ '(0040,2007)': { 'tag': '(0040,2007)', 'vr': 'SH', 'vm': '1', 'name': 'FillerOrderNumberImagingServiceRequestRetired' },
+ '(0040,2008)': { 'tag': '(0040,2008)', 'vr': 'PN', 'vm': '1', 'name': 'OrderEnteredBy' },
+ '(0040,2009)': { 'tag': '(0040,2009)', 'vr': 'SH', 'vm': '1', 'name': 'OrderEntererLocation' },
+ '(0040,2010)': { 'tag': '(0040,2010)', 'vr': 'SH', 'vm': '1', 'name': 'OrderCallbackPhoneNumber' },
+ '(0040,2016)': { 'tag': '(0040,2016)', 'vr': 'LO', 'vm': '1', 'name': 'PlacerOrderNumberImagingServiceRequest' },
+ '(0040,2017)': { 'tag': '(0040,2017)', 'vr': 'LO', 'vm': '1', 'name': 'FillerOrderNumberImagingServiceRequest' },
+ '(0040,2400)': { 'tag': '(0040,2400)', 'vr': 'LT', 'vm': '1', 'name': 'ImagingServiceRequestComments' },
+ '(0040,3001)': { 'tag': '(0040,3001)', 'vr': 'LO', 'vm': '1', 'name': 'ConfidentialityConstraintOnPatientDataDescription' },
+ '(0040,4001)': { 'tag': '(0040,4001)', 'vr': 'CS', 'vm': '1', 'name': 'GeneralPurposeScheduledProcedureStepStatus' },
+ '(0040,4002)': { 'tag': '(0040,4002)', 'vr': 'CS', 'vm': '1', 'name': 'GeneralPurposePerformedProcedureStepStatus' },
+ '(0040,4003)': { 'tag': '(0040,4003)', 'vr': 'CS', 'vm': '1', 'name': 'GeneralPurposeScheduledProcedureStepPriority' },
+ '(0040,4004)': { 'tag': '(0040,4004)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledProcessingApplicationsCodeSequence' },
+ '(0040,4005)': { 'tag': '(0040,4005)', 'vr': 'DT', 'vm': '1', 'name': 'ScheduledProcedureStepStartDateTime' },
+ '(0040,4006)': { 'tag': '(0040,4006)', 'vr': 'CS', 'vm': '1', 'name': 'MultipleCopiesFlag' },
+ '(0040,4007)': { 'tag': '(0040,4007)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedProcessingApplicationsCodeSequence' },
+ '(0040,4009)': { 'tag': '(0040,4009)', 'vr': 'SQ', 'vm': '1', 'name': 'HumanPerformerCodeSequence' },
+ '(0040,4010)': { 'tag': '(0040,4010)', 'vr': 'DT', 'vm': '1', 'name': 'ScheduledProcedureStepModificationDateTime' },
+ '(0040,4011)': { 'tag': '(0040,4011)', 'vr': 'DT', 'vm': '1', 'name': 'ExpectedCompletionDateTime' },
+ '(0040,4015)': { 'tag': '(0040,4015)', 'vr': 'SQ', 'vm': '1', 'name': 'ResultingGeneralPurposePerformedProcedureStepsSequence' },
+ '(0040,4016)': { 'tag': '(0040,4016)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedGeneralPurposeScheduledProcedureStepSequence' },
+ '(0040,4018)': { 'tag': '(0040,4018)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledWorkitemCodeSequence' },
+ '(0040,4019)': { 'tag': '(0040,4019)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedWorkitemCodeSequence' },
+ '(0040,4020)': { 'tag': '(0040,4020)', 'vr': 'CS', 'vm': '1', 'name': 'InputAvailabilityFlag' },
+ '(0040,4021)': { 'tag': '(0040,4021)', 'vr': 'SQ', 'vm': '1', 'name': 'InputInformationSequence' },
+ '(0040,4022)': { 'tag': '(0040,4022)', 'vr': 'SQ', 'vm': '1', 'name': 'RelevantInformationSequence' },
+ '(0040,4023)': { 'tag': '(0040,4023)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedGeneralPurposeScheduledProcedureStepTransactionUID' },
+ '(0040,4025)': { 'tag': '(0040,4025)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledStationNameCodeSequence' },
+ '(0040,4026)': { 'tag': '(0040,4026)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledStationClassCodeSequence' },
+ '(0040,4027)': { 'tag': '(0040,4027)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledStationGeographicLocationCodeSequence' },
+ '(0040,4028)': { 'tag': '(0040,4028)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedStationNameCodeSequence' },
+ '(0040,4029)': { 'tag': '(0040,4029)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedStationClassCodeSequence' },
+ '(0040,4030)': { 'tag': '(0040,4030)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedStationGeographicLocationCodeSequence' },
+ '(0040,4031)': { 'tag': '(0040,4031)', 'vr': 'SQ', 'vm': '1', 'name': 'RequestedSubsequentWorkitemCodeSequence' },
+ '(0040,4032)': { 'tag': '(0040,4032)', 'vr': 'SQ', 'vm': '1', 'name': 'NonDICOMOutputCodeSequence' },
+ '(0040,4033)': { 'tag': '(0040,4033)', 'vr': 'SQ', 'vm': '1', 'name': 'OutputInformationSequence' },
+ '(0040,4034)': { 'tag': '(0040,4034)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledHumanPerformersSequence' },
+ '(0040,4035)': { 'tag': '(0040,4035)', 'vr': 'SQ', 'vm': '1', 'name': 'ActualHumanPerformersSequence' },
+ '(0040,4036)': { 'tag': '(0040,4036)', 'vr': 'LO', 'vm': '1', 'name': 'HumanPerformerOrganization' },
+ '(0040,4037)': { 'tag': '(0040,4037)', 'vr': 'PN', 'vm': '1', 'name': 'HumanPerformerName' },
+ '(0040,4040)': { 'tag': '(0040,4040)', 'vr': 'CS', 'vm': '1', 'name': 'RawDataHandling' },
+ '(0040,4041)': { 'tag': '(0040,4041)', 'vr': 'CS', 'vm': '1', 'name': 'InputReadinessState' },
+ '(0040,4050)': { 'tag': '(0040,4050)', 'vr': 'DT', 'vm': '1', 'name': 'PerformedProcedureStepStartDateTime' },
+ '(0040,4051)': { 'tag': '(0040,4051)', 'vr': 'DT', 'vm': '1', 'name': 'PerformedProcedureStepEndDateTime' },
+ '(0040,4052)': { 'tag': '(0040,4052)', 'vr': 'DT', 'vm': '1', 'name': 'ProcedureStepCancellationDateTime' },
+ '(0040,8302)': { 'tag': '(0040,8302)', 'vr': 'DS', 'vm': '1', 'name': 'EntranceDoseInmGy' },
+ '(0040,9094)': { 'tag': '(0040,9094)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageRealWorldValueMappingSequence' },
+ '(0040,9096)': { 'tag': '(0040,9096)', 'vr': 'SQ', 'vm': '1', 'name': 'RealWorldValueMappingSequence' },
+ '(0040,9098)': { 'tag': '(0040,9098)', 'vr': 'SQ', 'vm': '1', 'name': 'PixelValueMappingCodeSequence' },
+ '(0040,9210)': { 'tag': '(0040,9210)', 'vr': 'SH', 'vm': '1', 'name': 'LUTLabel' },
+ '(0040,9211)': { 'tag': '(0040,9211)', 'vr': 'US|SS', 'vm': '1', 'name': 'RealWorldValueLastValueMapped' },
+ '(0040,9212)': { 'tag': '(0040,9212)', 'vr': 'FD', 'vm': '1-n', 'name': 'RealWorldValueLUTData' },
+ '(0040,9216)': { 'tag': '(0040,9216)', 'vr': 'US|SS', 'vm': '1', 'name': 'RealWorldValueFirstValueMapped' },
+ '(0040,9224)': { 'tag': '(0040,9224)', 'vr': 'FD', 'vm': '1', 'name': 'RealWorldValueIntercept' },
+ '(0040,9225)': { 'tag': '(0040,9225)', 'vr': 'FD', 'vm': '1', 'name': 'RealWorldValueSlope' },
+ '(0040,A007)': { 'tag': '(0040,A007)', 'vr': 'CS', 'vm': '1', 'name': 'FindingsFlagTrial' },
+ '(0040,A010)': { 'tag': '(0040,A010)', 'vr': 'CS', 'vm': '1', 'name': 'RelationshipType' },
+ '(0040,A020)': { 'tag': '(0040,A020)', 'vr': 'SQ', 'vm': '1', 'name': 'FindingsSequenceTrial' },
+ '(0040,A021)': { 'tag': '(0040,A021)', 'vr': 'UI', 'vm': '1', 'name': 'FindingsGroupUIDTrial' },
+ '(0040,A022)': { 'tag': '(0040,A022)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedFindingsGroupUIDTrial' },
+ '(0040,A023)': { 'tag': '(0040,A023)', 'vr': 'DA', 'vm': '1', 'name': 'FindingsGroupRecordingDateTrial' },
+ '(0040,A024)': { 'tag': '(0040,A024)', 'vr': 'TM', 'vm': '1', 'name': 'FindingsGroupRecordingTimeTrial' },
+ '(0040,A026)': { 'tag': '(0040,A026)', 'vr': 'SQ', 'vm': '1', 'name': 'FindingsSourceCategoryCodeSequenceTrial' },
+ '(0040,A027)': { 'tag': '(0040,A027)', 'vr': 'LO', 'vm': '1', 'name': 'VerifyingOrganization' },
+ '(0040,A028)': { 'tag': '(0040,A028)', 'vr': 'SQ', 'vm': '1', 'name': 'DocumentingOrganizationIdentifierCodeSequenceTrial' },
+ '(0040,A030)': { 'tag': '(0040,A030)', 'vr': 'DT', 'vm': '1', 'name': 'VerificationDateTime' },
+ '(0040,A032)': { 'tag': '(0040,A032)', 'vr': 'DT', 'vm': '1', 'name': 'ObservationDateTime' },
+ '(0040,A040)': { 'tag': '(0040,A040)', 'vr': 'CS', 'vm': '1', 'name': 'ValueType' },
+ '(0040,A043)': { 'tag': '(0040,A043)', 'vr': 'SQ', 'vm': '1', 'name': 'ConceptNameCodeSequence' },
+ '(0040,A047)': { 'tag': '(0040,A047)', 'vr': 'LO', 'vm': '1', 'name': 'MeasurementPrecisionDescriptionTrial' },
+ '(0040,A050)': { 'tag': '(0040,A050)', 'vr': 'CS', 'vm': '1', 'name': 'ContinuityOfContent' },
+ '(0040,A057)': { 'tag': '(0040,A057)', 'vr': 'CS', 'vm': '1-n', 'name': 'UrgencyOrPriorityAlertsTrial' },
+ '(0040,A060)': { 'tag': '(0040,A060)', 'vr': 'LO', 'vm': '1', 'name': 'SequencingIndicatorTrial' },
+ '(0040,A066)': { 'tag': '(0040,A066)', 'vr': 'SQ', 'vm': '1', 'name': 'DocumentIdentifierCodeSequenceTrial' },
+ '(0040,A067)': { 'tag': '(0040,A067)', 'vr': 'PN', 'vm': '1', 'name': 'DocumentAuthorTrial' },
+ '(0040,A068)': { 'tag': '(0040,A068)', 'vr': 'SQ', 'vm': '1', 'name': 'DocumentAuthorIdentifierCodeSequenceTrial' },
+ '(0040,A070)': { 'tag': '(0040,A070)', 'vr': 'SQ', 'vm': '1', 'name': 'IdentifierCodeSequenceTrial' },
+ '(0040,A073)': { 'tag': '(0040,A073)', 'vr': 'SQ', 'vm': '1', 'name': 'VerifyingObserverSequence' },
+ '(0040,A074)': { 'tag': '(0040,A074)', 'vr': 'OB', 'vm': '1', 'name': 'ObjectBinaryIdentifierTrial' },
+ '(0040,A075)': { 'tag': '(0040,A075)', 'vr': 'PN', 'vm': '1', 'name': 'VerifyingObserverName' },
+ '(0040,A076)': { 'tag': '(0040,A076)', 'vr': 'SQ', 'vm': '1', 'name': 'DocumentingObserverIdentifierCodeSequenceTrial' },
+ '(0040,A078)': { 'tag': '(0040,A078)', 'vr': 'SQ', 'vm': '1', 'name': 'AuthorObserverSequence' },
+ '(0040,A07A)': { 'tag': '(0040,A07A)', 'vr': 'SQ', 'vm': '1', 'name': 'ParticipantSequence' },
+ '(0040,A07C)': { 'tag': '(0040,A07C)', 'vr': 'SQ', 'vm': '1', 'name': 'CustodialOrganizationSequence' },
+ '(0040,A080)': { 'tag': '(0040,A080)', 'vr': 'CS', 'vm': '1', 'name': 'ParticipationType' },
+ '(0040,A082)': { 'tag': '(0040,A082)', 'vr': 'DT', 'vm': '1', 'name': 'ParticipationDateTime' },
+ '(0040,A084)': { 'tag': '(0040,A084)', 'vr': 'CS', 'vm': '1', 'name': 'ObserverType' },
+ '(0040,A085)': { 'tag': '(0040,A085)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureIdentifierCodeSequenceTrial' },
+ '(0040,A088)': { 'tag': '(0040,A088)', 'vr': 'SQ', 'vm': '1', 'name': 'VerifyingObserverIdentificationCodeSequence' },
+ '(0040,A089)': { 'tag': '(0040,A089)', 'vr': 'OB', 'vm': '1', 'name': 'ObjectDirectoryBinaryIdentifierTrial' },
+ '(0040,A090)': { 'tag': '(0040,A090)', 'vr': 'SQ', 'vm': '1', 'name': 'EquivalentCDADocumentSequence' },
+ '(0040,A0B0)': { 'tag': '(0040,A0B0)', 'vr': 'US', 'vm': '2-2n', 'name': 'ReferencedWaveformChannels' },
+ '(0040,A110)': { 'tag': '(0040,A110)', 'vr': 'DA', 'vm': '1', 'name': 'DateOfDocumentOrVerbalTransactionTrial' },
+ '(0040,A112)': { 'tag': '(0040,A112)', 'vr': 'TM', 'vm': '1', 'name': 'TimeOfDocumentCreationOrVerbalTransactionTrial' },
+ '(0040,A120)': { 'tag': '(0040,A120)', 'vr': 'DT', 'vm': '1', 'name': 'DateTime' },
+ '(0040,A121)': { 'tag': '(0040,A121)', 'vr': 'DA', 'vm': '1', 'name': 'Date' },
+ '(0040,A122)': { 'tag': '(0040,A122)', 'vr': 'TM', 'vm': '1', 'name': 'Time' },
+ '(0040,A123)': { 'tag': '(0040,A123)', 'vr': 'PN', 'vm': '1', 'name': 'PersonName' },
+ '(0040,A124)': { 'tag': '(0040,A124)', 'vr': 'UI', 'vm': '1', 'name': 'UID' },
+ '(0040,A125)': { 'tag': '(0040,A125)', 'vr': 'CS', 'vm': '2', 'name': 'ReportStatusIDTrial' },
+ '(0040,A130)': { 'tag': '(0040,A130)', 'vr': 'CS', 'vm': '1', 'name': 'TemporalRangeType' },
+ '(0040,A132)': { 'tag': '(0040,A132)', 'vr': 'UL', 'vm': '1-n', 'name': 'ReferencedSamplePositions' },
+ '(0040,A136)': { 'tag': '(0040,A136)', 'vr': 'US', 'vm': '1-n', 'name': 'ReferencedFrameNumbers' },
+ '(0040,A138)': { 'tag': '(0040,A138)', 'vr': 'DS', 'vm': '1-n', 'name': 'ReferencedTimeOffsets' },
+ '(0040,A13A)': { 'tag': '(0040,A13A)', 'vr': 'DT', 'vm': '1-n', 'name': 'ReferencedDateTime' },
+ '(0040,A160)': { 'tag': '(0040,A160)', 'vr': 'UT', 'vm': '1', 'name': 'TextValue' },
+ '(0040,A167)': { 'tag': '(0040,A167)', 'vr': 'SQ', 'vm': '1', 'name': 'ObservationCategoryCodeSequenceTrial' },
+ '(0040,A168)': { 'tag': '(0040,A168)', 'vr': 'SQ', 'vm': '1', 'name': 'ConceptCodeSequence' },
+ '(0040,A16A)': { 'tag': '(0040,A16A)', 'vr': 'ST', 'vm': '1', 'name': 'BibliographicCitationTrial' },
+ '(0040,A170)': { 'tag': '(0040,A170)', 'vr': 'SQ', 'vm': '1', 'name': 'PurposeOfReferenceCodeSequence' },
+ '(0040,A171)': { 'tag': '(0040,A171)', 'vr': 'UI', 'vm': '1', 'name': 'ObservationUIDTrial' },
+ '(0040,A172)': { 'tag': '(0040,A172)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedObservationUIDTrial' },
+ '(0040,A173)': { 'tag': '(0040,A173)', 'vr': 'CS', 'vm': '1', 'name': 'ReferencedObservationClassTrial' },
+ '(0040,A174)': { 'tag': '(0040,A174)', 'vr': 'CS', 'vm': '1', 'name': 'ReferencedObjectObservationClassTrial' },
+ '(0040,A180)': { 'tag': '(0040,A180)', 'vr': 'US', 'vm': '1', 'name': 'AnnotationGroupNumber' },
+ '(0040,A192)': { 'tag': '(0040,A192)', 'vr': 'DA', 'vm': '1', 'name': 'ObservationDateTrial' },
+ '(0040,A193)': { 'tag': '(0040,A193)', 'vr': 'TM', 'vm': '1', 'name': 'ObservationTimeTrial' },
+ '(0040,A194)': { 'tag': '(0040,A194)', 'vr': 'CS', 'vm': '1', 'name': 'MeasurementAutomationTrial' },
+ '(0040,A195)': { 'tag': '(0040,A195)', 'vr': 'SQ', 'vm': '1', 'name': 'ModifierCodeSequence' },
+ '(0040,A224)': { 'tag': '(0040,A224)', 'vr': 'ST', 'vm': '1', 'name': 'IdentificationDescriptionTrial' },
+ '(0040,A290)': { 'tag': '(0040,A290)', 'vr': 'CS', 'vm': '1', 'name': 'CoordinatesSetGeometricTypeTrial' },
+ '(0040,A296)': { 'tag': '(0040,A296)', 'vr': 'SQ', 'vm': '1', 'name': 'AlgorithmCodeSequenceTrial' },
+ '(0040,A297)': { 'tag': '(0040,A297)', 'vr': 'ST', 'vm': '1', 'name': 'AlgorithmDescriptionTrial' },
+ '(0040,A29A)': { 'tag': '(0040,A29A)', 'vr': 'SL', 'vm': '2-2n', 'name': 'PixelCoordinatesSetTrial' },
+ '(0040,A300)': { 'tag': '(0040,A300)', 'vr': 'SQ', 'vm': '1', 'name': 'MeasuredValueSequence' },
+ '(0040,A301)': { 'tag': '(0040,A301)', 'vr': 'SQ', 'vm': '1', 'name': 'NumericValueQualifierCodeSequence' },
+ '(0040,A307)': { 'tag': '(0040,A307)', 'vr': 'PN', 'vm': '1', 'name': 'CurrentObserverTrial' },
+ '(0040,A30A)': { 'tag': '(0040,A30A)', 'vr': 'DS', 'vm': '1-n', 'name': 'NumericValue' },
+ '(0040,A313)': { 'tag': '(0040,A313)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedAccessionSequenceTrial' },
+ '(0040,A33A)': { 'tag': '(0040,A33A)', 'vr': 'ST', 'vm': '1', 'name': 'ReportStatusCommentTrial' },
+ '(0040,A340)': { 'tag': '(0040,A340)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureContextSequenceTrial' },
+ '(0040,A352)': { 'tag': '(0040,A352)', 'vr': 'PN', 'vm': '1', 'name': 'VerbalSourceTrial' },
+ '(0040,A353)': { 'tag': '(0040,A353)', 'vr': 'ST', 'vm': '1', 'name': 'AddressTrial' },
+ '(0040,A354)': { 'tag': '(0040,A354)', 'vr': 'LO', 'vm': '1', 'name': 'TelephoneNumberTrial' },
+ '(0040,A358)': { 'tag': '(0040,A358)', 'vr': 'SQ', 'vm': '1', 'name': 'VerbalSourceIdentifierCodeSequenceTrial' },
+ '(0040,A360)': { 'tag': '(0040,A360)', 'vr': 'SQ', 'vm': '1', 'name': 'PredecessorDocumentsSequence' },
+ '(0040,A370)': { 'tag': '(0040,A370)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedRequestSequence' },
+ '(0040,A372)': { 'tag': '(0040,A372)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedProcedureCodeSequence' },
+ '(0040,A375)': { 'tag': '(0040,A375)', 'vr': 'SQ', 'vm': '1', 'name': 'CurrentRequestedProcedureEvidenceSequence' },
+ '(0040,A380)': { 'tag': '(0040,A380)', 'vr': 'SQ', 'vm': '1', 'name': 'ReportDetailSequenceTrial' },
+ '(0040,A385)': { 'tag': '(0040,A385)', 'vr': 'SQ', 'vm': '1', 'name': 'PertinentOtherEvidenceSequence' },
+ '(0040,A390)': { 'tag': '(0040,A390)', 'vr': 'SQ', 'vm': '1', 'name': 'HL7StructuredDocumentReferenceSequence' },
+ '(0040,A402)': { 'tag': '(0040,A402)', 'vr': 'UI', 'vm': '1', 'name': 'ObservationSubjectUIDTrial' },
+ '(0040,A403)': { 'tag': '(0040,A403)', 'vr': 'CS', 'vm': '1', 'name': 'ObservationSubjectClassTrial' },
+ '(0040,A404)': { 'tag': '(0040,A404)', 'vr': 'SQ', 'vm': '1', 'name': 'ObservationSubjectTypeCodeSequenceTrial' },
+ '(0040,A491)': { 'tag': '(0040,A491)', 'vr': 'CS', 'vm': '1', 'name': 'CompletionFlag' },
+ '(0040,A492)': { 'tag': '(0040,A492)', 'vr': 'LO', 'vm': '1', 'name': 'CompletionFlagDescription' },
+ '(0040,A493)': { 'tag': '(0040,A493)', 'vr': 'CS', 'vm': '1', 'name': 'VerificationFlag' },
+ '(0040,A494)': { 'tag': '(0040,A494)', 'vr': 'CS', 'vm': '1', 'name': 'ArchiveRequested' },
+ '(0040,A496)': { 'tag': '(0040,A496)', 'vr': 'CS', 'vm': '1', 'name': 'PreliminaryFlag' },
+ '(0040,A504)': { 'tag': '(0040,A504)', 'vr': 'SQ', 'vm': '1', 'name': 'ContentTemplateSequence' },
+ '(0040,A525)': { 'tag': '(0040,A525)', 'vr': 'SQ', 'vm': '1', 'name': 'IdenticalDocumentsSequence' },
+ '(0040,A600)': { 'tag': '(0040,A600)', 'vr': 'CS', 'vm': '1', 'name': 'ObservationSubjectContextFlagTrial' },
+ '(0040,A601)': { 'tag': '(0040,A601)', 'vr': 'CS', 'vm': '1', 'name': 'ObserverContextFlagTrial' },
+ '(0040,A603)': { 'tag': '(0040,A603)', 'vr': 'CS', 'vm': '1', 'name': 'ProcedureContextFlagTrial' },
+ '(0040,A730)': { 'tag': '(0040,A730)', 'vr': 'SQ', 'vm': '1', 'name': 'ContentSequence' },
+ '(0040,A731)': { 'tag': '(0040,A731)', 'vr': 'SQ', 'vm': '1', 'name': 'RelationshipSequenceTrial' },
+ '(0040,A732)': { 'tag': '(0040,A732)', 'vr': 'SQ', 'vm': '1', 'name': 'RelationshipTypeCodeSequenceTrial' },
+ '(0040,A744)': { 'tag': '(0040,A744)', 'vr': 'SQ', 'vm': '1', 'name': 'LanguageCodeSequenceTrial' },
+ '(0040,A992)': { 'tag': '(0040,A992)', 'vr': 'ST', 'vm': '1', 'name': 'UniformResourceLocatorTrial' },
+ '(0040,B020)': { 'tag': '(0040,B020)', 'vr': 'SQ', 'vm': '1', 'name': 'WaveformAnnotationSequence' },
+ '(0040,DB00)': { 'tag': '(0040,DB00)', 'vr': 'CS', 'vm': '1', 'name': 'TemplateIdentifier' },
+ '(0040,DB06)': { 'tag': '(0040,DB06)', 'vr': 'DT', 'vm': '1', 'name': 'TemplateVersion' },
+ '(0040,DB07)': { 'tag': '(0040,DB07)', 'vr': 'DT', 'vm': '1', 'name': 'TemplateLocalVersion' },
+ '(0040,DB0B)': { 'tag': '(0040,DB0B)', 'vr': 'CS', 'vm': '1', 'name': 'TemplateExtensionFlag' },
+ '(0040,DB0C)': { 'tag': '(0040,DB0C)', 'vr': 'UI', 'vm': '1', 'name': 'TemplateExtensionOrganizationUID' },
+ '(0040,DB0D)': { 'tag': '(0040,DB0D)', 'vr': 'UI', 'vm': '1', 'name': 'TemplateExtensionCreatorUID' },
+ '(0040,DB73)': { 'tag': '(0040,DB73)', 'vr': 'UL', 'vm': '1-n', 'name': 'ReferencedContentItemIdentifier' },
+ '(0040,E001)': { 'tag': '(0040,E001)', 'vr': 'ST', 'vm': '1', 'name': 'HL7InstanceIdentifier' },
+ '(0040,E004)': { 'tag': '(0040,E004)', 'vr': 'DT', 'vm': '1', 'name': 'HL7DocumentEffectiveTime' },
+ '(0040,E006)': { 'tag': '(0040,E006)', 'vr': 'SQ', 'vm': '1', 'name': 'HL7DocumentTypeCodeSequence' },
+ '(0040,E008)': { 'tag': '(0040,E008)', 'vr': 'SQ', 'vm': '1', 'name': 'DocumentClassCodeSequence' },
+ '(0040,E010)': { 'tag': '(0040,E010)', 'vr': 'UT', 'vm': '1', 'name': 'RetrieveURI' },
+ '(0040,E011)': { 'tag': '(0040,E011)', 'vr': 'UI', 'vm': '1', 'name': 'RetrieveLocationUID' },
+ '(0040,E020)': { 'tag': '(0040,E020)', 'vr': 'CS', 'vm': '1', 'name': 'TypeOfInstances' },
+ '(0040,E021)': { 'tag': '(0040,E021)', 'vr': 'SQ', 'vm': '1', 'name': 'DICOMRetrievalSequence' },
+ '(0040,E022)': { 'tag': '(0040,E022)', 'vr': 'SQ', 'vm': '1', 'name': 'DICOMMediaRetrievalSequence' },
+ '(0040,E023)': { 'tag': '(0040,E023)', 'vr': 'SQ', 'vm': '1', 'name': 'WADORetrievalSequence' },
+ '(0040,E024)': { 'tag': '(0040,E024)', 'vr': 'SQ', 'vm': '1', 'name': 'XDSRetrievalSequence' },
+ '(0040,E030)': { 'tag': '(0040,E030)', 'vr': 'UI', 'vm': '1', 'name': 'RepositoryUniqueID' },
+ '(0040,E031)': { 'tag': '(0040,E031)', 'vr': 'UI', 'vm': '1', 'name': 'HomeCommunityID' },
+ '(0042,0010)': { 'tag': '(0042,0010)', 'vr': 'ST', 'vm': '1', 'name': 'DocumentTitle' },
+ '(0042,0011)': { 'tag': '(0042,0011)', 'vr': 'OB', 'vm': '1', 'name': 'EncapsulatedDocument' },
+ '(0042,0012)': { 'tag': '(0042,0012)', 'vr': 'LO', 'vm': '1', 'name': 'MIMETypeOfEncapsulatedDocument' },
+ '(0042,0013)': { 'tag': '(0042,0013)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceInstanceSequence' },
+ '(0042,0014)': { 'tag': '(0042,0014)', 'vr': 'LO', 'vm': '1-n', 'name': 'ListOfMIMETypes' },
+ '(0044,0001)': { 'tag': '(0044,0001)', 'vr': 'ST', 'vm': '1', 'name': 'ProductPackageIdentifier' },
+ '(0044,0002)': { 'tag': '(0044,0002)', 'vr': 'CS', 'vm': '1', 'name': 'SubstanceAdministrationApproval' },
+ '(0044,0003)': { 'tag': '(0044,0003)', 'vr': 'LT', 'vm': '1', 'name': 'ApprovalStatusFurtherDescription' },
+ '(0044,0004)': { 'tag': '(0044,0004)', 'vr': 'DT', 'vm': '1', 'name': 'ApprovalStatusDateTime' },
+ '(0044,0007)': { 'tag': '(0044,0007)', 'vr': 'SQ', 'vm': '1', 'name': 'ProductTypeCodeSequence' },
+ '(0044,0008)': { 'tag': '(0044,0008)', 'vr': 'LO', 'vm': '1-n', 'name': 'ProductName' },
+ '(0044,0009)': { 'tag': '(0044,0009)', 'vr': 'LT', 'vm': '1', 'name': 'ProductDescription' },
+ '(0044,000A)': { 'tag': '(0044,000A)', 'vr': 'LO', 'vm': '1', 'name': 'ProductLotIdentifier' },
+ '(0044,000B)': { 'tag': '(0044,000B)', 'vr': 'DT', 'vm': '1', 'name': 'ProductExpirationDateTime' },
+ '(0044,0010)': { 'tag': '(0044,0010)', 'vr': 'DT', 'vm': '1', 'name': 'SubstanceAdministrationDateTime' },
+ '(0044,0011)': { 'tag': '(0044,0011)', 'vr': 'LO', 'vm': '1', 'name': 'SubstanceAdministrationNotes' },
+ '(0044,0012)': { 'tag': '(0044,0012)', 'vr': 'LO', 'vm': '1', 'name': 'SubstanceAdministrationDeviceID' },
+ '(0044,0013)': { 'tag': '(0044,0013)', 'vr': 'SQ', 'vm': '1', 'name': 'ProductParameterSequence' },
+ '(0044,0019)': { 'tag': '(0044,0019)', 'vr': 'SQ', 'vm': '1', 'name': 'SubstanceAdministrationParameterSequence' },
+ '(0046,0012)': { 'tag': '(0046,0012)', 'vr': 'LO', 'vm': '1', 'name': 'LensDescription' },
+ '(0046,0014)': { 'tag': '(0046,0014)', 'vr': 'SQ', 'vm': '1', 'name': 'RightLensSequence' },
+ '(0046,0015)': { 'tag': '(0046,0015)', 'vr': 'SQ', 'vm': '1', 'name': 'LeftLensSequence' },
+ '(0046,0016)': { 'tag': '(0046,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'UnspecifiedLateralityLensSequence' },
+ '(0046,0018)': { 'tag': '(0046,0018)', 'vr': 'SQ', 'vm': '1', 'name': 'CylinderSequence' },
+ '(0046,0028)': { 'tag': '(0046,0028)', 'vr': 'SQ', 'vm': '1', 'name': 'PrismSequence' },
+ '(0046,0030)': { 'tag': '(0046,0030)', 'vr': 'FD', 'vm': '1', 'name': 'HorizontalPrismPower' },
+ '(0046,0032)': { 'tag': '(0046,0032)', 'vr': 'CS', 'vm': '1', 'name': 'HorizontalPrismBase' },
+ '(0046,0034)': { 'tag': '(0046,0034)', 'vr': 'FD', 'vm': '1', 'name': 'VerticalPrismPower' },
+ '(0046,0036)': { 'tag': '(0046,0036)', 'vr': 'CS', 'vm': '1', 'name': 'VerticalPrismBase' },
+ '(0046,0038)': { 'tag': '(0046,0038)', 'vr': 'CS', 'vm': '1', 'name': 'LensSegmentType' },
+ '(0046,0040)': { 'tag': '(0046,0040)', 'vr': 'FD', 'vm': '1', 'name': 'OpticalTransmittance' },
+ '(0046,0042)': { 'tag': '(0046,0042)', 'vr': 'FD', 'vm': '1', 'name': 'ChannelWidth' },
+ '(0046,0044)': { 'tag': '(0046,0044)', 'vr': 'FD', 'vm': '1', 'name': 'PupilSize' },
+ '(0046,0046)': { 'tag': '(0046,0046)', 'vr': 'FD', 'vm': '1', 'name': 'CornealSize' },
+ '(0046,0050)': { 'tag': '(0046,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'AutorefractionRightEyeSequence' },
+ '(0046,0052)': { 'tag': '(0046,0052)', 'vr': 'SQ', 'vm': '1', 'name': 'AutorefractionLeftEyeSequence' },
+ '(0046,0060)': { 'tag': '(0046,0060)', 'vr': 'FD', 'vm': '1', 'name': 'DistancePupillaryDistance' },
+ '(0046,0062)': { 'tag': '(0046,0062)', 'vr': 'FD', 'vm': '1', 'name': 'NearPupillaryDistance' },
+ '(0046,0063)': { 'tag': '(0046,0063)', 'vr': 'FD', 'vm': '1', 'name': 'IntermediatePupillaryDistance' },
+ '(0046,0064)': { 'tag': '(0046,0064)', 'vr': 'FD', 'vm': '1', 'name': 'OtherPupillaryDistance' },
+ '(0046,0070)': { 'tag': '(0046,0070)', 'vr': 'SQ', 'vm': '1', 'name': 'KeratometryRightEyeSequence' },
+ '(0046,0071)': { 'tag': '(0046,0071)', 'vr': 'SQ', 'vm': '1', 'name': 'KeratometryLeftEyeSequence' },
+ '(0046,0074)': { 'tag': '(0046,0074)', 'vr': 'SQ', 'vm': '1', 'name': 'SteepKeratometricAxisSequence' },
+ '(0046,0075)': { 'tag': '(0046,0075)', 'vr': 'FD', 'vm': '1', 'name': 'RadiusOfCurvature' },
+ '(0046,0076)': { 'tag': '(0046,0076)', 'vr': 'FD', 'vm': '1', 'name': 'KeratometricPower' },
+ '(0046,0077)': { 'tag': '(0046,0077)', 'vr': 'FD', 'vm': '1', 'name': 'KeratometricAxis' },
+ '(0046,0080)': { 'tag': '(0046,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'FlatKeratometricAxisSequence' },
+ '(0046,0092)': { 'tag': '(0046,0092)', 'vr': 'CS', 'vm': '1', 'name': 'BackgroundColor' },
+ '(0046,0094)': { 'tag': '(0046,0094)', 'vr': 'CS', 'vm': '1', 'name': 'Optotype' },
+ '(0046,0095)': { 'tag': '(0046,0095)', 'vr': 'CS', 'vm': '1', 'name': 'OptotypePresentation' },
+ '(0046,0097)': { 'tag': '(0046,0097)', 'vr': 'SQ', 'vm': '1', 'name': 'SubjectiveRefractionRightEyeSequence' },
+ '(0046,0098)': { 'tag': '(0046,0098)', 'vr': 'SQ', 'vm': '1', 'name': 'SubjectiveRefractionLeftEyeSequence' },
+ '(0046,0100)': { 'tag': '(0046,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'AddNearSequence' },
+ '(0046,0101)': { 'tag': '(0046,0101)', 'vr': 'SQ', 'vm': '1', 'name': 'AddIntermediateSequence' },
+ '(0046,0102)': { 'tag': '(0046,0102)', 'vr': 'SQ', 'vm': '1', 'name': 'AddOtherSequence' },
+ '(0046,0104)': { 'tag': '(0046,0104)', 'vr': 'FD', 'vm': '1', 'name': 'AddPower' },
+ '(0046,0106)': { 'tag': '(0046,0106)', 'vr': 'FD', 'vm': '1', 'name': 'ViewingDistance' },
+ '(0046,0121)': { 'tag': '(0046,0121)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualAcuityTypeCodeSequence' },
+ '(0046,0122)': { 'tag': '(0046,0122)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualAcuityRightEyeSequence' },
+ '(0046,0123)': { 'tag': '(0046,0123)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualAcuityLeftEyeSequence' },
+ '(0046,0124)': { 'tag': '(0046,0124)', 'vr': 'SQ', 'vm': '1', 'name': 'VisualAcuityBothEyesOpenSequence' },
+ '(0046,0125)': { 'tag': '(0046,0125)', 'vr': 'CS', 'vm': '1', 'name': 'ViewingDistanceType' },
+ '(0046,0135)': { 'tag': '(0046,0135)', 'vr': 'SS', 'vm': '2', 'name': 'VisualAcuityModifiers' },
+ '(0046,0137)': { 'tag': '(0046,0137)', 'vr': 'FD', 'vm': '1', 'name': 'DecimalVisualAcuity' },
+ '(0046,0139)': { 'tag': '(0046,0139)', 'vr': 'LO', 'vm': '1', 'name': 'OptotypeDetailedDefinition' },
+ '(0046,0145)': { 'tag': '(0046,0145)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedRefractiveMeasurementsSequence' },
+ '(0046,0146)': { 'tag': '(0046,0146)', 'vr': 'FD', 'vm': '1', 'name': 'SpherePower' },
+ '(0046,0147)': { 'tag': '(0046,0147)', 'vr': 'FD', 'vm': '1', 'name': 'CylinderPower' },
+ '(0048,0001)': { 'tag': '(0048,0001)', 'vr': 'FL', 'vm': '1', 'name': 'ImagedVolumeWidth' },
+ '(0048,0002)': { 'tag': '(0048,0002)', 'vr': 'FL', 'vm': '1', 'name': 'ImagedVolumeHeight' },
+ '(0048,0003)': { 'tag': '(0048,0003)', 'vr': 'FL', 'vm': '1', 'name': 'ImagedVolumeDepth' },
+ '(0048,0006)': { 'tag': '(0048,0006)', 'vr': 'UL', 'vm': '1', 'name': 'TotalPixelMatrixColumns' },
+ '(0048,0007)': { 'tag': '(0048,0007)', 'vr': 'UL', 'vm': '1', 'name': 'TotalPixelMatrixRows' },
+ '(0048,0008)': { 'tag': '(0048,0008)', 'vr': 'SQ', 'vm': '1', 'name': 'TotalPixelMatrixOriginSequence' },
+ '(0048,0010)': { 'tag': '(0048,0010)', 'vr': 'CS', 'vm': '1', 'name': 'SpecimenLabelInImage' },
+ '(0048,0011)': { 'tag': '(0048,0011)', 'vr': 'CS', 'vm': '1', 'name': 'FocusMethod' },
+ '(0048,0012)': { 'tag': '(0048,0012)', 'vr': 'CS', 'vm': '1', 'name': 'ExtendedDepthOfField' },
+ '(0048,0013)': { 'tag': '(0048,0013)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfFocalPlanes' },
+ '(0048,0014)': { 'tag': '(0048,0014)', 'vr': 'FL', 'vm': '1', 'name': 'DistanceBetweenFocalPlanes' },
+ '(0048,0015)': { 'tag': '(0048,0015)', 'vr': 'US', 'vm': '3', 'name': 'RecommendedAbsentPixelCIELabValue' },
+ '(0048,0100)': { 'tag': '(0048,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'IlluminatorTypeCodeSequence' },
+ '(0048,0102)': { 'tag': '(0048,0102)', 'vr': 'DS', 'vm': '6', 'name': 'ImageOrientationSlide' },
+ '(0048,0105)': { 'tag': '(0048,0105)', 'vr': 'SQ', 'vm': '1', 'name': 'OpticalPathSequence' },
+ '(0048,0106)': { 'tag': '(0048,0106)', 'vr': 'SH', 'vm': '1', 'name': 'OpticalPathIdentifier' },
+ '(0048,0107)': { 'tag': '(0048,0107)', 'vr': 'ST', 'vm': '1', 'name': 'OpticalPathDescription' },
+ '(0048,0108)': { 'tag': '(0048,0108)', 'vr': 'SQ', 'vm': '1', 'name': 'IlluminationColorCodeSequence' },
+ '(0048,0110)': { 'tag': '(0048,0110)', 'vr': 'SQ', 'vm': '1', 'name': 'SpecimenReferenceSequence' },
+ '(0048,0111)': { 'tag': '(0048,0111)', 'vr': 'DS', 'vm': '1', 'name': 'CondenserLensPower' },
+ '(0048,0112)': { 'tag': '(0048,0112)', 'vr': 'DS', 'vm': '1', 'name': 'ObjectiveLensPower' },
+ '(0048,0113)': { 'tag': '(0048,0113)', 'vr': 'DS', 'vm': '1', 'name': 'ObjectiveLensNumericalAperture' },
+ '(0048,0120)': { 'tag': '(0048,0120)', 'vr': 'SQ', 'vm': '1', 'name': 'PaletteColorLookupTableSequence' },
+ '(0048,0200)': { 'tag': '(0048,0200)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageNavigationSequence' },
+ '(0048,0201)': { 'tag': '(0048,0201)', 'vr': 'US', 'vm': '2', 'name': 'TopLeftHandCornerOfLocalizerArea' },
+ '(0048,0202)': { 'tag': '(0048,0202)', 'vr': 'US', 'vm': '2', 'name': 'BottomRightHandCornerOfLocalizerArea' },
+ '(0048,0207)': { 'tag': '(0048,0207)', 'vr': 'SQ', 'vm': '1', 'name': 'OpticalPathIdentificationSequence' },
+ '(0048,021A)': { 'tag': '(0048,021A)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanePositionSlideSequence' },
+ '(0048,021E)': { 'tag': '(0048,021E)', 'vr': 'SL', 'vm': '1', 'name': 'RowPositionInTotalImagePixelMatrix' },
+ '(0048,021F)': { 'tag': '(0048,021F)', 'vr': 'SL', 'vm': '1', 'name': 'ColumnPositionInTotalImagePixelMatrix' },
+ '(0048,0301)': { 'tag': '(0048,0301)', 'vr': 'CS', 'vm': '1', 'name': 'PixelOriginInterpretation' },
+ '(0050,0004)': { 'tag': '(0050,0004)', 'vr': 'CS', 'vm': '1', 'name': 'CalibrationImage' },
+ '(0050,0010)': { 'tag': '(0050,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'DeviceSequence' },
+ '(0050,0012)': { 'tag': '(0050,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'ContainerComponentTypeCodeSequence' },
+ '(0050,0013)': { 'tag': '(0050,0013)', 'vr': 'FD', 'vm': '1', 'name': 'ContainerComponentThickness' },
+ '(0050,0014)': { 'tag': '(0050,0014)', 'vr': 'DS', 'vm': '1', 'name': 'DeviceLength' },
+ '(0050,0015)': { 'tag': '(0050,0015)', 'vr': 'FD', 'vm': '1', 'name': 'ContainerComponentWidth' },
+ '(0050,0016)': { 'tag': '(0050,0016)', 'vr': 'DS', 'vm': '1', 'name': 'DeviceDiameter' },
+ '(0050,0017)': { 'tag': '(0050,0017)', 'vr': 'CS', 'vm': '1', 'name': 'DeviceDiameterUnits' },
+ '(0050,0018)': { 'tag': '(0050,0018)', 'vr': 'DS', 'vm': '1', 'name': 'DeviceVolume' },
+ '(0050,0019)': { 'tag': '(0050,0019)', 'vr': 'DS', 'vm': '1', 'name': 'InterMarkerDistance' },
+ '(0050,001A)': { 'tag': '(0050,001A)', 'vr': 'CS', 'vm': '1', 'name': 'ContainerComponentMaterial' },
+ '(0050,001B)': { 'tag': '(0050,001B)', 'vr': 'LO', 'vm': '1', 'name': 'ContainerComponentID' },
+ '(0050,001C)': { 'tag': '(0050,001C)', 'vr': 'FD', 'vm': '1', 'name': 'ContainerComponentLength' },
+ '(0050,001D)': { 'tag': '(0050,001D)', 'vr': 'FD', 'vm': '1', 'name': 'ContainerComponentDiameter' },
+ '(0050,001E)': { 'tag': '(0050,001E)', 'vr': 'LO', 'vm': '1', 'name': 'ContainerComponentDescription' },
+ '(0050,0020)': { 'tag': '(0050,0020)', 'vr': 'LO', 'vm': '1', 'name': 'DeviceDescription' },
+ '(0052,0001)': { 'tag': '(0052,0001)', 'vr': 'FL', 'vm': '1', 'name': 'ContrastBolusIngredientPercentByVolume' },
+ '(0052,0002)': { 'tag': '(0052,0002)', 'vr': 'FD', 'vm': '1', 'name': 'OCTFocalDistance' },
+ '(0052,0003)': { 'tag': '(0052,0003)', 'vr': 'FD', 'vm': '1', 'name': 'BeamSpotSize' },
+ '(0052,0004)': { 'tag': '(0052,0004)', 'vr': 'FD', 'vm': '1', 'name': 'EffectiveRefractiveIndex' },
+ '(0052,0006)': { 'tag': '(0052,0006)', 'vr': 'CS', 'vm': '1', 'name': 'OCTAcquisitionDomain' },
+ '(0052,0007)': { 'tag': '(0052,0007)', 'vr': 'FD', 'vm': '1', 'name': 'OCTOpticalCenterWavelength' },
+ '(0052,0008)': { 'tag': '(0052,0008)', 'vr': 'FD', 'vm': '1', 'name': 'AxialResolution' },
+ '(0052,0009)': { 'tag': '(0052,0009)', 'vr': 'FD', 'vm': '1', 'name': 'RangingDepth' },
+ '(0052,0011)': { 'tag': '(0052,0011)', 'vr': 'FD', 'vm': '1', 'name': 'ALineRate' },
+ '(0052,0012)': { 'tag': '(0052,0012)', 'vr': 'US', 'vm': '1', 'name': 'ALinesPerFrame' },
+ '(0052,0013)': { 'tag': '(0052,0013)', 'vr': 'FD', 'vm': '1', 'name': 'CatheterRotationalRate' },
+ '(0052,0014)': { 'tag': '(0052,0014)', 'vr': 'FD', 'vm': '1', 'name': 'ALinePixelSpacing' },
+ '(0052,0016)': { 'tag': '(0052,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'ModeOfPercutaneousAccessSequence' },
+ '(0052,0025)': { 'tag': '(0052,0025)', 'vr': 'SQ', 'vm': '1', 'name': 'IntravascularOCTFrameTypeSequence' },
+ '(0052,0026)': { 'tag': '(0052,0026)', 'vr': 'CS', 'vm': '1', 'name': 'OCTZOffsetApplied' },
+ '(0052,0027)': { 'tag': '(0052,0027)', 'vr': 'SQ', 'vm': '1', 'name': 'IntravascularFrameContentSequence' },
+ '(0052,0028)': { 'tag': '(0052,0028)', 'vr': 'FD', 'vm': '1', 'name': 'IntravascularLongitudinalDistance' },
+ '(0052,0029)': { 'tag': '(0052,0029)', 'vr': 'SQ', 'vm': '1', 'name': 'IntravascularOCTFrameContentSequence' },
+ '(0052,0030)': { 'tag': '(0052,0030)', 'vr': 'SS', 'vm': '1', 'name': 'OCTZOffsetCorrection' },
+ '(0052,0031)': { 'tag': '(0052,0031)', 'vr': 'CS', 'vm': '1', 'name': 'CatheterDirectionOfRotation' },
+ '(0052,0033)': { 'tag': '(0052,0033)', 'vr': 'FD', 'vm': '1', 'name': 'SeamLineLocation' },
+ '(0052,0034)': { 'tag': '(0052,0034)', 'vr': 'FD', 'vm': '1', 'name': 'FirstALineLocation' },
+ '(0052,0036)': { 'tag': '(0052,0036)', 'vr': 'US', 'vm': '1', 'name': 'SeamLineIndex' },
+ '(0052,0038)': { 'tag': '(0052,0038)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfPaddedAlines' },
+ '(0052,0039)': { 'tag': '(0052,0039)', 'vr': 'CS', 'vm': '1', 'name': 'InterpolationType' },
+ '(0052,003A)': { 'tag': '(0052,003A)', 'vr': 'CS', 'vm': '1', 'name': 'RefractiveIndexApplied' },
+ '(0054,0011)': { 'tag': '(0054,0011)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfEnergyWindows' },
+ '(0054,0012)': { 'tag': '(0054,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'EnergyWindowInformationSequence' },
+ '(0054,0013)': { 'tag': '(0054,0013)', 'vr': 'SQ', 'vm': '1', 'name': 'EnergyWindowRangeSequence' },
+ '(0054,0014)': { 'tag': '(0054,0014)', 'vr': 'DS', 'vm': '1', 'name': 'EnergyWindowLowerLimit' },
+ '(0054,0015)': { 'tag': '(0054,0015)', 'vr': 'DS', 'vm': '1', 'name': 'EnergyWindowUpperLimit' },
+ '(0054,0016)': { 'tag': '(0054,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'RadiopharmaceuticalInformationSequence' },
+ '(0054,0017)': { 'tag': '(0054,0017)', 'vr': 'IS', 'vm': '1', 'name': 'ResidualSyringeCounts' },
+ '(0054,0018)': { 'tag': '(0054,0018)', 'vr': 'SH', 'vm': '1', 'name': 'EnergyWindowName' },
+ '(0054,0020)': { 'tag': '(0054,0020)', 'vr': 'US', 'vm': '1-n', 'name': 'DetectorVector' },
+ '(0054,0021)': { 'tag': '(0054,0021)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfDetectors' },
+ '(0054,0022)': { 'tag': '(0054,0022)', 'vr': 'SQ', 'vm': '1', 'name': 'DetectorInformationSequence' },
+ '(0054,0030)': { 'tag': '(0054,0030)', 'vr': 'US', 'vm': '1-n', 'name': 'PhaseVector' },
+ '(0054,0031)': { 'tag': '(0054,0031)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfPhases' },
+ '(0054,0032)': { 'tag': '(0054,0032)', 'vr': 'SQ', 'vm': '1', 'name': 'PhaseInformationSequence' },
+ '(0054,0033)': { 'tag': '(0054,0033)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfFramesInPhase' },
+ '(0054,0036)': { 'tag': '(0054,0036)', 'vr': 'IS', 'vm': '1', 'name': 'PhaseDelay' },
+ '(0054,0038)': { 'tag': '(0054,0038)', 'vr': 'IS', 'vm': '1', 'name': 'PauseBetweenFrames' },
+ '(0054,0039)': { 'tag': '(0054,0039)', 'vr': 'CS', 'vm': '1', 'name': 'PhaseDescription' },
+ '(0054,0050)': { 'tag': '(0054,0050)', 'vr': 'US', 'vm': '1-n', 'name': 'RotationVector' },
+ '(0054,0051)': { 'tag': '(0054,0051)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfRotations' },
+ '(0054,0052)': { 'tag': '(0054,0052)', 'vr': 'SQ', 'vm': '1', 'name': 'RotationInformationSequence' },
+ '(0054,0053)': { 'tag': '(0054,0053)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfFramesInRotation' },
+ '(0054,0060)': { 'tag': '(0054,0060)', 'vr': 'US', 'vm': '1-n', 'name': 'RRIntervalVector' },
+ '(0054,0061)': { 'tag': '(0054,0061)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfRRIntervals' },
+ '(0054,0062)': { 'tag': '(0054,0062)', 'vr': 'SQ', 'vm': '1', 'name': 'GatedInformationSequence' },
+ '(0054,0063)': { 'tag': '(0054,0063)', 'vr': 'SQ', 'vm': '1', 'name': 'DataInformationSequence' },
+ '(0054,0070)': { 'tag': '(0054,0070)', 'vr': 'US', 'vm': '1-n', 'name': 'TimeSlotVector' },
+ '(0054,0071)': { 'tag': '(0054,0071)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTimeSlots' },
+ '(0054,0072)': { 'tag': '(0054,0072)', 'vr': 'SQ', 'vm': '1', 'name': 'TimeSlotInformationSequence' },
+ '(0054,0073)': { 'tag': '(0054,0073)', 'vr': 'DS', 'vm': '1', 'name': 'TimeSlotTime' },
+ '(0054,0080)': { 'tag': '(0054,0080)', 'vr': 'US', 'vm': '1-n', 'name': 'SliceVector' },
+ '(0054,0081)': { 'tag': '(0054,0081)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfSlices' },
+ '(0054,0090)': { 'tag': '(0054,0090)', 'vr': 'US', 'vm': '1-n', 'name': 'AngularViewVector' },
+ '(0054,0100)': { 'tag': '(0054,0100)', 'vr': 'US', 'vm': '1-n', 'name': 'TimeSliceVector' },
+ '(0054,0101)': { 'tag': '(0054,0101)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTimeSlices' },
+ '(0054,0200)': { 'tag': '(0054,0200)', 'vr': 'DS', 'vm': '1', 'name': 'StartAngle' },
+ '(0054,0202)': { 'tag': '(0054,0202)', 'vr': 'CS', 'vm': '1', 'name': 'TypeOfDetectorMotion' },
+ '(0054,0210)': { 'tag': '(0054,0210)', 'vr': 'IS', 'vm': '1-n', 'name': 'TriggerVector' },
+ '(0054,0211)': { 'tag': '(0054,0211)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTriggersInPhase' },
+ '(0054,0220)': { 'tag': '(0054,0220)', 'vr': 'SQ', 'vm': '1', 'name': 'ViewCodeSequence' },
+ '(0054,0222)': { 'tag': '(0054,0222)', 'vr': 'SQ', 'vm': '1', 'name': 'ViewModifierCodeSequence' },
+ '(0054,0300)': { 'tag': '(0054,0300)', 'vr': 'SQ', 'vm': '1', 'name': 'RadionuclideCodeSequence' },
+ '(0054,0302)': { 'tag': '(0054,0302)', 'vr': 'SQ', 'vm': '1', 'name': 'AdministrationRouteCodeSequence' },
+ '(0054,0304)': { 'tag': '(0054,0304)', 'vr': 'SQ', 'vm': '1', 'name': 'RadiopharmaceuticalCodeSequence' },
+ '(0054,0306)': { 'tag': '(0054,0306)', 'vr': 'SQ', 'vm': '1', 'name': 'CalibrationDataSequence' },
+ '(0054,0308)': { 'tag': '(0054,0308)', 'vr': 'US', 'vm': '1', 'name': 'EnergyWindowNumber' },
+ '(0054,0400)': { 'tag': '(0054,0400)', 'vr': 'SH', 'vm': '1', 'name': 'ImageID' },
+ '(0054,0410)': { 'tag': '(0054,0410)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientOrientationCodeSequence' },
+ '(0054,0412)': { 'tag': '(0054,0412)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientOrientationModifierCodeSequence' },
+ '(0054,0414)': { 'tag': '(0054,0414)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientGantryRelationshipCodeSequence' },
+ '(0054,0500)': { 'tag': '(0054,0500)', 'vr': 'CS', 'vm': '1', 'name': 'SliceProgressionDirection' },
+ '(0054,1000)': { 'tag': '(0054,1000)', 'vr': 'CS', 'vm': '2', 'name': 'SeriesType' },
+ '(0054,1001)': { 'tag': '(0054,1001)', 'vr': 'CS', 'vm': '1', 'name': 'Units' },
+ '(0054,1002)': { 'tag': '(0054,1002)', 'vr': 'CS', 'vm': '1', 'name': 'CountsSource' },
+ '(0054,1004)': { 'tag': '(0054,1004)', 'vr': 'CS', 'vm': '1', 'name': 'ReprojectionMethod' },
+ '(0054,1006)': { 'tag': '(0054,1006)', 'vr': 'CS', 'vm': '1', 'name': 'SUVType' },
+ '(0054,1100)': { 'tag': '(0054,1100)', 'vr': 'CS', 'vm': '1', 'name': 'RandomsCorrectionMethod' },
+ '(0054,1101)': { 'tag': '(0054,1101)', 'vr': 'LO', 'vm': '1', 'name': 'AttenuationCorrectionMethod' },
+ '(0054,1102)': { 'tag': '(0054,1102)', 'vr': 'CS', 'vm': '1', 'name': 'DecayCorrection' },
+ '(0054,1103)': { 'tag': '(0054,1103)', 'vr': 'LO', 'vm': '1', 'name': 'ReconstructionMethod' },
+ '(0054,1104)': { 'tag': '(0054,1104)', 'vr': 'LO', 'vm': '1', 'name': 'DetectorLinesOfResponseUsed' },
+ '(0054,1105)': { 'tag': '(0054,1105)', 'vr': 'LO', 'vm': '1', 'name': 'ScatterCorrectionMethod' },
+ '(0054,1200)': { 'tag': '(0054,1200)', 'vr': 'DS', 'vm': '1', 'name': 'AxialAcceptance' },
+ '(0054,1201)': { 'tag': '(0054,1201)', 'vr': 'IS', 'vm': '2', 'name': 'AxialMash' },
+ '(0054,1202)': { 'tag': '(0054,1202)', 'vr': 'IS', 'vm': '1', 'name': 'TransverseMash' },
+ '(0054,1203)': { 'tag': '(0054,1203)', 'vr': 'DS', 'vm': '2', 'name': 'DetectorElementSize' },
+ '(0054,1210)': { 'tag': '(0054,1210)', 'vr': 'DS', 'vm': '1', 'name': 'CoincidenceWindowWidth' },
+ '(0054,1220)': { 'tag': '(0054,1220)', 'vr': 'CS', 'vm': '1-n', 'name': 'SecondaryCountsType' },
+ '(0054,1300)': { 'tag': '(0054,1300)', 'vr': 'DS', 'vm': '1', 'name': 'FrameReferenceTime' },
+ '(0054,1310)': { 'tag': '(0054,1310)', 'vr': 'IS', 'vm': '1', 'name': 'PrimaryPromptsCountsAccumulated' },
+ '(0054,1311)': { 'tag': '(0054,1311)', 'vr': 'IS', 'vm': '1-n', 'name': 'SecondaryCountsAccumulated' },
+ '(0054,1320)': { 'tag': '(0054,1320)', 'vr': 'DS', 'vm': '1', 'name': 'SliceSensitivityFactor' },
+ '(0054,1321)': { 'tag': '(0054,1321)', 'vr': 'DS', 'vm': '1', 'name': 'DecayFactor' },
+ '(0054,1322)': { 'tag': '(0054,1322)', 'vr': 'DS', 'vm': '1', 'name': 'DoseCalibrationFactor' },
+ '(0054,1323)': { 'tag': '(0054,1323)', 'vr': 'DS', 'vm': '1', 'name': 'ScatterFractionFactor' },
+ '(0054,1324)': { 'tag': '(0054,1324)', 'vr': 'DS', 'vm': '1', 'name': 'DeadTimeFactor' },
+ '(0054,1330)': { 'tag': '(0054,1330)', 'vr': 'US', 'vm': '1', 'name': 'ImageIndex' },
+ '(0054,1400)': { 'tag': '(0054,1400)', 'vr': 'CS', 'vm': '1-n', 'name': 'CountsIncluded' },
+ '(0054,1401)': { 'tag': '(0054,1401)', 'vr': 'CS', 'vm': '1', 'name': 'DeadTimeCorrectionFlag' },
+ '(0060,3000)': { 'tag': '(0060,3000)', 'vr': 'SQ', 'vm': '1', 'name': 'HistogramSequence' },
+ '(0060,3002)': { 'tag': '(0060,3002)', 'vr': 'US', 'vm': '1', 'name': 'HistogramNumberOfBins' },
+ '(0060,3004)': { 'tag': '(0060,3004)', 'vr': 'US|SS', 'vm': '1', 'name': 'HistogramFirstBinValue' },
+ '(0060,3006)': { 'tag': '(0060,3006)', 'vr': 'US|SS', 'vm': '1', 'name': 'HistogramLastBinValue' },
+ '(0060,3008)': { 'tag': '(0060,3008)', 'vr': 'US', 'vm': '1', 'name': 'HistogramBinWidth' },
+ '(0060,3010)': { 'tag': '(0060,3010)', 'vr': 'LO', 'vm': '1', 'name': 'HistogramExplanation' },
+ '(0060,3020)': { 'tag': '(0060,3020)', 'vr': 'UL', 'vm': '1-n', 'name': 'HistogramData' },
+ '(0062,0001)': { 'tag': '(0062,0001)', 'vr': 'CS', 'vm': '1', 'name': 'SegmentationType' },
+ '(0062,0002)': { 'tag': '(0062,0002)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentSequence' },
+ '(0062,0003)': { 'tag': '(0062,0003)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentedPropertyCategoryCodeSequence' },
+ '(0062,0004)': { 'tag': '(0062,0004)', 'vr': 'US', 'vm': '1', 'name': 'SegmentNumber' },
+ '(0062,0005)': { 'tag': '(0062,0005)', 'vr': 'LO', 'vm': '1', 'name': 'SegmentLabel' },
+ '(0062,0006)': { 'tag': '(0062,0006)', 'vr': 'ST', 'vm': '1', 'name': 'SegmentDescription' },
+ '(0062,0008)': { 'tag': '(0062,0008)', 'vr': 'CS', 'vm': '1', 'name': 'SegmentAlgorithmType' },
+ '(0062,0009)': { 'tag': '(0062,0009)', 'vr': 'LO', 'vm': '1', 'name': 'SegmentAlgorithmName' },
+ '(0062,000A)': { 'tag': '(0062,000A)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentIdentificationSequence' },
+ '(0062,000B)': { 'tag': '(0062,000B)', 'vr': 'US', 'vm': '1-n', 'name': 'ReferencedSegmentNumber' },
+ '(0062,000C)': { 'tag': '(0062,000C)', 'vr': 'US', 'vm': '1', 'name': 'RecommendedDisplayGrayscaleValue' },
+ '(0062,000D)': { 'tag': '(0062,000D)', 'vr': 'US', 'vm': '3', 'name': 'RecommendedDisplayCIELabValue' },
+ '(0062,000E)': { 'tag': '(0062,000E)', 'vr': 'US', 'vm': '1', 'name': 'MaximumFractionalValue' },
+ '(0062,000F)': { 'tag': '(0062,000F)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentedPropertyTypeCodeSequence' },
+ '(0062,0010)': { 'tag': '(0062,0010)', 'vr': 'CS', 'vm': '1', 'name': 'SegmentationFractionalType' },
+ '(0064,0002)': { 'tag': '(0064,0002)', 'vr': 'SQ', 'vm': '1', 'name': 'DeformableRegistrationSequence' },
+ '(0064,0003)': { 'tag': '(0064,0003)', 'vr': 'UI', 'vm': '1', 'name': 'SourceFrameOfReferenceUID' },
+ '(0064,0005)': { 'tag': '(0064,0005)', 'vr': 'SQ', 'vm': '1', 'name': 'DeformableRegistrationGridSequence' },
+ '(0064,0007)': { 'tag': '(0064,0007)', 'vr': 'UL', 'vm': '3', 'name': 'GridDimensions' },
+ '(0064,0008)': { 'tag': '(0064,0008)', 'vr': 'FD', 'vm': '3', 'name': 'GridResolution' },
+ '(0064,0009)': { 'tag': '(0064,0009)', 'vr': 'OF', 'vm': '1', 'name': 'VectorGridData' },
+ '(0064,000F)': { 'tag': '(0064,000F)', 'vr': 'SQ', 'vm': '1', 'name': 'PreDeformationMatrixRegistrationSequence' },
+ '(0064,0010)': { 'tag': '(0064,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'PostDeformationMatrixRegistrationSequence' },
+ '(0066,0001)': { 'tag': '(0066,0001)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfSurfaces' },
+ '(0066,0002)': { 'tag': '(0066,0002)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfaceSequence' },
+ '(0066,0003)': { 'tag': '(0066,0003)', 'vr': 'UL', 'vm': '1', 'name': 'SurfaceNumber' },
+ '(0066,0004)': { 'tag': '(0066,0004)', 'vr': 'LT', 'vm': '1', 'name': 'SurfaceComments' },
+ '(0066,0009)': { 'tag': '(0066,0009)', 'vr': 'CS', 'vm': '1', 'name': 'SurfaceProcessing' },
+ '(0066,000A)': { 'tag': '(0066,000A)', 'vr': 'FL', 'vm': '1', 'name': 'SurfaceProcessingRatio' },
+ '(0066,000B)': { 'tag': '(0066,000B)', 'vr': 'LO', 'vm': '1', 'name': 'SurfaceProcessingDescription' },
+ '(0066,000C)': { 'tag': '(0066,000C)', 'vr': 'FL', 'vm': '1', 'name': 'RecommendedPresentationOpacity' },
+ '(0066,000D)': { 'tag': '(0066,000D)', 'vr': 'CS', 'vm': '1', 'name': 'RecommendedPresentationType' },
+ '(0066,000E)': { 'tag': '(0066,000E)', 'vr': 'CS', 'vm': '1', 'name': 'FiniteVolume' },
+ '(0066,0010)': { 'tag': '(0066,0010)', 'vr': 'CS', 'vm': '1', 'name': 'Manifold' },
+ '(0066,0011)': { 'tag': '(0066,0011)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfacePointsSequence' },
+ '(0066,0012)': { 'tag': '(0066,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfacePointsNormalsSequence' },
+ '(0066,0013)': { 'tag': '(0066,0013)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfaceMeshPrimitivesSequence' },
+ '(0066,0015)': { 'tag': '(0066,0015)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfSurfacePoints' },
+ '(0066,0016)': { 'tag': '(0066,0016)', 'vr': 'OF', 'vm': '1', 'name': 'PointCoordinatesData' },
+ '(0066,0017)': { 'tag': '(0066,0017)', 'vr': 'FL', 'vm': '3', 'name': 'PointPositionAccuracy' },
+ '(0066,0018)': { 'tag': '(0066,0018)', 'vr': 'FL', 'vm': '1', 'name': 'MeanPointDistance' },
+ '(0066,0019)': { 'tag': '(0066,0019)', 'vr': 'FL', 'vm': '1', 'name': 'MaximumPointDistance' },
+ '(0066,001A)': { 'tag': '(0066,001A)', 'vr': 'FL', 'vm': '6', 'name': 'PointsBoundingBoxCoordinates' },
+ '(0066,001B)': { 'tag': '(0066,001B)', 'vr': 'FL', 'vm': '3', 'name': 'AxisOfRotation' },
+ '(0066,001C)': { 'tag': '(0066,001C)', 'vr': 'FL', 'vm': '3', 'name': 'CenterOfRotation' },
+ '(0066,001E)': { 'tag': '(0066,001E)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfVectors' },
+ '(0066,001F)': { 'tag': '(0066,001F)', 'vr': 'US', 'vm': '1', 'name': 'VectorDimensionality' },
+ '(0066,0020)': { 'tag': '(0066,0020)', 'vr': 'FL', 'vm': '1-n', 'name': 'VectorAccuracy' },
+ '(0066,0021)': { 'tag': '(0066,0021)', 'vr': 'OF', 'vm': '1', 'name': 'VectorCoordinateData' },
+ '(0066,0023)': { 'tag': '(0066,0023)', 'vr': 'OW', 'vm': '1', 'name': 'TrianglePointIndexList' },
+ '(0066,0024)': { 'tag': '(0066,0024)', 'vr': 'OW', 'vm': '1', 'name': 'EdgePointIndexList' },
+ '(0066,0025)': { 'tag': '(0066,0025)', 'vr': 'OW', 'vm': '1', 'name': 'VertexPointIndexList' },
+ '(0066,0026)': { 'tag': '(0066,0026)', 'vr': 'SQ', 'vm': '1', 'name': 'TriangleStripSequence' },
+ '(0066,0027)': { 'tag': '(0066,0027)', 'vr': 'SQ', 'vm': '1', 'name': 'TriangleFanSequence' },
+ '(0066,0028)': { 'tag': '(0066,0028)', 'vr': 'SQ', 'vm': '1', 'name': 'LineSequence' },
+ '(0066,0029)': { 'tag': '(0066,0029)', 'vr': 'OW', 'vm': '1', 'name': 'PrimitivePointIndexList' },
+ '(0066,002A)': { 'tag': '(0066,002A)', 'vr': 'UL', 'vm': '1', 'name': 'SurfaceCount' },
+ '(0066,002B)': { 'tag': '(0066,002B)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSurfaceSequence' },
+ '(0066,002C)': { 'tag': '(0066,002C)', 'vr': 'UL', 'vm': '1', 'name': 'ReferencedSurfaceNumber' },
+ '(0066,002D)': { 'tag': '(0066,002D)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentSurfaceGenerationAlgorithmIdentificationSequence' },
+ '(0066,002E)': { 'tag': '(0066,002E)', 'vr': 'SQ', 'vm': '1', 'name': 'SegmentSurfaceSourceInstanceSequence' },
+ '(0066,002F)': { 'tag': '(0066,002F)', 'vr': 'SQ', 'vm': '1', 'name': 'AlgorithmFamilyCodeSequence' },
+ '(0066,0030)': { 'tag': '(0066,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'AlgorithmNameCodeSequence' },
+ '(0066,0031)': { 'tag': '(0066,0031)', 'vr': 'LO', 'vm': '1', 'name': 'AlgorithmVersion' },
+ '(0066,0032)': { 'tag': '(0066,0032)', 'vr': 'LT', 'vm': '1', 'name': 'AlgorithmParameters' },
+ '(0066,0034)': { 'tag': '(0066,0034)', 'vr': 'SQ', 'vm': '1', 'name': 'FacetSequence' },
+ '(0066,0035)': { 'tag': '(0066,0035)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfaceProcessingAlgorithmIdentificationSequence' },
+ '(0066,0036)': { 'tag': '(0066,0036)', 'vr': 'LO', 'vm': '1', 'name': 'AlgorithmName' },
+ '(0068,6210)': { 'tag': '(0068,6210)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantSize' },
+ '(0068,6221)': { 'tag': '(0068,6221)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantTemplateVersion' },
+ '(0068,6222)': { 'tag': '(0068,6222)', 'vr': 'SQ', 'vm': '1', 'name': 'ReplacedImplantTemplateSequence' },
+ '(0068,6223)': { 'tag': '(0068,6223)', 'vr': 'CS', 'vm': '1', 'name': 'ImplantType' },
+ '(0068,6224)': { 'tag': '(0068,6224)', 'vr': 'SQ', 'vm': '1', 'name': 'DerivationImplantTemplateSequence' },
+ '(0068,6225)': { 'tag': '(0068,6225)', 'vr': 'SQ', 'vm': '1', 'name': 'OriginalImplantTemplateSequence' },
+ '(0068,6226)': { 'tag': '(0068,6226)', 'vr': 'DT', 'vm': '1', 'name': 'EffectiveDateTime' },
+ '(0068,6230)': { 'tag': '(0068,6230)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTargetAnatomySequence' },
+ '(0068,6260)': { 'tag': '(0068,6260)', 'vr': 'SQ', 'vm': '1', 'name': 'InformationFromManufacturerSequence' },
+ '(0068,6265)': { 'tag': '(0068,6265)', 'vr': 'SQ', 'vm': '1', 'name': 'NotificationFromManufacturerSequence' },
+ '(0068,6270)': { 'tag': '(0068,6270)', 'vr': 'DT', 'vm': '1', 'name': 'InformationIssueDateTime' },
+ '(0068,6280)': { 'tag': '(0068,6280)', 'vr': 'ST', 'vm': '1', 'name': 'InformationSummary' },
+ '(0068,62A0)': { 'tag': '(0068,62A0)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantRegulatoryDisapprovalCodeSequence' },
+ '(0068,62A5)': { 'tag': '(0068,62A5)', 'vr': 'FD', 'vm': '1', 'name': 'OverallTemplateSpatialTolerance' },
+ '(0068,62C0)': { 'tag': '(0068,62C0)', 'vr': 'SQ', 'vm': '1', 'name': 'HPGLDocumentSequence' },
+ '(0068,62D0)': { 'tag': '(0068,62D0)', 'vr': 'US', 'vm': '1', 'name': 'HPGLDocumentID' },
+ '(0068,62D5)': { 'tag': '(0068,62D5)', 'vr': 'LO', 'vm': '1', 'name': 'HPGLDocumentLabel' },
+ '(0068,62E0)': { 'tag': '(0068,62E0)', 'vr': 'SQ', 'vm': '1', 'name': 'ViewOrientationCodeSequence' },
+ '(0068,62F0)': { 'tag': '(0068,62F0)', 'vr': 'FD', 'vm': '9', 'name': 'ViewOrientationModifier' },
+ '(0068,62F2)': { 'tag': '(0068,62F2)', 'vr': 'FD', 'vm': '1', 'name': 'HPGLDocumentScaling' },
+ '(0068,6300)': { 'tag': '(0068,6300)', 'vr': 'OB', 'vm': '1', 'name': 'HPGLDocument' },
+ '(0068,6310)': { 'tag': '(0068,6310)', 'vr': 'US', 'vm': '1', 'name': 'HPGLContourPenNumber' },
+ '(0068,6320)': { 'tag': '(0068,6320)', 'vr': 'SQ', 'vm': '1', 'name': 'HPGLPenSequence' },
+ '(0068,6330)': { 'tag': '(0068,6330)', 'vr': 'US', 'vm': '1', 'name': 'HPGLPenNumber' },
+ '(0068,6340)': { 'tag': '(0068,6340)', 'vr': 'LO', 'vm': '1', 'name': 'HPGLPenLabel' },
+ '(0068,6345)': { 'tag': '(0068,6345)', 'vr': 'ST', 'vm': '1', 'name': 'HPGLPenDescription' },
+ '(0068,6346)': { 'tag': '(0068,6346)', 'vr': 'FD', 'vm': '2', 'name': 'RecommendedRotationPoint' },
+ '(0068,6347)': { 'tag': '(0068,6347)', 'vr': 'FD', 'vm': '4', 'name': 'BoundingRectangle' },
+ '(0068,6350)': { 'tag': '(0068,6350)', 'vr': 'US', 'vm': '1-n', 'name': 'ImplantTemplate3DModelSurfaceNumber' },
+ '(0068,6360)': { 'tag': '(0068,6360)', 'vr': 'SQ', 'vm': '1', 'name': 'SurfaceModelDescriptionSequence' },
+ '(0068,6380)': { 'tag': '(0068,6380)', 'vr': 'LO', 'vm': '1', 'name': 'SurfaceModelLabel' },
+ '(0068,6390)': { 'tag': '(0068,6390)', 'vr': 'FD', 'vm': '1', 'name': 'SurfaceModelScalingFactor' },
+ '(0068,63A0)': { 'tag': '(0068,63A0)', 'vr': 'SQ', 'vm': '1', 'name': 'MaterialsCodeSequence' },
+ '(0068,63A4)': { 'tag': '(0068,63A4)', 'vr': 'SQ', 'vm': '1', 'name': 'CoatingMaterialsCodeSequence' },
+ '(0068,63A8)': { 'tag': '(0068,63A8)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTypeCodeSequence' },
+ '(0068,63AC)': { 'tag': '(0068,63AC)', 'vr': 'SQ', 'vm': '1', 'name': 'FixationMethodCodeSequence' },
+ '(0068,63B0)': { 'tag': '(0068,63B0)', 'vr': 'SQ', 'vm': '1', 'name': 'MatingFeatureSetsSequence' },
+ '(0068,63C0)': { 'tag': '(0068,63C0)', 'vr': 'US', 'vm': '1', 'name': 'MatingFeatureSetID' },
+ '(0068,63D0)': { 'tag': '(0068,63D0)', 'vr': 'LO', 'vm': '1', 'name': 'MatingFeatureSetLabel' },
+ '(0068,63E0)': { 'tag': '(0068,63E0)', 'vr': 'SQ', 'vm': '1', 'name': 'MatingFeatureSequence' },
+ '(0068,63F0)': { 'tag': '(0068,63F0)', 'vr': 'US', 'vm': '1', 'name': 'MatingFeatureID' },
+ '(0068,6400)': { 'tag': '(0068,6400)', 'vr': 'SQ', 'vm': '1', 'name': 'MatingFeatureDegreeOfFreedomSequence' },
+ '(0068,6410)': { 'tag': '(0068,6410)', 'vr': 'US', 'vm': '1', 'name': 'DegreeOfFreedomID' },
+ '(0068,6420)': { 'tag': '(0068,6420)', 'vr': 'CS', 'vm': '1', 'name': 'DegreeOfFreedomType' },
+ '(0068,6430)': { 'tag': '(0068,6430)', 'vr': 'SQ', 'vm': '1', 'name': 'TwoDMatingFeatureCoordinatesSequence' },
+ '(0068,6440)': { 'tag': '(0068,6440)', 'vr': 'US', 'vm': '1', 'name': 'ReferencedHPGLDocumentID' },
+ '(0068,6450)': { 'tag': '(0068,6450)', 'vr': 'FD', 'vm': '2', 'name': 'TwoDMatingPoint' },
+ '(0068,6460)': { 'tag': '(0068,6460)', 'vr': 'FD', 'vm': '4', 'name': 'TwoDMatingAxes' },
+ '(0068,6470)': { 'tag': '(0068,6470)', 'vr': 'SQ', 'vm': '1', 'name': 'TwoDDegreeOfFreedomSequence' },
+ '(0068,6490)': { 'tag': '(0068,6490)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDDegreeOfFreedomAxis' },
+ '(0068,64A0)': { 'tag': '(0068,64A0)', 'vr': 'FD', 'vm': '2', 'name': 'RangeOfFreedom' },
+ '(0068,64C0)': { 'tag': '(0068,64C0)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDMatingPoint' },
+ '(0068,64D0)': { 'tag': '(0068,64D0)', 'vr': 'FD', 'vm': '9', 'name': 'ThreeDMatingAxes' },
+ '(0068,64F0)': { 'tag': '(0068,64F0)', 'vr': 'FD', 'vm': '3', 'name': 'TwoDDegreeOfFreedomAxis' },
+ '(0068,6500)': { 'tag': '(0068,6500)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanningLandmarkPointSequence' },
+ '(0068,6510)': { 'tag': '(0068,6510)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanningLandmarkLineSequence' },
+ '(0068,6520)': { 'tag': '(0068,6520)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanningLandmarkPlaneSequence' },
+ '(0068,6530)': { 'tag': '(0068,6530)', 'vr': 'US', 'vm': '1', 'name': 'PlanningLandmarkID' },
+ '(0068,6540)': { 'tag': '(0068,6540)', 'vr': 'LO', 'vm': '1', 'name': 'PlanningLandmarkDescription' },
+ '(0068,6545)': { 'tag': '(0068,6545)', 'vr': 'SQ', 'vm': '1', 'name': 'PlanningLandmarkIdentificationCodeSequence' },
+ '(0068,6550)': { 'tag': '(0068,6550)', 'vr': 'SQ', 'vm': '1', 'name': 'TwoDPointCoordinatesSequence' },
+ '(0068,6560)': { 'tag': '(0068,6560)', 'vr': 'FD', 'vm': '2', 'name': 'TwoDPointCoordinates' },
+ '(0068,6590)': { 'tag': '(0068,6590)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDPointCoordinates' },
+ '(0068,65A0)': { 'tag': '(0068,65A0)', 'vr': 'SQ', 'vm': '1', 'name': 'TwoDLineCoordinatesSequence' },
+ '(0068,65B0)': { 'tag': '(0068,65B0)', 'vr': 'FD', 'vm': '4', 'name': 'TwoDLineCoordinates' },
+ '(0068,65D0)': { 'tag': '(0068,65D0)', 'vr': 'FD', 'vm': '6', 'name': 'ThreeDLineCoordinates' },
+ '(0068,65E0)': { 'tag': '(0068,65E0)', 'vr': 'SQ', 'vm': '1', 'name': 'TwoDPlaneCoordinatesSequence' },
+ '(0068,65F0)': { 'tag': '(0068,65F0)', 'vr': 'FD', 'vm': '4', 'name': 'TwoDPlaneIntersection' },
+ '(0068,6610)': { 'tag': '(0068,6610)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDPlaneOrigin' },
+ '(0068,6620)': { 'tag': '(0068,6620)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDPlaneNormal' },
+ '(0070,0001)': { 'tag': '(0070,0001)', 'vr': 'SQ', 'vm': '1', 'name': 'GraphicAnnotationSequence' },
+ '(0070,0002)': { 'tag': '(0070,0002)', 'vr': 'CS', 'vm': '1', 'name': 'GraphicLayer' },
+ '(0070,0003)': { 'tag': '(0070,0003)', 'vr': 'CS', 'vm': '1', 'name': 'BoundingBoxAnnotationUnits' },
+ '(0070,0004)': { 'tag': '(0070,0004)', 'vr': 'CS', 'vm': '1', 'name': 'AnchorPointAnnotationUnits' },
+ '(0070,0005)': { 'tag': '(0070,0005)', 'vr': 'CS', 'vm': '1', 'name': 'GraphicAnnotationUnits' },
+ '(0070,0006)': { 'tag': '(0070,0006)', 'vr': 'ST', 'vm': '1', 'name': 'UnformattedTextValue' },
+ '(0070,0008)': { 'tag': '(0070,0008)', 'vr': 'SQ', 'vm': '1', 'name': 'TextObjectSequence' },
+ '(0070,0009)': { 'tag': '(0070,0009)', 'vr': 'SQ', 'vm': '1', 'name': 'GraphicObjectSequence' },
+ '(0070,0010)': { 'tag': '(0070,0010)', 'vr': 'FL', 'vm': '2', 'name': 'BoundingBoxTopLeftHandCorner' },
+ '(0070,0011)': { 'tag': '(0070,0011)', 'vr': 'FL', 'vm': '2', 'name': 'BoundingBoxBottomRightHandCorner' },
+ '(0070,0012)': { 'tag': '(0070,0012)', 'vr': 'CS', 'vm': '1', 'name': 'BoundingBoxTextHorizontalJustification' },
+ '(0070,0014)': { 'tag': '(0070,0014)', 'vr': 'FL', 'vm': '2', 'name': 'AnchorPoint' },
+ '(0070,0015)': { 'tag': '(0070,0015)', 'vr': 'CS', 'vm': '1', 'name': 'AnchorPointVisibility' },
+ '(0070,0020)': { 'tag': '(0070,0020)', 'vr': 'US', 'vm': '1', 'name': 'GraphicDimensions' },
+ '(0070,0021)': { 'tag': '(0070,0021)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfGraphicPoints' },
+ '(0070,0022)': { 'tag': '(0070,0022)', 'vr': 'FL', 'vm': '2-n', 'name': 'GraphicData' },
+ '(0070,0023)': { 'tag': '(0070,0023)', 'vr': 'CS', 'vm': '1', 'name': 'GraphicType' },
+ '(0070,0024)': { 'tag': '(0070,0024)', 'vr': 'CS', 'vm': '1', 'name': 'GraphicFilled' },
+ '(0070,0040)': { 'tag': '(0070,0040)', 'vr': 'IS', 'vm': '1', 'name': 'ImageRotationRetired' },
+ '(0070,0041)': { 'tag': '(0070,0041)', 'vr': 'CS', 'vm': '1', 'name': 'ImageHorizontalFlip' },
+ '(0070,0042)': { 'tag': '(0070,0042)', 'vr': 'US', 'vm': '1', 'name': 'ImageRotation' },
+ '(0070,0050)': { 'tag': '(0070,0050)', 'vr': 'US', 'vm': '2', 'name': 'DisplayedAreaTopLeftHandCornerTrial' },
+ '(0070,0051)': { 'tag': '(0070,0051)', 'vr': 'US', 'vm': '2', 'name': 'DisplayedAreaBottomRightHandCornerTrial' },
+ '(0070,0052)': { 'tag': '(0070,0052)', 'vr': 'SL', 'vm': '2', 'name': 'DisplayedAreaTopLeftHandCorner' },
+ '(0070,0053)': { 'tag': '(0070,0053)', 'vr': 'SL', 'vm': '2', 'name': 'DisplayedAreaBottomRightHandCorner' },
+ '(0070,005A)': { 'tag': '(0070,005A)', 'vr': 'SQ', 'vm': '1', 'name': 'DisplayedAreaSelectionSequence' },
+ '(0070,0060)': { 'tag': '(0070,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'GraphicLayerSequence' },
+ '(0070,0062)': { 'tag': '(0070,0062)', 'vr': 'IS', 'vm': '1', 'name': 'GraphicLayerOrder' },
+ '(0070,0066)': { 'tag': '(0070,0066)', 'vr': 'US', 'vm': '1', 'name': 'GraphicLayerRecommendedDisplayGrayscaleValue' },
+ '(0070,0067)': { 'tag': '(0070,0067)', 'vr': 'US', 'vm': '3', 'name': 'GraphicLayerRecommendedDisplayRGBValue' },
+ '(0070,0068)': { 'tag': '(0070,0068)', 'vr': 'LO', 'vm': '1', 'name': 'GraphicLayerDescription' },
+ '(0070,0080)': { 'tag': '(0070,0080)', 'vr': 'CS', 'vm': '1', 'name': 'ContentLabel' },
+ '(0070,0081)': { 'tag': '(0070,0081)', 'vr': 'LO', 'vm': '1', 'name': 'ContentDescription' },
+ '(0070,0082)': { 'tag': '(0070,0082)', 'vr': 'DA', 'vm': '1', 'name': 'PresentationCreationDate' },
+ '(0070,0083)': { 'tag': '(0070,0083)', 'vr': 'TM', 'vm': '1', 'name': 'PresentationCreationTime' },
+ '(0070,0084)': { 'tag': '(0070,0084)', 'vr': 'PN', 'vm': '1', 'name': 'ContentCreatorName' },
+ '(0070,0086)': { 'tag': '(0070,0086)', 'vr': 'SQ', 'vm': '1', 'name': 'ContentCreatorIdentificationCodeSequence' },
+ '(0070,0087)': { 'tag': '(0070,0087)', 'vr': 'SQ', 'vm': '1', 'name': 'AlternateContentDescriptionSequence' },
+ '(0070,0100)': { 'tag': '(0070,0100)', 'vr': 'CS', 'vm': '1', 'name': 'PresentationSizeMode' },
+ '(0070,0101)': { 'tag': '(0070,0101)', 'vr': 'DS', 'vm': '2', 'name': 'PresentationPixelSpacing' },
+ '(0070,0102)': { 'tag': '(0070,0102)', 'vr': 'IS', 'vm': '2', 'name': 'PresentationPixelAspectRatio' },
+ '(0070,0103)': { 'tag': '(0070,0103)', 'vr': 'FL', 'vm': '1', 'name': 'PresentationPixelMagnificationRatio' },
+ '(0070,0207)': { 'tag': '(0070,0207)', 'vr': 'LO', 'vm': '1', 'name': 'GraphicGroupLabel' },
+ '(0070,0208)': { 'tag': '(0070,0208)', 'vr': 'ST', 'vm': '1', 'name': 'GraphicGroupDescription' },
+ '(0070,0209)': { 'tag': '(0070,0209)', 'vr': 'SQ', 'vm': '1', 'name': 'CompoundGraphicSequence' },
+ '(0070,0226)': { 'tag': '(0070,0226)', 'vr': 'UL', 'vm': '1', 'name': 'CompoundGraphicInstanceID' },
+ '(0070,0227)': { 'tag': '(0070,0227)', 'vr': 'LO', 'vm': '1', 'name': 'FontName' },
+ '(0070,0228)': { 'tag': '(0070,0228)', 'vr': 'CS', 'vm': '1', 'name': 'FontNameType' },
+ '(0070,0229)': { 'tag': '(0070,0229)', 'vr': 'LO', 'vm': '1', 'name': 'CSSFontName' },
+ '(0070,0230)': { 'tag': '(0070,0230)', 'vr': 'FD', 'vm': '1', 'name': 'RotationAngle' },
+ '(0070,0231)': { 'tag': '(0070,0231)', 'vr': 'SQ', 'vm': '1', 'name': 'TextStyleSequence' },
+ '(0070,0232)': { 'tag': '(0070,0232)', 'vr': 'SQ', 'vm': '1', 'name': 'LineStyleSequence' },
+ '(0070,0233)': { 'tag': '(0070,0233)', 'vr': 'SQ', 'vm': '1', 'name': 'FillStyleSequence' },
+ '(0070,0234)': { 'tag': '(0070,0234)', 'vr': 'SQ', 'vm': '1', 'name': 'GraphicGroupSequence' },
+ '(0070,0241)': { 'tag': '(0070,0241)', 'vr': 'US', 'vm': '3', 'name': 'TextColorCIELabValue' },
+ '(0070,0242)': { 'tag': '(0070,0242)', 'vr': 'CS', 'vm': '1', 'name': 'HorizontalAlignment' },
+ '(0070,0243)': { 'tag': '(0070,0243)', 'vr': 'CS', 'vm': '1', 'name': 'VerticalAlignment' },
+ '(0070,0244)': { 'tag': '(0070,0244)', 'vr': 'CS', 'vm': '1', 'name': 'ShadowStyle' },
+ '(0070,0245)': { 'tag': '(0070,0245)', 'vr': 'FL', 'vm': '1', 'name': 'ShadowOffsetX' },
+ '(0070,0246)': { 'tag': '(0070,0246)', 'vr': 'FL', 'vm': '1', 'name': 'ShadowOffsetY' },
+ '(0070,0247)': { 'tag': '(0070,0247)', 'vr': 'US', 'vm': '3', 'name': 'ShadowColorCIELabValue' },
+ '(0070,0248)': { 'tag': '(0070,0248)', 'vr': 'CS', 'vm': '1', 'name': 'Underlined' },
+ '(0070,0249)': { 'tag': '(0070,0249)', 'vr': 'CS', 'vm': '1', 'name': 'Bold' },
+ '(0070,0250)': { 'tag': '(0070,0250)', 'vr': 'CS', 'vm': '1', 'name': 'Italic' },
+ '(0070,0251)': { 'tag': '(0070,0251)', 'vr': 'US', 'vm': '3', 'name': 'PatternOnColorCIELabValue' },
+ '(0070,0252)': { 'tag': '(0070,0252)', 'vr': 'US', 'vm': '3', 'name': 'PatternOffColorCIELabValue' },
+ '(0070,0253)': { 'tag': '(0070,0253)', 'vr': 'FL', 'vm': '1', 'name': 'LineThickness' },
+ '(0070,0254)': { 'tag': '(0070,0254)', 'vr': 'CS', 'vm': '1', 'name': 'LineDashingStyle' },
+ '(0070,0255)': { 'tag': '(0070,0255)', 'vr': 'UL', 'vm': '1', 'name': 'LinePattern' },
+ '(0070,0256)': { 'tag': '(0070,0256)', 'vr': 'OB', 'vm': '1', 'name': 'FillPattern' },
+ '(0070,0257)': { 'tag': '(0070,0257)', 'vr': 'CS', 'vm': '1', 'name': 'FillMode' },
+ '(0070,0258)': { 'tag': '(0070,0258)', 'vr': 'FL', 'vm': '1', 'name': 'ShadowOpacity' },
+ '(0070,0261)': { 'tag': '(0070,0261)', 'vr': 'FL', 'vm': '1', 'name': 'GapLength' },
+ '(0070,0262)': { 'tag': '(0070,0262)', 'vr': 'FL', 'vm': '1', 'name': 'DiameterOfVisibility' },
+ '(0070,0273)': { 'tag': '(0070,0273)', 'vr': 'FL', 'vm': '2', 'name': 'RotationPoint' },
+ '(0070,0274)': { 'tag': '(0070,0274)', 'vr': 'CS', 'vm': '1', 'name': 'TickAlignment' },
+ '(0070,0278)': { 'tag': '(0070,0278)', 'vr': 'CS', 'vm': '1', 'name': 'ShowTickLabel' },
+ '(0070,0279)': { 'tag': '(0070,0279)', 'vr': 'CS', 'vm': '1', 'name': 'TickLabelAlignment' },
+ '(0070,0282)': { 'tag': '(0070,0282)', 'vr': 'CS', 'vm': '1', 'name': 'CompoundGraphicUnits' },
+ '(0070,0284)': { 'tag': '(0070,0284)', 'vr': 'FL', 'vm': '1', 'name': 'PatternOnOpacity' },
+ '(0070,0285)': { 'tag': '(0070,0285)', 'vr': 'FL', 'vm': '1', 'name': 'PatternOffOpacity' },
+ '(0070,0287)': { 'tag': '(0070,0287)', 'vr': 'SQ', 'vm': '1', 'name': 'MajorTicksSequence' },
+ '(0070,0288)': { 'tag': '(0070,0288)', 'vr': 'FL', 'vm': '1', 'name': 'TickPosition' },
+ '(0070,0289)': { 'tag': '(0070,0289)', 'vr': 'SH', 'vm': '1', 'name': 'TickLabel' },
+ '(0070,0294)': { 'tag': '(0070,0294)', 'vr': 'CS', 'vm': '1', 'name': 'CompoundGraphicType' },
+ '(0070,0295)': { 'tag': '(0070,0295)', 'vr': 'UL', 'vm': '1', 'name': 'GraphicGroupID' },
+ '(0070,0306)': { 'tag': '(0070,0306)', 'vr': 'CS', 'vm': '1', 'name': 'ShapeType' },
+ '(0070,0308)': { 'tag': '(0070,0308)', 'vr': 'SQ', 'vm': '1', 'name': 'RegistrationSequence' },
+ '(0070,0309)': { 'tag': '(0070,0309)', 'vr': 'SQ', 'vm': '1', 'name': 'MatrixRegistrationSequence' },
+ '(0070,030A)': { 'tag': '(0070,030A)', 'vr': 'SQ', 'vm': '1', 'name': 'MatrixSequence' },
+ '(0070,030C)': { 'tag': '(0070,030C)', 'vr': 'CS', 'vm': '1', 'name': 'FrameOfReferenceTransformationMatrixType' },
+ '(0070,030D)': { 'tag': '(0070,030D)', 'vr': 'SQ', 'vm': '1', 'name': 'RegistrationTypeCodeSequence' },
+ '(0070,030F)': { 'tag': '(0070,030F)', 'vr': 'ST', 'vm': '1', 'name': 'FiducialDescription' },
+ '(0070,0310)': { 'tag': '(0070,0310)', 'vr': 'SH', 'vm': '1', 'name': 'FiducialIdentifier' },
+ '(0070,0311)': { 'tag': '(0070,0311)', 'vr': 'SQ', 'vm': '1', 'name': 'FiducialIdentifierCodeSequence' },
+ '(0070,0312)': { 'tag': '(0070,0312)', 'vr': 'FD', 'vm': '1', 'name': 'ContourUncertaintyRadius' },
+ '(0070,0314)': { 'tag': '(0070,0314)', 'vr': 'SQ', 'vm': '1', 'name': 'UsedFiducialsSequence' },
+ '(0070,0318)': { 'tag': '(0070,0318)', 'vr': 'SQ', 'vm': '1', 'name': 'GraphicCoordinatesDataSequence' },
+ '(0070,031A)': { 'tag': '(0070,031A)', 'vr': 'UI', 'vm': '1', 'name': 'FiducialUID' },
+ '(0070,031C)': { 'tag': '(0070,031C)', 'vr': 'SQ', 'vm': '1', 'name': 'FiducialSetSequence' },
+ '(0070,031E)': { 'tag': '(0070,031E)', 'vr': 'SQ', 'vm': '1', 'name': 'FiducialSequence' },
+ '(0070,0401)': { 'tag': '(0070,0401)', 'vr': 'US', 'vm': '3', 'name': 'GraphicLayerRecommendedDisplayCIELabValue' },
+ '(0070,0402)': { 'tag': '(0070,0402)', 'vr': 'SQ', 'vm': '1', 'name': 'BlendingSequence' },
+ '(0070,0403)': { 'tag': '(0070,0403)', 'vr': 'FL', 'vm': '1', 'name': 'RelativeOpacity' },
+ '(0070,0404)': { 'tag': '(0070,0404)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSpatialRegistrationSequence' },
+ '(0070,0405)': { 'tag': '(0070,0405)', 'vr': 'CS', 'vm': '1', 'name': 'BlendingPosition' },
+ '(0072,0002)': { 'tag': '(0072,0002)', 'vr': 'SH', 'vm': '1', 'name': 'HangingProtocolName' },
+ '(0072,0004)': { 'tag': '(0072,0004)', 'vr': 'LO', 'vm': '1', 'name': 'HangingProtocolDescription' },
+ '(0072,0006)': { 'tag': '(0072,0006)', 'vr': 'CS', 'vm': '1', 'name': 'HangingProtocolLevel' },
+ '(0072,0008)': { 'tag': '(0072,0008)', 'vr': 'LO', 'vm': '1', 'name': 'HangingProtocolCreator' },
+ '(0072,000A)': { 'tag': '(0072,000A)', 'vr': 'DT', 'vm': '1', 'name': 'HangingProtocolCreationDateTime' },
+ '(0072,000C)': { 'tag': '(0072,000C)', 'vr': 'SQ', 'vm': '1', 'name': 'HangingProtocolDefinitionSequence' },
+ '(0072,000E)': { 'tag': '(0072,000E)', 'vr': 'SQ', 'vm': '1', 'name': 'HangingProtocolUserIdentificationCodeSequence' },
+ '(0072,0010)': { 'tag': '(0072,0010)', 'vr': 'LO', 'vm': '1', 'name': 'HangingProtocolUserGroupName' },
+ '(0072,0012)': { 'tag': '(0072,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceHangingProtocolSequence' },
+ '(0072,0014)': { 'tag': '(0072,0014)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfPriorsReferenced' },
+ '(0072,0020)': { 'tag': '(0072,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageSetsSequence' },
+ '(0072,0022)': { 'tag': '(0072,0022)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageSetSelectorSequence' },
+ '(0072,0024)': { 'tag': '(0072,0024)', 'vr': 'CS', 'vm': '1', 'name': 'ImageSetSelectorUsageFlag' },
+ '(0072,0026)': { 'tag': '(0072,0026)', 'vr': 'AT', 'vm': '1', 'name': 'SelectorAttribute' },
+ '(0072,0028)': { 'tag': '(0072,0028)', 'vr': 'US', 'vm': '1', 'name': 'SelectorValueNumber' },
+ '(0072,0030)': { 'tag': '(0072,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'TimeBasedImageSetsSequence' },
+ '(0072,0032)': { 'tag': '(0072,0032)', 'vr': 'US', 'vm': '1', 'name': 'ImageSetNumber' },
+ '(0072,0034)': { 'tag': '(0072,0034)', 'vr': 'CS', 'vm': '1', 'name': 'ImageSetSelectorCategory' },
+ '(0072,0038)': { 'tag': '(0072,0038)', 'vr': 'US', 'vm': '2', 'name': 'RelativeTime' },
+ '(0072,003A)': { 'tag': '(0072,003A)', 'vr': 'CS', 'vm': '1', 'name': 'RelativeTimeUnits' },
+ '(0072,003C)': { 'tag': '(0072,003C)', 'vr': 'SS', 'vm': '2', 'name': 'AbstractPriorValue' },
+ '(0072,003E)': { 'tag': '(0072,003E)', 'vr': 'SQ', 'vm': '1', 'name': 'AbstractPriorCodeSequence' },
+ '(0072,0040)': { 'tag': '(0072,0040)', 'vr': 'LO', 'vm': '1', 'name': 'ImageSetLabel' },
+ '(0072,0050)': { 'tag': '(0072,0050)', 'vr': 'CS', 'vm': '1', 'name': 'SelectorAttributeVR' },
+ '(0072,0052)': { 'tag': '(0072,0052)', 'vr': 'AT', 'vm': '1-n', 'name': 'SelectorSequencePointer' },
+ '(0072,0054)': { 'tag': '(0072,0054)', 'vr': 'LO', 'vm': '1-n', 'name': 'SelectorSequencePointerPrivateCreator' },
+ '(0072,0056)': { 'tag': '(0072,0056)', 'vr': 'LO', 'vm': '1', 'name': 'SelectorAttributePrivateCreator' },
+ '(0072,0060)': { 'tag': '(0072,0060)', 'vr': 'AT', 'vm': '1-n', 'name': 'SelectorATValue' },
+ '(0072,0062)': { 'tag': '(0072,0062)', 'vr': 'CS', 'vm': '1-n', 'name': 'SelectorCSValue' },
+ '(0072,0064)': { 'tag': '(0072,0064)', 'vr': 'IS', 'vm': '1-n', 'name': 'SelectorISValue' },
+ '(0072,0066)': { 'tag': '(0072,0066)', 'vr': 'LO', 'vm': '1-n', 'name': 'SelectorLOValue' },
+ '(0072,0068)': { 'tag': '(0072,0068)', 'vr': 'LT', 'vm': '1', 'name': 'SelectorLTValue' },
+ '(0072,006A)': { 'tag': '(0072,006A)', 'vr': 'PN', 'vm': '1-n', 'name': 'SelectorPNValue' },
+ '(0072,006C)': { 'tag': '(0072,006C)', 'vr': 'SH', 'vm': '1-n', 'name': 'SelectorSHValue' },
+ '(0072,006E)': { 'tag': '(0072,006E)', 'vr': 'ST', 'vm': '1', 'name': 'SelectorSTValue' },
+ '(0072,0070)': { 'tag': '(0072,0070)', 'vr': 'UT', 'vm': '1', 'name': 'SelectorUTValue' },
+ '(0072,0072)': { 'tag': '(0072,0072)', 'vr': 'DS', 'vm': '1-n', 'name': 'SelectorDSValue' },
+ '(0072,0074)': { 'tag': '(0072,0074)', 'vr': 'FD', 'vm': '1-n', 'name': 'SelectorFDValue' },
+ '(0072,0076)': { 'tag': '(0072,0076)', 'vr': 'FL', 'vm': '1-n', 'name': 'SelectorFLValue' },
+ '(0072,0078)': { 'tag': '(0072,0078)', 'vr': 'UL', 'vm': '1-n', 'name': 'SelectorULValue' },
+ '(0072,007A)': { 'tag': '(0072,007A)', 'vr': 'US', 'vm': '1-n', 'name': 'SelectorUSValue' },
+ '(0072,007C)': { 'tag': '(0072,007C)', 'vr': 'SL', 'vm': '1-n', 'name': 'SelectorSLValue' },
+ '(0072,007E)': { 'tag': '(0072,007E)', 'vr': 'SS', 'vm': '1-n', 'name': 'SelectorSSValue' },
+ '(0072,0080)': { 'tag': '(0072,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'SelectorCodeSequenceValue' },
+ '(0072,0100)': { 'tag': '(0072,0100)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfScreens' },
+ '(0072,0102)': { 'tag': '(0072,0102)', 'vr': 'SQ', 'vm': '1', 'name': 'NominalScreenDefinitionSequence' },
+ '(0072,0104)': { 'tag': '(0072,0104)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfVerticalPixels' },
+ '(0072,0106)': { 'tag': '(0072,0106)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfHorizontalPixels' },
+ '(0072,0108)': { 'tag': '(0072,0108)', 'vr': 'FD', 'vm': '4', 'name': 'DisplayEnvironmentSpatialPosition' },
+ '(0072,010A)': { 'tag': '(0072,010A)', 'vr': 'US', 'vm': '1', 'name': 'ScreenMinimumGrayscaleBitDepth' },
+ '(0072,010C)': { 'tag': '(0072,010C)', 'vr': 'US', 'vm': '1', 'name': 'ScreenMinimumColorBitDepth' },
+ '(0072,010E)': { 'tag': '(0072,010E)', 'vr': 'US', 'vm': '1', 'name': 'ApplicationMaximumRepaintTime' },
+ '(0072,0200)': { 'tag': '(0072,0200)', 'vr': 'SQ', 'vm': '1', 'name': 'DisplaySetsSequence' },
+ '(0072,0202)': { 'tag': '(0072,0202)', 'vr': 'US', 'vm': '1', 'name': 'DisplaySetNumber' },
+ '(0072,0203)': { 'tag': '(0072,0203)', 'vr': 'LO', 'vm': '1', 'name': 'DisplaySetLabel' },
+ '(0072,0204)': { 'tag': '(0072,0204)', 'vr': 'US', 'vm': '1', 'name': 'DisplaySetPresentationGroup' },
+ '(0072,0206)': { 'tag': '(0072,0206)', 'vr': 'LO', 'vm': '1', 'name': 'DisplaySetPresentationGroupDescription' },
+ '(0072,0208)': { 'tag': '(0072,0208)', 'vr': 'CS', 'vm': '1', 'name': 'PartialDataDisplayHandling' },
+ '(0072,0210)': { 'tag': '(0072,0210)', 'vr': 'SQ', 'vm': '1', 'name': 'SynchronizedScrollingSequence' },
+ '(0072,0212)': { 'tag': '(0072,0212)', 'vr': 'US', 'vm': '2-n', 'name': 'DisplaySetScrollingGroup' },
+ '(0072,0214)': { 'tag': '(0072,0214)', 'vr': 'SQ', 'vm': '1', 'name': 'NavigationIndicatorSequence' },
+ '(0072,0216)': { 'tag': '(0072,0216)', 'vr': 'US', 'vm': '1', 'name': 'NavigationDisplaySet' },
+ '(0072,0218)': { 'tag': '(0072,0218)', 'vr': 'US', 'vm': '1-n', 'name': 'ReferenceDisplaySets' },
+ '(0072,0300)': { 'tag': '(0072,0300)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageBoxesSequence' },
+ '(0072,0302)': { 'tag': '(0072,0302)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxNumber' },
+ '(0072,0304)': { 'tag': '(0072,0304)', 'vr': 'CS', 'vm': '1', 'name': 'ImageBoxLayoutType' },
+ '(0072,0306)': { 'tag': '(0072,0306)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxTileHorizontalDimension' },
+ '(0072,0308)': { 'tag': '(0072,0308)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxTileVerticalDimension' },
+ '(0072,0310)': { 'tag': '(0072,0310)', 'vr': 'CS', 'vm': '1', 'name': 'ImageBoxScrollDirection' },
+ '(0072,0312)': { 'tag': '(0072,0312)', 'vr': 'CS', 'vm': '1', 'name': 'ImageBoxSmallScrollType' },
+ '(0072,0314)': { 'tag': '(0072,0314)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxSmallScrollAmount' },
+ '(0072,0316)': { 'tag': '(0072,0316)', 'vr': 'CS', 'vm': '1', 'name': 'ImageBoxLargeScrollType' },
+ '(0072,0318)': { 'tag': '(0072,0318)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxLargeScrollAmount' },
+ '(0072,0320)': { 'tag': '(0072,0320)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxOverlapPriority' },
+ '(0072,0330)': { 'tag': '(0072,0330)', 'vr': 'FD', 'vm': '1', 'name': 'CineRelativeToRealTime' },
+ '(0072,0400)': { 'tag': '(0072,0400)', 'vr': 'SQ', 'vm': '1', 'name': 'FilterOperationsSequence' },
+ '(0072,0402)': { 'tag': '(0072,0402)', 'vr': 'CS', 'vm': '1', 'name': 'FilterByCategory' },
+ '(0072,0404)': { 'tag': '(0072,0404)', 'vr': 'CS', 'vm': '1', 'name': 'FilterByAttributePresence' },
+ '(0072,0406)': { 'tag': '(0072,0406)', 'vr': 'CS', 'vm': '1', 'name': 'FilterByOperator' },
+ '(0072,0420)': { 'tag': '(0072,0420)', 'vr': 'US', 'vm': '3', 'name': 'StructuredDisplayBackgroundCIELabValue' },
+ '(0072,0421)': { 'tag': '(0072,0421)', 'vr': 'US', 'vm': '3', 'name': 'EmptyImageBoxCIELabValue' },
+ '(0072,0422)': { 'tag': '(0072,0422)', 'vr': 'SQ', 'vm': '1', 'name': 'StructuredDisplayImageBoxSequence' },
+ '(0072,0424)': { 'tag': '(0072,0424)', 'vr': 'SQ', 'vm': '1', 'name': 'StructuredDisplayTextBoxSequence' },
+ '(0072,0427)': { 'tag': '(0072,0427)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedFirstFrameSequence' },
+ '(0072,0430)': { 'tag': '(0072,0430)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageBoxSynchronizationSequence' },
+ '(0072,0432)': { 'tag': '(0072,0432)', 'vr': 'US', 'vm': '2-n', 'name': 'SynchronizedImageBoxList' },
+ '(0072,0434)': { 'tag': '(0072,0434)', 'vr': 'CS', 'vm': '1', 'name': 'TypeOfSynchronization' },
+ '(0072,0500)': { 'tag': '(0072,0500)', 'vr': 'CS', 'vm': '1', 'name': 'BlendingOperationType' },
+ '(0072,0510)': { 'tag': '(0072,0510)', 'vr': 'CS', 'vm': '1', 'name': 'ReformattingOperationType' },
+ '(0072,0512)': { 'tag': '(0072,0512)', 'vr': 'FD', 'vm': '1', 'name': 'ReformattingThickness' },
+ '(0072,0514)': { 'tag': '(0072,0514)', 'vr': 'FD', 'vm': '1', 'name': 'ReformattingInterval' },
+ '(0072,0516)': { 'tag': '(0072,0516)', 'vr': 'CS', 'vm': '1', 'name': 'ReformattingOperationInitialViewDirection' },
+ '(0072,0520)': { 'tag': '(0072,0520)', 'vr': 'CS', 'vm': '1-n', 'name': 'ThreeDRenderingType' },
+ '(0072,0600)': { 'tag': '(0072,0600)', 'vr': 'SQ', 'vm': '1', 'name': 'SortingOperationsSequence' },
+ '(0072,0602)': { 'tag': '(0072,0602)', 'vr': 'CS', 'vm': '1', 'name': 'SortByCategory' },
+ '(0072,0604)': { 'tag': '(0072,0604)', 'vr': 'CS', 'vm': '1', 'name': 'SortingDirection' },
+ '(0072,0700)': { 'tag': '(0072,0700)', 'vr': 'CS', 'vm': '2', 'name': 'DisplaySetPatientOrientation' },
+ '(0072,0702)': { 'tag': '(0072,0702)', 'vr': 'CS', 'vm': '1', 'name': 'VOIType' },
+ '(0072,0704)': { 'tag': '(0072,0704)', 'vr': 'CS', 'vm': '1', 'name': 'PseudoColorType' },
+ '(0072,0705)': { 'tag': '(0072,0705)', 'vr': 'SQ', 'vm': '1', 'name': 'PseudoColorPaletteInstanceReferenceSequence' },
+ '(0072,0706)': { 'tag': '(0072,0706)', 'vr': 'CS', 'vm': '1', 'name': 'ShowGrayscaleInverted' },
+ '(0072,0710)': { 'tag': '(0072,0710)', 'vr': 'CS', 'vm': '1', 'name': 'ShowImageTrueSizeFlag' },
+ '(0072,0712)': { 'tag': '(0072,0712)', 'vr': 'CS', 'vm': '1', 'name': 'ShowGraphicAnnotationFlag' },
+ '(0072,0714)': { 'tag': '(0072,0714)', 'vr': 'CS', 'vm': '1', 'name': 'ShowPatientDemographicsFlag' },
+ '(0072,0716)': { 'tag': '(0072,0716)', 'vr': 'CS', 'vm': '1', 'name': 'ShowAcquisitionTechniquesFlag' },
+ '(0072,0717)': { 'tag': '(0072,0717)', 'vr': 'CS', 'vm': '1', 'name': 'DisplaySetHorizontalJustification' },
+ '(0072,0718)': { 'tag': '(0072,0718)', 'vr': 'CS', 'vm': '1', 'name': 'DisplaySetVerticalJustification' },
+ '(0074,0120)': { 'tag': '(0074,0120)', 'vr': 'FD', 'vm': '1', 'name': 'ContinuationStartMeterset' },
+ '(0074,0121)': { 'tag': '(0074,0121)', 'vr': 'FD', 'vm': '1', 'name': 'ContinuationEndMeterset' },
+ '(0074,1000)': { 'tag': '(0074,1000)', 'vr': 'CS', 'vm': '1', 'name': 'ProcedureStepState' },
+ '(0074,1002)': { 'tag': '(0074,1002)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureStepProgressInformationSequence' },
+ '(0074,1004)': { 'tag': '(0074,1004)', 'vr': 'DS', 'vm': '1', 'name': 'ProcedureStepProgress' },
+ '(0074,1006)': { 'tag': '(0074,1006)', 'vr': 'ST', 'vm': '1', 'name': 'ProcedureStepProgressDescription' },
+ '(0074,1008)': { 'tag': '(0074,1008)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureStepCommunicationsURISequence' },
+ '(0074,100a)': { 'tag': '(0074,100a)', 'vr': 'ST', 'vm': '1', 'name': 'ContactURI' },
+ '(0074,100c)': { 'tag': '(0074,100c)', 'vr': 'LO', 'vm': '1', 'name': 'ContactDisplayName' },
+ '(0074,100e)': { 'tag': '(0074,100e)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureStepDiscontinuationReasonCodeSequence' },
+ '(0074,1020)': { 'tag': '(0074,1020)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamTaskSequence' },
+ '(0074,1022)': { 'tag': '(0074,1022)', 'vr': 'CS', 'vm': '1', 'name': 'BeamTaskType' },
+ '(0074,1024)': { 'tag': '(0074,1024)', 'vr': 'IS', 'vm': '1', 'name': 'BeamOrderIndexTrial' },
+ '(0074,1026)': { 'tag': '(0074,1026)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopVerticalAdjustedPosition' },
+ '(0074,1027)': { 'tag': '(0074,1027)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopLongitudinalAdjustedPosition' },
+ '(0074,1028)': { 'tag': '(0074,1028)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopLateralAdjustedPosition' },
+ '(0074,102A)': { 'tag': '(0074,102A)', 'vr': 'FD', 'vm': '1', 'name': 'PatientSupportAdjustedAngle' },
+ '(0074,102B)': { 'tag': '(0074,102B)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopEccentricAdjustedAngle' },
+ '(0074,102C)': { 'tag': '(0074,102C)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopPitchAdjustedAngle' },
+ '(0074,102D)': { 'tag': '(0074,102D)', 'vr': 'FD', 'vm': '1', 'name': 'TableTopRollAdjustedAngle' },
+ '(0074,1030)': { 'tag': '(0074,1030)', 'vr': 'SQ', 'vm': '1', 'name': 'DeliveryVerificationImageSequence' },
+ '(0074,1032)': { 'tag': '(0074,1032)', 'vr': 'CS', 'vm': '1', 'name': 'VerificationImageTiming' },
+ '(0074,1034)': { 'tag': '(0074,1034)', 'vr': 'CS', 'vm': '1', 'name': 'DoubleExposureFlag' },
+ '(0074,1036)': { 'tag': '(0074,1036)', 'vr': 'CS', 'vm': '1', 'name': 'DoubleExposureOrdering' },
+ '(0074,1038)': { 'tag': '(0074,1038)', 'vr': 'DS', 'vm': '1', 'name': 'DoubleExposureMetersetTrial' },
+ '(0074,103A)': { 'tag': '(0074,103A)', 'vr': 'DS', 'vm': '4', 'name': 'DoubleExposureFieldDeltaTrial' },
+ '(0074,1040)': { 'tag': '(0074,1040)', 'vr': 'SQ', 'vm': '1', 'name': 'RelatedReferenceRTImageSequence' },
+ '(0074,1042)': { 'tag': '(0074,1042)', 'vr': 'SQ', 'vm': '1', 'name': 'GeneralMachineVerificationSequence' },
+ '(0074,1044)': { 'tag': '(0074,1044)', 'vr': 'SQ', 'vm': '1', 'name': 'ConventionalMachineVerificationSequence' },
+ '(0074,1046)': { 'tag': '(0074,1046)', 'vr': 'SQ', 'vm': '1', 'name': 'IonMachineVerificationSequence' },
+ '(0074,1048)': { 'tag': '(0074,1048)', 'vr': 'SQ', 'vm': '1', 'name': 'FailedAttributesSequence' },
+ '(0074,104A)': { 'tag': '(0074,104A)', 'vr': 'SQ', 'vm': '1', 'name': 'OverriddenAttributesSequence' },
+ '(0074,104C)': { 'tag': '(0074,104C)', 'vr': 'SQ', 'vm': '1', 'name': 'ConventionalControlPointVerificationSequence' },
+ '(0074,104E)': { 'tag': '(0074,104E)', 'vr': 'SQ', 'vm': '1', 'name': 'IonControlPointVerificationSequence' },
+ '(0074,1050)': { 'tag': '(0074,1050)', 'vr': 'SQ', 'vm': '1', 'name': 'AttributeOccurrenceSequence' },
+ '(0074,1052)': { 'tag': '(0074,1052)', 'vr': 'AT', 'vm': '1', 'name': 'AttributeOccurrencePointer' },
+ '(0074,1054)': { 'tag': '(0074,1054)', 'vr': 'UL', 'vm': '1', 'name': 'AttributeItemSelector' },
+ '(0074,1056)': { 'tag': '(0074,1056)', 'vr': 'LO', 'vm': '1', 'name': 'AttributeOccurrencePrivateCreator' },
+ '(0074,1057)': { 'tag': '(0074,1057)', 'vr': 'IS', 'vm': '1-n', 'name': 'SelectorSequencePointerItems' },
+ '(0074,1200)': { 'tag': '(0074,1200)', 'vr': 'CS', 'vm': '1', 'name': 'ScheduledProcedureStepPriority' },
+ '(0074,1202)': { 'tag': '(0074,1202)', 'vr': 'LO', 'vm': '1', 'name': 'WorklistLabel' },
+ '(0074,1204)': { 'tag': '(0074,1204)', 'vr': 'LO', 'vm': '1', 'name': 'ProcedureStepLabel' },
+ '(0074,1210)': { 'tag': '(0074,1210)', 'vr': 'SQ', 'vm': '1', 'name': 'ScheduledProcessingParametersSequence' },
+ '(0074,1212)': { 'tag': '(0074,1212)', 'vr': 'SQ', 'vm': '1', 'name': 'PerformedProcessingParametersSequence' },
+ '(0074,1216)': { 'tag': '(0074,1216)', 'vr': 'SQ', 'vm': '1', 'name': 'UnifiedProcedureStepPerformedProcedureSequence' },
+ '(0074,1220)': { 'tag': '(0074,1220)', 'vr': 'SQ', 'vm': '1', 'name': 'RelatedProcedureStepSequence' },
+ '(0074,1222)': { 'tag': '(0074,1222)', 'vr': 'LO', 'vm': '1', 'name': 'ProcedureStepRelationshipType' },
+ '(0074,1224)': { 'tag': '(0074,1224)', 'vr': 'SQ', 'vm': '1', 'name': 'ReplacedProcedureStepSequence' },
+ '(0074,1230)': { 'tag': '(0074,1230)', 'vr': 'LO', 'vm': '1', 'name': 'DeletionLock' },
+ '(0074,1234)': { 'tag': '(0074,1234)', 'vr': 'AE', 'vm': '1', 'name': 'ReceivingAE' },
+ '(0074,1236)': { 'tag': '(0074,1236)', 'vr': 'AE', 'vm': '1', 'name': 'RequestingAE' },
+ '(0074,1238)': { 'tag': '(0074,1238)', 'vr': 'LT', 'vm': '1', 'name': 'ReasonForCancellation' },
+ '(0074,1242)': { 'tag': '(0074,1242)', 'vr': 'CS', 'vm': '1', 'name': 'SCPStatus' },
+ '(0074,1244)': { 'tag': '(0074,1244)', 'vr': 'CS', 'vm': '1', 'name': 'SubscriptionListStatus' },
+ '(0074,1246)': { 'tag': '(0074,1246)', 'vr': 'CS', 'vm': '1', 'name': 'UnifiedProcedureStepListStatus' },
+ '(0074,1324)': { 'tag': '(0074,1324)', 'vr': 'UL', 'vm': '1', 'name': 'BeamOrderIndex' },
+ '(0074,1338)': { 'tag': '(0074,1338)', 'vr': 'FD', 'vm': '1', 'name': 'DoubleExposureMeterset' },
+ '(0074,133A)': { 'tag': '(0074,133A)', 'vr': 'FD', 'vm': '4', 'name': 'DoubleExposureFieldDelta' },
+ '(0076,0001)': { 'tag': '(0076,0001)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantAssemblyTemplateName' },
+ '(0076,0003)': { 'tag': '(0076,0003)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantAssemblyTemplateIssuer' },
+ '(0076,0006)': { 'tag': '(0076,0006)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantAssemblyTemplateVersion' },
+ '(0076,0008)': { 'tag': '(0076,0008)', 'vr': 'SQ', 'vm': '1', 'name': 'ReplacedImplantAssemblyTemplateSequence' },
+ '(0076,000A)': { 'tag': '(0076,000A)', 'vr': 'CS', 'vm': '1', 'name': 'ImplantAssemblyTemplateType' },
+ '(0076,000C)': { 'tag': '(0076,000C)', 'vr': 'SQ', 'vm': '1', 'name': 'OriginalImplantAssemblyTemplateSequence' },
+ '(0076,000E)': { 'tag': '(0076,000E)', 'vr': 'SQ', 'vm': '1', 'name': 'DerivationImplantAssemblyTemplateSequence' },
+ '(0076,0010)': { 'tag': '(0076,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantAssemblyTemplateTargetAnatomySequence' },
+ '(0076,0020)': { 'tag': '(0076,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'ProcedureTypeCodeSequence' },
+ '(0076,0030)': { 'tag': '(0076,0030)', 'vr': 'LO', 'vm': '1', 'name': 'SurgicalTechnique' },
+ '(0076,0032)': { 'tag': '(0076,0032)', 'vr': 'SQ', 'vm': '1', 'name': 'ComponentTypesSequence' },
+ '(0076,0034)': { 'tag': '(0076,0034)', 'vr': 'CS', 'vm': '1', 'name': 'ComponentTypeCodeSequence' },
+ '(0076,0036)': { 'tag': '(0076,0036)', 'vr': 'CS', 'vm': '1', 'name': 'ExclusiveComponentType' },
+ '(0076,0038)': { 'tag': '(0076,0038)', 'vr': 'CS', 'vm': '1', 'name': 'MandatoryComponentType' },
+ '(0076,0040)': { 'tag': '(0076,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ComponentSequence' },
+ '(0076,0055)': { 'tag': '(0076,0055)', 'vr': 'US', 'vm': '1', 'name': 'ComponentID' },
+ '(0076,0060)': { 'tag': '(0076,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'ComponentAssemblySequence' },
+ '(0076,0070)': { 'tag': '(0076,0070)', 'vr': 'US', 'vm': '1', 'name': 'Component1ReferencedID' },
+ '(0076,0080)': { 'tag': '(0076,0080)', 'vr': 'US', 'vm': '1', 'name': 'Component1ReferencedMatingFeatureSetID' },
+ '(0076,0090)': { 'tag': '(0076,0090)', 'vr': 'US', 'vm': '1', 'name': 'Component1ReferencedMatingFeatureID' },
+ '(0076,00A0)': { 'tag': '(0076,00A0)', 'vr': 'US', 'vm': '1', 'name': 'Component2ReferencedID' },
+ '(0076,00B0)': { 'tag': '(0076,00B0)', 'vr': 'US', 'vm': '1', 'name': 'Component2ReferencedMatingFeatureSetID' },
+ '(0076,00C0)': { 'tag': '(0076,00C0)', 'vr': 'US', 'vm': '1', 'name': 'Component2ReferencedMatingFeatureID' },
+ '(0078,0001)': { 'tag': '(0078,0001)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantTemplateGroupName' },
+ '(0078,0010)': { 'tag': '(0078,0010)', 'vr': 'ST', 'vm': '1', 'name': 'ImplantTemplateGroupDescription' },
+ '(0078,0020)': { 'tag': '(0078,0020)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantTemplateGroupIssuer' },
+ '(0078,0024)': { 'tag': '(0078,0024)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantTemplateGroupVersion' },
+ '(0078,0026)': { 'tag': '(0078,0026)', 'vr': 'SQ', 'vm': '1', 'name': 'ReplacedImplantTemplateGroupSequence' },
+ '(0078,0028)': { 'tag': '(0078,0028)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTemplateGroupTargetAnatomySequence' },
+ '(0078,002A)': { 'tag': '(0078,002A)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTemplateGroupMembersSequence' },
+ '(0078,002E)': { 'tag': '(0078,002E)', 'vr': 'US', 'vm': '1', 'name': 'ImplantTemplateGroupMemberID' },
+ '(0078,0050)': { 'tag': '(0078,0050)', 'vr': 'FD', 'vm': '3', 'name': 'ThreeDImplantTemplateGroupMemberMatchingPoint' },
+ '(0078,0060)': { 'tag': '(0078,0060)', 'vr': 'FD', 'vm': '9', 'name': 'ThreeDImplantTemplateGroupMemberMatchingAxes' },
+ '(0078,0070)': { 'tag': '(0078,0070)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTemplateGroupMemberMatching2DCoordinatesSequence' },
+ '(0078,0090)': { 'tag': '(0078,0090)', 'vr': 'FD', 'vm': '2', 'name': 'TwoDImplantTemplateGroupMemberMatchingPoint' },
+ '(0078,00A0)': { 'tag': '(0078,00A0)', 'vr': 'FD', 'vm': '4', 'name': 'TwoDImplantTemplateGroupMemberMatchingAxes' },
+ '(0078,00B0)': { 'tag': '(0078,00B0)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTemplateGroupVariationDimensionSequence' },
+ '(0078,00B2)': { 'tag': '(0078,00B2)', 'vr': 'LO', 'vm': '1', 'name': 'ImplantTemplateGroupVariationDimensionName' },
+ '(0078,00B4)': { 'tag': '(0078,00B4)', 'vr': 'SQ', 'vm': '1', 'name': 'ImplantTemplateGroupVariationDimensionRankSequence' },
+ '(0078,00B6)': { 'tag': '(0078,00B6)', 'vr': 'US', 'vm': '1', 'name': 'ReferencedImplantTemplateGroupMemberID' },
+ '(0078,00B8)': { 'tag': '(0078,00B8)', 'vr': 'US', 'vm': '1', 'name': 'ImplantTemplateGroupVariationDimensionRank' },
+ '(0088,0130)': { 'tag': '(0088,0130)', 'vr': 'SH', 'vm': '1', 'name': 'StorageMediaFileSetID' },
+ '(0088,0140)': { 'tag': '(0088,0140)', 'vr': 'UI', 'vm': '1', 'name': 'StorageMediaFileSetUID' },
+ '(0088,0200)': { 'tag': '(0088,0200)', 'vr': 'SQ', 'vm': '1', 'name': 'IconImageSequence' },
+ '(0088,0904)': { 'tag': '(0088,0904)', 'vr': 'LO', 'vm': '1', 'name': 'TopicTitle' },
+ '(0088,0906)': { 'tag': '(0088,0906)', 'vr': 'ST', 'vm': '1', 'name': 'TopicSubject' },
+ '(0088,0910)': { 'tag': '(0088,0910)', 'vr': 'LO', 'vm': '1', 'name': 'TopicAuthor' },
+ '(0088,0912)': { 'tag': '(0088,0912)', 'vr': 'LO', 'vm': '1-32', 'name': 'TopicKeywords' },
+ '(0100,0410)': { 'tag': '(0100,0410)', 'vr': 'CS', 'vm': '1', 'name': 'SOPInstanceStatus' },
+ '(0100,0420)': { 'tag': '(0100,0420)', 'vr': 'DT', 'vm': '1', 'name': 'SOPAuthorizationDateTime' },
+ '(0100,0424)': { 'tag': '(0100,0424)', 'vr': 'LT', 'vm': '1', 'name': 'SOPAuthorizationComment' },
+ '(0100,0426)': { 'tag': '(0100,0426)', 'vr': 'LO', 'vm': '1', 'name': 'AuthorizationEquipmentCertificationNumber' },
+ '(0400,0005)': { 'tag': '(0400,0005)', 'vr': 'US', 'vm': '1', 'name': 'MACIDNumber' },
+ '(0400,0010)': { 'tag': '(0400,0010)', 'vr': 'UI', 'vm': '1', 'name': 'MACCalculationTransferSyntaxUID' },
+ '(0400,0015)': { 'tag': '(0400,0015)', 'vr': 'CS', 'vm': '1', 'name': 'MACAlgorithm' },
+ '(0400,0020)': { 'tag': '(0400,0020)', 'vr': 'AT', 'vm': '1-n', 'name': 'DataElementsSigned' },
+ '(0400,0100)': { 'tag': '(0400,0100)', 'vr': 'UI', 'vm': '1', 'name': 'DigitalSignatureUID' },
+ '(0400,0105)': { 'tag': '(0400,0105)', 'vr': 'DT', 'vm': '1', 'name': 'DigitalSignatureDateTime' },
+ '(0400,0110)': { 'tag': '(0400,0110)', 'vr': 'CS', 'vm': '1', 'name': 'CertificateType' },
+ '(0400,0115)': { 'tag': '(0400,0115)', 'vr': 'OB', 'vm': '1', 'name': 'CertificateOfSigner' },
+ '(0400,0120)': { 'tag': '(0400,0120)', 'vr': 'OB', 'vm': '1', 'name': 'Signature' },
+ '(0400,0305)': { 'tag': '(0400,0305)', 'vr': 'CS', 'vm': '1', 'name': 'CertifiedTimestampType' },
+ '(0400,0310)': { 'tag': '(0400,0310)', 'vr': 'OB', 'vm': '1', 'name': 'CertifiedTimestamp' },
+ '(0400,0401)': { 'tag': '(0400,0401)', 'vr': 'SQ', 'vm': '1', 'name': 'DigitalSignaturePurposeCodeSequence' },
+ '(0400,0402)': { 'tag': '(0400,0402)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedDigitalSignatureSequence' },
+ '(0400,0403)': { 'tag': '(0400,0403)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSOPInstanceMACSequence' },
+ '(0400,0404)': { 'tag': '(0400,0404)', 'vr': 'OB', 'vm': '1', 'name': 'MAC' },
+ '(0400,0500)': { 'tag': '(0400,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'EncryptedAttributesSequence' },
+ '(0400,0510)': { 'tag': '(0400,0510)', 'vr': 'UI', 'vm': '1', 'name': 'EncryptedContentTransferSyntaxUID' },
+ '(0400,0520)': { 'tag': '(0400,0520)', 'vr': 'OB', 'vm': '1', 'name': 'EncryptedContent' },
+ '(0400,0550)': { 'tag': '(0400,0550)', 'vr': 'SQ', 'vm': '1', 'name': 'ModifiedAttributesSequence' },
+ '(0400,0561)': { 'tag': '(0400,0561)', 'vr': 'SQ', 'vm': '1', 'name': 'OriginalAttributesSequence' },
+ '(0400,0562)': { 'tag': '(0400,0562)', 'vr': 'DT', 'vm': '1', 'name': 'AttributeModificationDateTime' },
+ '(0400,0563)': { 'tag': '(0400,0563)', 'vr': 'LO', 'vm': '1', 'name': 'ModifyingSystem' },
+ '(0400,0564)': { 'tag': '(0400,0564)', 'vr': 'LO', 'vm': '1', 'name': 'SourceOfPreviousValues' },
+ '(0400,0565)': { 'tag': '(0400,0565)', 'vr': 'CS', 'vm': '1', 'name': 'ReasonForTheAttributeModification' },
+ '(1000,xxx0)': { 'tag': '(1000,xxx0)', 'vr': 'US', 'vm': '3', 'name': 'EscapeTriplet' },
+ '(1000,xxx1)': { 'tag': '(1000,xxx1)', 'vr': 'US', 'vm': '3', 'name': 'RunLengthTriplet' },
+ '(1000,xxx2)': { 'tag': '(1000,xxx2)', 'vr': 'US', 'vm': '1', 'name': 'HuffmanTableSize' },
+ '(1000,xxx3)': { 'tag': '(1000,xxx3)', 'vr': 'US', 'vm': '3', 'name': 'HuffmanTableTriplet' },
+ '(1000,xxx4)': { 'tag': '(1000,xxx4)', 'vr': 'US', 'vm': '1', 'name': 'ShiftTableSize' },
+ '(1000,xxx5)': { 'tag': '(1000,xxx5)', 'vr': 'US', 'vm': '3', 'name': 'ShiftTableTriplet' },
+ '(1010,xxxx)': { 'tag': '(1010,xxxx)', 'vr': 'US', 'vm': '1-n', 'name': 'ZonalMap' },
+ '(2000,0010)': { 'tag': '(2000,0010)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfCopies' },
+ '(2000,001E)': { 'tag': '(2000,001E)', 'vr': 'SQ', 'vm': '1', 'name': 'PrinterConfigurationSequence' },
+ '(2000,0020)': { 'tag': '(2000,0020)', 'vr': 'CS', 'vm': '1', 'name': 'PrintPriority' },
+ '(2000,0030)': { 'tag': '(2000,0030)', 'vr': 'CS', 'vm': '1', 'name': 'MediumType' },
+ '(2000,0040)': { 'tag': '(2000,0040)', 'vr': 'CS', 'vm': '1', 'name': 'FilmDestination' },
+ '(2000,0050)': { 'tag': '(2000,0050)', 'vr': 'LO', 'vm': '1', 'name': 'FilmSessionLabel' },
+ '(2000,0060)': { 'tag': '(2000,0060)', 'vr': 'IS', 'vm': '1', 'name': 'MemoryAllocation' },
+ '(2000,0061)': { 'tag': '(2000,0061)', 'vr': 'IS', 'vm': '1', 'name': 'MaximumMemoryAllocation' },
+ '(2000,0062)': { 'tag': '(2000,0062)', 'vr': 'CS', 'vm': '1', 'name': 'ColorImagePrintingFlag' },
+ '(2000,0063)': { 'tag': '(2000,0063)', 'vr': 'CS', 'vm': '1', 'name': 'CollationFlag' },
+ '(2000,0065)': { 'tag': '(2000,0065)', 'vr': 'CS', 'vm': '1', 'name': 'AnnotationFlag' },
+ '(2000,0067)': { 'tag': '(2000,0067)', 'vr': 'CS', 'vm': '1', 'name': 'ImageOverlayFlag' },
+ '(2000,0069)': { 'tag': '(2000,0069)', 'vr': 'CS', 'vm': '1', 'name': 'PresentationLUTFlag' },
+ '(2000,006A)': { 'tag': '(2000,006A)', 'vr': 'CS', 'vm': '1', 'name': 'ImageBoxPresentationLUTFlag' },
+ '(2000,00A0)': { 'tag': '(2000,00A0)', 'vr': 'US', 'vm': '1', 'name': 'MemoryBitDepth' },
+ '(2000,00A1)': { 'tag': '(2000,00A1)', 'vr': 'US', 'vm': '1', 'name': 'PrintingBitDepth' },
+ '(2000,00A2)': { 'tag': '(2000,00A2)', 'vr': 'SQ', 'vm': '1', 'name': 'MediaInstalledSequence' },
+ '(2000,00A4)': { 'tag': '(2000,00A4)', 'vr': 'SQ', 'vm': '1', 'name': 'OtherMediaAvailableSequence' },
+ '(2000,00A8)': { 'tag': '(2000,00A8)', 'vr': 'SQ', 'vm': '1', 'name': 'SupportedImageDisplayFormatsSequence' },
+ '(2000,0500)': { 'tag': '(2000,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedFilmBoxSequence' },
+ '(2000,0510)': { 'tag': '(2000,0510)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedStoredPrintSequence' },
+ '(2010,0010)': { 'tag': '(2010,0010)', 'vr': 'ST', 'vm': '1', 'name': 'ImageDisplayFormat' },
+ '(2010,0030)': { 'tag': '(2010,0030)', 'vr': 'CS', 'vm': '1', 'name': 'AnnotationDisplayFormatID' },
+ '(2010,0040)': { 'tag': '(2010,0040)', 'vr': 'CS', 'vm': '1', 'name': 'FilmOrientation' },
+ '(2010,0050)': { 'tag': '(2010,0050)', 'vr': 'CS', 'vm': '1', 'name': 'FilmSizeID' },
+ '(2010,0052)': { 'tag': '(2010,0052)', 'vr': 'CS', 'vm': '1', 'name': 'PrinterResolutionID' },
+ '(2010,0054)': { 'tag': '(2010,0054)', 'vr': 'CS', 'vm': '1', 'name': 'DefaultPrinterResolutionID' },
+ '(2010,0060)': { 'tag': '(2010,0060)', 'vr': 'CS', 'vm': '1', 'name': 'MagnificationType' },
+ '(2010,0080)': { 'tag': '(2010,0080)', 'vr': 'CS', 'vm': '1', 'name': 'SmoothingType' },
+ '(2010,00A6)': { 'tag': '(2010,00A6)', 'vr': 'CS', 'vm': '1', 'name': 'DefaultMagnificationType' },
+ '(2010,00A7)': { 'tag': '(2010,00A7)', 'vr': 'CS', 'vm': '1-n', 'name': 'OtherMagnificationTypesAvailable' },
+ '(2010,00A8)': { 'tag': '(2010,00A8)', 'vr': 'CS', 'vm': '1', 'name': 'DefaultSmoothingType' },
+ '(2010,00A9)': { 'tag': '(2010,00A9)', 'vr': 'CS', 'vm': '1-n', 'name': 'OtherSmoothingTypesAvailable' },
+ '(2010,0100)': { 'tag': '(2010,0100)', 'vr': 'CS', 'vm': '1', 'name': 'BorderDensity' },
+ '(2010,0110)': { 'tag': '(2010,0110)', 'vr': 'CS', 'vm': '1', 'name': 'EmptyImageDensity' },
+ '(2010,0120)': { 'tag': '(2010,0120)', 'vr': 'US', 'vm': '1', 'name': 'MinDensity' },
+ '(2010,0130)': { 'tag': '(2010,0130)', 'vr': 'US', 'vm': '1', 'name': 'MaxDensity' },
+ '(2010,0140)': { 'tag': '(2010,0140)', 'vr': 'CS', 'vm': '1', 'name': 'Trim' },
+ '(2010,0150)': { 'tag': '(2010,0150)', 'vr': 'ST', 'vm': '1', 'name': 'ConfigurationInformation' },
+ '(2010,0152)': { 'tag': '(2010,0152)', 'vr': 'LT', 'vm': '1', 'name': 'ConfigurationInformationDescription' },
+ '(2010,0154)': { 'tag': '(2010,0154)', 'vr': 'IS', 'vm': '1', 'name': 'MaximumCollatedFilms' },
+ '(2010,015E)': { 'tag': '(2010,015E)', 'vr': 'US', 'vm': '1', 'name': 'Illumination' },
+ '(2010,0160)': { 'tag': '(2010,0160)', 'vr': 'US', 'vm': '1', 'name': 'ReflectedAmbientLight' },
+ '(2010,0376)': { 'tag': '(2010,0376)', 'vr': 'DS', 'vm': '2', 'name': 'PrinterPixelSpacing' },
+ '(2010,0500)': { 'tag': '(2010,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedFilmSessionSequence' },
+ '(2010,0510)': { 'tag': '(2010,0510)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageBoxSequence' },
+ '(2010,0520)': { 'tag': '(2010,0520)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedBasicAnnotationBoxSequence' },
+ '(2020,0010)': { 'tag': '(2020,0010)', 'vr': 'US', 'vm': '1', 'name': 'ImageBoxPosition' },
+ '(2020,0020)': { 'tag': '(2020,0020)', 'vr': 'CS', 'vm': '1', 'name': 'Polarity' },
+ '(2020,0030)': { 'tag': '(2020,0030)', 'vr': 'DS', 'vm': '1', 'name': 'RequestedImageSize' },
+ '(2020,0040)': { 'tag': '(2020,0040)', 'vr': 'CS', 'vm': '1', 'name': 'RequestedDecimateCropBehavior' },
+ '(2020,0050)': { 'tag': '(2020,0050)', 'vr': 'CS', 'vm': '1', 'name': 'RequestedResolutionID' },
+ '(2020,00A0)': { 'tag': '(2020,00A0)', 'vr': 'CS', 'vm': '1', 'name': 'RequestedImageSizeFlag' },
+ '(2020,00A2)': { 'tag': '(2020,00A2)', 'vr': 'CS', 'vm': '1', 'name': 'DecimateCropResult' },
+ '(2020,0110)': { 'tag': '(2020,0110)', 'vr': 'SQ', 'vm': '1', 'name': 'BasicGrayscaleImageSequence' },
+ '(2020,0111)': { 'tag': '(2020,0111)', 'vr': 'SQ', 'vm': '1', 'name': 'BasicColorImageSequence' },
+ '(2020,0130)': { 'tag': '(2020,0130)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageOverlayBoxSequence' },
+ '(2020,0140)': { 'tag': '(2020,0140)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedVOILUTBoxSequence' },
+ '(2030,0010)': { 'tag': '(2030,0010)', 'vr': 'US', 'vm': '1', 'name': 'AnnotationPosition' },
+ '(2030,0020)': { 'tag': '(2030,0020)', 'vr': 'LO', 'vm': '1', 'name': 'TextString' },
+ '(2040,0010)': { 'tag': '(2040,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedOverlayPlaneSequence' },
+ '(2040,0011)': { 'tag': '(2040,0011)', 'vr': 'US', 'vm': '1-99', 'name': 'ReferencedOverlayPlaneGroups' },
+ '(2040,0020)': { 'tag': '(2040,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'OverlayPixelDataSequence' },
+ '(2040,0060)': { 'tag': '(2040,0060)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayMagnificationType' },
+ '(2040,0070)': { 'tag': '(2040,0070)', 'vr': 'CS', 'vm': '1', 'name': 'OverlaySmoothingType' },
+ '(2040,0072)': { 'tag': '(2040,0072)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayOrImageMagnification' },
+ '(2040,0074)': { 'tag': '(2040,0074)', 'vr': 'US', 'vm': '1', 'name': 'MagnifyToNumberOfColumns' },
+ '(2040,0080)': { 'tag': '(2040,0080)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayForegroundDensity' },
+ '(2040,0082)': { 'tag': '(2040,0082)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayBackgroundDensity' },
+ '(2040,0090)': { 'tag': '(2040,0090)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayMode' },
+ '(2040,0100)': { 'tag': '(2040,0100)', 'vr': 'CS', 'vm': '1', 'name': 'ThresholdDensity' },
+ '(2040,0500)': { 'tag': '(2040,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedImageBoxSequenceRetired' },
+ '(2050,0010)': { 'tag': '(2050,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'PresentationLUTSequence' },
+ '(2050,0020)': { 'tag': '(2050,0020)', 'vr': 'CS', 'vm': '1', 'name': 'PresentationLUTShape' },
+ '(2050,0500)': { 'tag': '(2050,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPresentationLUTSequence' },
+ '(2100,0010)': { 'tag': '(2100,0010)', 'vr': 'SH', 'vm': '1', 'name': 'PrintJobID' },
+ '(2100,0020)': { 'tag': '(2100,0020)', 'vr': 'CS', 'vm': '1', 'name': 'ExecutionStatus' },
+ '(2100,0030)': { 'tag': '(2100,0030)', 'vr': 'CS', 'vm': '1', 'name': 'ExecutionStatusInfo' },
+ '(2100,0040)': { 'tag': '(2100,0040)', 'vr': 'DA', 'vm': '1', 'name': 'CreationDate' },
+ '(2100,0050)': { 'tag': '(2100,0050)', 'vr': 'TM', 'vm': '1', 'name': 'CreationTime' },
+ '(2100,0070)': { 'tag': '(2100,0070)', 'vr': 'AE', 'vm': '1', 'name': 'Originator' },
+ '(2100,0140)': { 'tag': '(2100,0140)', 'vr': 'AE', 'vm': '1', 'name': 'DestinationAE' },
+ '(2100,0160)': { 'tag': '(2100,0160)', 'vr': 'SH', 'vm': '1', 'name': 'OwnerID' },
+ '(2100,0170)': { 'tag': '(2100,0170)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFilms' },
+ '(2100,0500)': { 'tag': '(2100,0500)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPrintJobSequencePullStoredPrint' },
+ '(2110,0010)': { 'tag': '(2110,0010)', 'vr': 'CS', 'vm': '1', 'name': 'PrinterStatus' },
+ '(2110,0020)': { 'tag': '(2110,0020)', 'vr': 'CS', 'vm': '1', 'name': 'PrinterStatusInfo' },
+ '(2110,0030)': { 'tag': '(2110,0030)', 'vr': 'LO', 'vm': '1', 'name': 'PrinterName' },
+ '(2110,0099)': { 'tag': '(2110,0099)', 'vr': 'SH', 'vm': '1', 'name': 'PrintQueueID' },
+ '(2120,0010)': { 'tag': '(2120,0010)', 'vr': 'CS', 'vm': '1', 'name': 'QueueStatus' },
+ '(2120,0050)': { 'tag': '(2120,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'PrintJobDescriptionSequence' },
+ '(2120,0070)': { 'tag': '(2120,0070)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedPrintJobSequence' },
+ '(2130,0010)': { 'tag': '(2130,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'PrintManagementCapabilitiesSequence' },
+ '(2130,0015)': { 'tag': '(2130,0015)', 'vr': 'SQ', 'vm': '1', 'name': 'PrinterCharacteristicsSequence' },
+ '(2130,0030)': { 'tag': '(2130,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'FilmBoxContentSequence' },
+ '(2130,0040)': { 'tag': '(2130,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageBoxContentSequence' },
+ '(2130,0050)': { 'tag': '(2130,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'AnnotationContentSequence' },
+ '(2130,0060)': { 'tag': '(2130,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'ImageOverlayBoxContentSequence' },
+ '(2130,0080)': { 'tag': '(2130,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'PresentationLUTContentSequence' },
+ '(2130,00A0)': { 'tag': '(2130,00A0)', 'vr': 'SQ', 'vm': '1', 'name': 'ProposedStudySequence' },
+ '(2130,00C0)': { 'tag': '(2130,00C0)', 'vr': 'SQ', 'vm': '1', 'name': 'OriginalImageSequence' },
+ '(2200,0001)': { 'tag': '(2200,0001)', 'vr': 'CS', 'vm': '1', 'name': 'LabelUsingInformationExtractedFromInstances' },
+ '(2200,0002)': { 'tag': '(2200,0002)', 'vr': 'UT', 'vm': '1', 'name': 'LabelText' },
+ '(2200,0003)': { 'tag': '(2200,0003)', 'vr': 'CS', 'vm': '1', 'name': 'LabelStyleSelection' },
+ '(2200,0004)': { 'tag': '(2200,0004)', 'vr': 'LT', 'vm': '1', 'name': 'MediaDisposition' },
+ '(2200,0005)': { 'tag': '(2200,0005)', 'vr': 'LT', 'vm': '1', 'name': 'BarcodeValue' },
+ '(2200,0006)': { 'tag': '(2200,0006)', 'vr': 'CS', 'vm': '1', 'name': 'BarcodeSymbology' },
+ '(2200,0007)': { 'tag': '(2200,0007)', 'vr': 'CS', 'vm': '1', 'name': 'AllowMediaSplitting' },
+ '(2200,0008)': { 'tag': '(2200,0008)', 'vr': 'CS', 'vm': '1', 'name': 'IncludeNonDICOMObjects' },
+ '(2200,0009)': { 'tag': '(2200,0009)', 'vr': 'CS', 'vm': '1', 'name': 'IncludeDisplayApplication' },
+ '(2200,000A)': { 'tag': '(2200,000A)', 'vr': 'CS', 'vm': '1', 'name': 'PreserveCompositeInstancesAfterMediaCreation' },
+ '(2200,000B)': { 'tag': '(2200,000B)', 'vr': 'US', 'vm': '1', 'name': 'TotalNumberOfPiecesOfMediaCreated' },
+ '(2200,000C)': { 'tag': '(2200,000C)', 'vr': 'LO', 'vm': '1', 'name': 'RequestedMediaApplicationProfile' },
+ '(2200,000D)': { 'tag': '(2200,000D)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedStorageMediaSequence' },
+ '(2200,000E)': { 'tag': '(2200,000E)', 'vr': 'AT', 'vm': '1-n', 'name': 'FailureAttributes' },
+ '(2200,000F)': { 'tag': '(2200,000F)', 'vr': 'CS', 'vm': '1', 'name': 'AllowLossyCompression' },
+ '(2200,0020)': { 'tag': '(2200,0020)', 'vr': 'CS', 'vm': '1', 'name': 'RequestPriority' },
+ '(3002,0002)': { 'tag': '(3002,0002)', 'vr': 'SH', 'vm': '1', 'name': 'RTImageLabel' },
+ '(3002,0003)': { 'tag': '(3002,0003)', 'vr': 'LO', 'vm': '1', 'name': 'RTImageName' },
+ '(3002,0004)': { 'tag': '(3002,0004)', 'vr': 'ST', 'vm': '1', 'name': 'RTImageDescription' },
+ '(3002,000A)': { 'tag': '(3002,000A)', 'vr': 'CS', 'vm': '1', 'name': 'ReportedValuesOrigin' },
+ '(3002,000C)': { 'tag': '(3002,000C)', 'vr': 'CS', 'vm': '1', 'name': 'RTImagePlane' },
+ '(3002,000D)': { 'tag': '(3002,000D)', 'vr': 'DS', 'vm': '3', 'name': 'XRayImageReceptorTranslation' },
+ '(3002,000E)': { 'tag': '(3002,000E)', 'vr': 'DS', 'vm': '1', 'name': 'XRayImageReceptorAngle' },
+ '(3002,0010)': { 'tag': '(3002,0010)', 'vr': 'DS', 'vm': '6', 'name': 'RTImageOrientation' },
+ '(3002,0011)': { 'tag': '(3002,0011)', 'vr': 'DS', 'vm': '2', 'name': 'ImagePlanePixelSpacing' },
+ '(3002,0012)': { 'tag': '(3002,0012)', 'vr': 'DS', 'vm': '2', 'name': 'RTImagePosition' },
+ '(3002,0020)': { 'tag': '(3002,0020)', 'vr': 'SH', 'vm': '1', 'name': 'RadiationMachineName' },
+ '(3002,0022)': { 'tag': '(3002,0022)', 'vr': 'DS', 'vm': '1', 'name': 'RadiationMachineSAD' },
+ '(3002,0024)': { 'tag': '(3002,0024)', 'vr': 'DS', 'vm': '1', 'name': 'RadiationMachineSSD' },
+ '(3002,0026)': { 'tag': '(3002,0026)', 'vr': 'DS', 'vm': '1', 'name': 'RTImageSID' },
+ '(3002,0028)': { 'tag': '(3002,0028)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToReferenceObjectDistance' },
+ '(3002,0029)': { 'tag': '(3002,0029)', 'vr': 'IS', 'vm': '1', 'name': 'FractionNumber' },
+ '(3002,0030)': { 'tag': '(3002,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'ExposureSequence' },
+ '(3002,0032)': { 'tag': '(3002,0032)', 'vr': 'DS', 'vm': '1', 'name': 'MetersetExposure' },
+ '(3002,0034)': { 'tag': '(3002,0034)', 'vr': 'DS', 'vm': '4', 'name': 'DiaphragmPosition' },
+ '(3002,0040)': { 'tag': '(3002,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'FluenceMapSequence' },
+ '(3002,0041)': { 'tag': '(3002,0041)', 'vr': 'CS', 'vm': '1', 'name': 'FluenceDataSource' },
+ '(3002,0042)': { 'tag': '(3002,0042)', 'vr': 'DS', 'vm': '1', 'name': 'FluenceDataScale' },
+ '(3002,0050)': { 'tag': '(3002,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'PrimaryFluenceModeSequence' },
+ '(3002,0051)': { 'tag': '(3002,0051)', 'vr': 'CS', 'vm': '1', 'name': 'FluenceMode' },
+ '(3002,0052)': { 'tag': '(3002,0052)', 'vr': 'SH', 'vm': '1', 'name': 'FluenceModeID' },
+ '(3004,0001)': { 'tag': '(3004,0001)', 'vr': 'CS', 'vm': '1', 'name': 'DVHType' },
+ '(3004,0002)': { 'tag': '(3004,0002)', 'vr': 'CS', 'vm': '1', 'name': 'DoseUnits' },
+ '(3004,0004)': { 'tag': '(3004,0004)', 'vr': 'CS', 'vm': '1', 'name': 'DoseType' },
+ '(3004,0006)': { 'tag': '(3004,0006)', 'vr': 'LO', 'vm': '1', 'name': 'DoseComment' },
+ '(3004,0008)': { 'tag': '(3004,0008)', 'vr': 'DS', 'vm': '3', 'name': 'NormalizationPoint' },
+ '(3004,000A)': { 'tag': '(3004,000A)', 'vr': 'CS', 'vm': '1', 'name': 'DoseSummationType' },
+ '(3004,000C)': { 'tag': '(3004,000C)', 'vr': 'DS', 'vm': '2-n', 'name': 'GridFrameOffsetVector' },
+ '(3004,000E)': { 'tag': '(3004,000E)', 'vr': 'DS', 'vm': '1', 'name': 'DoseGridScaling' },
+ '(3004,0010)': { 'tag': '(3004,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'RTDoseROISequence' },
+ '(3004,0012)': { 'tag': '(3004,0012)', 'vr': 'DS', 'vm': '1', 'name': 'DoseValue' },
+ '(3004,0014)': { 'tag': '(3004,0014)', 'vr': 'CS', 'vm': '1-3', 'name': 'TissueHeterogeneityCorrection' },
+ '(3004,0040)': { 'tag': '(3004,0040)', 'vr': 'DS', 'vm': '3', 'name': 'DVHNormalizationPoint' },
+ '(3004,0042)': { 'tag': '(3004,0042)', 'vr': 'DS', 'vm': '1', 'name': 'DVHNormalizationDoseValue' },
+ '(3004,0050)': { 'tag': '(3004,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'DVHSequence' },
+ '(3004,0052)': { 'tag': '(3004,0052)', 'vr': 'DS', 'vm': '1', 'name': 'DVHDoseScaling' },
+ '(3004,0054)': { 'tag': '(3004,0054)', 'vr': 'CS', 'vm': '1', 'name': 'DVHVolumeUnits' },
+ '(3004,0056)': { 'tag': '(3004,0056)', 'vr': 'IS', 'vm': '1', 'name': 'DVHNumberOfBins' },
+ '(3004,0058)': { 'tag': '(3004,0058)', 'vr': 'DS', 'vm': '2-2n', 'name': 'DVHData' },
+ '(3004,0060)': { 'tag': '(3004,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'DVHReferencedROISequence' },
+ '(3004,0062)': { 'tag': '(3004,0062)', 'vr': 'CS', 'vm': '1', 'name': 'DVHROIContributionType' },
+ '(3004,0070)': { 'tag': '(3004,0070)', 'vr': 'DS', 'vm': '1', 'name': 'DVHMinimumDose' },
+ '(3004,0072)': { 'tag': '(3004,0072)', 'vr': 'DS', 'vm': '1', 'name': 'DVHMaximumDose' },
+ '(3004,0074)': { 'tag': '(3004,0074)', 'vr': 'DS', 'vm': '1', 'name': 'DVHMeanDose' },
+ '(3006,0002)': { 'tag': '(3006,0002)', 'vr': 'SH', 'vm': '1', 'name': 'StructureSetLabel' },
+ '(3006,0004)': { 'tag': '(3006,0004)', 'vr': 'LO', 'vm': '1', 'name': 'StructureSetName' },
+ '(3006,0006)': { 'tag': '(3006,0006)', 'vr': 'ST', 'vm': '1', 'name': 'StructureSetDescription' },
+ '(3006,0008)': { 'tag': '(3006,0008)', 'vr': 'DA', 'vm': '1', 'name': 'StructureSetDate' },
+ '(3006,0009)': { 'tag': '(3006,0009)', 'vr': 'TM', 'vm': '1', 'name': 'StructureSetTime' },
+ '(3006,0010)': { 'tag': '(3006,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedFrameOfReferenceSequence' },
+ '(3006,0012)': { 'tag': '(3006,0012)', 'vr': 'SQ', 'vm': '1', 'name': 'RTReferencedStudySequence' },
+ '(3006,0014)': { 'tag': '(3006,0014)', 'vr': 'SQ', 'vm': '1', 'name': 'RTReferencedSeriesSequence' },
+ '(3006,0016)': { 'tag': '(3006,0016)', 'vr': 'SQ', 'vm': '1', 'name': 'ContourImageSequence' },
+ '(3006,0020)': { 'tag': '(3006,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'StructureSetROISequence' },
+ '(3006,0022)': { 'tag': '(3006,0022)', 'vr': 'IS', 'vm': '1', 'name': 'ROINumber' },
+ '(3006,0024)': { 'tag': '(3006,0024)', 'vr': 'UI', 'vm': '1', 'name': 'ReferencedFrameOfReferenceUID' },
+ '(3006,0026)': { 'tag': '(3006,0026)', 'vr': 'LO', 'vm': '1', 'name': 'ROIName' },
+ '(3006,0028)': { 'tag': '(3006,0028)', 'vr': 'ST', 'vm': '1', 'name': 'ROIDescription' },
+ '(3006,002A)': { 'tag': '(3006,002A)', 'vr': 'IS', 'vm': '3', 'name': 'ROIDisplayColor' },
+ '(3006,002C)': { 'tag': '(3006,002C)', 'vr': 'DS', 'vm': '1', 'name': 'ROIVolume' },
+ '(3006,0030)': { 'tag': '(3006,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'RTRelatedROISequence' },
+ '(3006,0033)': { 'tag': '(3006,0033)', 'vr': 'CS', 'vm': '1', 'name': 'RTROIRelationship' },
+ '(3006,0036)': { 'tag': '(3006,0036)', 'vr': 'CS', 'vm': '1', 'name': 'ROIGenerationAlgorithm' },
+ '(3006,0038)': { 'tag': '(3006,0038)', 'vr': 'LO', 'vm': '1', 'name': 'ROIGenerationDescription' },
+ '(3006,0039)': { 'tag': '(3006,0039)', 'vr': 'SQ', 'vm': '1', 'name': 'ROIContourSequence' },
+ '(3006,0040)': { 'tag': '(3006,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ContourSequence' },
+ '(3006,0042)': { 'tag': '(3006,0042)', 'vr': 'CS', 'vm': '1', 'name': 'ContourGeometricType' },
+ '(3006,0044)': { 'tag': '(3006,0044)', 'vr': 'DS', 'vm': '1', 'name': 'ContourSlabThickness' },
+ '(3006,0045)': { 'tag': '(3006,0045)', 'vr': 'DS', 'vm': '3', 'name': 'ContourOffsetVector' },
+ '(3006,0046)': { 'tag': '(3006,0046)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfContourPoints' },
+ '(3006,0048)': { 'tag': '(3006,0048)', 'vr': 'IS', 'vm': '1', 'name': 'ContourNumber' },
+ '(3006,0049)': { 'tag': '(3006,0049)', 'vr': 'IS', 'vm': '1-n', 'name': 'AttachedContours' },
+ '(3006,0050)': { 'tag': '(3006,0050)', 'vr': 'DS', 'vm': '3-3n', 'name': 'ContourData' },
+ '(3006,0080)': { 'tag': '(3006,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'RTROIObservationsSequence' },
+ '(3006,0082)': { 'tag': '(3006,0082)', 'vr': 'IS', 'vm': '1', 'name': 'ObservationNumber' },
+ '(3006,0084)': { 'tag': '(3006,0084)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedROINumber' },
+ '(3006,0085)': { 'tag': '(3006,0085)', 'vr': 'SH', 'vm': '1', 'name': 'ROIObservationLabel' },
+ '(3006,0086)': { 'tag': '(3006,0086)', 'vr': 'SQ', 'vm': '1', 'name': 'RTROIIdentificationCodeSequence' },
+ '(3006,0088)': { 'tag': '(3006,0088)', 'vr': 'ST', 'vm': '1', 'name': 'ROIObservationDescription' },
+ '(3006,00A0)': { 'tag': '(3006,00A0)', 'vr': 'SQ', 'vm': '1', 'name': 'RelatedRTROIObservationsSequence' },
+ '(3006,00A4)': { 'tag': '(3006,00A4)', 'vr': 'CS', 'vm': '1', 'name': 'RTROIInterpretedType' },
+ '(3006,00A6)': { 'tag': '(3006,00A6)', 'vr': 'PN', 'vm': '1', 'name': 'ROIInterpreter' },
+ '(3006,00B0)': { 'tag': '(3006,00B0)', 'vr': 'SQ', 'vm': '1', 'name': 'ROIPhysicalPropertiesSequence' },
+ '(3006,00B2)': { 'tag': '(3006,00B2)', 'vr': 'CS', 'vm': '1', 'name': 'ROIPhysicalProperty' },
+ '(3006,00B4)': { 'tag': '(3006,00B4)', 'vr': 'DS', 'vm': '1', 'name': 'ROIPhysicalPropertyValue' },
+ '(3006,00B6)': { 'tag': '(3006,00B6)', 'vr': 'SQ', 'vm': '1', 'name': 'ROIElementalCompositionSequence' },
+ '(3006,00B7)': { 'tag': '(3006,00B7)', 'vr': 'US', 'vm': '1', 'name': 'ROIElementalCompositionAtomicNumber' },
+ '(3006,00B8)': { 'tag': '(3006,00B8)', 'vr': 'FL', 'vm': '1', 'name': 'ROIElementalCompositionAtomicMassFraction' },
+ '(3006,00C0)': { 'tag': '(3006,00C0)', 'vr': 'SQ', 'vm': '1', 'name': 'FrameOfReferenceRelationshipSequence' },
+ '(3006,00C2)': { 'tag': '(3006,00C2)', 'vr': 'UI', 'vm': '1', 'name': 'RelatedFrameOfReferenceUID' },
+ '(3006,00C4)': { 'tag': '(3006,00C4)', 'vr': 'CS', 'vm': '1', 'name': 'FrameOfReferenceTransformationType' },
+ '(3006,00C6)': { 'tag': '(3006,00C6)', 'vr': 'DS', 'vm': '16', 'name': 'FrameOfReferenceTransformationMatrix' },
+ '(3006,00C8)': { 'tag': '(3006,00C8)', 'vr': 'LO', 'vm': '1', 'name': 'FrameOfReferenceTransformationComment' },
+ '(3008,0010)': { 'tag': '(3008,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'MeasuredDoseReferenceSequence' },
+ '(3008,0012)': { 'tag': '(3008,0012)', 'vr': 'ST', 'vm': '1', 'name': 'MeasuredDoseDescription' },
+ '(3008,0014)': { 'tag': '(3008,0014)', 'vr': 'CS', 'vm': '1', 'name': 'MeasuredDoseType' },
+ '(3008,0016)': { 'tag': '(3008,0016)', 'vr': 'DS', 'vm': '1', 'name': 'MeasuredDoseValue' },
+ '(3008,0020)': { 'tag': '(3008,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentSessionBeamSequence' },
+ '(3008,0021)': { 'tag': '(3008,0021)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentSessionIonBeamSequence' },
+ '(3008,0022)': { 'tag': '(3008,0022)', 'vr': 'IS', 'vm': '1', 'name': 'CurrentFractionNumber' },
+ '(3008,0024)': { 'tag': '(3008,0024)', 'vr': 'DA', 'vm': '1', 'name': 'TreatmentControlPointDate' },
+ '(3008,0025)': { 'tag': '(3008,0025)', 'vr': 'TM', 'vm': '1', 'name': 'TreatmentControlPointTime' },
+ '(3008,002A)': { 'tag': '(3008,002A)', 'vr': 'CS', 'vm': '1', 'name': 'TreatmentTerminationStatus' },
+ '(3008,002B)': { 'tag': '(3008,002B)', 'vr': 'SH', 'vm': '1', 'name': 'TreatmentTerminationCode' },
+ '(3008,002C)': { 'tag': '(3008,002C)', 'vr': 'CS', 'vm': '1', 'name': 'TreatmentVerificationStatus' },
+ '(3008,0030)': { 'tag': '(3008,0030)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedTreatmentRecordSequence' },
+ '(3008,0032)': { 'tag': '(3008,0032)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedPrimaryMeterset' },
+ '(3008,0033)': { 'tag': '(3008,0033)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedSecondaryMeterset' },
+ '(3008,0036)': { 'tag': '(3008,0036)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredPrimaryMeterset' },
+ '(3008,0037)': { 'tag': '(3008,0037)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredSecondaryMeterset' },
+ '(3008,003A)': { 'tag': '(3008,003A)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedTreatmentTime' },
+ '(3008,003B)': { 'tag': '(3008,003B)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredTreatmentTime' },
+ '(3008,0040)': { 'tag': '(3008,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ControlPointDeliverySequence' },
+ '(3008,0041)': { 'tag': '(3008,0041)', 'vr': 'SQ', 'vm': '1', 'name': 'IonControlPointDeliverySequence' },
+ '(3008,0042)': { 'tag': '(3008,0042)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedMeterset' },
+ '(3008,0044)': { 'tag': '(3008,0044)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredMeterset' },
+ '(3008,0045)': { 'tag': '(3008,0045)', 'vr': 'FL', 'vm': '1', 'name': 'MetersetRateSet' },
+ '(3008,0046)': { 'tag': '(3008,0046)', 'vr': 'FL', 'vm': '1', 'name': 'MetersetRateDelivered' },
+ '(3008,0047)': { 'tag': '(3008,0047)', 'vr': 'FL', 'vm': '1-n', 'name': 'ScanSpotMetersetsDelivered' },
+ '(3008,0048)': { 'tag': '(3008,0048)', 'vr': 'DS', 'vm': '1', 'name': 'DoseRateDelivered' },
+ '(3008,0050)': { 'tag': '(3008,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentSummaryCalculatedDoseReferenceSequence' },
+ '(3008,0052)': { 'tag': '(3008,0052)', 'vr': 'DS', 'vm': '1', 'name': 'CumulativeDoseToDoseReference' },
+ '(3008,0054)': { 'tag': '(3008,0054)', 'vr': 'DA', 'vm': '1', 'name': 'FirstTreatmentDate' },
+ '(3008,0056)': { 'tag': '(3008,0056)', 'vr': 'DA', 'vm': '1', 'name': 'MostRecentTreatmentDate' },
+ '(3008,005A)': { 'tag': '(3008,005A)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFractionsDelivered' },
+ '(3008,0060)': { 'tag': '(3008,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'OverrideSequence' },
+ '(3008,0061)': { 'tag': '(3008,0061)', 'vr': 'AT', 'vm': '1', 'name': 'ParameterSequencePointer' },
+ '(3008,0062)': { 'tag': '(3008,0062)', 'vr': 'AT', 'vm': '1', 'name': 'OverrideParameterPointer' },
+ '(3008,0063)': { 'tag': '(3008,0063)', 'vr': 'IS', 'vm': '1', 'name': 'ParameterItemIndex' },
+ '(3008,0064)': { 'tag': '(3008,0064)', 'vr': 'IS', 'vm': '1', 'name': 'MeasuredDoseReferenceNumber' },
+ '(3008,0065)': { 'tag': '(3008,0065)', 'vr': 'AT', 'vm': '1', 'name': 'ParameterPointer' },
+ '(3008,0066)': { 'tag': '(3008,0066)', 'vr': 'ST', 'vm': '1', 'name': 'OverrideReason' },
+ '(3008,0068)': { 'tag': '(3008,0068)', 'vr': 'SQ', 'vm': '1', 'name': 'CorrectedParameterSequence' },
+ '(3008,006A)': { 'tag': '(3008,006A)', 'vr': 'FL', 'vm': '1', 'name': 'CorrectionValue' },
+ '(3008,0070)': { 'tag': '(3008,0070)', 'vr': 'SQ', 'vm': '1', 'name': 'CalculatedDoseReferenceSequence' },
+ '(3008,0072)': { 'tag': '(3008,0072)', 'vr': 'IS', 'vm': '1', 'name': 'CalculatedDoseReferenceNumber' },
+ '(3008,0074)': { 'tag': '(3008,0074)', 'vr': 'ST', 'vm': '1', 'name': 'CalculatedDoseReferenceDescription' },
+ '(3008,0076)': { 'tag': '(3008,0076)', 'vr': 'DS', 'vm': '1', 'name': 'CalculatedDoseReferenceDoseValue' },
+ '(3008,0078)': { 'tag': '(3008,0078)', 'vr': 'DS', 'vm': '1', 'name': 'StartMeterset' },
+ '(3008,007A)': { 'tag': '(3008,007A)', 'vr': 'DS', 'vm': '1', 'name': 'EndMeterset' },
+ '(3008,0080)': { 'tag': '(3008,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedMeasuredDoseReferenceSequence' },
+ '(3008,0082)': { 'tag': '(3008,0082)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedMeasuredDoseReferenceNumber' },
+ '(3008,0090)': { 'tag': '(3008,0090)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedCalculatedDoseReferenceSequence' },
+ '(3008,0092)': { 'tag': '(3008,0092)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedCalculatedDoseReferenceNumber' },
+ '(3008,00A0)': { 'tag': '(3008,00A0)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamLimitingDeviceLeafPairsSequence' },
+ '(3008,00B0)': { 'tag': '(3008,00B0)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedWedgeSequence' },
+ '(3008,00C0)': { 'tag': '(3008,00C0)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedCompensatorSequence' },
+ '(3008,00D0)': { 'tag': '(3008,00D0)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedBlockSequence' },
+ '(3008,00E0)': { 'tag': '(3008,00E0)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentSummaryMeasuredDoseReferenceSequence' },
+ '(3008,00F0)': { 'tag': '(3008,00F0)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedSnoutSequence' },
+ '(3008,00F2)': { 'tag': '(3008,00F2)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedRangeShifterSequence' },
+ '(3008,00F4)': { 'tag': '(3008,00F4)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedLateralSpreadingDeviceSequence' },
+ '(3008,00F6)': { 'tag': '(3008,00F6)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedRangeModulatorSequence' },
+ '(3008,0100)': { 'tag': '(3008,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedSourceSequence' },
+ '(3008,0105)': { 'tag': '(3008,0105)', 'vr': 'LO', 'vm': '1', 'name': 'SourceSerialNumber' },
+ '(3008,0110)': { 'tag': '(3008,0110)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentSessionApplicationSetupSequence' },
+ '(3008,0116)': { 'tag': '(3008,0116)', 'vr': 'CS', 'vm': '1', 'name': 'ApplicationSetupCheck' },
+ '(3008,0120)': { 'tag': '(3008,0120)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedBrachyAccessoryDeviceSequence' },
+ '(3008,0122)': { 'tag': '(3008,0122)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedBrachyAccessoryDeviceNumber' },
+ '(3008,0130)': { 'tag': '(3008,0130)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedChannelSequence' },
+ '(3008,0132)': { 'tag': '(3008,0132)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedChannelTotalTime' },
+ '(3008,0134)': { 'tag': '(3008,0134)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredChannelTotalTime' },
+ '(3008,0136)': { 'tag': '(3008,0136)', 'vr': 'IS', 'vm': '1', 'name': 'SpecifiedNumberOfPulses' },
+ '(3008,0138)': { 'tag': '(3008,0138)', 'vr': 'IS', 'vm': '1', 'name': 'DeliveredNumberOfPulses' },
+ '(3008,013A)': { 'tag': '(3008,013A)', 'vr': 'DS', 'vm': '1', 'name': 'SpecifiedPulseRepetitionInterval' },
+ '(3008,013C)': { 'tag': '(3008,013C)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveredPulseRepetitionInterval' },
+ '(3008,0140)': { 'tag': '(3008,0140)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedSourceApplicatorSequence' },
+ '(3008,0142)': { 'tag': '(3008,0142)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedSourceApplicatorNumber' },
+ '(3008,0150)': { 'tag': '(3008,0150)', 'vr': 'SQ', 'vm': '1', 'name': 'RecordedChannelShieldSequence' },
+ '(3008,0152)': { 'tag': '(3008,0152)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedChannelShieldNumber' },
+ '(3008,0160)': { 'tag': '(3008,0160)', 'vr': 'SQ', 'vm': '1', 'name': 'BrachyControlPointDeliveredSequence' },
+ '(3008,0162)': { 'tag': '(3008,0162)', 'vr': 'DA', 'vm': '1', 'name': 'SafePositionExitDate' },
+ '(3008,0164)': { 'tag': '(3008,0164)', 'vr': 'TM', 'vm': '1', 'name': 'SafePositionExitTime' },
+ '(3008,0166)': { 'tag': '(3008,0166)', 'vr': 'DA', 'vm': '1', 'name': 'SafePositionReturnDate' },
+ '(3008,0168)': { 'tag': '(3008,0168)', 'vr': 'TM', 'vm': '1', 'name': 'SafePositionReturnTime' },
+ '(3008,0200)': { 'tag': '(3008,0200)', 'vr': 'CS', 'vm': '1', 'name': 'CurrentTreatmentStatus' },
+ '(3008,0202)': { 'tag': '(3008,0202)', 'vr': 'ST', 'vm': '1', 'name': 'TreatmentStatusComment' },
+ '(3008,0220)': { 'tag': '(3008,0220)', 'vr': 'SQ', 'vm': '1', 'name': 'FractionGroupSummarySequence' },
+ '(3008,0223)': { 'tag': '(3008,0223)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedFractionNumber' },
+ '(3008,0224)': { 'tag': '(3008,0224)', 'vr': 'CS', 'vm': '1', 'name': 'FractionGroupType' },
+ '(3008,0230)': { 'tag': '(3008,0230)', 'vr': 'CS', 'vm': '1', 'name': 'BeamStopperPosition' },
+ '(3008,0240)': { 'tag': '(3008,0240)', 'vr': 'SQ', 'vm': '1', 'name': 'FractionStatusSummarySequence' },
+ '(3008,0250)': { 'tag': '(3008,0250)', 'vr': 'DA', 'vm': '1', 'name': 'TreatmentDate' },
+ '(3008,0251)': { 'tag': '(3008,0251)', 'vr': 'TM', 'vm': '1', 'name': 'TreatmentTime' },
+ '(300A,0002)': { 'tag': '(300A,0002)', 'vr': 'SH', 'vm': '1', 'name': 'RTPlanLabel' },
+ '(300A,0003)': { 'tag': '(300A,0003)', 'vr': 'LO', 'vm': '1', 'name': 'RTPlanName' },
+ '(300A,0004)': { 'tag': '(300A,0004)', 'vr': 'ST', 'vm': '1', 'name': 'RTPlanDescription' },
+ '(300A,0006)': { 'tag': '(300A,0006)', 'vr': 'DA', 'vm': '1', 'name': 'RTPlanDate' },
+ '(300A,0007)': { 'tag': '(300A,0007)', 'vr': 'TM', 'vm': '1', 'name': 'RTPlanTime' },
+ '(300A,0009)': { 'tag': '(300A,0009)', 'vr': 'LO', 'vm': '1-n', 'name': 'TreatmentProtocols' },
+ '(300A,000A)': { 'tag': '(300A,000A)', 'vr': 'CS', 'vm': '1', 'name': 'PlanIntent' },
+ '(300A,000B)': { 'tag': '(300A,000B)', 'vr': 'LO', 'vm': '1-n', 'name': 'TreatmentSites' },
+ '(300A,000C)': { 'tag': '(300A,000C)', 'vr': 'CS', 'vm': '1', 'name': 'RTPlanGeometry' },
+ '(300A,000E)': { 'tag': '(300A,000E)', 'vr': 'ST', 'vm': '1', 'name': 'PrescriptionDescription' },
+ '(300A,0010)': { 'tag': '(300A,0010)', 'vr': 'SQ', 'vm': '1', 'name': 'DoseReferenceSequence' },
+ '(300A,0012)': { 'tag': '(300A,0012)', 'vr': 'IS', 'vm': '1', 'name': 'DoseReferenceNumber' },
+ '(300A,0013)': { 'tag': '(300A,0013)', 'vr': 'UI', 'vm': '1', 'name': 'DoseReferenceUID' },
+ '(300A,0014)': { 'tag': '(300A,0014)', 'vr': 'CS', 'vm': '1', 'name': 'DoseReferenceStructureType' },
+ '(300A,0015)': { 'tag': '(300A,0015)', 'vr': 'CS', 'vm': '1', 'name': 'NominalBeamEnergyUnit' },
+ '(300A,0016)': { 'tag': '(300A,0016)', 'vr': 'LO', 'vm': '1', 'name': 'DoseReferenceDescription' },
+ '(300A,0018)': { 'tag': '(300A,0018)', 'vr': 'DS', 'vm': '3', 'name': 'DoseReferencePointCoordinates' },
+ '(300A,001A)': { 'tag': '(300A,001A)', 'vr': 'DS', 'vm': '1', 'name': 'NominalPriorDose' },
+ '(300A,0020)': { 'tag': '(300A,0020)', 'vr': 'CS', 'vm': '1', 'name': 'DoseReferenceType' },
+ '(300A,0021)': { 'tag': '(300A,0021)', 'vr': 'DS', 'vm': '1', 'name': 'ConstraintWeight' },
+ '(300A,0022)': { 'tag': '(300A,0022)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveryWarningDose' },
+ '(300A,0023)': { 'tag': '(300A,0023)', 'vr': 'DS', 'vm': '1', 'name': 'DeliveryMaximumDose' },
+ '(300A,0025)': { 'tag': '(300A,0025)', 'vr': 'DS', 'vm': '1', 'name': 'TargetMinimumDose' },
+ '(300A,0026)': { 'tag': '(300A,0026)', 'vr': 'DS', 'vm': '1', 'name': 'TargetPrescriptionDose' },
+ '(300A,0027)': { 'tag': '(300A,0027)', 'vr': 'DS', 'vm': '1', 'name': 'TargetMaximumDose' },
+ '(300A,0028)': { 'tag': '(300A,0028)', 'vr': 'DS', 'vm': '1', 'name': 'TargetUnderdoseVolumeFraction' },
+ '(300A,002A)': { 'tag': '(300A,002A)', 'vr': 'DS', 'vm': '1', 'name': 'OrganAtRiskFullVolumeDose' },
+ '(300A,002B)': { 'tag': '(300A,002B)', 'vr': 'DS', 'vm': '1', 'name': 'OrganAtRiskLimitDose' },
+ '(300A,002C)': { 'tag': '(300A,002C)', 'vr': 'DS', 'vm': '1', 'name': 'OrganAtRiskMaximumDose' },
+ '(300A,002D)': { 'tag': '(300A,002D)', 'vr': 'DS', 'vm': '1', 'name': 'OrganAtRiskOverdoseVolumeFraction' },
+ '(300A,0040)': { 'tag': '(300A,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ToleranceTableSequence' },
+ '(300A,0042)': { 'tag': '(300A,0042)', 'vr': 'IS', 'vm': '1', 'name': 'ToleranceTableNumber' },
+ '(300A,0043)': { 'tag': '(300A,0043)', 'vr': 'SH', 'vm': '1', 'name': 'ToleranceTableLabel' },
+ '(300A,0044)': { 'tag': '(300A,0044)', 'vr': 'DS', 'vm': '1', 'name': 'GantryAngleTolerance' },
+ '(300A,0046)': { 'tag': '(300A,0046)', 'vr': 'DS', 'vm': '1', 'name': 'BeamLimitingDeviceAngleTolerance' },
+ '(300A,0048)': { 'tag': '(300A,0048)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamLimitingDeviceToleranceSequence' },
+ '(300A,004A)': { 'tag': '(300A,004A)', 'vr': 'DS', 'vm': '1', 'name': 'BeamLimitingDevicePositionTolerance' },
+ '(300A,004B)': { 'tag': '(300A,004B)', 'vr': 'FL', 'vm': '1', 'name': 'SnoutPositionTolerance' },
+ '(300A,004C)': { 'tag': '(300A,004C)', 'vr': 'DS', 'vm': '1', 'name': 'PatientSupportAngleTolerance' },
+ '(300A,004E)': { 'tag': '(300A,004E)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopEccentricAngleTolerance' },
+ '(300A,004F)': { 'tag': '(300A,004F)', 'vr': 'FL', 'vm': '1', 'name': 'TableTopPitchAngleTolerance' },
+ '(300A,0050)': { 'tag': '(300A,0050)', 'vr': 'FL', 'vm': '1', 'name': 'TableTopRollAngleTolerance' },
+ '(300A,0051)': { 'tag': '(300A,0051)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopVerticalPositionTolerance' },
+ '(300A,0052)': { 'tag': '(300A,0052)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLongitudinalPositionTolerance' },
+ '(300A,0053)': { 'tag': '(300A,0053)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLateralPositionTolerance' },
+ '(300A,0055)': { 'tag': '(300A,0055)', 'vr': 'CS', 'vm': '1', 'name': 'RTPlanRelationship' },
+ '(300A,0070)': { 'tag': '(300A,0070)', 'vr': 'SQ', 'vm': '1', 'name': 'FractionGroupSequence' },
+ '(300A,0071)': { 'tag': '(300A,0071)', 'vr': 'IS', 'vm': '1', 'name': 'FractionGroupNumber' },
+ '(300A,0072)': { 'tag': '(300A,0072)', 'vr': 'LO', 'vm': '1', 'name': 'FractionGroupDescription' },
+ '(300A,0078)': { 'tag': '(300A,0078)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFractionsPlanned' },
+ '(300A,0079)': { 'tag': '(300A,0079)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFractionPatternDigitsPerDay' },
+ '(300A,007A)': { 'tag': '(300A,007A)', 'vr': 'IS', 'vm': '1', 'name': 'RepeatFractionCycleLength' },
+ '(300A,007B)': { 'tag': '(300A,007B)', 'vr': 'LT', 'vm': '1', 'name': 'FractionPattern' },
+ '(300A,0080)': { 'tag': '(300A,0080)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfBeams' },
+ '(300A,0082)': { 'tag': '(300A,0082)', 'vr': 'DS', 'vm': '3', 'name': 'BeamDoseSpecificationPoint' },
+ '(300A,0084)': { 'tag': '(300A,0084)', 'vr': 'DS', 'vm': '1', 'name': 'BeamDose' },
+ '(300A,0086)': { 'tag': '(300A,0086)', 'vr': 'DS', 'vm': '1', 'name': 'BeamMeterset' },
+ '(300A,0088)': { 'tag': '(300A,0088)', 'vr': 'FL', 'vm': '1', 'name': 'BeamDosePointDepth' },
+ '(300A,0089)': { 'tag': '(300A,0089)', 'vr': 'FL', 'vm': '1', 'name': 'BeamDosePointEquivalentDepth' },
+ '(300A,008A)': { 'tag': '(300A,008A)', 'vr': 'FL', 'vm': '1', 'name': 'BeamDosePointSSD' },
+ '(300A,00A0)': { 'tag': '(300A,00A0)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfBrachyApplicationSetups' },
+ '(300A,00A2)': { 'tag': '(300A,00A2)', 'vr': 'DS', 'vm': '3', 'name': 'BrachyApplicationSetupDoseSpecificationPoint' },
+ '(300A,00A4)': { 'tag': '(300A,00A4)', 'vr': 'DS', 'vm': '1', 'name': 'BrachyApplicationSetupDose' },
+ '(300A,00B0)': { 'tag': '(300A,00B0)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamSequence' },
+ '(300A,00B2)': { 'tag': '(300A,00B2)', 'vr': 'SH', 'vm': '1', 'name': 'TreatmentMachineName' },
+ '(300A,00B3)': { 'tag': '(300A,00B3)', 'vr': 'CS', 'vm': '1', 'name': 'PrimaryDosimeterUnit' },
+ '(300A,00B4)': { 'tag': '(300A,00B4)', 'vr': 'DS', 'vm': '1', 'name': 'SourceAxisDistance' },
+ '(300A,00B6)': { 'tag': '(300A,00B6)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamLimitingDeviceSequence' },
+ '(300A,00B8)': { 'tag': '(300A,00B8)', 'vr': 'CS', 'vm': '1', 'name': 'RTBeamLimitingDeviceType' },
+ '(300A,00BA)': { 'tag': '(300A,00BA)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToBeamLimitingDeviceDistance' },
+ '(300A,00BB)': { 'tag': '(300A,00BB)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToBeamLimitingDeviceDistance' },
+ '(300A,00BC)': { 'tag': '(300A,00BC)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfLeafJawPairs' },
+ '(300A,00BE)': { 'tag': '(300A,00BE)', 'vr': 'DS', 'vm': '3-n', 'name': 'LeafPositionBoundaries' },
+ '(300A,00C0)': { 'tag': '(300A,00C0)', 'vr': 'IS', 'vm': '1', 'name': 'BeamNumber' },
+ '(300A,00C2)': { 'tag': '(300A,00C2)', 'vr': 'LO', 'vm': '1', 'name': 'BeamName' },
+ '(300A,00C3)': { 'tag': '(300A,00C3)', 'vr': 'ST', 'vm': '1', 'name': 'BeamDescription' },
+ '(300A,00C4)': { 'tag': '(300A,00C4)', 'vr': 'CS', 'vm': '1', 'name': 'BeamType' },
+ '(300A,00C6)': { 'tag': '(300A,00C6)', 'vr': 'CS', 'vm': '1', 'name': 'RadiationType' },
+ '(300A,00C7)': { 'tag': '(300A,00C7)', 'vr': 'CS', 'vm': '1', 'name': 'HighDoseTechniqueType' },
+ '(300A,00C8)': { 'tag': '(300A,00C8)', 'vr': 'IS', 'vm': '1', 'name': 'ReferenceImageNumber' },
+ '(300A,00CA)': { 'tag': '(300A,00CA)', 'vr': 'SQ', 'vm': '1', 'name': 'PlannedVerificationImageSequence' },
+ '(300A,00CC)': { 'tag': '(300A,00CC)', 'vr': 'LO', 'vm': '1-n', 'name': 'ImagingDeviceSpecificAcquisitionParameters' },
+ '(300A,00CE)': { 'tag': '(300A,00CE)', 'vr': 'CS', 'vm': '1', 'name': 'TreatmentDeliveryType' },
+ '(300A,00D0)': { 'tag': '(300A,00D0)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfWedges' },
+ '(300A,00D1)': { 'tag': '(300A,00D1)', 'vr': 'SQ', 'vm': '1', 'name': 'WedgeSequence' },
+ '(300A,00D2)': { 'tag': '(300A,00D2)', 'vr': 'IS', 'vm': '1', 'name': 'WedgeNumber' },
+ '(300A,00D3)': { 'tag': '(300A,00D3)', 'vr': 'CS', 'vm': '1', 'name': 'WedgeType' },
+ '(300A,00D4)': { 'tag': '(300A,00D4)', 'vr': 'SH', 'vm': '1', 'name': 'WedgeID' },
+ '(300A,00D5)': { 'tag': '(300A,00D5)', 'vr': 'IS', 'vm': '1', 'name': 'WedgeAngle' },
+ '(300A,00D6)': { 'tag': '(300A,00D6)', 'vr': 'DS', 'vm': '1', 'name': 'WedgeFactor' },
+ '(300A,00D7)': { 'tag': '(300A,00D7)', 'vr': 'FL', 'vm': '1', 'name': 'TotalWedgeTrayWaterEquivalentThickness' },
+ '(300A,00D8)': { 'tag': '(300A,00D8)', 'vr': 'DS', 'vm': '1', 'name': 'WedgeOrientation' },
+ '(300A,00D9)': { 'tag': '(300A,00D9)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToWedgeTrayDistance' },
+ '(300A,00DA)': { 'tag': '(300A,00DA)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToWedgeTrayDistance' },
+ '(300A,00DB)': { 'tag': '(300A,00DB)', 'vr': 'FL', 'vm': '1', 'name': 'WedgeThinEdgePosition' },
+ '(300A,00DC)': { 'tag': '(300A,00DC)', 'vr': 'SH', 'vm': '1', 'name': 'BolusID' },
+ '(300A,00DD)': { 'tag': '(300A,00DD)', 'vr': 'ST', 'vm': '1', 'name': 'BolusDescription' },
+ '(300A,00E0)': { 'tag': '(300A,00E0)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfCompensators' },
+ '(300A,00E1)': { 'tag': '(300A,00E1)', 'vr': 'SH', 'vm': '1', 'name': 'MaterialID' },
+ '(300A,00E2)': { 'tag': '(300A,00E2)', 'vr': 'DS', 'vm': '1', 'name': 'TotalCompensatorTrayFactor' },
+ '(300A,00E3)': { 'tag': '(300A,00E3)', 'vr': 'SQ', 'vm': '1', 'name': 'CompensatorSequence' },
+ '(300A,00E4)': { 'tag': '(300A,00E4)', 'vr': 'IS', 'vm': '1', 'name': 'CompensatorNumber' },
+ '(300A,00E5)': { 'tag': '(300A,00E5)', 'vr': 'SH', 'vm': '1', 'name': 'CompensatorID' },
+ '(300A,00E6)': { 'tag': '(300A,00E6)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToCompensatorTrayDistance' },
+ '(300A,00E7)': { 'tag': '(300A,00E7)', 'vr': 'IS', 'vm': '1', 'name': 'CompensatorRows' },
+ '(300A,00E8)': { 'tag': '(300A,00E8)', 'vr': 'IS', 'vm': '1', 'name': 'CompensatorColumns' },
+ '(300A,00E9)': { 'tag': '(300A,00E9)', 'vr': 'DS', 'vm': '2', 'name': 'CompensatorPixelSpacing' },
+ '(300A,00EA)': { 'tag': '(300A,00EA)', 'vr': 'DS', 'vm': '2', 'name': 'CompensatorPosition' },
+ '(300A,00EB)': { 'tag': '(300A,00EB)', 'vr': 'DS', 'vm': '1-n', 'name': 'CompensatorTransmissionData' },
+ '(300A,00EC)': { 'tag': '(300A,00EC)', 'vr': 'DS', 'vm': '1-n', 'name': 'CompensatorThicknessData' },
+ '(300A,00ED)': { 'tag': '(300A,00ED)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfBoli' },
+ '(300A,00EE)': { 'tag': '(300A,00EE)', 'vr': 'CS', 'vm': '1', 'name': 'CompensatorType' },
+ '(300A,00F0)': { 'tag': '(300A,00F0)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfBlocks' },
+ '(300A,00F2)': { 'tag': '(300A,00F2)', 'vr': 'DS', 'vm': '1', 'name': 'TotalBlockTrayFactor' },
+ '(300A,00F3)': { 'tag': '(300A,00F3)', 'vr': 'FL', 'vm': '1', 'name': 'TotalBlockTrayWaterEquivalentThickness' },
+ '(300A,00F4)': { 'tag': '(300A,00F4)', 'vr': 'SQ', 'vm': '1', 'name': 'BlockSequence' },
+ '(300A,00F5)': { 'tag': '(300A,00F5)', 'vr': 'SH', 'vm': '1', 'name': 'BlockTrayID' },
+ '(300A,00F6)': { 'tag': '(300A,00F6)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToBlockTrayDistance' },
+ '(300A,00F7)': { 'tag': '(300A,00F7)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToBlockTrayDistance' },
+ '(300A,00F8)': { 'tag': '(300A,00F8)', 'vr': 'CS', 'vm': '1', 'name': 'BlockType' },
+ '(300A,00F9)': { 'tag': '(300A,00F9)', 'vr': 'LO', 'vm': '1', 'name': 'AccessoryCode' },
+ '(300A,00FA)': { 'tag': '(300A,00FA)', 'vr': 'CS', 'vm': '1', 'name': 'BlockDivergence' },
+ '(300A,00FB)': { 'tag': '(300A,00FB)', 'vr': 'CS', 'vm': '1', 'name': 'BlockMountingPosition' },
+ '(300A,00FC)': { 'tag': '(300A,00FC)', 'vr': 'IS', 'vm': '1', 'name': 'BlockNumber' },
+ '(300A,00FE)': { 'tag': '(300A,00FE)', 'vr': 'LO', 'vm': '1', 'name': 'BlockName' },
+ '(300A,0100)': { 'tag': '(300A,0100)', 'vr': 'DS', 'vm': '1', 'name': 'BlockThickness' },
+ '(300A,0102)': { 'tag': '(300A,0102)', 'vr': 'DS', 'vm': '1', 'name': 'BlockTransmission' },
+ '(300A,0104)': { 'tag': '(300A,0104)', 'vr': 'IS', 'vm': '1', 'name': 'BlockNumberOfPoints' },
+ '(300A,0106)': { 'tag': '(300A,0106)', 'vr': 'DS', 'vm': '2-2n', 'name': 'BlockData' },
+ '(300A,0107)': { 'tag': '(300A,0107)', 'vr': 'SQ', 'vm': '1', 'name': 'ApplicatorSequence' },
+ '(300A,0108)': { 'tag': '(300A,0108)', 'vr': 'SH', 'vm': '1', 'name': 'ApplicatorID' },
+ '(300A,0109)': { 'tag': '(300A,0109)', 'vr': 'CS', 'vm': '1', 'name': 'ApplicatorType' },
+ '(300A,010A)': { 'tag': '(300A,010A)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicatorDescription' },
+ '(300A,010C)': { 'tag': '(300A,010C)', 'vr': 'DS', 'vm': '1', 'name': 'CumulativeDoseReferenceCoefficient' },
+ '(300A,010E)': { 'tag': '(300A,010E)', 'vr': 'DS', 'vm': '1', 'name': 'FinalCumulativeMetersetWeight' },
+ '(300A,0110)': { 'tag': '(300A,0110)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfControlPoints' },
+ '(300A,0111)': { 'tag': '(300A,0111)', 'vr': 'SQ', 'vm': '1', 'name': 'ControlPointSequence' },
+ '(300A,0112)': { 'tag': '(300A,0112)', 'vr': 'IS', 'vm': '1', 'name': 'ControlPointIndex' },
+ '(300A,0114)': { 'tag': '(300A,0114)', 'vr': 'DS', 'vm': '1', 'name': 'NominalBeamEnergy' },
+ '(300A,0115)': { 'tag': '(300A,0115)', 'vr': 'DS', 'vm': '1', 'name': 'DoseRateSet' },
+ '(300A,0116)': { 'tag': '(300A,0116)', 'vr': 'SQ', 'vm': '1', 'name': 'WedgePositionSequence' },
+ '(300A,0118)': { 'tag': '(300A,0118)', 'vr': 'CS', 'vm': '1', 'name': 'WedgePosition' },
+ '(300A,011A)': { 'tag': '(300A,011A)', 'vr': 'SQ', 'vm': '1', 'name': 'BeamLimitingDevicePositionSequence' },
+ '(300A,011C)': { 'tag': '(300A,011C)', 'vr': 'DS', 'vm': '2-2n', 'name': 'LeafJawPositions' },
+ '(300A,011E)': { 'tag': '(300A,011E)', 'vr': 'DS', 'vm': '1', 'name': 'GantryAngle' },
+ '(300A,011F)': { 'tag': '(300A,011F)', 'vr': 'CS', 'vm': '1', 'name': 'GantryRotationDirection' },
+ '(300A,0120)': { 'tag': '(300A,0120)', 'vr': 'DS', 'vm': '1', 'name': 'BeamLimitingDeviceAngle' },
+ '(300A,0121)': { 'tag': '(300A,0121)', 'vr': 'CS', 'vm': '1', 'name': 'BeamLimitingDeviceRotationDirection' },
+ '(300A,0122)': { 'tag': '(300A,0122)', 'vr': 'DS', 'vm': '1', 'name': 'PatientSupportAngle' },
+ '(300A,0123)': { 'tag': '(300A,0123)', 'vr': 'CS', 'vm': '1', 'name': 'PatientSupportRotationDirection' },
+ '(300A,0124)': { 'tag': '(300A,0124)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopEccentricAxisDistance' },
+ '(300A,0125)': { 'tag': '(300A,0125)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopEccentricAngle' },
+ '(300A,0126)': { 'tag': '(300A,0126)', 'vr': 'CS', 'vm': '1', 'name': 'TableTopEccentricRotationDirection' },
+ '(300A,0128)': { 'tag': '(300A,0128)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopVerticalPosition' },
+ '(300A,0129)': { 'tag': '(300A,0129)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLongitudinalPosition' },
+ '(300A,012A)': { 'tag': '(300A,012A)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLateralPosition' },
+ '(300A,012C)': { 'tag': '(300A,012C)', 'vr': 'DS', 'vm': '3', 'name': 'IsocenterPosition' },
+ '(300A,012E)': { 'tag': '(300A,012E)', 'vr': 'DS', 'vm': '3', 'name': 'SurfaceEntryPoint' },
+ '(300A,0130)': { 'tag': '(300A,0130)', 'vr': 'DS', 'vm': '1', 'name': 'SourceToSurfaceDistance' },
+ '(300A,0134)': { 'tag': '(300A,0134)', 'vr': 'DS', 'vm': '1', 'name': 'CumulativeMetersetWeight' },
+ '(300A,0140)': { 'tag': '(300A,0140)', 'vr': 'FL', 'vm': '1', 'name': 'TableTopPitchAngle' },
+ '(300A,0142)': { 'tag': '(300A,0142)', 'vr': 'CS', 'vm': '1', 'name': 'TableTopPitchRotationDirection' },
+ '(300A,0144)': { 'tag': '(300A,0144)', 'vr': 'FL', 'vm': '1', 'name': 'TableTopRollAngle' },
+ '(300A,0146)': { 'tag': '(300A,0146)', 'vr': 'CS', 'vm': '1', 'name': 'TableTopRollRotationDirection' },
+ '(300A,0148)': { 'tag': '(300A,0148)', 'vr': 'FL', 'vm': '1', 'name': 'HeadFixationAngle' },
+ '(300A,014A)': { 'tag': '(300A,014A)', 'vr': 'FL', 'vm': '1', 'name': 'GantryPitchAngle' },
+ '(300A,014C)': { 'tag': '(300A,014C)', 'vr': 'CS', 'vm': '1', 'name': 'GantryPitchRotationDirection' },
+ '(300A,014E)': { 'tag': '(300A,014E)', 'vr': 'FL', 'vm': '1', 'name': 'GantryPitchAngleTolerance' },
+ '(300A,0180)': { 'tag': '(300A,0180)', 'vr': 'SQ', 'vm': '1', 'name': 'PatientSetupSequence' },
+ '(300A,0182)': { 'tag': '(300A,0182)', 'vr': 'IS', 'vm': '1', 'name': 'PatientSetupNumber' },
+ '(300A,0183)': { 'tag': '(300A,0183)', 'vr': 'LO', 'vm': '1', 'name': 'PatientSetupLabel' },
+ '(300A,0184)': { 'tag': '(300A,0184)', 'vr': 'LO', 'vm': '1', 'name': 'PatientAdditionalPosition' },
+ '(300A,0190)': { 'tag': '(300A,0190)', 'vr': 'SQ', 'vm': '1', 'name': 'FixationDeviceSequence' },
+ '(300A,0192)': { 'tag': '(300A,0192)', 'vr': 'CS', 'vm': '1', 'name': 'FixationDeviceType' },
+ '(300A,0194)': { 'tag': '(300A,0194)', 'vr': 'SH', 'vm': '1', 'name': 'FixationDeviceLabel' },
+ '(300A,0196)': { 'tag': '(300A,0196)', 'vr': 'ST', 'vm': '1', 'name': 'FixationDeviceDescription' },
+ '(300A,0198)': { 'tag': '(300A,0198)', 'vr': 'SH', 'vm': '1', 'name': 'FixationDevicePosition' },
+ '(300A,0199)': { 'tag': '(300A,0199)', 'vr': 'FL', 'vm': '1', 'name': 'FixationDevicePitchAngle' },
+ '(300A,019A)': { 'tag': '(300A,019A)', 'vr': 'FL', 'vm': '1', 'name': 'FixationDeviceRollAngle' },
+ '(300A,01A0)': { 'tag': '(300A,01A0)', 'vr': 'SQ', 'vm': '1', 'name': 'ShieldingDeviceSequence' },
+ '(300A,01A2)': { 'tag': '(300A,01A2)', 'vr': 'CS', 'vm': '1', 'name': 'ShieldingDeviceType' },
+ '(300A,01A4)': { 'tag': '(300A,01A4)', 'vr': 'SH', 'vm': '1', 'name': 'ShieldingDeviceLabel' },
+ '(300A,01A6)': { 'tag': '(300A,01A6)', 'vr': 'ST', 'vm': '1', 'name': 'ShieldingDeviceDescription' },
+ '(300A,01A8)': { 'tag': '(300A,01A8)', 'vr': 'SH', 'vm': '1', 'name': 'ShieldingDevicePosition' },
+ '(300A,01B0)': { 'tag': '(300A,01B0)', 'vr': 'CS', 'vm': '1', 'name': 'SetupTechnique' },
+ '(300A,01B2)': { 'tag': '(300A,01B2)', 'vr': 'ST', 'vm': '1', 'name': 'SetupTechniqueDescription' },
+ '(300A,01B4)': { 'tag': '(300A,01B4)', 'vr': 'SQ', 'vm': '1', 'name': 'SetupDeviceSequence' },
+ '(300A,01B6)': { 'tag': '(300A,01B6)', 'vr': 'CS', 'vm': '1', 'name': 'SetupDeviceType' },
+ '(300A,01B8)': { 'tag': '(300A,01B8)', 'vr': 'SH', 'vm': '1', 'name': 'SetupDeviceLabel' },
+ '(300A,01BA)': { 'tag': '(300A,01BA)', 'vr': 'ST', 'vm': '1', 'name': 'SetupDeviceDescription' },
+ '(300A,01BC)': { 'tag': '(300A,01BC)', 'vr': 'DS', 'vm': '1', 'name': 'SetupDeviceParameter' },
+ '(300A,01D0)': { 'tag': '(300A,01D0)', 'vr': 'ST', 'vm': '1', 'name': 'SetupReferenceDescription' },
+ '(300A,01D2)': { 'tag': '(300A,01D2)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopVerticalSetupDisplacement' },
+ '(300A,01D4)': { 'tag': '(300A,01D4)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLongitudinalSetupDisplacement' },
+ '(300A,01D6)': { 'tag': '(300A,01D6)', 'vr': 'DS', 'vm': '1', 'name': 'TableTopLateralSetupDisplacement' },
+ '(300A,0200)': { 'tag': '(300A,0200)', 'vr': 'CS', 'vm': '1', 'name': 'BrachyTreatmentTechnique' },
+ '(300A,0202)': { 'tag': '(300A,0202)', 'vr': 'CS', 'vm': '1', 'name': 'BrachyTreatmentType' },
+ '(300A,0206)': { 'tag': '(300A,0206)', 'vr': 'SQ', 'vm': '1', 'name': 'TreatmentMachineSequence' },
+ '(300A,0210)': { 'tag': '(300A,0210)', 'vr': 'SQ', 'vm': '1', 'name': 'SourceSequence' },
+ '(300A,0212)': { 'tag': '(300A,0212)', 'vr': 'IS', 'vm': '1', 'name': 'SourceNumber' },
+ '(300A,0214)': { 'tag': '(300A,0214)', 'vr': 'CS', 'vm': '1', 'name': 'SourceType' },
+ '(300A,0216)': { 'tag': '(300A,0216)', 'vr': 'LO', 'vm': '1', 'name': 'SourceManufacturer' },
+ '(300A,0218)': { 'tag': '(300A,0218)', 'vr': 'DS', 'vm': '1', 'name': 'ActiveSourceDiameter' },
+ '(300A,021A)': { 'tag': '(300A,021A)', 'vr': 'DS', 'vm': '1', 'name': 'ActiveSourceLength' },
+ '(300A,0222)': { 'tag': '(300A,0222)', 'vr': 'DS', 'vm': '1', 'name': 'SourceEncapsulationNominalThickness' },
+ '(300A,0224)': { 'tag': '(300A,0224)', 'vr': 'DS', 'vm': '1', 'name': 'SourceEncapsulationNominalTransmission' },
+ '(300A,0226)': { 'tag': '(300A,0226)', 'vr': 'LO', 'vm': '1', 'name': 'SourceIsotopeName' },
+ '(300A,0228)': { 'tag': '(300A,0228)', 'vr': 'DS', 'vm': '1', 'name': 'SourceIsotopeHalfLife' },
+ '(300A,0229)': { 'tag': '(300A,0229)', 'vr': 'CS', 'vm': '1', 'name': 'SourceStrengthUnits' },
+ '(300A,022A)': { 'tag': '(300A,022A)', 'vr': 'DS', 'vm': '1', 'name': 'ReferenceAirKermaRate' },
+ '(300A,022B)': { 'tag': '(300A,022B)', 'vr': 'DS', 'vm': '1', 'name': 'SourceStrength' },
+ '(300A,022C)': { 'tag': '(300A,022C)', 'vr': 'DA', 'vm': '1', 'name': 'SourceStrengthReferenceDate' },
+ '(300A,022E)': { 'tag': '(300A,022E)', 'vr': 'TM', 'vm': '1', 'name': 'SourceStrengthReferenceTime' },
+ '(300A,0230)': { 'tag': '(300A,0230)', 'vr': 'SQ', 'vm': '1', 'name': 'ApplicationSetupSequence' },
+ '(300A,0232)': { 'tag': '(300A,0232)', 'vr': 'CS', 'vm': '1', 'name': 'ApplicationSetupType' },
+ '(300A,0234)': { 'tag': '(300A,0234)', 'vr': 'IS', 'vm': '1', 'name': 'ApplicationSetupNumber' },
+ '(300A,0236)': { 'tag': '(300A,0236)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicationSetupName' },
+ '(300A,0238)': { 'tag': '(300A,0238)', 'vr': 'LO', 'vm': '1', 'name': 'ApplicationSetupManufacturer' },
+ '(300A,0240)': { 'tag': '(300A,0240)', 'vr': 'IS', 'vm': '1', 'name': 'TemplateNumber' },
+ '(300A,0242)': { 'tag': '(300A,0242)', 'vr': 'SH', 'vm': '1', 'name': 'TemplateType' },
+ '(300A,0244)': { 'tag': '(300A,0244)', 'vr': 'LO', 'vm': '1', 'name': 'TemplateName' },
+ '(300A,0250)': { 'tag': '(300A,0250)', 'vr': 'DS', 'vm': '1', 'name': 'TotalReferenceAirKerma' },
+ '(300A,0260)': { 'tag': '(300A,0260)', 'vr': 'SQ', 'vm': '1', 'name': 'BrachyAccessoryDeviceSequence' },
+ '(300A,0262)': { 'tag': '(300A,0262)', 'vr': 'IS', 'vm': '1', 'name': 'BrachyAccessoryDeviceNumber' },
+ '(300A,0263)': { 'tag': '(300A,0263)', 'vr': 'SH', 'vm': '1', 'name': 'BrachyAccessoryDeviceID' },
+ '(300A,0264)': { 'tag': '(300A,0264)', 'vr': 'CS', 'vm': '1', 'name': 'BrachyAccessoryDeviceType' },
+ '(300A,0266)': { 'tag': '(300A,0266)', 'vr': 'LO', 'vm': '1', 'name': 'BrachyAccessoryDeviceName' },
+ '(300A,026A)': { 'tag': '(300A,026A)', 'vr': 'DS', 'vm': '1', 'name': 'BrachyAccessoryDeviceNominalThickness' },
+ '(300A,026C)': { 'tag': '(300A,026C)', 'vr': 'DS', 'vm': '1', 'name': 'BrachyAccessoryDeviceNominalTransmission' },
+ '(300A,0280)': { 'tag': '(300A,0280)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelSequence' },
+ '(300A,0282)': { 'tag': '(300A,0282)', 'vr': 'IS', 'vm': '1', 'name': 'ChannelNumber' },
+ '(300A,0284)': { 'tag': '(300A,0284)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelLength' },
+ '(300A,0286)': { 'tag': '(300A,0286)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelTotalTime' },
+ '(300A,0288)': { 'tag': '(300A,0288)', 'vr': 'CS', 'vm': '1', 'name': 'SourceMovementType' },
+ '(300A,028A)': { 'tag': '(300A,028A)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPulses' },
+ '(300A,028C)': { 'tag': '(300A,028C)', 'vr': 'DS', 'vm': '1', 'name': 'PulseRepetitionInterval' },
+ '(300A,0290)': { 'tag': '(300A,0290)', 'vr': 'IS', 'vm': '1', 'name': 'SourceApplicatorNumber' },
+ '(300A,0291)': { 'tag': '(300A,0291)', 'vr': 'SH', 'vm': '1', 'name': 'SourceApplicatorID' },
+ '(300A,0292)': { 'tag': '(300A,0292)', 'vr': 'CS', 'vm': '1', 'name': 'SourceApplicatorType' },
+ '(300A,0294)': { 'tag': '(300A,0294)', 'vr': 'LO', 'vm': '1', 'name': 'SourceApplicatorName' },
+ '(300A,0296)': { 'tag': '(300A,0296)', 'vr': 'DS', 'vm': '1', 'name': 'SourceApplicatorLength' },
+ '(300A,0298)': { 'tag': '(300A,0298)', 'vr': 'LO', 'vm': '1', 'name': 'SourceApplicatorManufacturer' },
+ '(300A,029C)': { 'tag': '(300A,029C)', 'vr': 'DS', 'vm': '1', 'name': 'SourceApplicatorWallNominalThickness' },
+ '(300A,029E)': { 'tag': '(300A,029E)', 'vr': 'DS', 'vm': '1', 'name': 'SourceApplicatorWallNominalTransmission' },
+ '(300A,02A0)': { 'tag': '(300A,02A0)', 'vr': 'DS', 'vm': '1', 'name': 'SourceApplicatorStepSize' },
+ '(300A,02A2)': { 'tag': '(300A,02A2)', 'vr': 'IS', 'vm': '1', 'name': 'TransferTubeNumber' },
+ '(300A,02A4)': { 'tag': '(300A,02A4)', 'vr': 'DS', 'vm': '1', 'name': 'TransferTubeLength' },
+ '(300A,02B0)': { 'tag': '(300A,02B0)', 'vr': 'SQ', 'vm': '1', 'name': 'ChannelShieldSequence' },
+ '(300A,02B2)': { 'tag': '(300A,02B2)', 'vr': 'IS', 'vm': '1', 'name': 'ChannelShieldNumber' },
+ '(300A,02B3)': { 'tag': '(300A,02B3)', 'vr': 'SH', 'vm': '1', 'name': 'ChannelShieldID' },
+ '(300A,02B4)': { 'tag': '(300A,02B4)', 'vr': 'LO', 'vm': '1', 'name': 'ChannelShieldName' },
+ '(300A,02B8)': { 'tag': '(300A,02B8)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelShieldNominalThickness' },
+ '(300A,02BA)': { 'tag': '(300A,02BA)', 'vr': 'DS', 'vm': '1', 'name': 'ChannelShieldNominalTransmission' },
+ '(300A,02C8)': { 'tag': '(300A,02C8)', 'vr': 'DS', 'vm': '1', 'name': 'FinalCumulativeTimeWeight' },
+ '(300A,02D0)': { 'tag': '(300A,02D0)', 'vr': 'SQ', 'vm': '1', 'name': 'BrachyControlPointSequence' },
+ '(300A,02D2)': { 'tag': '(300A,02D2)', 'vr': 'DS', 'vm': '1', 'name': 'ControlPointRelativePosition' },
+ '(300A,02D4)': { 'tag': '(300A,02D4)', 'vr': 'DS', 'vm': '3', 'name': 'ControlPoint3DPosition' },
+ '(300A,02D6)': { 'tag': '(300A,02D6)', 'vr': 'DS', 'vm': '1', 'name': 'CumulativeTimeWeight' },
+ '(300A,02E0)': { 'tag': '(300A,02E0)', 'vr': 'CS', 'vm': '1', 'name': 'CompensatorDivergence' },
+ '(300A,02E1)': { 'tag': '(300A,02E1)', 'vr': 'CS', 'vm': '1', 'name': 'CompensatorMountingPosition' },
+ '(300A,02E2)': { 'tag': '(300A,02E2)', 'vr': 'DS', 'vm': '1-n', 'name': 'SourceToCompensatorDistance' },
+ '(300A,02E3)': { 'tag': '(300A,02E3)', 'vr': 'FL', 'vm': '1', 'name': 'TotalCompensatorTrayWaterEquivalentThickness' },
+ '(300A,02E4)': { 'tag': '(300A,02E4)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToCompensatorTrayDistance' },
+ '(300A,02E5)': { 'tag': '(300A,02E5)', 'vr': 'FL', 'vm': '1', 'name': 'CompensatorColumnOffset' },
+ '(300A,02E6)': { 'tag': '(300A,02E6)', 'vr': 'FL', 'vm': '1-n', 'name': 'IsocenterToCompensatorDistances' },
+ '(300A,02E7)': { 'tag': '(300A,02E7)', 'vr': 'FL', 'vm': '1', 'name': 'CompensatorRelativeStoppingPowerRatio' },
+ '(300A,02E8)': { 'tag': '(300A,02E8)', 'vr': 'FL', 'vm': '1', 'name': 'CompensatorMillingToolDiameter' },
+ '(300A,02EA)': { 'tag': '(300A,02EA)', 'vr': 'SQ', 'vm': '1', 'name': 'IonRangeCompensatorSequence' },
+ '(300A,02EB)': { 'tag': '(300A,02EB)', 'vr': 'LT', 'vm': '1', 'name': 'CompensatorDescription' },
+ '(300A,0302)': { 'tag': '(300A,0302)', 'vr': 'IS', 'vm': '1', 'name': 'RadiationMassNumber' },
+ '(300A,0304)': { 'tag': '(300A,0304)', 'vr': 'IS', 'vm': '1', 'name': 'RadiationAtomicNumber' },
+ '(300A,0306)': { 'tag': '(300A,0306)', 'vr': 'SS', 'vm': '1', 'name': 'RadiationChargeState' },
+ '(300A,0308)': { 'tag': '(300A,0308)', 'vr': 'CS', 'vm': '1', 'name': 'ScanMode' },
+ '(300A,030A)': { 'tag': '(300A,030A)', 'vr': 'FL', 'vm': '2', 'name': 'VirtualSourceAxisDistances' },
+ '(300A,030C)': { 'tag': '(300A,030C)', 'vr': 'SQ', 'vm': '1', 'name': 'SnoutSequence' },
+ '(300A,030D)': { 'tag': '(300A,030D)', 'vr': 'FL', 'vm': '1', 'name': 'SnoutPosition' },
+ '(300A,030F)': { 'tag': '(300A,030F)', 'vr': 'SH', 'vm': '1', 'name': 'SnoutID' },
+ '(300A,0312)': { 'tag': '(300A,0312)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfRangeShifters' },
+ '(300A,0314)': { 'tag': '(300A,0314)', 'vr': 'SQ', 'vm': '1', 'name': 'RangeShifterSequence' },
+ '(300A,0316)': { 'tag': '(300A,0316)', 'vr': 'IS', 'vm': '1', 'name': 'RangeShifterNumber' },
+ '(300A,0318)': { 'tag': '(300A,0318)', 'vr': 'SH', 'vm': '1', 'name': 'RangeShifterID' },
+ '(300A,0320)': { 'tag': '(300A,0320)', 'vr': 'CS', 'vm': '1', 'name': 'RangeShifterType' },
+ '(300A,0322)': { 'tag': '(300A,0322)', 'vr': 'LO', 'vm': '1', 'name': 'RangeShifterDescription' },
+ '(300A,0330)': { 'tag': '(300A,0330)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfLateralSpreadingDevices' },
+ '(300A,0332)': { 'tag': '(300A,0332)', 'vr': 'SQ', 'vm': '1', 'name': 'LateralSpreadingDeviceSequence' },
+ '(300A,0334)': { 'tag': '(300A,0334)', 'vr': 'IS', 'vm': '1', 'name': 'LateralSpreadingDeviceNumber' },
+ '(300A,0336)': { 'tag': '(300A,0336)', 'vr': 'SH', 'vm': '1', 'name': 'LateralSpreadingDeviceID' },
+ '(300A,0338)': { 'tag': '(300A,0338)', 'vr': 'CS', 'vm': '1', 'name': 'LateralSpreadingDeviceType' },
+ '(300A,033A)': { 'tag': '(300A,033A)', 'vr': 'LO', 'vm': '1', 'name': 'LateralSpreadingDeviceDescription' },
+ '(300A,033C)': { 'tag': '(300A,033C)', 'vr': 'FL', 'vm': '1', 'name': 'LateralSpreadingDeviceWaterEquivalentThickness' },
+ '(300A,0340)': { 'tag': '(300A,0340)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfRangeModulators' },
+ '(300A,0342)': { 'tag': '(300A,0342)', 'vr': 'SQ', 'vm': '1', 'name': 'RangeModulatorSequence' },
+ '(300A,0344)': { 'tag': '(300A,0344)', 'vr': 'IS', 'vm': '1', 'name': 'RangeModulatorNumber' },
+ '(300A,0346)': { 'tag': '(300A,0346)', 'vr': 'SH', 'vm': '1', 'name': 'RangeModulatorID' },
+ '(300A,0348)': { 'tag': '(300A,0348)', 'vr': 'CS', 'vm': '1', 'name': 'RangeModulatorType' },
+ '(300A,034A)': { 'tag': '(300A,034A)', 'vr': 'LO', 'vm': '1', 'name': 'RangeModulatorDescription' },
+ '(300A,034C)': { 'tag': '(300A,034C)', 'vr': 'SH', 'vm': '1', 'name': 'BeamCurrentModulationID' },
+ '(300A,0350)': { 'tag': '(300A,0350)', 'vr': 'CS', 'vm': '1', 'name': 'PatientSupportType' },
+ '(300A,0352)': { 'tag': '(300A,0352)', 'vr': 'SH', 'vm': '1', 'name': 'PatientSupportID' },
+ '(300A,0354)': { 'tag': '(300A,0354)', 'vr': 'LO', 'vm': '1', 'name': 'PatientSupportAccessoryCode' },
+ '(300A,0356)': { 'tag': '(300A,0356)', 'vr': 'FL', 'vm': '1', 'name': 'FixationLightAzimuthalAngle' },
+ '(300A,0358)': { 'tag': '(300A,0358)', 'vr': 'FL', 'vm': '1', 'name': 'FixationLightPolarAngle' },
+ '(300A,035A)': { 'tag': '(300A,035A)', 'vr': 'FL', 'vm': '1', 'name': 'MetersetRate' },
+ '(300A,0360)': { 'tag': '(300A,0360)', 'vr': 'SQ', 'vm': '1', 'name': 'RangeShifterSettingsSequence' },
+ '(300A,0362)': { 'tag': '(300A,0362)', 'vr': 'LO', 'vm': '1', 'name': 'RangeShifterSetting' },
+ '(300A,0364)': { 'tag': '(300A,0364)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToRangeShifterDistance' },
+ '(300A,0366)': { 'tag': '(300A,0366)', 'vr': 'FL', 'vm': '1', 'name': 'RangeShifterWaterEquivalentThickness' },
+ '(300A,0370)': { 'tag': '(300A,0370)', 'vr': 'SQ', 'vm': '1', 'name': 'LateralSpreadingDeviceSettingsSequence' },
+ '(300A,0372)': { 'tag': '(300A,0372)', 'vr': 'LO', 'vm': '1', 'name': 'LateralSpreadingDeviceSetting' },
+ '(300A,0374)': { 'tag': '(300A,0374)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToLateralSpreadingDeviceDistance' },
+ '(300A,0380)': { 'tag': '(300A,0380)', 'vr': 'SQ', 'vm': '1', 'name': 'RangeModulatorSettingsSequence' },
+ '(300A,0382)': { 'tag': '(300A,0382)', 'vr': 'FL', 'vm': '1', 'name': 'RangeModulatorGatingStartValue' },
+ '(300A,0384)': { 'tag': '(300A,0384)', 'vr': 'FL', 'vm': '1', 'name': 'RangeModulatorGatingStopValue' },
+ '(300A,0386)': { 'tag': '(300A,0386)', 'vr': 'FL', 'vm': '1', 'name': 'RangeModulatorGatingStartWaterEquivalentThickness' },
+ '(300A,0388)': { 'tag': '(300A,0388)', 'vr': 'FL', 'vm': '1', 'name': 'RangeModulatorGatingStopWaterEquivalentThickness' },
+ '(300A,038A)': { 'tag': '(300A,038A)', 'vr': 'FL', 'vm': '1', 'name': 'IsocenterToRangeModulatorDistance' },
+ '(300A,0390)': { 'tag': '(300A,0390)', 'vr': 'SH', 'vm': '1', 'name': 'ScanSpotTuneID' },
+ '(300A,0392)': { 'tag': '(300A,0392)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfScanSpotPositions' },
+ '(300A,0394)': { 'tag': '(300A,0394)', 'vr': 'FL', 'vm': '1-n', 'name': 'ScanSpotPositionMap' },
+ '(300A,0396)': { 'tag': '(300A,0396)', 'vr': 'FL', 'vm': '1-n', 'name': 'ScanSpotMetersetWeights' },
+ '(300A,0398)': { 'tag': '(300A,0398)', 'vr': 'FL', 'vm': '2', 'name': 'ScanningSpotSize' },
+ '(300A,039A)': { 'tag': '(300A,039A)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfPaintings' },
+ '(300A,03A0)': { 'tag': '(300A,03A0)', 'vr': 'SQ', 'vm': '1', 'name': 'IonToleranceTableSequence' },
+ '(300A,03A2)': { 'tag': '(300A,03A2)', 'vr': 'SQ', 'vm': '1', 'name': 'IonBeamSequence' },
+ '(300A,03A4)': { 'tag': '(300A,03A4)', 'vr': 'SQ', 'vm': '1', 'name': 'IonBeamLimitingDeviceSequence' },
+ '(300A,03A6)': { 'tag': '(300A,03A6)', 'vr': 'SQ', 'vm': '1', 'name': 'IonBlockSequence' },
+ '(300A,03A8)': { 'tag': '(300A,03A8)', 'vr': 'SQ', 'vm': '1', 'name': 'IonControlPointSequence' },
+ '(300A,03AA)': { 'tag': '(300A,03AA)', 'vr': 'SQ', 'vm': '1', 'name': 'IonWedgeSequence' },
+ '(300A,03AC)': { 'tag': '(300A,03AC)', 'vr': 'SQ', 'vm': '1', 'name': 'IonWedgePositionSequence' },
+ '(300A,0401)': { 'tag': '(300A,0401)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedSetupImageSequence' },
+ '(300A,0402)': { 'tag': '(300A,0402)', 'vr': 'ST', 'vm': '1', 'name': 'SetupImageComment' },
+ '(300A,0410)': { 'tag': '(300A,0410)', 'vr': 'SQ', 'vm': '1', 'name': 'MotionSynchronizationSequence' },
+ '(300A,0412)': { 'tag': '(300A,0412)', 'vr': 'FL', 'vm': '3', 'name': 'ControlPointOrientation' },
+ '(300A,0420)': { 'tag': '(300A,0420)', 'vr': 'SQ', 'vm': '1', 'name': 'GeneralAccessorySequence' },
+ '(300A,0421)': { 'tag': '(300A,0421)', 'vr': 'SH', 'vm': '1', 'name': 'GeneralAccessoryID' },
+ '(300A,0422)': { 'tag': '(300A,0422)', 'vr': 'ST', 'vm': '1', 'name': 'GeneralAccessoryDescription' },
+ '(300A,0423)': { 'tag': '(300A,0423)', 'vr': 'CS', 'vm': '1', 'name': 'GeneralAccessoryType' },
+ '(300A,0424)': { 'tag': '(300A,0424)', 'vr': 'IS', 'vm': '1', 'name': 'GeneralAccessoryNumber' },
+ '(300A,0431)': { 'tag': '(300A,0431)', 'vr': 'SQ', 'vm': '1', 'name': 'ApplicatorGeometrySequence' },
+ '(300A,0432)': { 'tag': '(300A,0432)', 'vr': 'CS', 'vm': '1', 'name': 'ApplicatorApertureShape' },
+ '(300A,0433)': { 'tag': '(300A,0433)', 'vr': 'FL', 'vm': '1', 'name': 'ApplicatorOpening' },
+ '(300A,0434)': { 'tag': '(300A,0434)', 'vr': 'FL', 'vm': '1', 'name': 'ApplicatorOpeningX' },
+ '(300A,0435)': { 'tag': '(300A,0435)', 'vr': 'FL', 'vm': '1', 'name': 'ApplicatorOpeningY' },
+ '(300A,0436)': { 'tag': '(300A,0436)', 'vr': 'FL', 'vm': '1', 'name': 'SourceToApplicatorMountingPositionDistance' },
+ '(300C,0002)': { 'tag': '(300C,0002)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedRTPlanSequence' },
+ '(300C,0004)': { 'tag': '(300C,0004)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedBeamSequence' },
+ '(300C,0006)': { 'tag': '(300C,0006)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedBeamNumber' },
+ '(300C,0007)': { 'tag': '(300C,0007)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedReferenceImageNumber' },
+ '(300C,0008)': { 'tag': '(300C,0008)', 'vr': 'DS', 'vm': '1', 'name': 'StartCumulativeMetersetWeight' },
+ '(300C,0009)': { 'tag': '(300C,0009)', 'vr': 'DS', 'vm': '1', 'name': 'EndCumulativeMetersetWeight' },
+ '(300C,000A)': { 'tag': '(300C,000A)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedBrachyApplicationSetupSequence' },
+ '(300C,000C)': { 'tag': '(300C,000C)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedBrachyApplicationSetupNumber' },
+ '(300C,000E)': { 'tag': '(300C,000E)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedSourceNumber' },
+ '(300C,0020)': { 'tag': '(300C,0020)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedFractionGroupSequence' },
+ '(300C,0022)': { 'tag': '(300C,0022)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedFractionGroupNumber' },
+ '(300C,0040)': { 'tag': '(300C,0040)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedVerificationImageSequence' },
+ '(300C,0042)': { 'tag': '(300C,0042)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedReferenceImageSequence' },
+ '(300C,0050)': { 'tag': '(300C,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedDoseReferenceSequence' },
+ '(300C,0051)': { 'tag': '(300C,0051)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedDoseReferenceNumber' },
+ '(300C,0055)': { 'tag': '(300C,0055)', 'vr': 'SQ', 'vm': '1', 'name': 'BrachyReferencedDoseReferenceSequence' },
+ '(300C,0060)': { 'tag': '(300C,0060)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedStructureSetSequence' },
+ '(300C,006A)': { 'tag': '(300C,006A)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedPatientSetupNumber' },
+ '(300C,0080)': { 'tag': '(300C,0080)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedDoseSequence' },
+ '(300C,00A0)': { 'tag': '(300C,00A0)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedToleranceTableNumber' },
+ '(300C,00B0)': { 'tag': '(300C,00B0)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedBolusSequence' },
+ '(300C,00C0)': { 'tag': '(300C,00C0)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedWedgeNumber' },
+ '(300C,00D0)': { 'tag': '(300C,00D0)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedCompensatorNumber' },
+ '(300C,00E0)': { 'tag': '(300C,00E0)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedBlockNumber' },
+ '(300C,00F0)': { 'tag': '(300C,00F0)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedControlPointIndex' },
+ '(300C,00F2)': { 'tag': '(300C,00F2)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedControlPointSequence' },
+ '(300C,00F4)': { 'tag': '(300C,00F4)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedStartControlPointIndex' },
+ '(300C,00F6)': { 'tag': '(300C,00F6)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedStopControlPointIndex' },
+ '(300C,0100)': { 'tag': '(300C,0100)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedRangeShifterNumber' },
+ '(300C,0102)': { 'tag': '(300C,0102)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedLateralSpreadingDeviceNumber' },
+ '(300C,0104)': { 'tag': '(300C,0104)', 'vr': 'IS', 'vm': '1', 'name': 'ReferencedRangeModulatorNumber' },
+ '(300E,0002)': { 'tag': '(300E,0002)', 'vr': 'CS', 'vm': '1', 'name': 'ApprovalStatus' },
+ '(300E,0004)': { 'tag': '(300E,0004)', 'vr': 'DA', 'vm': '1', 'name': 'ReviewDate' },
+ '(300E,0005)': { 'tag': '(300E,0005)', 'vr': 'TM', 'vm': '1', 'name': 'ReviewTime' },
+ '(300E,0008)': { 'tag': '(300E,0008)', 'vr': 'PN', 'vm': '1', 'name': 'ReviewerName' },
+ '(4000,0010)': { 'tag': '(4000,0010)', 'vr': 'LT', 'vm': '1', 'name': 'Arbitrary' },
+ '(4000,4000)': { 'tag': '(4000,4000)', 'vr': 'LT', 'vm': '1', 'name': 'TextComments' },
+ '(4008,0040)': { 'tag': '(4008,0040)', 'vr': 'SH', 'vm': '1', 'name': 'ResultsID' },
+ '(4008,0042)': { 'tag': '(4008,0042)', 'vr': 'LO', 'vm': '1', 'name': 'ResultsIDIssuer' },
+ '(4008,0050)': { 'tag': '(4008,0050)', 'vr': 'SQ', 'vm': '1', 'name': 'ReferencedInterpretationSequence' },
+ '(4008,00FF)': { 'tag': '(4008,00FF)', 'vr': 'CS', 'vm': '1', 'name': 'ReportProductionStatusTrial' },
+ '(4008,0100)': { 'tag': '(4008,0100)', 'vr': 'DA', 'vm': '1', 'name': 'InterpretationRecordedDate' },
+ '(4008,0101)': { 'tag': '(4008,0101)', 'vr': 'TM', 'vm': '1', 'name': 'InterpretationRecordedTime' },
+ '(4008,0102)': { 'tag': '(4008,0102)', 'vr': 'PN', 'vm': '1', 'name': 'InterpretationRecorder' },
+ '(4008,0103)': { 'tag': '(4008,0103)', 'vr': 'LO', 'vm': '1', 'name': 'ReferenceToRecordedSound' },
+ '(4008,0108)': { 'tag': '(4008,0108)', 'vr': 'DA', 'vm': '1', 'name': 'InterpretationTranscriptionDate' },
+ '(4008,0109)': { 'tag': '(4008,0109)', 'vr': 'TM', 'vm': '1', 'name': 'InterpretationTranscriptionTime' },
+ '(4008,010A)': { 'tag': '(4008,010A)', 'vr': 'PN', 'vm': '1', 'name': 'InterpretationTranscriber' },
+ '(4008,010B)': { 'tag': '(4008,010B)', 'vr': 'ST', 'vm': '1', 'name': 'InterpretationText' },
+ '(4008,010C)': { 'tag': '(4008,010C)', 'vr': 'PN', 'vm': '1', 'name': 'InterpretationAuthor' },
+ '(4008,0111)': { 'tag': '(4008,0111)', 'vr': 'SQ', 'vm': '1', 'name': 'InterpretationApproverSequence' },
+ '(4008,0112)': { 'tag': '(4008,0112)', 'vr': 'DA', 'vm': '1', 'name': 'InterpretationApprovalDate' },
+ '(4008,0113)': { 'tag': '(4008,0113)', 'vr': 'TM', 'vm': '1', 'name': 'InterpretationApprovalTime' },
+ '(4008,0114)': { 'tag': '(4008,0114)', 'vr': 'PN', 'vm': '1', 'name': 'PhysicianApprovingInterpretation' },
+ '(4008,0115)': { 'tag': '(4008,0115)', 'vr': 'LT', 'vm': '1', 'name': 'InterpretationDiagnosisDescription' },
+ '(4008,0117)': { 'tag': '(4008,0117)', 'vr': 'SQ', 'vm': '1', 'name': 'InterpretationDiagnosisCodeSequence' },
+ '(4008,0118)': { 'tag': '(4008,0118)', 'vr': 'SQ', 'vm': '1', 'name': 'ResultsDistributionListSequence' },
+ '(4008,0119)': { 'tag': '(4008,0119)', 'vr': 'PN', 'vm': '1', 'name': 'DistributionName' },
+ '(4008,011A)': { 'tag': '(4008,011A)', 'vr': 'LO', 'vm': '1', 'name': 'DistributionAddress' },
+ '(4008,0200)': { 'tag': '(4008,0200)', 'vr': 'SH', 'vm': '1', 'name': 'InterpretationID' },
+ '(4008,0202)': { 'tag': '(4008,0202)', 'vr': 'LO', 'vm': '1', 'name': 'InterpretationIDIssuer' },
+ '(4008,0210)': { 'tag': '(4008,0210)', 'vr': 'CS', 'vm': '1', 'name': 'InterpretationTypeID' },
+ '(4008,0212)': { 'tag': '(4008,0212)', 'vr': 'CS', 'vm': '1', 'name': 'InterpretationStatusID' },
+ '(4008,0300)': { 'tag': '(4008,0300)', 'vr': 'ST', 'vm': '1', 'name': 'Impressions' },
+ '(4008,4000)': { 'tag': '(4008,4000)', 'vr': 'ST', 'vm': '1 ', 'name': 'ResultsComments' },
+ '(4010,0001)': { 'tag': '(4010,0001)', 'vr': 'CS', 'vm': '1', 'name': 'LowEnergyDetectors' },
+ '(4010,0002)': { 'tag': '(4010,0002)', 'vr': 'CS', 'vm': '1', 'name': 'HighEnergyDetectors' },
+ '(4010,0004)': { 'tag': '(4010,0004)', 'vr': 'SQ', 'vm': '1', 'name': 'DetectorGeometrySequence' },
+ '(4010,1001)': { 'tag': '(4010,1001)', 'vr': 'SQ', 'vm': '1', 'name': 'ThreatROIVoxelSequence' },
+ '(4010,1004)': { 'tag': '(4010,1004)', 'vr': 'FL', 'vm': '3', 'name': 'ThreatROIBase' },
+ '(4010,1005)': { 'tag': '(4010,1005)', 'vr': 'FL', 'vm': '3', 'name': 'ThreatROIExtents' },
+ '(4010,1006)': { 'tag': '(4010,1006)', 'vr': 'OB', 'vm': '1', 'name': 'ThreatROIBitmap' },
+ '(4010,1007)': { 'tag': '(4010,1007)', 'vr': 'SH', 'vm': '1', 'name': 'RouteSegmentID' },
+ '(4010,1008)': { 'tag': '(4010,1008)', 'vr': 'CS', 'vm': '1', 'name': 'GantryType' },
+ '(4010,1009)': { 'tag': '(4010,1009)', 'vr': 'CS', 'vm': '1', 'name': 'OOIOwnerType' },
+ '(4010,100A)': { 'tag': '(4010,100A)', 'vr': 'SQ', 'vm': '1', 'name': 'RouteSegmentSequence' },
+ '(4010,1010)': { 'tag': '(4010,1010)', 'vr': 'US', 'vm': '1', 'name': 'PotentialThreatObjectID' },
+ '(4010,1011)': { 'tag': '(4010,1011)', 'vr': 'SQ', 'vm': '1', 'name': 'ThreatSequence' },
+ '(4010,1012)': { 'tag': '(4010,1012)', 'vr': 'CS', 'vm': '1', 'name': 'ThreatCategory' },
+ '(4010,1013)': { 'tag': '(4010,1013)', 'vr': 'LT', 'vm': '1', 'name': 'ThreatCategoryDescription' },
+ '(4010,1014)': { 'tag': '(4010,1014)', 'vr': 'CS', 'vm': '1', 'name': 'ATDAbilityAssessment' },
+ '(4010,1015)': { 'tag': '(4010,1015)', 'vr': 'CS', 'vm': '1', 'name': 'ATDAssessmentFlag' },
+ '(4010,1016)': { 'tag': '(4010,1016)', 'vr': 'FL', 'vm': '1', 'name': 'ATDAssessmentProbability' },
+ '(4010,1017)': { 'tag': '(4010,1017)', 'vr': 'FL', 'vm': '1', 'name': 'Mass' },
+ '(4010,1018)': { 'tag': '(4010,1018)', 'vr': 'FL', 'vm': '1', 'name': 'Density' },
+ '(4010,1019)': { 'tag': '(4010,1019)', 'vr': 'FL', 'vm': '1', 'name': 'ZEffective' },
+ '(4010,101A)': { 'tag': '(4010,101A)', 'vr': 'SH', 'vm': '1', 'name': 'BoardingPassID' },
+ '(4010,101B)': { 'tag': '(4010,101B)', 'vr': 'FL', 'vm': '3', 'name': 'CenterOfMass' },
+ '(4010,101C)': { 'tag': '(4010,101C)', 'vr': 'FL', 'vm': '3', 'name': 'CenterOfPTO' },
+ '(4010,101D)': { 'tag': '(4010,101D)', 'vr': 'FL', 'vm': '6-n', 'name': 'BoundingPolygon' },
+ '(4010,101E)': { 'tag': '(4010,101E)', 'vr': 'SH', 'vm': '1', 'name': 'RouteSegmentStartLocationID' },
+ '(4010,101F)': { 'tag': '(4010,101F)', 'vr': 'SH', 'vm': '1', 'name': 'RouteSegmentEndLocationID' },
+ '(4010,1020)': { 'tag': '(4010,1020)', 'vr': 'CS', 'vm': '1', 'name': 'RouteSegmentLocationIDType' },
+ '(4010,1021)': { 'tag': '(4010,1021)', 'vr': 'CS', 'vm': '1-n', 'name': 'AbortReason' },
+ '(4010,1023)': { 'tag': '(4010,1023)', 'vr': 'FL', 'vm': '1', 'name': 'VolumeOfPTO' },
+ '(4010,1024)': { 'tag': '(4010,1024)', 'vr': 'CS', 'vm': '1', 'name': 'AbortFlag' },
+ '(4010,1025)': { 'tag': '(4010,1025)', 'vr': 'DT', 'vm': '1', 'name': 'RouteSegmentStartTime' },
+ '(4010,1026)': { 'tag': '(4010,1026)', 'vr': 'DT', 'vm': '1', 'name': 'RouteSegmentEndTime' },
+ '(4010,1027)': { 'tag': '(4010,1027)', 'vr': 'CS', 'vm': '1', 'name': 'TDRType' },
+ '(4010,1028)': { 'tag': '(4010,1028)', 'vr': 'CS', 'vm': '1', 'name': 'InternationalRouteSegment' },
+ '(4010,1029)': { 'tag': '(4010,1029)', 'vr': 'LO', 'vm': '1-n', 'name': 'ThreatDetectionAlgorithmandVersion' },
+ '(4010,102A)': { 'tag': '(4010,102A)', 'vr': 'SH', 'vm': '1', 'name': 'AssignedLocation' },
+ '(4010,102B)': { 'tag': '(4010,102B)', 'vr': 'DT', 'vm': '1', 'name': 'AlarmDecisionTime' },
+ '(4010,1031)': { 'tag': '(4010,1031)', 'vr': 'CS', 'vm': '1', 'name': 'AlarmDecision' },
+ '(4010,1033)': { 'tag': '(4010,1033)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfTotalObjects' },
+ '(4010,1034)': { 'tag': '(4010,1034)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfAlarmObjects' },
+ '(4010,1037)': { 'tag': '(4010,1037)', 'vr': 'SQ', 'vm': '1', 'name': 'PTORepresentationSequence' },
+ '(4010,1038)': { 'tag': '(4010,1038)', 'vr': 'SQ', 'vm': '1', 'name': 'ATDAssessmentSequence' },
+ '(4010,1039)': { 'tag': '(4010,1039)', 'vr': 'CS', 'vm': '1', 'name': 'TIPType' },
+ '(4010,103A)': { 'tag': '(4010,103A)', 'vr': 'CS', 'vm': '1', 'name': 'DICOSVersion' },
+ '(4010,1041)': { 'tag': '(4010,1041)', 'vr': 'DT', 'vm': '1', 'name': 'OOIOwnerCreationTime' },
+ '(4010,1042)': { 'tag': '(4010,1042)', 'vr': 'CS', 'vm': '1', 'name': 'OOIType' },
+ '(4010,1043)': { 'tag': '(4010,1043)', 'vr': 'FL', 'vm': '3', 'name': 'OOISize' },
+ '(4010,1044)': { 'tag': '(4010,1044)', 'vr': 'CS', 'vm': '1', 'name': 'AcquisitionStatus' },
+ '(4010,1045)': { 'tag': '(4010,1045)', 'vr': 'SQ', 'vm': '1', 'name': 'BasisMaterialsCodeSequence' },
+ '(4010,1046)': { 'tag': '(4010,1046)', 'vr': 'CS', 'vm': '1', 'name': 'PhantomType' },
+ '(4010,1047)': { 'tag': '(4010,1047)', 'vr': 'SQ', 'vm': '1', 'name': 'OOIOwnerSequence' },
+ '(4010,1048)': { 'tag': '(4010,1048)', 'vr': 'CS', 'vm': '1', 'name': 'ScanType' },
+ '(4010,1051)': { 'tag': '(4010,1051)', 'vr': 'LO', 'vm': '1', 'name': 'ItineraryID' },
+ '(4010,1052)': { 'tag': '(4010,1052)', 'vr': 'SH', 'vm': '1', 'name': 'ItineraryIDType' },
+ '(4010,1053)': { 'tag': '(4010,1053)', 'vr': 'LO', 'vm': '1', 'name': 'ItineraryIDAssigningAuthority' },
+ '(4010,1054)': { 'tag': '(4010,1054)', 'vr': 'SH', 'vm': '1', 'name': 'RouteID' },
+ '(4010,1055)': { 'tag': '(4010,1055)', 'vr': 'SH', 'vm': '1', 'name': 'RouteIDAssigningAuthority' },
+ '(4010,1056)': { 'tag': '(4010,1056)', 'vr': 'CS', 'vm': '1', 'name': 'InboundArrivalType' },
+ '(4010,1058)': { 'tag': '(4010,1058)', 'vr': 'SH', 'vm': '1', 'name': 'CarrierID' },
+ '(4010,1059)': { 'tag': '(4010,1059)', 'vr': 'CS', 'vm': '1', 'name': 'CarrierIDAssigningAuthority' },
+ '(4010,1060)': { 'tag': '(4010,1060)', 'vr': 'FL', 'vm': '3', 'name': 'SourceOrientation' },
+ '(4010,1061)': { 'tag': '(4010,1061)', 'vr': 'FL', 'vm': '3', 'name': 'SourcePosition' },
+ '(4010,1062)': { 'tag': '(4010,1062)', 'vr': 'FL', 'vm': '1', 'name': 'BeltHeight' },
+ '(4010,1064)': { 'tag': '(4010,1064)', 'vr': 'SQ', 'vm': '1', 'name': 'AlgorithmRoutingCodeSequence' },
+ '(4010,1067)': { 'tag': '(4010,1067)', 'vr': 'CS', 'vm': '1', 'name': 'TransportClassification' },
+ '(4010,1068)': { 'tag': '(4010,1068)', 'vr': 'LT', 'vm': '1', 'name': 'OOITypeDescriptor' },
+ '(4010,1069)': { 'tag': '(4010,1069)', 'vr': 'FL', 'vm': '1', 'name': 'TotalProcessingTime' },
+ '(4010,106C)': { 'tag': '(4010,106C)', 'vr': 'OB', 'vm': '1', 'name': 'DetectorCalibrationData' },
+ '(4FFE,0001)': { 'tag': '(4FFE,0001)', 'vr': 'SQ', 'vm': '1', 'name': 'MACParametersSequence' },
+ '(50xx,0005)': { 'tag': '(50xx,0005)', 'vr': 'US', 'vm': '1', 'name': 'CurveDimensions' },
+ '(50xx,0010)': { 'tag': '(50xx,0010)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfPoints' },
+ '(50xx,0020)': { 'tag': '(50xx,0020)', 'vr': 'CS', 'vm': '1', 'name': 'TypeOfData' },
+ '(50xx,0022)': { 'tag': '(50xx,0022)', 'vr': 'LO', 'vm': '1', 'name': 'CurveDescription' },
+ '(50xx,0030)': { 'tag': '(50xx,0030)', 'vr': 'SH', 'vm': '1-n', 'name': 'AxisUnits' },
+ '(50xx,0040)': { 'tag': '(50xx,0040)', 'vr': 'SH', 'vm': '1-n', 'name': 'AxisLabels' },
+ '(50xx,0103)': { 'tag': '(50xx,0103)', 'vr': 'US', 'vm': '1', 'name': 'DataValueRepresentation' },
+ '(50xx,0104)': { 'tag': '(50xx,0104)', 'vr': 'US', 'vm': '1-n', 'name': 'MinimumCoordinateValue' },
+ '(50xx,0105)': { 'tag': '(50xx,0105)', 'vr': 'US', 'vm': '1-n', 'name': 'MaximumCoordinateValue' },
+ '(50xx,0106)': { 'tag': '(50xx,0106)', 'vr': 'SH', 'vm': '1-n', 'name': 'CurveRange' },
+ '(50xx,0110)': { 'tag': '(50xx,0110)', 'vr': 'US', 'vm': '1-n', 'name': 'CurveDataDescriptor' },
+ '(50xx,0112)': { 'tag': '(50xx,0112)', 'vr': 'US', 'vm': '1-n', 'name': 'CoordinateStartValue' },
+ '(50xx,0114)': { 'tag': '(50xx,0114)', 'vr': 'US', 'vm': '1-n', 'name': 'CoordinateStepValue' },
+ '(50xx,1001)': { 'tag': '(50xx,1001)', 'vr': 'CS', 'vm': '1', 'name': 'CurveActivationLayer' },
+ '(50xx,2000)': { 'tag': '(50xx,2000)', 'vr': 'US', 'vm': '1', 'name': 'AudioType' },
+ '(50xx,2002)': { 'tag': '(50xx,2002)', 'vr': 'US', 'vm': '1', 'name': 'AudioSampleFormat' },
+ '(50xx,2004)': { 'tag': '(50xx,2004)', 'vr': 'US', 'vm': '1', 'name': 'NumberOfChannels' },
+ '(50xx,2006)': { 'tag': '(50xx,2006)', 'vr': 'UL', 'vm': '1', 'name': 'NumberOfSamples' },
+ '(50xx,2008)': { 'tag': '(50xx,2008)', 'vr': 'UL', 'vm': '1', 'name': 'SampleRate' },
+ '(50xx,200A)': { 'tag': '(50xx,200A)', 'vr': 'UL', 'vm': '1', 'name': 'TotalTime' },
+ '(50xx,200C)': { 'tag': '(50xx,200C)', 'vr': 'OW|OB', 'vm': '1', 'name': 'AudioSampleData' },
+ '(50xx,200E)': { 'tag': '(50xx,200E)', 'vr': 'LT', 'vm': '1 ', 'name': 'AudioComments' },
+ '(50xx,2500)': { 'tag': '(50xx,2500)', 'vr': 'LO', 'vm': '1', 'name': 'CurveLabel' },
+ '(50xx,2600)': { 'tag': '(50xx,2600)', 'vr': 'SQ', 'vm': '1', 'name': 'CurveReferencedOverlaySequence' },
+ '(50xx,2610)': { 'tag': '(50xx,2610)', 'vr': 'US', 'vm': '1', 'name': 'CurveReferencedOverlayGroup' },
+ '(50xx,3000)': { 'tag': '(50xx,3000)', 'vr': 'OW|OB', 'vm': '1', 'name': 'CurveData' },
+ '(5200,9229)': { 'tag': '(5200,9229)', 'vr': 'SQ', 'vm': '1', 'name': 'SharedFunctionalGroupsSequence' },
+ '(5200,9230)': { 'tag': '(5200,9230)', 'vr': 'SQ', 'vm': '1', 'name': 'PerFrameFunctionalGroupsSequence' },
+ '(5400,0100)': { 'tag': '(5400,0100)', 'vr': 'SQ', 'vm': '1', 'name': 'WaveformSequence' },
+ '(5400,0110)': { 'tag': '(5400,0110)', 'vr': 'OB|OW', 'vm': '1', 'name': 'ChannelMinimumValue' },
+ '(5400,0112)': { 'tag': '(5400,0112)', 'vr': 'OB|OW', 'vm': '1', 'name': 'ChannelMaximumValue' },
+ '(5400,1004)': { 'tag': '(5400,1004)', 'vr': 'US', 'vm': '1', 'name': 'WaveformBitsAllocated' },
+ '(5400,1006)': { 'tag': '(5400,1006)', 'vr': 'CS', 'vm': '1', 'name': 'WaveformSampleInterpretation' },
+ '(5400,100A)': { 'tag': '(5400,100A)', 'vr': 'OB|OW', 'vm': '1', 'name': 'WaveformPaddingValue' },
+ '(5400,1010)': { 'tag': '(5400,1010)', 'vr': 'OB|OW', 'vm': '1', 'name': 'WaveformData' },
+ '(5600,0010)': { 'tag': '(5600,0010)', 'vr': 'OF', 'vm': '1', 'name': 'FirstOrderPhaseCorrectionAngle' },
+ '(5600,0020)': { 'tag': '(5600,0020)', 'vr': 'OF', 'vm': '1', 'name': 'SpectroscopyData' },
+ '(60xx,0010)': { 'tag': '(60xx,0010)', 'vr': 'US', 'vm': '1', 'name': 'OverlayRows' },
+ '(60xx,0011)': { 'tag': '(60xx,0011)', 'vr': 'US', 'vm': '1', 'name': 'OverlayColumns' },
+ '(60xx,0012)': { 'tag': '(60xx,0012)', 'vr': 'US', 'vm': '1', 'name': 'OverlayPlanes' },
+ '(60xx,0015)': { 'tag': '(60xx,0015)', 'vr': 'IS', 'vm': '1', 'name': 'NumberOfFramesInOverlay' },
+ '(60xx,0022)': { 'tag': '(60xx,0022)', 'vr': 'LO', 'vm': '1', 'name': 'OverlayDescription' },
+ '(60xx,0040)': { 'tag': '(60xx,0040)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayType' },
+ '(60xx,0045)': { 'tag': '(60xx,0045)', 'vr': 'LO', 'vm': '1', 'name': 'OverlaySubtype' },
+ '(60xx,0050)': { 'tag': '(60xx,0050)', 'vr': 'SS', 'vm': '2', 'name': 'OverlayOrigin' },
+ '(60xx,0051)': { 'tag': '(60xx,0051)', 'vr': 'US', 'vm': '1', 'name': 'ImageFrameOrigin' },
+ '(60xx,0052)': { 'tag': '(60xx,0052)', 'vr': 'US', 'vm': '1', 'name': 'OverlayPlaneOrigin' },
+ '(60xx,0060)': { 'tag': '(60xx,0060)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayCompressionCode' },
+ '(60xx,0061)': { 'tag': '(60xx,0061)', 'vr': 'SH', 'vm': '1', 'name': 'OverlayCompressionOriginator' },
+ '(60xx,0062)': { 'tag': '(60xx,0062)', 'vr': 'SH', 'vm': '1', 'name': 'OverlayCompressionLabel' },
+ '(60xx,0063)': { 'tag': '(60xx,0063)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayCompressionDescription' },
+ '(60xx,0066)': { 'tag': '(60xx,0066)', 'vr': 'AT', 'vm': '1-n', 'name': 'OverlayCompressionStepPointers' },
+ '(60xx,0068)': { 'tag': '(60xx,0068)', 'vr': 'US', 'vm': '1', 'name': 'OverlayRepeatInterval' },
+ '(60xx,0069)': { 'tag': '(60xx,0069)', 'vr': 'US', 'vm': '1', 'name': 'OverlayBitsGrouped' },
+ '(60xx,0100)': { 'tag': '(60xx,0100)', 'vr': 'US', 'vm': '1', 'name': 'OverlayBitsAllocated' },
+ '(60xx,0102)': { 'tag': '(60xx,0102)', 'vr': 'US', 'vm': '1', 'name': 'OverlayBitPosition' },
+ '(60xx,0110)': { 'tag': '(60xx,0110)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayFormat' },
+ '(60xx,0200)': { 'tag': '(60xx,0200)', 'vr': 'US', 'vm': '1', 'name': 'OverlayLocation' },
+ '(60xx,0800)': { 'tag': '(60xx,0800)', 'vr': 'CS', 'vm': '1-n', 'name': 'OverlayCodeLabel' },
+ '(60xx,0802)': { 'tag': '(60xx,0802)', 'vr': 'US', 'vm': '1', 'name': 'OverlayNumberOfTables' },
+ '(60xx,0803)': { 'tag': '(60xx,0803)', 'vr': 'AT', 'vm': '1-n', 'name': 'OverlayCodeTableLocation' },
+ '(60xx,0804)': { 'tag': '(60xx,0804)', 'vr': 'US', 'vm': '1', 'name': 'OverlayBitsForCodeWord' },
+ '(60xx,1001)': { 'tag': '(60xx,1001)', 'vr': 'CS', 'vm': '1', 'name': 'OverlayActivationLayer' },
+ '(60xx,1100)': { 'tag': '(60xx,1100)', 'vr': 'US', 'vm': '1', 'name': 'OverlayDescriptorGray' },
+ '(60xx,1101)': { 'tag': '(60xx,1101)', 'vr': 'US', 'vm': '1', 'name': 'OverlayDescriptorRed' },
+ '(60xx,1102)': { 'tag': '(60xx,1102)', 'vr': 'US', 'vm': '1', 'name': 'OverlayDescriptorGreen' },
+ '(60xx,1103)': { 'tag': '(60xx,1103)', 'vr': 'US', 'vm': '1', 'name': 'OverlayDescriptorBlue' },
+ '(60xx,1200)': { 'tag': '(60xx,1200)', 'vr': 'US', 'vm': '1-n', 'name': 'OverlaysGray' },
+ '(60xx,1201)': { 'tag': '(60xx,1201)', 'vr': 'US', 'vm': '1-n', 'name': 'OverlaysRed' },
+ '(60xx,1202)': { 'tag': '(60xx,1202)', 'vr': 'US', 'vm': '1-n', 'name': 'OverlaysGreen' },
+ '(60xx,1203)': { 'tag': '(60xx,1203)', 'vr': 'US', 'vm': '1-n', 'name': 'OverlaysBlue' },
+ '(60xx,1301)': { 'tag': '(60xx,1301)', 'vr': 'IS', 'vm': '1', 'name': 'ROIArea' },
+ '(60xx,1302)': { 'tag': '(60xx,1302)', 'vr': 'DS', 'vm': '1', 'name': 'ROIMean' },
+ '(60xx,1303)': { 'tag': '(60xx,1303)', 'vr': 'DS', 'vm': '1', 'name': 'ROIStandardDeviation' },
+ '(60xx,1500)': { 'tag': '(60xx,1500)', 'vr': 'LO', 'vm': '1', 'name': 'OverlayLabel' },
+ '(60xx,3000)': { 'tag': '(60xx,3000)', 'vr': 'OB|OW', 'vm': '1', 'name': 'OverlayData' },
+ '(60xx,4000)': { 'tag': '(60xx,4000)', 'vr': 'LT', 'vm': '1', 'name': 'OverlayComments' },
+ '(7FE0,0010)': { 'tag': '(7FE0,0010)', 'vr': 'OW|OB', 'vm': '1', 'name': 'PixelData' },
+ '(7FE0,0020)': { 'tag': '(7FE0,0020)', 'vr': 'OW', 'vm': '1', 'name': 'CoefficientsSDVN' },
+ '(7FE0,0030)': { 'tag': '(7FE0,0030)', 'vr': 'OW', 'vm': '1', 'name': 'CoefficientsSDHN' },
+ '(7FE0,0040)': { 'tag': '(7FE0,0040)', 'vr': 'OW', 'vm': '1', 'name': 'CoefficientsSDDN' },
+ '(7Fxx,0010)': { 'tag': '(7Fxx,0010)', 'vr': 'OW|OB', 'vm': '1', 'name': 'VariablePixelData' },
+ '(7Fxx,0011)': { 'tag': '(7Fxx,0011)', 'vr': 'US', 'vm': '1', 'name': 'VariableNextDataGroup' },
+ '(7Fxx,0020)': { 'tag': '(7Fxx,0020)', 'vr': 'OW', 'vm': '1', 'name': 'VariableCoefficientsSDVN' },
+ '(7Fxx,0030)': { 'tag': '(7Fxx,0030)', 'vr': 'OW', 'vm': '1', 'name': 'VariableCoefficientsSDHN' },
+ '(7Fxx,0040)': { 'tag': '(7Fxx,0040)', 'vr': 'OW', 'vm': '1', 'name': 'VariableCoefficientsSDDN' },
+ '(FFFA,FFFA)': { 'tag': '(FFFA,FFFA)', 'vr': 'SQ', 'vm': '1', 'name': 'DigitalSignaturesSequence' },
+ '(FFFC,FFFC)': { 'tag': '(FFFC,FFFC)', 'vr': 'OB', 'vm': '1', 'name': 'DataSetTrailingPadding' },
+ '(FFFE,E000)': { 'tag': '(FFFE,E000)', 'vr': '', 'vm': '1', 'name': 'Item' },
+ '(FFFE,E00D)': { 'tag': '(FFFE,E00D)', 'vr': '', 'vm': '1', 'name': 'ItemDelimitationItem' },
+ '(FFFE,E0DD)': { 'tag': '(FFFE,E0DD)', 'vr': '', 'vm': '1', 'name': 'SequenceDelimitationItem' }
+}
+
From 8f274aad894f6a705c9e86f34f9e1b4bc7ae238f Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Fri, 30 Aug 2024 11:10:19 +0800
Subject: [PATCH 007/112] =?UTF-8?q?=E8=8E=B7=E5=8F=96tag=E5=B1=9E=E6=80=A7?=
=?UTF-8?q?=E4=B9=B1=E7=A0=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomTags.vue | 121 +++++++++++++++++++++++++----
1 file changed, 105 insertions(+), 16 deletions(-)
diff --git a/src/components/Dicom/DicomTags.vue b/src/components/Dicom/DicomTags.vue
index e44636ae..c0d859b2 100644
--- a/src/components/Dicom/DicomTags.vue
+++ b/src/components/Dicom/DicomTags.vue
@@ -36,7 +36,7 @@
sortable
/>
Frame #" + frameIndex + ''
- return linkText
- },
isASCII(str) {
return /^[\x00-\x7F]*$/.test(str)
},
From f0eda2bc66cf3b3830d633f7dd23316215987b0f Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 2 Sep 2024 14:12:26 +0800
Subject: [PATCH 008/112] =?UTF-8?q?=E9=A2=84=E8=A7=88=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main.js | 29 ++++----
.../trials-panel/reading/ad-review/index.vue | 16 +----
.../dicoms/components/Lugano/QuestionForm.vue | 7 --
.../customize/CustomizeQuestionFormItem.vue | 20 +++++-
.../customize/CustomizeQuestionItem.vue | 52 ++++++++------
.../CustomizeQuestionTableFormItem.vue | 53 +++++++++------
.../customize/CustomizeReportPageUpload.vue | 67 ++++++++++---------
.../medical-feedback/components/ChatForm.vue | 7 --
.../mim-medical-audit/components/ChatForm.vue | 7 --
.../components/Conclusions.vue | 20 +-----
10 files changed, 137 insertions(+), 141 deletions(-)
diff --git a/src/main.js b/src/main.js
index 7b1423e2..b1998a3e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -28,25 +28,22 @@ Vue.use(permission)
import Viewer from 'v-viewer'
import './assets/css/viewer.css'
-
-Vue.use(Viewer)
Viewer.setDefaults({
- Options: {
- 'inline': true,
- 'button': true,
- 'navbar': true,
- 'title': true,
- 'toolbar': true,
- 'tooltip': true,
- 'movable': true,
- 'zoomable': true,
- 'rotatable': true,
- 'scalable': true,
- 'transition': true,
- 'keyboard': true,
- 'url': 'data-source'
+ // navbar: true, //底部缩略图
+ toolbar: {
+ zoomIn: true,
+ zoomOut: true,
+ reset: true,
+ prev: true,
+ next: true,
+ rotateLeft: true,
+ rotateRight: true,
+ flipHorizontal: true,
+ flipVertical: true,
}
})
+Vue.use(Viewer)
+
import hasPermi from './directive/permission'
Vue.use(hasPermi)
diff --git a/src/views/trials/trials-panel/reading/ad-review/index.vue b/src/views/trials/trials-panel/reading/ad-review/index.vue
index 5c32a23f..ea386cc9 100644
--- a/src/views/trials/trials-panel/reading/ad-review/index.vue
+++ b/src/views/trials/trials-panel/reading/ad-review/index.vue
@@ -445,7 +445,6 @@ import SignForm from "@/views/trials/components/newSignForm";
import DicomEvent from "@/views/trials/trials-panel/reading/dicoms/components/DicomEvent";
// import store from '@/store'
import { changeURLStatic } from "@/utils/history.js";
-import Viewer from "v-viewer";
export default {
name: "AdReview",
components: { SignForm },
@@ -532,7 +531,6 @@ export default {
// }
// },
mounted() {
- this.initializeViewer();
this.criterionType = parseInt(this.$route.query.criterionType);
this.getAdInfo();
if (this.isReadingShowPreviousResults) {
@@ -960,19 +958,7 @@ export default {
this.loading = false;
console.log(e);
}
- },
- initializeViewer() {
- Viewer.setDefaults({
- toolbar: {
- zoomIn: true,
- zoomOut: true,
- rotateLeft: true,
- rotateRight: true,
- flipHorizontal: true,
- flipVertical: true,
- },
- });
- },
+ }
},
};
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue
index c5e7430a..74c2b4a2 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue
@@ -276,7 +276,6 @@ import { submitTableQuestion, deleteReadingRowAnswer, getIsSuvMaxLesion } from '
// import { uploadPrintscreen } from '@/api/reading'
import DicomEvent from './../DicomEvent'
import store from '@/store'
-import Viewer from 'v-viewer'
export default {
name: 'MeasurementForm',
props: {
@@ -353,7 +352,6 @@ export default {
}
},
mounted() {
- this.initializeViewer()
this.trialId = this.$route.query.trialId
this.initForm()
DicomEvent.$on('handleImageQualityAbnormal', () => {
@@ -380,11 +378,6 @@ export default {
}
}
},
- initializeViewer() {
- Viewer.setDefaults({
- toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
- })
- },
previewImage() {
this.$refs.viewer[0].$viewer.show()
},
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
index c40d341a..bf289f13 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionFormItem.vue
@@ -239,7 +239,7 @@
- ...
-
+ -->
+
+
+
@@ -801,6 +814,9 @@ export default {
}else{
this.imageUrl = this.OSSclientConfig.basePath + file.url
this.imgVisible = true
+ this.$nextTick(()=>{
+ this.$refs[this.imageUrl].$viewer.show()
+ })
}
},
// 删除图片
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionItem.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionItem.vue
index d6e7223a..ec700485 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionItem.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeQuestionItem.vue
@@ -138,27 +138,41 @@
>
-
![]()
-
-
-
-
+
+
+
+
+
-
-
+
+
+
-
+
-
![]()
-
-
-
-
+
+
+
+
+
-
-
+
+
+
-
+
-
![]()
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
- 加载中...
-
-
-
@@ -142,7 +144,8 @@ name: "CustomizeReportPageUpload",
window.open(this.OSSclientConfig.basePath + file.url,'_blank')
}else{
this.imageUrl = this.OSSclientConfig.basePath + file.url
- this.imgVisible = true
+ // this.imgVisible = true
+ this.$refs[file.url].$viewer.show()
}
},
// 删除图片
diff --git a/src/views/trials/trials-panel/reading/medical-feedback/components/ChatForm.vue b/src/views/trials/trials-panel/reading/medical-feedback/components/ChatForm.vue
index 1280f856..5a8c2668 100644
--- a/src/views/trials/trials-panel/reading/medical-feedback/components/ChatForm.vue
+++ b/src/views/trials/trials-panel/reading/medical-feedback/components/ChatForm.vue
@@ -143,7 +143,6 @@ import { getMedicalReviewDialog } from '@/api/trials'
import FeedbackForm from './FeedbackForm'
import mimAvatar from '@/assets/MIM.png'
import irAvatar from '@/assets/IR.png'
-import Viewer from 'v-viewer'
export default {
name: 'ChatForm',
components: { FeedbackForm },
@@ -177,7 +176,6 @@ export default {
}
},
mounted() {
- this.initializeViewer()
this.getMessageList()
},
methods: {
@@ -213,11 +211,6 @@ export default {
this.imagePath = `${this.OSSclientConfig.basePath}${path}`
this.previewDialog = true
this.$refs[path][0].$viewer.show()
- },
- initializeViewer() {
- Viewer.setDefaults({
- toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
- })
}
}
diff --git a/src/views/trials/trials-panel/reading/mim-medical-audit/components/ChatForm.vue b/src/views/trials/trials-panel/reading/mim-medical-audit/components/ChatForm.vue
index 272555a2..b2012239 100644
--- a/src/views/trials/trials-panel/reading/mim-medical-audit/components/ChatForm.vue
+++ b/src/views/trials/trials-panel/reading/mim-medical-audit/components/ChatForm.vue
@@ -171,7 +171,6 @@ import { getMedicalReviewDialog, sendMedicalReviewDialog } from '@/api/trials'
import FeedbackForm from '@/views/trials/trials-panel/reading/medical-feedback/components/FeedbackForm'
import mimAvatar from '@/assets/MIM.png'
import irAvatar from '@/assets/IR.png'
-import Viewer from 'v-viewer'
export default {
name: 'ChatForm',
components: {
@@ -207,7 +206,6 @@ export default {
}
},
mounted() {
- this.initializeViewer()
this.getMessageList()
},
methods: {
@@ -261,11 +259,6 @@ export default {
this.irFeedbackForm.title = this.$t('trials:medicalFeedback:title:feedback')
this.irFeedbackForm.visible = true
- },
- initializeViewer() {
- Viewer.setDefaults({
- toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
- })
}
}
diff --git a/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue b/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue
index 6956cc0b..6cf4e87e 100644
--- a/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue
+++ b/src/views/trials/trials-panel/reading/mim-medical-audit/components/Conclusions.vue
@@ -197,7 +197,6 @@
import { saveMedicalReviewInfo } from "@/api/trials";
import ChatForm from "./ChatForm";
import CloseQC from "./CloseQC";
-import Viewer from "v-viewer";
export default {
name: "AuditConclusions",
components: {
@@ -253,7 +252,6 @@ export default {
};
},
mounted() {
- this.initializeViewer();
this.initForm();
},
methods: {
@@ -435,21 +433,9 @@ export default {
var idx = this.fileList.findIndex((i) => i.url === file.url);
if (idx === -1) return;
this.fileList.splice(idx, 1);
- },
- initializeViewer() {
- Viewer.setDefaults({
- toolbar: {
- zoomIn: true,
- zoomOut: true,
- rotateLeft: true,
- rotateRight: true,
- flipHorizontal: true,
- flipVertical: true,
- },
- });
- },
- },
-};
+ }
+ }
+}
diff --git a/vue.config.js b/vue.config.js
index 21dac50b..ea3e8bf9 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -16,7 +16,7 @@ const name = process.env.NODE_ENV === 'usa' ? 'LILI' : defaultSettings.title ||
// eslint-disable-next-line no-undef
module.exports = {
// lintOnSave: false,
- transpileDependencies: ['@cornerstonejs', 'minio'],
+ transpileDependencies: ['@cornerstonejs', 'minio', '@aws-sdk', '@smithy'],
publicPath: process.env.NODE_ENV === 'development' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? process.env.VUE_APP_BASE_PATH : `${process.env.VUE_FILE_PATH}${process.env.VUE_APP_OSS_PATH}${distDate}/`,
// publicPath: '/',
outputDir: 'dist',
From e5175568088cf24077837dcd88e7c7dcde3e0e85 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 3 Sep 2024 14:12:39 +0800
Subject: [PATCH 011/112] =?UTF-8?q?crc=E4=B8=8A=E4=BC=A0dicom=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0FileSize?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/oss.js | 1 +
.../visit/crc-upload/components/uploadDicomFiles2.vue | 3 +++
2 files changed, 4 insertions(+)
diff --git a/src/utils/oss.js b/src/utils/oss.js
index 72766652..7bd76414 100644
--- a/src/utils/oss.js
+++ b/src/utils/oss.js
@@ -22,6 +22,7 @@ async function ossGenerateSTS() {
switch (res.Result.ObjectStoreUse) {
case 'AliyunOSS':
Vue.prototype.OSSclientConfig.bucket = Vue.prototype.OSSclientConfig.bucketName
+ Vue.prototype.OSSclientConfig.stsToken = Vue.prototype.OSSclientConfig.securityToken
Vue.prototype.OSSclientConfig.timeout = 10 * 60 * 1000
let OSSclient = new OSS(Vue.prototype.OSSclientConfig)
Vue.prototype.OSSclient = {
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index ccbcb19f..d00b004b 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -1291,6 +1291,7 @@ export default {
windowWidth: data.string('x00281051') || '',
modality: data.string('x00080060') || '',
file: file,
+ FileSize: file.size,
}
instanceList.push(instanceItem)
}
@@ -1661,6 +1662,7 @@ export default {
windowCenter: o.windowCenter,
windowWidth: o.windowWidth,
path: o.myPath,
+ FileSize: o.FileSize,
})
Record.Uploaded.push(name)
dicomInfo.failedFileCount++
@@ -1741,6 +1743,7 @@ export default {
windowCenter: o.windowCenter,
windowWidth: o.windowWidth,
path: scope.$getObjectName(res.url),
+ FileSize: o.FileSize,
})
o.myPath = scope.$getObjectName(res.url)
Record.Uploaded.push(name)
From 8ad50b561846e11fa0b1e778a02bf94ebc7b3301 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 3 Sep 2024 15:22:44 +0800
Subject: [PATCH 012/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=BD=91=E9=80=9F?=
=?UTF-8?q?=E6=A3=80=E6=B5=8B=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/multipartUpload/aws.js | 2 ++
src/utils/multipartUpload/oss.js | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/utils/multipartUpload/aws.js b/src/utils/multipartUpload/aws.js
index 7e61c7bc..a2aec0b4 100644
--- a/src/utils/multipartUpload/aws.js
+++ b/src/utils/multipartUpload/aws.js
@@ -13,6 +13,8 @@ let timer = null, // 网速定时器
export function AWSclose() {
if (timer) {
clearInterval(timer);
+ timer = null;
+ store.state.trials.uploadTip = '0kb/s'
}
bytesReceivedPerSecond = {};
}
diff --git a/src/utils/multipartUpload/oss.js b/src/utils/multipartUpload/oss.js
index ac718b8a..b4eab44f 100644
--- a/src/utils/multipartUpload/oss.js
+++ b/src/utils/multipartUpload/oss.js
@@ -7,6 +7,8 @@ let savaData = {},
export function OSSclose() {
if (timer) {
clearInterval(timer);
+ timer = null;
+ store.state.trials.uploadTip = '0kb/s'
}
bytesReceivedPerSecond = {};
savaData = {};
From b866ffdd49a5134fec2c55f867b22c966bb0c5c4 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 3 Sep 2024 15:23:22 +0800
Subject: [PATCH 013/112] =?UTF-8?q?iqc=E4=B8=8B=E8=BD=BD=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 8 +
src/utils/stream.js | 48 +
.../qc-check/components/qualityAssurance.vue | 1127 +++++++++--------
3 files changed, 679 insertions(+), 504 deletions(-)
create mode 100644 src/utils/stream.js
diff --git a/src/api/load.js b/src/api/load.js
index cc23cc40..ff9e6b8d 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -39,4 +39,12 @@ export function deleteTaskStudy(params) {
method: 'delete',
params
})
+}
+// 获取iqc下载文件信息
+export function getCRCUploadedStudyInfo(data) {
+ return request({
+ url: '/DownloadAndUpload/getCRCUploadedStudyInfo',
+ method: 'post',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/utils/stream.js b/src/utils/stream.js
new file mode 100644
index 00000000..a812b259
--- /dev/null
+++ b/src/utils/stream.js
@@ -0,0 +1,48 @@
+import streamSaver from "streamsaver";
+import "streamsaver/examples/zip-stream.js";
+
+// 下载文件并压缩
+function zipFiles(zipName, files) {
+ console.log("同步下载打包开始时间:" + new Date());
+ // 创建压缩文件输出流
+ const zipFileOutputStream = streamSaver.createWriteStream(zipName);
+ // 创建下载文件流
+ const fileIterator = files.values();
+ const readableZipStream = new ZIP({
+ async pull(ctrl) {
+ const fileInfo = fileIterator.next();
+ if (fileInfo.done) {//迭代终止
+ ctrl.close();
+ } else {
+ const { name, url } = fileInfo.value;
+ return fetch(url).then(res => {
+ ctrl.enqueue({
+ name,
+ stream: () => res.body
+ });
+ })
+ }
+ }
+ });
+ if (window.WritableStream && readableZipStream.pipeTo) {
+ // 开始下载
+ readableZipStream
+ .pipeTo(zipFileOutputStream)
+ .then(() => console.log("同步下载打包结束时间:" + new Date()));
+ }
+}
+// 下载文件并修改名称
+async function updateFile(file, name) {
+ try {
+ const fileOutputStream = streamSaver.createWriteStream(name);
+ let res = await fetch(file);
+ res.body.pipeTo(fileOutputStream);
+ } catch (err) {
+ console.log(err)
+ }
+}
+export function downLoadFile(file, name, type = 'file') {
+ if (type === 'zip') return zipFiles(name, file);
+ return updateFile(file, name)
+
+}
\ No newline at end of file
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 5fcafff5..7349f1f0 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -6,7 +6,7 @@
style="position: absolute; right: 20px; top: 10px; z-index: 9"
>
{{
- $t("trials:reading:button:handbooks")
+ $t('trials:reading:button:handbooks')
}}
@@ -21,7 +21,7 @@
- {{ $t("trials:audit:title:dicoms") }}
+ {{ $t('trials:audit:title:dicoms') }}
- {{ $t("trials:audit:tip:visitWindow") }}:
+ {{ $t('trials:audit:tip:visitWindow') }}:
{{ `${upperLimit}~${lowerLimit}` }}
{{
- $t("trials:audit:tip:visitWindowNotSet")
+ $t('trials:audit:tip:visitWindowNotSet')
}}
-
{{ $store.state.trials.uploadTip }}
-
+
-->
- {{ $t("trials:audit:button:downLoadAllDiocms") }}
+ {{ $t('trials:audit:button:downLoadAllDiocms') }}
- {{ $t("trials:audit:button:previewAllDiocms") }}
+ {{ $t('trials:audit:button:previewAllDiocms') }}
- {{ $t("trials:audit:button:previewReadingDiocms") }}
+ {{ $t('trials:audit:button:previewReadingDiocms') }}
-
+
+
{{
scope.row.StudyTime
- ? moment(scope.row.StudyTime).format("YYYY-MM-DD")
- : ""
+ ? moment(scope.row.StudyTime).format('YYYY-MM-DD')
+ : ''
}}
@@ -183,7 +193,7 @@
- {{ $t("trials:audit:title:series") }}
+ {{ $t('trials:audit:title:series') }}
{{
scope.row.StudyTime
- ? moment(scope.row.StudyTime).format("YYYY-MM-DD")
- : ""
+ ? moment(scope.row.StudyTime).format('YYYY-MM-DD')
+ : ''
}}
@@ -279,7 +289,7 @@
{{ $t("trials:audit:title:nonDicomsTitle") }}
{{ $t('trials:audit:title:nonDicomsTitle') }}
- {{ $t("trials:audit:tip:nonDicomsVisitWindow") }}:
+ {{ $t('trials:audit:tip:nonDicomsVisitWindow') }}:
{{ `${upperLimit}~${lowerLimit}` }}
{{
- $t("trials:audit:tip:visitWindowNotSet")
+ $t('trials:audit:tip:visitWindowNotSet')
}}
-
{{ $store.state.trials.uploadTip }}
-
+
-->
- {{ $t("trials:audit:button:downLoadAllNonDiocms") }}
+ {{ $t('trials:audit:button:downLoadAllNonDiocms') }}
- {{ $t("trials:audit:tip:nonDicomsPreviewAll") }}
+ {{ $t('trials:audit:tip:nonDicomsPreviewAll') }}
-
+
+
- {{ $t("trials:audit:button:nonDicomsPreview") }}
+ {{ $t('trials:audit:button:nonDicomsPreview') }}
@@ -418,7 +437,7 @@
style="color: #f44336; font-size: 16px"
/>
{{
- moment(scope.row.ImageDate).format("YYYY-MM-DD")
+ moment(scope.row.ImageDate).format('YYYY-MM-DD')
}}
@@ -478,7 +497,7 @@
- {{ $t("trials:audit:title:questions") }}
+ {{ $t('trials:audit:title:questions') }}
- {{ $t("trials:audit:message:noData") }}
+ {{ $t('trials:audit:message:noData') }}
@@ -585,7 +604,7 @@
type="primary"
@click="qcVisible = false"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -647,7 +666,7 @@
show-overflow-tooltip
>
- {{ $fd("IsClosed", scope.row.IsClosed) }}
+ {{ $fd('IsClosed', scope.row.IsClosed) }}
@@ -689,13 +708,13 @@
--
{{
- $fd("ReuploadEnum", scope.row.ReuploadEnum)
+ $fd('ReuploadEnum', scope.row.ReuploadEnum)
}}
{{
- $fd("ReuploadEnum", scope.row.ReuploadEnum)
+ $fd('ReuploadEnum', scope.row.ReuploadEnum)
}}
{{
- $fd("ReuploadEnum", scope.row.ReuploadEnum)
+ $fd('ReuploadEnum', scope.row.ReuploadEnum)
}}
@@ -722,7 +741,7 @@
show-overflow-tooltip
>
- {{ $fd("YesOrNo", scope.row.IsOverTime) }}
+ {{ $fd('YesOrNo', scope.row.IsOverTime) }}
@@ -744,7 +763,7 @@
:disabled="scope.row.IsClosed || isAudit"
@click="handleReply(scope.row)"
>
- {{ $t("trials:qcQuality:action:reply") }}
+ {{ $t('trials:qcQuality:action:reply') }}
- {{ $t("trials:qcQuality:action:close") }}
+ {{ $t('trials:qcQuality:action:close') }}
@@ -852,7 +871,7 @@
:key="bodyPart"
:label="bodyPart"
>{{
- $fd("Bodypart", bodyPart, "Code", BodyPart, "Name")
+ $fd('Bodypart', bodyPart, 'Code', BodyPart, 'Name')
}}
@@ -888,7 +907,7 @@
type="primary"
@click="editStudyInfoVisible = false"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -912,10 +931,10 @@
>
{{
- $t("common:dialogTitle:sign")
+ $t('common:dialogTitle:sign')
}}
{{
- `(${$t("common:label:sign")}${currentUser})`
+ `(${$t('common:label:sign')}${currentUser})`
}}
{{
- $fd("Bodypart", bodyPart, "Code", BodyPart, "Name")
+ $fd('Bodypart', bodyPart, 'Code', BodyPart, 'Name')
}}
@@ -1021,7 +1040,7 @@
type="primary"
@click="editNoneDicomVisible = false"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -1068,11 +1087,11 @@
{{
- $t("trials:qcQuality:radio:reason1")
+ $t('trials:qcQuality:radio:reason1')
}}
{{
- $t("trials:qcQuality:radio:reason2")
+ $t('trials:qcQuality:radio:reason2')
}}
@@ -1101,7 +1120,7 @@
type="primary"
@click="closeQuestionVisible = false"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -1146,7 +1165,7 @@
round
@click="handleSave"
>
- {{ $t("trials:audit:button:save") }}
+ {{ $t('trials:audit:button:save') }}
- {{ $t("trials:audit:button:question") }}
+ {{ $t('trials:audit:button:question') }}
{{
- `${$t("trials:audit:button:historicalQuestions")}(${
+ `${$t('trials:audit:button:historicalQuestions')}(${
relationInfo.TotalChallengeCount !== undefined
? relationInfo.TotalChallengeCount
: 0
@@ -1181,7 +1200,7 @@
round
@click="handleQCState(8)"
>
- {{ $t("trials:audit:button:auditPassed") }}
+ {{ $t('trials:audit:button:auditPassed') }}
@@ -1222,20 +1241,22 @@ import {
closeQCChallenge,
updateModality,
getQCChallengeDialogList,
-} from "@/api/trials";
-import { qCPassedOrFailed } from "@/api/trials/visit";
-import { getBasicDataSelects } from "@/api/dictionary/dictionary";
-import ChatForm from "./chatForm";
-import QuestionForm from "./questions";
-import moment from "moment";
-import ClinicalData from "./clinicalData";
-import SignForm from "@/views/trials/components/newSignForm";
-import { getToken } from "@/utils/auth";
-import const_ from "@/const/sign-code";
-import uploadPetClinicalData from "@/views/trials/trials-panel/visit/crc-upload/components/uploadPetClinicalData.vue";
-import { downloadImage, resetFlag } from "@/utils/uploadZip.js";
+} from '@/api/trials'
+import { qCPassedOrFailed } from '@/api/trials/visit'
+import { getBasicDataSelects } from '@/api/dictionary/dictionary'
+import ChatForm from './chatForm'
+import QuestionForm from './questions'
+import moment from 'moment'
+import ClinicalData from './clinicalData'
+import SignForm from '@/views/trials/components/newSignForm'
+import { getToken } from '@/utils/auth'
+import const_ from '@/const/sign-code'
+import uploadPetClinicalData from '@/views/trials/trials-panel/visit/crc-upload/components/uploadPetClinicalData.vue'
+import { downloadImage, resetFlag } from '@/utils/uploadZip.js'
+import { downLoadFile } from '@/utils/stream.js'
+import { getCRCUploadedStudyInfo } from '@/api/load.js'
export default {
- name: "QualityAssurance",
+ name: 'QualityAssurance',
components: {
ChatForm,
ClinicalData,
@@ -1247,7 +1268,7 @@ export default {
data: {
type: Object,
default() {
- return {};
+ return {}
},
},
disabled: {
@@ -1261,7 +1282,7 @@ export default {
},
data() {
return {
- activeName: this.data.DicomStudyCount > 0 ? "dicom" : "none-dicom",
+ activeName: this.data.DicomStudyCount > 0 ? 'dicom' : 'none-dicom',
questionForm: {},
qCQuestionAnswerList: [],
studyList: [],
@@ -1269,12 +1290,12 @@ export default {
relationInfo: {},
noneDicomStudyList: [],
qcForm: {
- subjectVisitId: "",
- challengeType: "",
- content: "",
- actionContent: "",
- deadlineTime: "",
- qcContent: "",
+ subjectVisitId: '',
+ challengeType: '',
+ content: '',
+ actionContent: '',
+ deadlineTime: '',
+ qcContent: '',
},
qcVisible: false,
chatVisible: false,
@@ -1285,57 +1306,57 @@ export default {
historyLoading: false,
editStudyInfoVisible: false,
studyForm: {
- StudyCode: "",
+ StudyCode: '',
IsDicomData: true,
- Modalities: "",
+ Modalities: '',
BodyPartForEdit: [],
SeriesCount: null,
- StudyTime: "",
+ StudyTime: '',
},
currentQCRow: {},
isAudit: false, // 审核过之后功能按钮禁用标识
- qcType: "",
+ qcType: '',
trialBodyPartTypes: [],
trialModalitys: [],
signVisible: false,
- signCode: "",
+ signCode: '',
auditState: null,
- currentNoneDicomId: "",
+ currentNoneDicomId: '',
editNoneDicomVisible: false,
noneDicomForm: {
- Id: "",
- CodeView: "",
+ Id: '',
+ CodeView: '',
BodyParts: [],
- Modality: "",
- ImageDate: "",
+ Modality: '',
+ ImageDate: '',
},
subjectClinicalData: {},
moment,
currentQCType: null,
- currentUser: zzSessionStorage.getItem("userName"),
+ currentUser: zzSessionStorage.getItem('userName'),
pickerOption: {
disabledDate: (time) => {
- return time.getTime() > Date.now();
+ return time.getTime() > Date.now()
},
},
isHaveFirstGiveMedicineDate: false,
- baseDate: "",
- upperLimit: "", // 超期上限
- lowerLimit: "", // 超期下限
+ baseDate: '',
+ upperLimit: '', // 超期上限
+ lowerLimit: '', // 超期下限
closeQuestionForm: {
- Id: "",
- SubjectVisitId: "",
+ Id: '',
+ SubjectVisitId: '',
Type: null,
- Reason: "",
- Remake: "",
+ Reason: '',
+ Remake: '',
},
closeBtnLoading: false,
closeQuestionVisible: false,
- trialId: "",
+ trialId: '',
dictionaryList: {},
currentSeriesIsReading: false,
currentSeriesIsDeleted: false,
- imgObj: { url: "", visible: false, loading: false },
+ imgObj: { url: '', visible: false, loading: false },
open: null,
existsManual: false,
@@ -1344,84 +1365,186 @@ export default {
rowData: {},
IsHaveStudyClinicalData: false,
BodyPart: {},
- };
+
+ // 下载相关
+ downloading: false,
+ selectTableDicom: [], // 选中的dicom数据
+ selectTableNonedicom: [], // 选中的非dicom数据
+ }
},
async mounted() {
- this.BodyPart.Bodypart = await this.$getBodyPart(this.$route.query.trialId);
+ this.BodyPart.Bodypart = await this.$getBodyPart(this.$route.query.trialId)
if (this.disabled) {
- this.isAudit = true;
- this.currentQCType = this.qType;
+ this.isAudit = true
+ this.currentQCType = this.qType
} else {
- this.currentQCType = this.data.AuditState < 6 ? 1 : 2;
+ this.currentQCType = this.data.AuditState < 6 ? 1 : 2
}
- window.addEventListener("message", this.receiveMsg);
+ window.addEventListener('message', this.receiveMsg)
- this.trialId = this.$route.query.trialId;
- this.getQCInfo();
- this.getDicData();
+ this.trialId = this.$route.query.trialId
+ this.getQCInfo()
+ this.getDicData()
// this.handleViewImages()
// this.handleViewAllNoneDicoms()
},
beforeDestroy() {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- resetFlag();
+ resetFlag()
},
methods: {
- // 打包下载
- async downloadImage(IsDicom) {
+ // 选中dicom
+ handleSelectionChangeDicom(val) {
+ this.selectTableDicom = val
+ },
+ // 选中非dicom
+ handleSelectionChangeNonedicom(val) {
+ this.selectTableNonedicom = val
+ },
+ // 获取下载文件信息
+ async getCRCUploadedStudyInfo(type) {
+ if (this.downloading) return
try {
- await downloadImage(this.$route.query.trialId, this.data.Id, IsDicom);
+ let data = {
+ SubjectVisitId: this.data.Id,
+ NoneDicomStudyIdList: [],
+ DicomStudyIdList: [],
+ }
+ if (type === 'dicom') {
+ data.DicomStudyIdList = this.selectTableDicom.map(
+ (item) => item.StudyId
+ )
+ }
+ if (type === 'noneDicom') {
+ console.log(this.selectTableNonedicom)
+ data.NoneDicomStudyIdList = this.selectTableNonedicom.map(
+ (item) => item.Id
+ )
+ }
+ this.downloading = true
+ let res = await getCRCUploadedStudyInfo(data)
+ this.downloading = false
+ if (res.IsSuccess) {
+ this.downloadImage(res.Result, type)
+ }
} catch (err) {
- console.log(err);
+ this.downloading = false
+ console.log(err)
}
},
+ // 打包下载
+ async downloadImage(data, type) {
+ try {
+ let { files, name, fileType } = this.formatDownloadFile(data, type)
+ if (fileType === 'list') {
+ await downLoadFile(files, name, 'zip')
+ } else {
+ await downLoadFile(files, name)
+ }
+ } catch (err) {
+ console.log(err)
+ }
+ },
+ // 格式化下载文件路径
+ formatDownloadFile(data, type) {
+ let files = [],
+ name = null
+ if (type === 'dicom') {
+ name = `${data.SubjectCode}_${data.VisitName}_DICOM.zip`
+ let StudyList = data.StudyList
+ StudyList.forEach((study) => {
+ if (study.SeriesList.length > 0) {
+ study.SeriesList.forEach((series) => {
+ if (series.InstanceList.length > 0) {
+ series.InstanceList.forEach((instance) => {
+ let fileName = instance.Path.split('/').pop()
+ let obj = {
+ name: `${data.SubjectCode}_${data.VisitName}_DICOM/${study.StudyCode}_${study.StudyTime}_${series.Modality}/${fileName}`,
+ path: this.OSSclientConfig.basePath + instance.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ })
+ }
+ if (type === 'noneDicom') {
+ name = `${data.SubjectCode}_${data.VisitName}_非DICOM.zip`
+ let NoneDicomStudyList = data.NoneDicomStudyList
+ // 单个zip包
+ if (
+ NoneDicomStudyList.length === 1 &&
+ NoneDicomStudyList[0].FileList.length === 1 &&
+ NoneDicomStudyList[0].FileList[0].FileType.includes('zip')
+ ) {
+ files =
+ this.OSSclientConfig.basePath +
+ NoneDicomStudyList[0].FileList[0].Path
+ return { files, name, fileType: 'one' }
+ }
+ // 多文件
+ NoneDicomStudyList.forEach((study) => {
+ if (study.FileList.length > 0) {
+ study.FileList.forEach((item) => {
+ let obj = {
+ name: `${data.SubjectCode}_${data.VisitName}_非DICOM/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${item.FileName}`,
+ url: this.OSSclientConfig.basePath + item.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ return { files, name, fileType: 'list' }
+ },
// 获取QC界面基本信息
getQCInfo() {
- this.loading = true;
+ this.loading = true
getVisitQCInfo(this.data.Id, this.data.QCProcessEnum, this.currentQCType)
.then((res) => {
- this.existsManual = res.Result.ExistsManual;
- this.qCQuestionAnswerList = res.Result.QCQuestionAnswerList;
- this.IsHaveStudyClinicalData = res.Result.IsHaveStudyClinicalData;
- this.studyList = res.Result.StudyList;
- this.seriesList = res.Result.SeriesList;
- this.noneDicomStudyList = res.Result.NoneDicomStudyList;
- this.relationInfo = res.Result.RelationInfo;
+ this.existsManual = res.Result.ExistsManual
+ this.qCQuestionAnswerList = res.Result.QCQuestionAnswerList
+ this.IsHaveStudyClinicalData = res.Result.IsHaveStudyClinicalData
+ this.studyList = res.Result.StudyList
+ this.seriesList = res.Result.SeriesList
+ this.noneDicomStudyList = res.Result.NoneDicomStudyList
+ this.relationInfo = res.Result.RelationInfo
this.trialBodyPartTypes = this.relationInfo.TrialBodyPartTypes
- ? this.relationInfo.TrialBodyPartTypes.trim().split("|")
- : [];
+ ? this.relationInfo.TrialBodyPartTypes.trim().split('|')
+ : []
this.trialModalitys = this.relationInfo.TrialModalitys
- ? this.relationInfo.TrialModalitys.trim().split("|")
- : [];
- this.subjectClinicalData = res.Result.SubjectClinicalData;
- this.baseDate = res.Result.RelationInfo.SubjectFirstGiveMedicineTime;
+ ? this.relationInfo.TrialModalitys.trim().split('|')
+ : []
+ this.subjectClinicalData = res.Result.SubjectClinicalData
+ this.baseDate = res.Result.RelationInfo.SubjectFirstGiveMedicineTime
if (this.baseDate) {
const uDay =
res.Result.RelationInfo.VisitDay * 1 +
- res.Result.RelationInfo.VisitWindowLeft * 1;
- this.upperLimit = moment(this.baseDate, "YYYY-MM-DD")
- .add(uDay, "days")
- .format("YYYY-MM-DD");
+ res.Result.RelationInfo.VisitWindowLeft * 1
+ this.upperLimit = moment(this.baseDate, 'YYYY-MM-DD')
+ .add(uDay, 'days')
+ .format('YYYY-MM-DD')
const lDay =
res.Result.RelationInfo.VisitDay * 1 +
- res.Result.RelationInfo.VisitWindowRight * 1;
- this.lowerLimit = moment(this.baseDate, "YYYY-MM-DD")
- .add(lDay, "days")
- .format("YYYY-MM-DD");
+ res.Result.RelationInfo.VisitWindowRight * 1
+ this.lowerLimit = moment(this.baseDate, 'YYYY-MM-DD')
+ .add(lDay, 'days')
+ .format('YYYY-MM-DD')
}
this.isHaveFirstGiveMedicineDate =
- res.Result.RelationInfo.IsHaveFirstGiveMedicineDate;
- this.loading = false;
+ res.Result.RelationInfo.IsHaveFirstGiveMedicineDate
+ this.loading = false
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
// 刷新审核问题列表
getCheckList() {
- this.loading = true;
+ this.loading = true
getQCQuestionAnswerList(
this.trialId,
this.data.Id,
@@ -1429,36 +1552,36 @@ export default {
this.currentQCType
)
.then((res) => {
- this.loading = false;
+ this.loading = false
res.Result.forEach((element, index) => {
// this.qCQuestionAnswerList
- this.$set(this.qCQuestionAnswerList[index], "Id", element.Id);
- });
+ this.$set(this.qCQuestionAnswerList[index], 'Id', element.Id)
+ })
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
// 保存审核问题
handleSave(isMessage) {
return new Promise((resolve) => {
- this.$refs["questions"]
+ this.$refs['questions']
.submit()
.then((res) => {
- var answerList = [];
+ var answerList = []
res.forEach((item) => {
var index = this.qCQuestionAnswerList.findIndex(
(v) => v.TrialQCQuestionConfigureId === item.Id
- );
+ )
if (index > -1) {
answerList.push({
id: this.qCQuestionAnswerList[index].Id,
answer: item.answer,
trialQCQuestionConfigureId: item.Id,
- });
+ })
}
- });
- this.loading = true;
+ })
+ this.loading = true
addOrUpdateQCQuestionAnswerList(
this.trialId,
this.data.Id,
@@ -1467,66 +1590,66 @@ export default {
answerList
)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
if (isMessage !== true) {
this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
+ this.$t('common:message:savedSuccessfully')
+ )
}
- this.getCheckList();
- resolve(true);
+ this.getCheckList()
+ resolve(true)
}
})
.catch(() => {
- this.loading = false;
- resolve(false);
- });
+ this.loading = false
+ resolve(false)
+ })
})
.catch(() => {
- this.loading = false;
- resolve(false);
- });
- });
+ this.loading = false
+ resolve(false)
+ })
+ })
},
// 保存质疑
handleSaveQC() {
- this.$refs["qcForm"].validate((valid) => {
- if (!valid) return;
- this.btnLoading = true;
- this.qcForm.subjectVisitId = this.data.Id;
- var contents = [];
- var types = [];
- var actions = [];
+ this.$refs['qcForm'].validate((valid) => {
+ if (!valid) return
+ this.btnLoading = true
+ this.qcForm.subjectVisitId = this.data.Id
+ var contents = []
+ var types = []
+ var actions = []
this.qcForm.qcContent.forEach((item) => {
if (item.isSelect) {
- types.push(`${item.keyName}`);
- var str = `${item.keyName}
`;
+ types.push(`${item.keyName}`)
+ var str = `${item.keyName}
`
if (item.keyValue) {
// 问题总结
- str = `${str}${this.$t("trials:audit:form:questionSummary")}:${
+ str = `${str}${this.$t('trials:audit:form:questionSummary')}:${
item.keyValue
- }
`;
+ }
`
}
if (item.actionContent) {
// 行动事项
- actions.push(`${item.actionContent}`);
- str = `${str}${this.$t("trials:audit:form:actionMatters")}:${
+ actions.push(`${item.actionContent}`)
+ str = `${str}${this.$t('trials:audit:form:actionMatters')}:${
item.actionContent
- }
`;
+ }
`
}
- contents.push(str);
+ contents.push(str)
}
- });
+ })
if (contents.length === 0) {
// 质疑内容不能为空!
- this.$alert(this.$t("trials:audit:message:qsContentIsNull"));
- this.btnLoading = false;
- return;
+ this.$alert(this.$t('trials:audit:message:qsContentIsNull'))
+ this.btnLoading = false
+ return
} else {
- this.qcForm.content = contents.join("|");
- this.qcForm.challengeType = types.join("|");
- this.qcForm.actionContent = actions.join("|");
+ this.qcForm.content = contents.join('|')
+ this.qcForm.challengeType = types.join('|')
+ this.qcForm.actionContent = actions.join('|')
}
var params = {
challengeType: this.qcForm.challengeType,
@@ -1535,7 +1658,7 @@ export default {
actionContent: this.qcForm.actionContent,
reuploadEnum: 0,
deadlineTime: this.qcForm.deadlineTime,
- };
+ }
addOrUpdateQCChallenge(
this.trialId,
this.data.QCProcessEnum,
@@ -1543,182 +1666,180 @@ export default {
params
)
.then((res) => {
- this.btnLoading = false;
+ this.btnLoading = false
if (res.IsSuccess) {
- this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- this.qcVisible = false;
- this.relationInfo.TotalChallengeCount++;
- this.relationInfo.NotClosedChallengeCount++;
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
+ this.qcVisible = false
+ this.relationInfo.TotalChallengeCount++
+ this.relationInfo.NotClosedChallengeCount++
}
})
.catch(() => {
- this.btnLoading = false;
- });
- });
+ this.btnLoading = false
+ })
+ })
},
// 打开发起质疑弹窗
handleQC() {
- this.loading = true;
+ this.loading = true
// 检验qc审核问题是否保存,否则不允许发质疑
verifyQCCanAddChallenge(this.trialId, this.data.Id, this.currentQCType)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
- this.renderQCForm();
+ this.renderQCForm()
}
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
handleQCVerify() {
- this.loading = true;
+ this.loading = true
return new Promise((resolve) => {
verifyQCCanAddChallenge(this.trialId, this.data.Id, this.currentQCType)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
- resolve(true);
+ resolve(true)
} else {
- resolve(false);
+ resolve(false)
}
})
.catch(() => {
- this.loading = false;
- resolve(false);
- });
- });
+ this.loading = false
+ resolve(false)
+ })
+ })
},
// 渲染发质疑窗口
renderQCForm() {
- var contents = [];
- const challengeType = this.dictionaryList["ChallengeType"];
+ var contents = []
+ const challengeType = this.dictionaryList['ChallengeType']
challengeType.forEach((i) => {
- contents.push({ keyName: i.Value, keyValue: "", isSelect: false });
- });
- var isHyperwindow = false;
+ contents.push({ keyName: i.Value, keyValue: '', isSelect: false })
+ })
+ var isHyperwindow = false
if (this.isHaveFirstGiveMedicineDate && !!this.baseDate) {
- isHyperwindow = this.isHyperwindow();
+ isHyperwindow = this.isHyperwindow()
}
if (isHyperwindow) {
contents.push({
- keyName: this.$t("trials:audit:message:qsOverWindow"),
- keyValue: `${this.$t("trials:audit:message:qsOverWindow1")}:${
+ keyName: this.$t('trials:audit:message:qsOverWindow'),
+ keyValue: `${this.$t('trials:audit:message:qsOverWindow1')}:${
this.upperLimit
}~${this.lowerLimit},${this.$t(
- "trials:audit:message:qsOverWindow2"
+ 'trials:audit:message:qsOverWindow2'
)}:${moment(this.relationInfo.EarliestScanDate).format(
- "YYYY-MM-DD"
+ 'YYYY-MM-DD'
)}~${moment(this.relationInfo.LatestScanDate).format(
- "YYYY-MM-DD"
- )},${this.$t("trials:audit:message:qsOverWindow3")}`,
+ 'YYYY-MM-DD'
+ )},${this.$t('trials:audit:message:qsOverWindow3')}`,
isSelect: false,
- actionContent: this.$t("trials:audit:message:qsOverWindow4"),
- });
+ actionContent: this.$t('trials:audit:message:qsOverWindow4'),
+ })
}
- this.qcForm.qcContent = contents;
- const day = this.relationInfo.TrialChangeDefalutDays;
+ this.qcForm.qcContent = contents
+ const day = this.relationInfo.TrialChangeDefalutDays
this.qcForm.deadlineTime = moment()
- .add(day * 1, "days")
- .format("YYYY-MM-DD HH:mm:ss");
- this.qcVisible = true;
+ .add(day * 1, 'days')
+ .format('YYYY-MM-DD HH:mm:ss')
+ this.qcVisible = true
},
isHyperwindow() {
- var isHyperwindow = false;
+ var isHyperwindow = false
if (
this.relationInfo.EarliestScanDate < this.upperLimit ||
this.relationInfo.LatestScanDate > this.lowerLimit
) {
- isHyperwindow = true;
+ isHyperwindow = true
}
- return isHyperwindow;
+ return isHyperwindow
},
// 获取字典数据
getDicData() {
- getBasicDataSelects(["ChallengeType"]).then((res) => {
- this.dictionaryList = { ...res.Result };
- });
+ getBasicDataSelects(['ChallengeType']).then((res) => {
+ this.dictionaryList = { ...res.Result }
+ })
},
// 打开历史质疑弹窗
handleHistoryQC() {
- this.historyVisible = true;
- this.getHistoryInfo();
+ this.historyVisible = true
+ this.getHistoryInfo()
},
// 获取历史质疑记录
getHistoryInfo() {
- this.historyLoading = true;
+ this.historyLoading = true
getHistoryChallengeList(
this.data.Id,
this.data.QCProcessEnum,
this.currentQCType
)
.then((res) => {
- this.historyList = res.Result;
- this.historyLoading = false;
+ this.historyList = res.Result
+ this.historyLoading = false
})
.catch(() => {
- this.historyLoading = false;
- });
+ this.historyLoading = false
+ })
},
// 回复质疑
handleReply(row) {
- this.historyLoading = true;
+ this.historyLoading = true
getQCChallengeDialogList(row.Id)
.then((res) => {
- this.historyLoading = false;
+ this.historyLoading = false
if (res.IsSuccess) {
if (res.Result.length > 0) {
- Object.assign(row, res.Result[0]);
+ Object.assign(row, res.Result[0])
}
- this.currentQCRow = { ...row };
- this.chatVisible = true;
+ this.currentQCRow = { ...row }
+ this.chatVisible = true
}
})
.catch(() => {
- this.historyLoading = false;
- });
+ this.historyLoading = false
+ })
},
getDialogList() {
- this.historyLoading = true;
+ this.historyLoading = true
getQCChallengeDialogList(this.currentQCRow.Id)
.then((res) => {
- this.historyLoading = false;
+ this.historyLoading = false
if (res.IsSuccess && res.Result.length > 0) {
var i = this.historyList.findIndex(
(item) => item.Id === this.currentQCRow.Id
- );
+ )
if (i > -1) {
this.currentQCRow = Object.assign(
this.historyList[i],
res.Result[0]
- );
+ )
}
}
})
.catch(() => {
- this.historyLoading = false;
- });
+ this.historyLoading = false
+ })
},
// 关闭质疑
handleCloseQuestion() {
- this.$refs["closeQuestionForm"].validate((valid) => {
- if (!valid) return;
- this.closeBtnLoading = true;
+ this.$refs['closeQuestionForm'].validate((valid) => {
+ if (!valid) return
+ this.closeBtnLoading = true
if (this.closeQuestionForm.Type === 1) {
// 问题已解决
this.closeQuestionForm.Reason = this.$t(
- "trials:qcQuality:message:problemSolved"
- );
+ 'trials:qcQuality:message:problemSolved'
+ )
} else if (this.closeQuestionForm.Type === 2) {
// 问题无法解决强制关闭质疑,已提醒中心下次注意
this.closeQuestionForm.Reason = `${this.$t(
- "trials:qcQuality:message:problemNotSolved"
- )}
${this.$t("trials:consistencyCheck:label:closereason")}:${
+ 'trials:qcQuality:message:problemNotSolved'
+ )}
${this.$t('trials:consistencyCheck:label:closereason')}:${
this.closeQuestionForm.Remake
- }`;
+ }`
}
var params = {
TrialId: this.data.TrialId,
@@ -1726,61 +1847,61 @@ export default {
SubjectVisitId: this.data.Id,
CloseEnum: this.closeQuestionForm.Type,
CloseReason: this.closeQuestionForm.Reason,
- };
+ }
closeQCChallenge(params)
.then((res) => {
- this.closeBtnLoading = false;
+ this.closeBtnLoading = false
if (res.IsSuccess) {
- this.getHistoryInfo();
+ this.getHistoryInfo()
this.$message.success(
- this.$t("trials:qcQuality:message:closedSuccessfully")
- );
- this.closeQuestionVisible = false;
- this.relationInfo.NotClosedChallengeCount--;
+ this.$t('trials:qcQuality:message:closedSuccessfully')
+ )
+ this.closeQuestionVisible = false
+ this.relationInfo.NotClosedChallengeCount--
}
})
.catch(() => {
- this.closeBtnLoading = false;
- });
- });
+ this.closeBtnLoading = false
+ })
+ })
},
// 打开关闭质疑框并初始化
handleCloseQC(row) {
- this.closeQuestionForm = Object.assign(this.closeQuestionForm, row);
- this.closeQuestionForm.CurrentQCType = this.currentQCType;
- this.closeQuestionForm.AuditState = this.data.AuditState;
- this.closeQuestionForm.TrialQCProcess = this.data.QCProcessEnum;
- this.closeQuestionForm.Type = null;
- this.closeQuestionForm.Reason = "";
- this.closeQuestionForm.Remake = "";
- this.closeQuestionVisible = true;
+ this.closeQuestionForm = Object.assign(this.closeQuestionForm, row)
+ this.closeQuestionForm.CurrentQCType = this.currentQCType
+ this.closeQuestionForm.AuditState = this.data.AuditState
+ this.closeQuestionForm.TrialQCProcess = this.data.QCProcessEnum
+ this.closeQuestionForm.Type = null
+ this.closeQuestionForm.Reason = ''
+ this.closeQuestionForm.Remake = ''
+ this.closeQuestionVisible = true
},
// 打开质疑记录弹窗
handleQCInfo(row) {
- this.currentQCRow = { ...row };
- this.chatVisible = true;
+ this.currentQCRow = { ...row }
+ this.chatVisible = true
},
changeReadingStatus(callback, row) {
- let statusStr = "";
+ let statusStr = ''
if (callback) {
- statusStr = this.$t("trials:audit:label:setSeriesReading");
- row.IsReading = false;
+ statusStr = this.$t('trials:audit:label:setSeriesReading')
+ row.IsReading = false
} else {
- statusStr = this.$t("trials:audit:label:setSeriesNotReading");
- row.IsReading = true;
+ statusStr = this.$t('trials:audit:label:setSeriesNotReading')
+ row.IsReading = true
}
- var message = this.$t("trials:audit:message:changeSeriesStatus").replace(
- "xxx",
+ var message = this.$t('trials:audit:message:changeSeriesStatus').replace(
+ 'xxx',
statusStr
- );
- message = message.replace("yyy", this.$fd("YesOrNo", !row.IsReading));
+ )
+ message = message.replace('yyy', this.$fd('YesOrNo', !row.IsReading))
this.$confirm(message, {
distinguishCancelAndClose: true,
- type: "warning",
+ type: 'warning',
})
.then(() => {
- const state = row.IsReading ? 1 : 2;
- this.loading = true;
+ const state = row.IsReading ? 1 : 2
+ this.loading = true
setSeriesStatus(
this.trialId,
this.data.Id,
@@ -1789,41 +1910,41 @@ export default {
state
)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- this.getStudyInfo();
+ this.$t('common:message:savedSuccessfully')
+ )
+ this.getStudyInfo()
}
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
})
- .catch(() => {});
+ .catch(() => {})
},
changeDeleteStatus(callback, row) {
- let statusStr = "";
+ let statusStr = ''
if (callback) {
- statusStr = this.$t("trials:audit:label:setSeriesDeleted");
- row.IsDeleted = false;
+ statusStr = this.$t('trials:audit:label:setSeriesDeleted')
+ row.IsDeleted = false
} else {
- statusStr = this.$t("trials:audit:label:setSeriesNotDelete");
- row.IsDeleted = true;
+ statusStr = this.$t('trials:audit:label:setSeriesNotDelete')
+ row.IsDeleted = true
}
- var message = this.$t("trials:audit:message:changeSeriesStatus").replace(
- "xxx",
+ var message = this.$t('trials:audit:message:changeSeriesStatus').replace(
+ 'xxx',
statusStr
- );
- message = message.replace("yyy", this.$fd("YesOrNo", !row.IsDeleted));
+ )
+ message = message.replace('yyy', this.$fd('YesOrNo', !row.IsDeleted))
this.$confirm(message, {
distinguishCancelAndClose: true,
- type: "warning",
+ type: 'warning',
})
.then(() => {
- const state = row.IsDeleted ? 5 : 4;
- this.loading = true;
+ const state = row.IsDeleted ? 5 : 4
+ this.loading = true
setSeriesStatus(
this.trialId,
this.data.Id,
@@ -1832,146 +1953,146 @@ export default {
state
)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- this.getStudyInfo();
+ this.$t('common:message:savedSuccessfully')
+ )
+ this.getStudyInfo()
}
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
})
- .catch(() => {});
+ .catch(() => {})
},
receiveMsg(event) {
- if (event.data.type === "refreshSeriesList") {
- this.getStudyInfo();
+ if (event.data.type === 'refreshSeriesList') {
+ this.getStudyInfo()
}
},
// 刷新检查新
getStudyInfo() {
- this.loading = true;
+ this.loading = true
getVisitQCStudyAndSeriesList(this.data.Id)
.then((res) => {
- this.loading = false;
- this.studyList = res.Result.StudyList;
- this.seriesList = res.Result.SeriesList;
+ this.loading = false
+ this.studyList = res.Result.StudyList
+ this.seriesList = res.Result.SeriesList
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
// 设置qc通过/不通过
async handleQCState(auditState) {
if (auditState === 7) {
- this.signCode = this.getSignCode(auditState);
- this.signVisible = true;
- this.auditState = auditState;
- return;
+ this.signCode = this.getSignCode(auditState)
+ this.signVisible = true
+ this.auditState = auditState
+ return
}
if (auditState === 8) {
- var isgo = true;
- var isgoList = [];
+ var isgo = true
+ var isgoList = []
this.studyList.forEach((v) => {
if (!v.BodyPartForEdit) {
- isgo = false;
- isgoList.push(v.StudyCode);
+ isgo = false
+ isgoList.push(v.StudyCode)
}
- });
+ })
if (!isgo) {
// `请补充检查${isgoList.toString()}的检查部位!`
this.$confirm(
- this.$t("trials:qcQuality:title:title1").replace(
- "xxx",
- isgoList.join("、 ")
+ this.$t('trials:qcQuality:title:title1').replace(
+ 'xxx',
+ isgoList.join('、 ')
),
- "",
+ '',
{
showCancelButton: false,
}
- );
- return;
+ )
+ return
}
}
- this.loading = true;
- var isVerify = await this.handleSave(true);
+ this.loading = true
+ var isVerify = await this.handleSave(true)
if (!isVerify) {
- return;
+ return
}
// 验证是否关闭所有质疑
verifyCanQCPassedOrFailed(this.trialId, this.data.Id)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
- this.signCode = this.getSignCode(auditState);
- this.signVisible = true;
- this.auditState = auditState;
+ this.signCode = this.getSignCode(auditState)
+ this.signVisible = true
+ this.auditState = auditState
}
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
getSignCode(auditState) {
if (this.relationInfo.TrialQCProcessEnum === 1 && auditState === 8) {
// 单审通过
- const { QCSingleReviewPassed } = const_.processSignature;
- return QCSingleReviewPassed;
+ const { QCSingleReviewPassed } = const_.processSignature
+ return QCSingleReviewPassed
} else if (
this.relationInfo.TrialQCProcessEnum === 1 &&
auditState === 7
) {
// 单审不通过
- const { QCSingleReviewFailed } = const_.processSignature;
- return QCSingleReviewFailed;
+ const { QCSingleReviewFailed } = const_.processSignature
+ return QCSingleReviewFailed
} else if (
this.relationInfo.TrialQCProcessEnum === 2 &&
auditState === 8 &&
this.currentQCType === 1
) {
// 初审通过
- const { PreliminaryReviewOfQCPassed } = const_.processSignature;
- return PreliminaryReviewOfQCPassed;
+ const { PreliminaryReviewOfQCPassed } = const_.processSignature
+ return PreliminaryReviewOfQCPassed
} else if (
this.relationInfo.TrialQCProcessEnum === 2 &&
auditState === 7 &&
this.currentQCType === 1
) {
// 初审不通过
- const { PreliminaryReviewOfQCFailed } = const_.processSignature;
- return PreliminaryReviewOfQCFailed;
+ const { PreliminaryReviewOfQCFailed } = const_.processSignature
+ return PreliminaryReviewOfQCFailed
} else if (
this.relationInfo.TrialQCProcessEnum === 2 &&
auditState === 8 &&
this.currentQCType === 2
) {
// 复审通过
- const { SecondaryReviewOfQCPassed } = const_.processSignature;
- return SecondaryReviewOfQCPassed;
+ const { SecondaryReviewOfQCPassed } = const_.processSignature
+ return SecondaryReviewOfQCPassed
} else if (
this.relationInfo.TrialQCProcessEnum === 2 &&
auditState === 7 &&
this.currentQCType === 2
) {
// 复审不通过
- const { SecondaryReviewOfQCFailed } = const_.processSignature;
- return SecondaryReviewOfQCFailed;
+ const { SecondaryReviewOfQCFailed } = const_.processSignature
+ return SecondaryReviewOfQCFailed
}
},
// 关闭签名框
closeSignDialog(isSign, signInfo) {
if (isSign) {
- this.setQCStatus(signInfo);
+ this.setQCStatus(signInfo)
} else {
- this.signVisible = false;
+ this.signVisible = false
}
},
// 设置qc审核状态
async setQCStatus(signInfo) {
- this.loading = true;
+ this.loading = true
var params = {
data: {
TrialId: this.trialId,
@@ -1979,98 +2100,100 @@ export default {
AuditState: this.auditState,
},
signInfo: signInfo,
- };
+ }
qCPassedOrFailed(params)
.then((res) => {
- this.loading = false;
+ this.loading = false
if (res.IsSuccess) {
- this.$refs["signForm"].btnLoading = false;
- this.signVisible = false;
- this.$message.success(this.$t("common:message:savedSuccessfully"));
+ this.$refs['signForm'].btnLoading = false
+ this.signVisible = false
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
// this.getQCInfo()
- this.isAudit = true;
- this.$forceUpdate();
+ this.isAudit = true
+ this.$forceUpdate()
getNextIQCQuality({
trialId: this.trialId,
SubjectId: this.data.SubjectId,
}).then((res) => {
if (res.Result && res.Result.VisitId) {
this.$confirm(
- this.$t("trials:qcQuality:title:title2", "", {
+ this.$t('trials:qcQuality:title:title2', '', {
showCancelButton: false,
})
- ).then(() => {
- collectNextIQCQuality({
- trialId: this.trialId,
- SubjectId: this.data.SubjectId,
- }).then((res) => {
- this.$emit("getList");
- this.$emit("nextTask", res.Result.VisitId);
- });
- }).catch(()=>{
- this.$emit("getList")
- })
+ )
+ .then(() => {
+ collectNextIQCQuality({
+ trialId: this.trialId,
+ SubjectId: this.data.SubjectId,
+ }).then((res) => {
+ this.$emit('getList')
+ this.$emit('nextTask', res.Result.VisitId)
+ })
+ })
+ .catch(() => {
+ this.$emit('getList')
+ })
} else {
// 没有后续质控任务
- this.$emit("getList");
- this.$confirm(this.$t("trials:qcQuality:title:closeQCDialog"))
+ this.$emit('getList')
+ this.$confirm(this.$t('trials:qcQuality:title:closeQCDialog'))
.then(() => {
- this.$emit("close");
+ this.$emit('close')
})
- .catch(() => {});
+ .catch(() => {})
}
- });
+ })
}
})
.catch(() => {
- this.loading = false;
- this.$refs["signForm"].btnLoading = false;
- });
+ this.loading = false
+ this.$refs['signForm'].btnLoading = false
+ })
},
getNextQCInfo() {
// '是否确认进入下一个质控任务?'
- var message = this.$t("trials:qcQuality:title:title2");
+ var message = this.$t('trials:qcQuality:title:title2')
this.$confirm(message, {
- type: "warning",
+ type: 'warning',
distinguishCancelAndClose: true,
})
.then(() => {
- this.loading = true;
- this.$emit("nextTask");
+ this.loading = true
+ this.$emit('nextTask')
})
.catch((action) => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
// 设置已删除序列行样式
tableRowClassName({ row, rowIndex }) {
if (row.IsDeleted) {
- return "delete-row";
+ return 'delete-row'
} else {
- return "";
+ return ''
}
},
// 打开检查信息编辑框
handleEditStudy(row) {
- this.editStudyInfoVisible = true;
- this.studyForm = { ...row };
- var bodyPart = [];
- if (this.studyForm.BodyPartForEdit.indexOf("|") !== -1) {
- bodyPart = this.studyForm.BodyPartForEdit.split("|");
- } else if (this.studyForm.BodyPartForEdit !== "") {
- bodyPart.push(this.studyForm.BodyPartForEdit);
+ this.editStudyInfoVisible = true
+ this.studyForm = { ...row }
+ var bodyPart = []
+ if (this.studyForm.BodyPartForEdit.indexOf('|') !== -1) {
+ bodyPart = this.studyForm.BodyPartForEdit.split('|')
+ } else if (this.studyForm.BodyPartForEdit !== '') {
+ bodyPart.push(this.studyForm.BodyPartForEdit)
}
- this.$set(this.studyForm, "Modality", row.ModalityForEdit);
+ this.$set(this.studyForm, 'Modality', row.ModalityForEdit)
// this.studyForm.Modality = row.ModalityForEdit
- this.studyForm.BodyPartForEdit = bodyPart;
+ this.studyForm.BodyPartForEdit = bodyPart
},
// 更新拍片部位/拍片类型信息
handleUpdateStudyInfo() {
- this.$refs["studyForm"].validate((valid) => {
- if (!valid) return;
- this.btnLoading = true;
- this.studyForm.BodyPart = this.studyForm.BodyPartForEdit.join("|");
+ this.$refs['studyForm'].validate((valid) => {
+ if (!valid) return
+ this.btnLoading = true
+ this.studyForm.BodyPart = this.studyForm.BodyPartForEdit.join('|')
// this.studyForm.Modality = this.studyForm.Modalities
var params = {
id: this.studyForm.StudyId,
@@ -2078,146 +2201,142 @@ export default {
type: 1,
modality: this.studyForm.Modality,
bodyPart: this.studyForm.BodyPart,
- };
+ }
updateModality(this.data.TrialId, params)
.then((res) => {
- this.btnLoading = false;
+ this.btnLoading = false
if (res.IsSuccess) {
- this.getStudyInfo();
- this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- this.editStudyInfoVisible = false;
+ this.getStudyInfo()
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
+ this.editStudyInfoVisible = false
}
})
.catch(() => {
- this.btnLoading = false;
- });
- });
+ this.btnLoading = false
+ })
+ })
},
// 设置重传时刷新历史质疑列表及影响指控列表
refreshList() {
// 如果是复审时候设置重传,需要将当前审核状态设置为初审,且刷新页面数据并关闭历史质疑和质疑记录窗口
if (this.currentQCType === 2) {
- this.currentQCType = 1;
+ this.currentQCType = 1
// this.getQCInfo()
- this.getHistoryInfo();
+ this.getHistoryInfo()
} else {
// 如果是初审时候设置重传,不影响
- this.getHistoryInfo();
+ this.getHistoryInfo()
}
- this.$emit("getList");
+ this.$emit('getList')
},
// 打开非Dicom信息编辑框
handleEditNoneDicomInfo(row) {
- const { CodeView, Id, BodyPart, Modality, ImageDate } = { ...row };
- this.noneDicomForm.CodeView = CodeView;
- this.noneDicomForm.Id = Id;
- this.noneDicomForm.BodyPart = BodyPart;
- this.noneDicomForm.Modality = Modality;
- this.noneDicomForm.ImageDate = ImageDate;
- this.noneDicomForm.BodyParts = BodyPart.split(", ");
- this.editNoneDicomVisible = true;
+ const { CodeView, Id, BodyPart, Modality, ImageDate } = { ...row }
+ this.noneDicomForm.CodeView = CodeView
+ this.noneDicomForm.Id = Id
+ this.noneDicomForm.BodyPart = BodyPart
+ this.noneDicomForm.Modality = Modality
+ this.noneDicomForm.ImageDate = ImageDate
+ this.noneDicomForm.BodyParts = BodyPart.split(', ')
+ this.editNoneDicomVisible = true
},
// 更新非Dicom部位/拍片类型信息
handleUpdateNoneDicomInfo() {
this.$refs.noneDicomForm.validate((valid) => {
- if (!valid) return;
- this.btnLoading = true;
- this.noneDicomForm.BodyPart = this.noneDicomForm.BodyParts.join(", ");
- this.noneDicomForm.TrialId = this.trialId;
- this.noneDicomForm.TrialSiteId = this.data.TrialSiteId;
- this.noneDicomForm.SubjectId = this.data.SubjectId;
- this.noneDicomForm.SubjectVisitId = this.data.Id;
+ if (!valid) return
+ this.btnLoading = true
+ this.noneDicomForm.BodyPart = this.noneDicomForm.BodyParts.join(', ')
+ this.noneDicomForm.TrialId = this.trialId
+ this.noneDicomForm.TrialSiteId = this.data.TrialSiteId
+ this.noneDicomForm.SubjectId = this.data.SubjectId
+ this.noneDicomForm.SubjectVisitId = this.data.Id
addOrUpdateNoneDicomStudy(this.noneDicomForm)
.then((res) => {
- this.btnLoading = false;
+ this.btnLoading = false
if (res.IsSuccess) {
- this.getNoneDicomList();
- this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- this.editNoneDicomVisible = false;
+ this.getNoneDicomList()
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
+ this.editNoneDicomVisible = false
}
})
.catch(() => {
- this.btnLoading = false;
- });
- });
+ this.btnLoading = false
+ })
+ })
},
// 获取非Dicom检查信息
getNoneDicomList() {
- this.loading = true;
+ this.loading = true
getNoneDicomStudyList(this.data.Id)
.then((res) => {
- this.noneDicomStudyList = res.Result;
- this.loading = false;
+ this.noneDicomStudyList = res.Result
+ this.loading = false
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
// 预览文件
previewFile(row) {
// window.open(row.FullFilePath, '_blank')
- this.imgObj.url = row.FullFilePath;
- this.imgObj.loading = true;
- this.imgObj.visible = true;
+ this.imgObj.url = row.FullFilePath
+ this.imgObj.loading = true
+ this.imgObj.visible = true
},
// 预览所有影像
handleViewImages() {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- var token = getToken();
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showvisitdicoms?trialId=${this.data.TrialId}&visitInfo=${
this.data.VisitName
}(${this.data.VisitNum})&subjectVisitId=${this.data.Id}&showDelete=${
this.isAudit ? 0 : 1
}&TokenKey=${token}`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
},
// 预览阅片影像
handleViewReadingImages() {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- var token = getToken();
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showvisitdicoms?trialId=${this.data.TrialId}&visitInfo=${this.data.VisitName}(${this.data.VisitNum})&subjectVisitId=${this.data.Id}&isReading=1&TokenKey=${token}`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
},
// 预览临床数据
handlePreviewClinicalData(row) {
- this.rowData = row;
- this.petVisible = true;
+ this.rowData = row
+ this.petVisible = true
},
// 预览某个检查
handlePreviewStudy(row) {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- var token = getToken();
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showdicom?trialId=${this.trialId}&subjectVisitId=${
this.data.Id
}&studyId=${row.StudyId}&showDelete=${
this.isAudit ? 0 : 1
}&TokenKey=${token}&type=Study`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
},
// 预览某个序列
handlePreviewInstance(row) {
try {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- var token = getToken();
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showdicom?trialId=${this.trialId}&studyId=${
row.StudyId
@@ -2228,58 +2347,58 @@ export default {
}&subjectVisitId=${
this.data.Id
}&type=Series&TokenKey=${token}&description=${row.Description}`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
} catch (e) {
- console.log(e);
+ console.log(e)
}
},
// 预览所有检查下非Dicom文件
handleViewAllNoneDicoms() {
if (this.open) {
- this.open.close();
+ this.open.close()
}
// this.previewAllNoneDicomVisible = true
- let trialId = this.$route.query.trialId;
- var token = getToken();
+ let trialId = this.$route.query.trialId
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${this.data.Id}&TokenKey=${token}`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
},
// 预览单个检查下非Dicom文件
handlePreviewNoneDicomFiles(row) {
if (this.open) {
- this.open.close();
+ this.open.close()
}
- let trialId = this.$route.query.trialId;
- var token = getToken();
+ let trialId = this.$route.query.trialId
+ var token = getToken()
const routeData = this.$router.resolve({
path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${this.data.Id}&studyId=${row.Id}&TokenKey=${token}`,
- });
- this.open = window.open(routeData.href, "_blank");
+ })
+ this.open = window.open(routeData.href, '_blank')
},
getBodyPart(bodyPart) {
- if (!bodyPart) return "";
- var separator = ",";
- if (bodyPart.indexOf("|") > -1) {
- separator = "|";
- } else if (bodyPart.indexOf(",") > -1) {
- separator = ",";
- } else if (bodyPart.indexOf(",") > -1) {
- separator = ",";
+ if (!bodyPart) return ''
+ var separator = ','
+ if (bodyPart.indexOf('|') > -1) {
+ separator = '|'
+ } else if (bodyPart.indexOf(',') > -1) {
+ separator = ','
+ } else if (bodyPart.indexOf(',') > -1) {
+ separator = ','
}
- var arr = bodyPart.split(separator);
+ var arr = bodyPart.split(separator)
var newArr = arr.map((i) => {
- return this.$fd("Bodypart", i.trim(), "Code", this.BodyPart, "Name");
- });
- return newArr.join(" | ");
+ return this.$fd('Bodypart', i.trim(), 'Code', this.BodyPart, 'Name')
+ })
+ return newArr.join(' | ')
},
openManuals() {
- this.$emit("openManuals");
+ this.$emit('openManuals')
},
},
-};
+}
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/UploadFile.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/UploadFile.vue
new file mode 100644
index 00000000..f326253e
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/none-dicoms/components/UploadFile.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
index d6c92fc4..8abd6e68 100644
--- a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
+++ b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
@@ -1,9 +1,9 @@
-
-
{{ $t('trials:auditRecord:table:subject') }}:{{ otherInfo.SubjectCode }}
-
({{ otherInfo.TaskBlindName }})
+
+
{{ subjectCode }}
+ {{ taskBlindName }}
@@ -93,6 +93,10 @@
:subject-id="subjectId"
:visit-task-id="visitTaskId"
:criterion-id="otherInfo.TrialCriterionId"
+ :subjectCode="subjectCode"
+ :taskBlindName="taskBlindName"
+ :isReadingShowSubjectInfo="isReadingShowSubjectInfo"
+ :iseCRFShowInDicomReading="iseCRFShowInDicomReading"
/>
@@ -127,9 +131,33 @@ export default {
type: String,
required: true
},
+ taskBlindName: {
+ type: String,
+ required: true
+ },
readingCategory: {
type: Number,
required: true
+ },
+ isReadingShowSubjectInfo: {
+ type: Boolean,
+ required: true
+ },
+ readingTool: {
+ type: String,
+ required: true
+ },
+ criterionType: {
+ type: String,
+ required: true
+ },
+ isReadingTaskViewInOrder: {
+ type: Number,
+ required: true
+ },
+ iseCRFShowInDicomReading: {
+ type: Boolean,
+ required: true
}
},
data() {
@@ -156,7 +184,8 @@ export default {
currentTaskId: '',
otherInfo: null,
isReadingShowPreviousResults: false,
- bp: []
+ bp: [],
+ openWindow: null
}
},
computed: {
@@ -170,6 +199,11 @@ export default {
this.getNoneDicomList(this.isReadingShowPreviousResults)
},
+ beforeDestroy() {
+ if (this.openWindow) {
+ this.openWindow.close()
+ }
+ },
methods: {
// 获取非Dicom检查信息
getNoneDicomList() {
@@ -250,18 +284,21 @@ export default {
})
},
handleImageRead(task) {
+ if (this.openWindow) {
+ this.openWindow.close()
+ }
this.currentTaskId = task.VisitTaskId
- var criterionType = this.$router.currentRoute.query.criterionType
- var readingTool = this.$router.currentRoute.query.readingTool
- var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
+ var criterionType = this.criterionType
+ var readingTool = this.readingTool
+ var isReadingTaskViewInOrder = this.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var token = getToken()
- const path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
+ const path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&visitTaskId=${task.VisitTaskId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
// const routeData = this.$router.resolve({
// path: `/readingPage?subjectId=${this.subjectId}&trialId=${this.trialId}&visitTaskId=${task.VisitTaskId}&TokenKey=${token}`
// })
const routeData = this.$router.resolve({ path })
- window.open(routeData.href, '_blank')
+ this.openWindow = window.open(routeData.href, '_blank')
},
previewCD() {
var token = getToken()
@@ -295,7 +332,7 @@ export default {
flex: 1;
width: 100%;
height: 100%;
- padding: 10px;
+ padding-bottom: 10px;
display: flex;
::-webkit-scrollbar {
width: 7px;
@@ -326,13 +363,19 @@ export default {
flex-direction: column;
}
.title{
- height: 40px;
- line-height: 40px;
+ // height: 40px;
+ // line-height: 40px;
border: 1ppx solid;
border: 1px solid #ebe7e7;
- padding-left: 10px;
+ // padding-left: 10px;
background-color: #4e4e4e;
color: #ffffff;
+ h4{
+ padding: 5px 0px;
+ margin: 0;
+ text-align: center;
+ background-color: #4c4c4c;
+ }
}
.left-content{
flex: 1;
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/index.vue b/src/views/trials/trials-panel/reading/none-dicoms/index.vue
index dfc43b00..40c9965c 100644
--- a/src/views/trials/trials-panel/reading/none-dicoms/index.vue
+++ b/src/views/trials/trials-panel/reading/none-dicoms/index.vue
@@ -1,15 +1,40 @@
@@ -408,6 +412,9 @@ export default {
cursor: pointer;
// margin-bottom: 5px;
padding-left: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis; /* 用省略号表示溢出的文本 */
+ white-space: nowrap;
}
.img-box:nth-last-child(1){
margin-bottom: 0px;
From 6712cad721524edf83129570478886ee30fc16d9 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 3 Sep 2024 17:48:24 +0800
Subject: [PATCH 016/112] =?UTF-8?q?ir=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 16 +
.../downloadDicomAndNonedicom/index.vue | 382 ++++++++++++++++++
.../uploadDicomAndNonedicom/study-view.vue | 131 ++++++
src/components/uploadImage/index.vue | 3 +-
src/utils/stream.js | 13 +-
src/utils/uploadZip.js | 168 --------
.../reading/reading-task/index.vue | 96 +++--
.../reading-period/components/AddOrEditCD.vue | 200 +++++----
.../qc-check/components/qualityAssurance.vue | 28 +-
9 files changed, 721 insertions(+), 316 deletions(-)
create mode 100644 src/components/downloadDicomAndNonedicom/index.vue
create mode 100644 src/components/uploadDicomAndNonedicom/study-view.vue
delete mode 100644 src/utils/uploadZip.js
diff --git a/src/api/load.js b/src/api/load.js
index ff9e6b8d..3bc426ca 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -47,4 +47,20 @@ export function getCRCUploadedStudyInfo(data) {
method: 'post',
data
})
+}
+// 获取ir阅片和任务列表
+export function getSubjectImageDownloadSelectList(data) {
+ return request({
+ url: '/DownloadAndUpload/getSubjectImageDownloadSelectList',
+ method: 'post',
+ data
+ })
+}
+// 获取ir阅片和任务下载文件信息
+export function getIRReadingDownloadStudyInfo(data) {
+ return request({
+ url: '/DownloadAndUpload/getIRReadingDownloadStudyInfo',
+ method: 'post',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
new file mode 100644
index 00000000..500dbc9a
--- /dev/null
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -0,0 +1,382 @@
+
+
+ {{ title }}
+
+
{{ $t('download:top:title') }}
+
+
+ {{ $t('download:button:downloadDicom') }}
+
+
+ {{ $t('download:button:downloadNonedicom') }}
+
+
+ {{ $t('download:button:downloadAll') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $fd('IsDicom', scope.row.IsDicom) }}
+
+
+
+
+
+ {{
+ scope.row.IsDicom
+ ? scope.row.DicomStudyList.length
+ : scope.row.NoneDicomStudyList.length
+ }}
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/study-view.vue b/src/components/uploadDicomAndNonedicom/study-view.vue
new file mode 100644
index 00000000..92f06b67
--- /dev/null
+++ b/src/components/uploadDicomAndNonedicom/study-view.vue
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/uploadImage/index.vue b/src/components/uploadImage/index.vue
index 1d6d6067..d00de1f0 100644
--- a/src/components/uploadImage/index.vue
+++ b/src/components/uploadImage/index.vue
@@ -102,7 +102,6 @@
import uploadList from "./components/upload-list.vue";
import studyView from "./components/study-view.vue";
import { getSubjectImageUploadList, deleteTaskStudy } from "@/api/load.js";
-import { downloadImage } from "@/utils/uploadZip.js";
import store from "@/store";
export default {
name: "uploadImage",
@@ -591,7 +590,7 @@ export default {
files.push(obj);
}
store.dispatch("trials/setUnLock", true);
- let res = await downloadImage(zipName, files);
+ // let res = await downloadImage(zipName, files);
store.dispatch("trials/setUnLock", false);
},
},
diff --git a/src/utils/stream.js b/src/utils/stream.js
index a812b259..1c74b6d3 100644
--- a/src/utils/stream.js
+++ b/src/utils/stream.js
@@ -1,9 +1,10 @@
import streamSaver from "streamsaver";
import "streamsaver/examples/zip-stream.js";
-
+import store from '@/store'
// 下载文件并压缩
function zipFiles(zipName, files) {
console.log("同步下载打包开始时间:" + new Date());
+ store.dispatch('trials/setUnLock', true)
// 创建压缩文件输出流
const zipFileOutputStream = streamSaver.createWriteStream(zipName);
// 创建下载文件流
@@ -28,15 +29,21 @@ function zipFiles(zipName, files) {
// 开始下载
readableZipStream
.pipeTo(zipFileOutputStream)
- .then(() => console.log("同步下载打包结束时间:" + new Date()));
+ .then(() => {
+ console.log("同步下载打包结束时间:" + new Date());
+ store.dispatch('trials/setUnLock', false)
+ });
}
}
// 下载文件并修改名称
async function updateFile(file, name) {
try {
+ store.dispatch('trials/setUnLock', true)
const fileOutputStream = streamSaver.createWriteStream(name);
let res = await fetch(file);
- res.body.pipeTo(fileOutputStream);
+ res.body.pipeTo(fileOutputStream).then(() => {
+ store.dispatch('trials/setUnLock', true)
+ });
} catch (err) {
console.log(err)
}
diff --git a/src/utils/uploadZip.js b/src/utils/uploadZip.js
deleted file mode 100644
index 71f813b9..00000000
--- a/src/utils/uploadZip.js
+++ /dev/null
@@ -1,168 +0,0 @@
-import Vue from 'vue';
-import store from "@/store";
-import {
- requestPackageAndAnonymizImage,
-} from "@/api/load.js";
-import streamSaver from "streamsaver";
-import "streamsaver/examples/zip-stream.js"
-let flag = {};
-export const resetFlag = () => {
- flag = {};
- store.state.trials.uploadTip = null;
- if (store.state.trials.timer) {
- clearInterval(store.state.trials.timer);
- store.state.trials.timer = null;
- }
- store.dispatch("trials/setUnLock", false);
-}
-export const downloadImage = async (id, id2, IsDicom = true) => {
- // if (flag[`${id2}_${IsDicom}`]) return Vue.prototype.$message.warning(Vue.prototype.$t('trials:upload:tip:uploading'));
- if (flag[`${id2}_${IsDicom}`]) return false;
- flag[`${id2}_${IsDicom}`] = true
- try {
- let params = {
- TrialId: id,
- SubjectVisitId: id2,
- IsDicom: IsDicom
- }
- store.dispatch("trials/setUnLock", true);
- let res = await requestPackageAndAnonymizImage(params);
- if (res.IsSuccess) {
- if (!res.Result) {
- flag[`${id2}_${IsDicom}`] = false;
- // Vue.prototype.$message.warning(Vue.prototype.$t("trials:upload:message:not"))
- let message = Vue.prototype.$t('trials:upload:tip:uploading').replace("xxx", res.OtherInfo.FileName);
- store.state.trials.uploadTip = message;
- if (!store.state.trials.timer) {
- store.state.trials.timer = setInterval(() => {
- downloadImage(id, id2, IsDicom);
- }, 2000);
- }
- return false;
- }
- if (store.state.trials.timer) {
- clearInterval(store.state.trials.timer);
- store.state.trials.timer = null;
- }
- let fileName = res.Result.split("/").pop();
- let href = Vue.prototype.OSSclientConfig.basePath + res.Result;
- if (fileName !== res.OtherInfo.FileName) {
- let message = Vue.prototype.$t('trials:upload:tip:uploading').replace("xxx", res.OtherInfo.FileName);
- store.state.trials.uploadTip = message;
- // Vue.prototype.$message.success(Vue.prototype.$t("trials:upload:message:startUpload"));
- return download(href, res.OtherInfo.FileName, { id2, IsDicom });
-
- }
- let a = document.createElement("a");
- a.download = res.OtherInfo.FileName;
- a.href = href;
- a.click();
- URL.revokeObjectURL(href);
- let timer = setTimeout(() => {
- a = null;
- href = null;
- timer = null;
- }, 500)
- store.state.trials.uploadTip = null;
- return true;
- } else {
- flag[`${id2}_${IsDicom}`] = false;
- return false;
- }
- } catch (err) {
- flag[`${id2}_${IsDicom}`] = false;
- console.log(err);
- }
-};
-export const fileDownload = (content, filename) => {
- const eleLink = document.createElement("a");
- eleLink.download = filename;
- eleLink.style.display = "none";
- const blob = new Blob([content]);
- eleLink.href = URL.createObjectURL(blob);
- document.body.appendChild(eleLink);
- eleLink.click();
- document.body.removeChild(eleLink);
-};
-let download = async (downloadUrl, downloadFileName, res) => {
- const blob = await getBlob(downloadUrl);
- flag[`${res.id2}_${res.IsDicom}`] = false;
- store.state.trials.uploadTip = null;
- store.dispatch("trials/setUnLock", false);
- saveAsB(blob, downloadFileName);
- return true;
-}
-
-let getBlob = (url) => {
- return new Promise((resolve, reject) => {
- const xhr = new XMLHttpRequest();
-
- xhr.open('GET', url, true);
- xhr.responseType = 'blob';
- xhr.onload = () => {
- if (xhr.status === 200) {
- resolve(xhr.response);
- } else {
- reject(new Error(`Request failed with status ${xhr.status}`));
- }
- };
- xhr.onerror = () => {
- reject(new Error('Request failed'));
- };
-
- xhr.send();
- });
-}
-
-let saveAsB = (blob, filename) => {
- const link = document.createElement('a');
- const body = document.body;
-
- link.href = window.URL.createObjectURL(blob);
- link.download = filename;
-
- // hide the link
- link.style.display = 'none';
- body.appendChild(link);
-
- link.click();
- body.removeChild(link);
-
- window.URL.revokeObjectURL(link.href);
-}
-
-// 前端流式打包下载
-const handleBatchDown = async (item, zip) => {
- return new Promise((resolve) => {
- console.log("同步下载打包开始时间:" + new Date());
- // 创建压缩文件输出流
- const zipFileOutputStream = streamSaver.createWriteStream(zipName);
- // 创建下载文件流
- const fileIterator = files.values();
- const readableZipStream = new window.ZIP({
- async pull(ctrl) {
- const fileInfo = fileIterator.next();
- if (fileInfo.done) {//迭代终止
- ctrl.close();
- } else {
- const { name, url } = fileInfo.value;
- return fetch(url).then(res => {
- ctrl.enqueue({
- name,
- stream: () => res.body
- })
- })
- }
- }
- });
- if (window.WritableStream && readableZipStream.pipeTo) {
- // 开始下载
- readableZipStream
- .pipeTo(zipFileOutputStream)
- .then(() => { console.log("同步下载打包结束时间:" + new Date()); resolve(true) })
- } else {
- resolve(false);
- }
- })
-
-};
diff --git a/src/views/trials/trials-panel/reading/reading-task/index.vue b/src/views/trials/trials-panel/reading/reading-task/index.vue
index 1c828c19..f3564d0e 100644
--- a/src/views/trials/trials-panel/reading/reading-task/index.vue
+++ b/src/views/trials/trials-panel/reading/reading-task/index.vue
@@ -18,7 +18,7 @@
v-if="
(isReadingTaskViewInOrder === 1 ||
isReadingTaskViewInOrder === 2) &&
- TrialReadingCriterionId === item.TrialReadingCriterionId
+ TrialReadingCriterionId === item.TrialReadingCriterionId
"
>
@@ -41,7 +41,7 @@
icon="el-icon-search"
@click="handleSearch"
>
- {{ $t("common:button:search") }}
+ {{ $t('common:button:search') }}
- {{ $t("common:button:reset") }}
+ {{ $t('common:button:reset') }}
@@ -75,10 +75,11 @@
scope.row.UrgentColor === 1
? 'danger'
: scope.row.UrgentColor === 2
- ? 'warning'
- : 'primary'
+ ? 'warning'
+ : 'primary'
"
- >{{ $fd("YesOrNo", scope.row.IsUrgent) }}
+ >{{ $fd('YesOrNo', scope.row.IsUrgent) }}
@@ -113,10 +114,11 @@
scope.row.UrgentColor === 1
? '#F56C6C'
: scope.row.UrgentColor === 2
- ? '#E6A23C'
- : '#409EFF',
+ ? '#E6A23C'
+ : '#409EFF',
}"
- >{{ scope.row.UrgentCount }}
+ >{{ scope.row.UrgentCount }}
@@ -130,7 +132,7 @@
sortable="custom"
>
- {{ scope.row.SuggesteFinishedTime.split(":")[0] + ":00:00" }}
+ {{ scope.row.SuggesteFinishedTime.split(':')[0] + ':00:00' }}
@@ -248,48 +250,64 @@
:disabled="
randomReadInfo.UnReadTaskCount +
randomReadInfo.UnReadJudgeTaskCount ===
- 0
+ 0
"
@click="handleOutOfOrderReading"
>
- {{ $t("trials:pendingReadingTasks:button:beginRandomReview") }}
+ {{ $t('trials:pendingReadingTasks:button:beginRandomReview') }}
- -->
+
+
diff --git a/src/views/trials/trials-panel/subject/reading-period/components/AddOrEditCD.vue b/src/views/trials/trials-panel/subject/reading-period/components/AddOrEditCD.vue
index 8d920ac1..2c87a977 100644
--- a/src/views/trials/trials-panel/subject/reading-period/components/AddOrEditCD.vue
+++ b/src/views/trials/trials-panel/subject/reading-period/components/AddOrEditCD.vue
@@ -34,7 +34,7 @@
type="text"
@click="handleDownloadTpl"
>
- {{ $t("trials:readingPeriod:cd:title:downloadTpl") }}
+ {{ $t('trials:readingPeriod:cd:title:downloadTpl') }}
@@ -53,7 +53,7 @@
"
>
- {{ $t("trials:uploadClinicalData:button:selectFile") }}
+ {{ $t('trials:uploadClinicalData:button:selectFile') }}
{{
- $t("trials:attachment:message:pdf")
+ $t('trials:attachment:message:pdf')
}}
@@ -139,7 +139,7 @@
type="primary"
@click="close"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -159,23 +159,23 @@ import {
getTrialClinicalDataSelect,
addOrUpdateReadingClinicalData,
addOrUpdateConsistencyAnalysisReadingClinicalData,
-} from "@/api/trials";
-import { fileDownload } from "@/utils/uploadZip.js";
+} from '@/api/trials'
+import { downLoadFile } from '@/utils/stream.js'
export default {
- name: "AddOrUpdateClinicalData",
+ name: 'AddOrUpdateClinicalData',
props: {
trialReadingCriterionId: {
type: String,
- default: "",
+ default: '',
},
data: {
type: Object,
default() {
- return {};
+ return {}
},
},
type: {
- default: "readingPeriod",
+ default: 'readingPeriod',
},
option: {
default: () => [],
@@ -185,13 +185,13 @@ export default {
data() {
return {
fileList: [],
- faccept: [".pdf"],
+ faccept: ['.pdf'],
form: {
- Id: "",
- TrialId: "",
- SubjectId: "",
- ReadingId: "",
- ClinicalDataTrialSetId: "",
+ Id: '',
+ TrialId: '',
+ SubjectId: '',
+ ReadingId: '',
+ ClinicalDataTrialSetId: '',
IsVisist: true,
AddFileList: [],
DeleteFileIds: [],
@@ -201,8 +201,8 @@ export default {
ClinicalDataTrialSetId: [
{
required: true,
- message: this.$t("common:ruleMessage:select"),
- trigger: ["blur", "change"],
+ message: this.$t('common:ruleMessage:select'),
+ trigger: ['blur', 'change'],
},
],
},
@@ -211,194 +211,190 @@ export default {
clinicalDatas: [],
pendingUploadList: [],
pendingDeleteList: [],
- currentTpl: { id: "", isExist: false },
- };
+ currentTpl: { id: '', isExist: false },
+ }
},
mounted() {
- this.initForm();
+ this.initForm()
},
methods: {
// 下载临床数据
handleUploadFile(row) {
- let href = this.OSSclientConfig.basePath + row.Path;
- let name = row.FileName;
- fileDownload(href, name);
+ let href = this.OSSclientConfig.basePath + row.Path
+ let name = row.FileName
+ downLoadFile(href, name)
},
async initForm() {
- if (this.type === "readingPeriod") {
- await this.getClinicalDatas();
+ if (this.type === 'readingPeriod') {
+ await this.getClinicalDatas()
} else {
- this.clinicalDatas = this.option;
+ this.clinicalDatas = this.option
}
if (Object.keys(this.data).length > 0) {
for (const k in this.form) {
if (this.data.hasOwnProperty(k)) {
- this.form[k] = this.data[k];
+ this.form[k] = this.data[k]
}
}
- this.handleClinicalDataSetChange(this.form.ClinicalDataTrialSetId);
- this.fileList = this.form.FileList.concat();
+ this.handleClinicalDataSetChange(this.form.ClinicalDataTrialSetId)
+ this.fileList = this.form.FileList.concat()
}
},
save() {
this.$refs.clinicalDataForm.validate((valid) => {
- if (!valid) return;
+ if (!valid) return
if (this.fileList.length === 0) {
// 请上传文件!
- this.$alert(this.$t("trials:readingPeriod:cd:message:uploadFile"));
- return;
+ this.$alert(this.$t('trials:readingPeriod:cd:message:uploadFile'))
+ return
}
- this.pendingUploadList = [];
+ this.pendingUploadList = []
for (let i = 0; i < this.fileList.length; ++i) {
if (this.fileList[i].Status === 0) {
- this.pendingUploadList.push(this.fileList[i].Files);
+ this.pendingUploadList.push(this.fileList[i].Files)
}
}
if (this.pendingUploadList.length > 0) {
- this.uploadFilesAndSave();
+ this.uploadFilesAndSave()
} else {
- this.saveClinicalData();
+ this.saveClinicalData()
}
- });
+ })
},
uploadFilesAndSave() {
return new Promise(async (resolve, reject) => {
- this.form.AddFileList = [];
+ this.form.AddFileList = []
for (var i = 0; i < this.pendingUploadList.length; ++i) {
// const file = await this.convertBase64ToBlob(this.pendingUploadList[i])
- const file = await this.fileToBlob(this.pendingUploadList[i]);
+ const file = await this.fileToBlob(this.pendingUploadList[i])
const res = await this.OSSclient.put(
`/${this.data.TrialId}/ClinicalData/${this.pendingUploadList[i].name}`,
file
- );
+ )
this.form.AddFileList.push({
fileName: this.pendingUploadList[i].name,
path: this.$getObjectName(res.url),
size: this.pendingUploadList[i].size,
type: this.pendingUploadList[i].type,
- });
+ })
}
- this.saveClinicalData(this.form.AddFileList);
- resolve();
- });
+ this.saveClinicalData(this.form.AddFileList)
+ resolve()
+ })
},
saveClinicalData() {
return new Promise((resolve, reject) => {
- this.btnLoading = true;
- this.form.DeleteFileIds = this.pendingDeleteList;
- if (this.type === "consistencyAnalysis") {
+ this.btnLoading = true
+ this.form.DeleteFileIds = this.pendingDeleteList
+ if (this.type === 'consistencyAnalysis') {
addOrUpdateConsistencyAnalysisReadingClinicalData(this.form)
.then((response) => {
- this.btnLoading = false;
- this.$emit("getList");
- this.$emit("close");
- this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- resolve();
+ this.btnLoading = false
+ this.$emit('getList')
+ this.$emit('close')
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
+ resolve()
})
.catch(() => {
- this.btnLoading = false;
- reject();
- });
+ this.btnLoading = false
+ reject()
+ })
} else {
addOrUpdateReadingClinicalData(this.form)
.then((response) => {
- this.btnLoading = false;
- this.$emit("getList");
- this.$emit("close");
- this.$message.success(
- this.$t("common:message:savedSuccessfully")
- );
- resolve();
+ this.btnLoading = false
+ this.$emit('getList')
+ this.$emit('close')
+ this.$message.success(this.$t('common:message:savedSuccessfully'))
+ resolve()
})
.catch(() => {
- this.btnLoading = false;
- reject();
- });
+ this.btnLoading = false
+ reject()
+ })
}
- });
+ })
},
getClinicalDatas() {
return new Promise((resolve, reject) => {
- this.loading = true;
+ this.loading = true
var param = {
trialId: this.data.TrialId,
IsVisit: this.data.IsVisit,
ReadingId: this.data.ReadingId,
SubjectId: this.data.SubjectId,
- ReadingClinicalDataId: this.data.Id ? this.data.Id : "",
+ ReadingClinicalDataId: this.data.Id ? this.data.Id : '',
IsBaseLine: this.data.IsBaseLine,
TrialReadingCriterionId: this.trialReadingCriterionId,
- };
+ }
getTrialClinicalDataSelect(param)
.then((res) => {
- this.clinicalDatas = res.Result;
- this.loading = false;
- resolve();
+ this.clinicalDatas = res.Result
+ this.loading = false
+ resolve()
})
.catch(() => {
- this.loading = false;
- reject();
- });
- });
+ this.loading = false
+ reject()
+ })
+ })
},
handleDeleteFile(index, row) {
- this.$confirm(this.$t("trials:readingPeriod:cd:message:delete"), {
- type: "warning",
+ this.$confirm(this.$t('trials:readingPeriod:cd:message:delete'), {
+ type: 'warning',
distinguishCancelAndClose: true,
})
.then(() => {
if (row.Id) {
- this.pendingDeleteList.push(row.Id);
+ this.pendingDeleteList.push(row.Id)
}
- this.fileList.splice(index, 1);
+ this.fileList.splice(index, 1)
})
- .catch(() => {});
+ .catch(() => {})
},
beginScanFiles(e) {
- var files = e.target.files;
+ var files = e.target.files
for (var i = 0; i < files.length; ++i) {
- const fileName = files[i].name;
+ const fileName = files[i].name
var extendName = fileName
- .substring(fileName.lastIndexOf("."))
- .toLocaleLowerCase();
+ .substring(fileName.lastIndexOf('.'))
+ .toLocaleLowerCase()
if (this.faccept.indexOf(extendName) !== -1) {
this.fileList.push({
FileName: fileName,
- Path: "",
+ Path: '',
Status: 0,
Files: files[i],
size: files[i].size,
- type: fileName.split(".")[1],
- });
+ type: fileName.split('.')[1],
+ })
}
}
},
handleClinicalDataSetChange(v) {
- var index = this.clinicalDatas.findIndex((item) => item.Id === v);
+ var index = this.clinicalDatas.findIndex((item) => item.Id === v)
if (index > -1) {
- this.currentTpl.id = this.clinicalDatas[index].Id;
- this.currentTpl.path = this.clinicalDatas[index].Path;
- this.currentTpl.isExist = !!this.clinicalDatas[index].FileName;
+ this.currentTpl.id = this.clinicalDatas[index].Id
+ this.currentTpl.path = this.clinicalDatas[index].Path
+ this.currentTpl.isExist = !!this.clinicalDatas[index].FileName
}
},
handleDownloadTpl() {
- this.loading = true;
+ this.loading = true
window.open(
this.OSSclientConfig.basePath + this.currentTpl.path,
- "_blank"
- );
- this.loading = false;
+ '_blank'
+ )
+ this.loading = false
// DownloadTrialClinicalFile(this.currentTpl.id).then(data => {
// this.loading = false
// }).catch(() => { this.loading = false })
},
close() {
- this.$emit("close");
+ this.$emit('close')
},
},
-};
+}
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 7349f1f0..c582c49d 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -1252,9 +1252,9 @@ import SignForm from '@/views/trials/components/newSignForm'
import { getToken } from '@/utils/auth'
import const_ from '@/const/sign-code'
import uploadPetClinicalData from '@/views/trials/trials-panel/visit/crc-upload/components/uploadPetClinicalData.vue'
-import { downloadImage, resetFlag } from '@/utils/uploadZip.js'
import { downLoadFile } from '@/utils/stream.js'
import { getCRCUploadedStudyInfo } from '@/api/load.js'
+import store from '@/store'
export default {
name: 'QualityAssurance',
components: {
@@ -1392,7 +1392,7 @@ export default {
if (this.open) {
this.open.close()
}
- resetFlag()
+ store.dispatch('trials/setUnLock', false)
},
methods: {
// 选中dicom
@@ -1452,7 +1452,10 @@ export default {
let files = [],
name = null
if (type === 'dicom') {
- name = `${data.SubjectCode}_${data.VisitName}_DICOM.zip`
+ name = `${data.SubjectCode}_${data.VisitName}_${this.$fd(
+ 'IsDicom',
+ true
+ )}.zip`
let StudyList = data.StudyList
StudyList.forEach((study) => {
if (study.SeriesList.length > 0) {
@@ -1461,7 +1464,12 @@ export default {
series.InstanceList.forEach((instance) => {
let fileName = instance.Path.split('/').pop()
let obj = {
- name: `${data.SubjectCode}_${data.VisitName}_DICOM/${study.StudyCode}_${study.StudyTime}_${series.Modality}/${fileName}`,
+ name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
+ 'IsDicom',
+ true
+ )}/${study.StudyCode}_${study.StudyTime}_${
+ series.Modality
+ }/${fileName}`,
path: this.OSSclientConfig.basePath + instance.Path,
}
files.push(obj)
@@ -1472,7 +1480,10 @@ export default {
})
}
if (type === 'noneDicom') {
- name = `${data.SubjectCode}_${data.VisitName}_非DICOM.zip`
+ name = `${data.SubjectCode}_${data.VisitName}_${this.$fd(
+ 'IsDicom',
+ false
+ )}.zip`
let NoneDicomStudyList = data.NoneDicomStudyList
// 单个zip包
if (
@@ -1490,7 +1501,12 @@ export default {
if (study.FileList.length > 0) {
study.FileList.forEach((item) => {
let obj = {
- name: `${data.SubjectCode}_${data.VisitName}_非DICOM/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${item.FileName}`,
+ name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
+ 'IsDicom',
+ true
+ )}/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${
+ item.FileName
+ }`,
url: this.OSSclientConfig.basePath + item.Path,
}
files.push(obj)
From 655753d1c635886dd6b73eb0f112c10977cfb924 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 3 Sep 2024 18:04:59 +0800
Subject: [PATCH 017/112] =?UTF-8?q?=E6=95=B0=E5=80=BC=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../none-dicoms/components/Criterions.vue | 2 +-
.../none-dicoms/components/FormItem.vue | 30 +++++++--
.../reading/none-dicoms/components/Report.vue | 66 +++++++++++++++----
.../none-dicoms/components/VisitReview.vue | 8 +--
4 files changed, 81 insertions(+), 25 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/Criterions.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/Criterions.vue
index bb543314..c9ef1bb6 100644
--- a/src/views/trials/trials-panel/reading/none-dicoms/components/Criterions.vue
+++ b/src/views/trials/trials-panel/reading/none-dicoms/components/Criterions.vue
@@ -1,5 +1,5 @@
-
+
{{ subjectCode }}
{{ taskBlindName }}
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue
index bc9b032e..cb43bf14 100644
--- a/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue
+++ b/src/views/trials/trials-panel/reading/none-dicoms/components/FormItem.vue
@@ -120,11 +120,27 @@
-
+
+
+
+
+
+
+
{questionId = scope.row.QuestionId}"
>
@@ -165,8 +165,8 @@
v-else-if="scope.row.DataSource !== 1 && scope.row.Type==='number' && !scope.row.IsShowInDicom && ((task.IsBaseLine && scope.row.LimitEdit === 1) || (!task.IsBaseLine && scope.row.LimitEdit === 2) || scope.row.LimitEdit === 0)"
v-model="questionForm[scope.row.QuestionId]"
:disabled="scope.row.DataSource === 1"
- onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')))"
- @input="limitInput($event, questionForm, scope.row.QuestionId)"
+ @onblur="limitBlur($event, questionForm, scope.row.QuestionId, scope.row.ValueType)"
+ @input="limitInput($event, questionForm, scope.row.QuestionId, scope.row.ValueType)"
size="mini"
@focus="() => {questionId = scope.row.QuestionId}"
>
@@ -368,13 +368,27 @@ export default {
DicomEvent.$off('getReportInfo')
},
methods: {
- limitInput(value, a, b) {
- if (value.indexOf('.') > -1) {
- if (value.split('.')[1].length >= this.digitPlaces) {
+ limitInput(value, a, b, valueType) {
+ if (valueType === 0) {
+ this.$set(a, b, parseInt(value))
+ } else if (valueType === 3) {
+ this.$set(a, b, parseFloat(value))
+ } else if (value.split('.')[1].length >= this.digitPlaces) {
this.$set(a, b, parseFloat(value).toFixed(this.digitPlaces))
+ } else {
+ this.$set(a, b, parseFloat(value))
+ }
+ },
+ limitBlur(value,a,b,valueType) {
+ if (valueType === 0) {
+ this.$set(a, b, parseInt(value))
+ } else if (valueType === 3) {
+ this.$set(a, b, parseFloat(value))
+ }else if (value.split('.')[1].length >= this.digitPlaces) {
+ this.$set(a, b, parseFloat(value).toFixed(this.digitPlaces))
+ } else {
+ this.$set(a, b, parseFloat(value))
}
- } else {
- }
},
setImageUrl(qid, index, tqid, url, RowId) {
if (index || index === 0) {
@@ -455,7 +469,15 @@ export default {
// this.$set(v, 'xfIndex', i)
}
if (v.Type === 'number') {
- this.$set(this.questionForm, v.QuestionId, v.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : v.Answers[this.visitTaskId])
+ let val = null
+ if (v.ValueType === 0){
+ val = parseInt(v.Answers[this.visitTaskId])
+ } else if (v.ValueType === 3) {
+ val = v.Answers[this.visitTaskId]
+ } else {
+ val = v.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : v.Answers[this.visitTaskId]
+ }
+ this.$set(this.questionForm, v.QuestionId, val)
}
if (v.Childrens.length > 0) {
this.setChild(v.Childrens)
@@ -473,7 +495,15 @@ export default {
this.$set(this.questionForm, i.QuestionId, tableAnswers)
}
if (i.Type === 'number') {
- this.$set(this.questionForm, i.QuestionId, i.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : i.Answers[this.visitTaskId])
+ let val = null
+ if (i.ValueType === 0){
+ val = parseInt(i.Answers[this.visitTaskId])
+ } else if (i.ValueType === 3) {
+ val = i.Answers[this.visitTaskId]
+ } else {
+ val = i.Answers[this.visitTaskId] === '' ? parseFloat(0).toFixed(this.digitPlaces) : i.Answers[this.visitTaskId]
+ }
+ this.$set(this.questionForm, i.QuestionId, val)
}
if (i.Childrens && i.Childrens.length > 0 && i.Type !== 'table') {
this.setChild(i.Childrens)
@@ -668,7 +698,15 @@ export default {
// obj.Answers[i.VisitTaskId] = i.Answer ? parseInt(i.Answer) : null
} else {
if (item.Type === 'number') {
- this.$set(obj.Answers, i.VisitTaskId, isNaN(parseFloat(i.Answer)) ? i.Answer : parseFloat(i.Answer).toFixed(digitPlaces))
+ let val = null
+ if (item.ValueType === 0){
+ val = parseInt(i.Answer)
+ } else if (item.ValueType === 3) {
+ val = i.Answer
+ }else {
+ val = isNaN(parseFloat(i.Answer)) ? i.Answer : parseFloat(i.Answer).toFixed(digitPlaces)
+ }
+ this.$set(obj.Answers, i.VisitTaskId, val)
} else {
this.$set(obj.Answers, i.VisitTaskId, i.Answer)
}
@@ -811,9 +849,9 @@ export default {
var trialId = this.trialId
var isReadingTaskViewInOrder = this.isReadingTaskViewInOrder
var criterionType = this.criterionType
- var readingTool = this.readingTool
+ var readingTool = this.readingTool
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
- var path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
+ var path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
const routeData = this.$router.resolve({ path })
window.open(routeData.href, '_blank')
},
diff --git a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
index 2d4e99d3..2a7788c9 100644
--- a/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
+++ b/src/views/trials/trials-panel/reading/none-dicoms/components/VisitReview.vue
@@ -1,6 +1,6 @@
-
-
+
+
{{ subjectCode }}
{{ taskBlindName }}
@@ -67,7 +67,7 @@
-
+
Date: Wed, 4 Sep 2024 09:09:56 +0800
Subject: [PATCH 018/112] =?UTF-8?q?ir=E9=98=85=E7=89=87=E4=B8=8B=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uploadDicomAndNonedicom/dicomFile.vue | 393 ++++++++++++++++++
.../uploadDicomAndNonedicom/index.vue | 53 +++
.../uploadDicomAndNonedicom/nonedicomFile.vue | 0
.../dicoms/customize/CustomizeDicomViewer.vue | 255 ++++++------
4 files changed, 579 insertions(+), 122 deletions(-)
create mode 100644 src/components/uploadDicomAndNonedicom/dicomFile.vue
create mode 100644 src/components/uploadDicomAndNonedicom/index.vue
create mode 100644 src/components/uploadDicomAndNonedicom/nonedicomFile.vue
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
new file mode 100644
index 00000000..78f81af3
--- /dev/null
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -0,0 +1,393 @@
+
+
+
+
{{ $t('upload:dicom:title') }}
+
+
+ {{ $t('upload:dicom:button:upload') }}
+
+
+ {{ $t('upload:dicom:button:preview') }}
+
+
+ {{ $t('upload:dicom:button:delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.OrginalStudyList.length }}
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('trials:uploadDicomList:table:studyDetail1') }}
+ {{ $t('trials:uploadDicomList:table:studyDetail2') }}
+ {{ $t('trials:uploadedDicoms:table:studyDate') }}
+
+ {{ $t('trials:uploadDicomList:table:studyInfo') }}
+
+
+
+
+
+
+ Acc:
+ {{ scope.row.dicomInfo.accNumber }}
+ N/A
+
+
+
+ {{ scope.row.dicomInfo.modality.join('、') }},
+ N/A,
+
+
+ {{ scope.row.seriesList.length }} Series,
+ N/A,
+
+
+ {{ scope.row.fileList.length }} Instances
+ N/A
+
+
+
+
+
+
+ {{ scope.row.dicomInfo.bodyPart }},
+
+ N/A,
+
+
+
+ {{ scope.row.dicomInfo.description }}
+ N/A
+
+
+
+ {{ scope.row.dicomInfo.studyTime }}
+
+
+
+
+
+
+
+
+ {{ $t('trials:uploadDicomList:table:pId') }}
+ {{ $t('trials:uploadDicomList:table:patientName') }}
+ {{ $t('trials:uploadDicomList:table:pInfo') }}
+
+ {{ $t('trials:uploadDicomList:table:patientInfo') }}
+
+
+
+
+
+ PID: {{ scope.row.dicomInfo.patientId }}
+ N/A
+
+
+
+ {{
+ scope.row.dicomInfo.patientName
+ ? scope.row.dicomInfo.patientName
+ : 'N/A'
+ }}
+
+
+
+
+ {{
+ scope.row.dicomInfo.patientSex
+ ? scope.row.dicomInfo.patientSex
+ : 'N/A'
+ }},
+
+
+
+ {{
+ scope.row.dicomInfo.patientAge
+ ? scope.row.dicomInfo.patientAge
+ : 'N/A'
+ }},
+
+
+
+ {{
+ scope.row.dicomInfo.patientBirthDate
+ ? scope.row.dicomInfo.patientBirthDate
+ : 'N/A'
+ }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('trials:uploadDicomList:table:uploadNow')
+ }}{{ scope.row.dicomInfo.failedFileCount }} /
+ {{ scope.row.dicomInfo.fileCount }}:[{{
+ (scope.row.dicomInfo.uploadFileSize / 1024 / 1024).toFixed(2)
+ }}MB/{{
+ (scope.row.dicomInfo.fileSize / 1024 / 1024).toFixed(2)
+ }}MB]
+
+
+
+
+
+
+
+ {{ $t('trials:uploadDicomList:table:status1') }}
+ {{ $t('trials:uploadDicomList:table:status2') }}
+ {{ $t('trials:uploadDicomList:table:status2') }}
+ {{ $t('trials:uploadDicomList:table:status3') }}
+ {{ $t('trials:uploadDicomList:table:status5') }}
+ {{
+ $t('trials:uploadDicomList:table:Failed')
+ }}
+
+
+
+
+
+
+
+ {{ $t('trials:uploadDicomList:table:Existed') }}:
+
+
+ {{ $t('trials:uploadDicomList:table:Uploaded') }}:
+
+
+
+ {{ $t('trials:uploadDicomList:table:Failed') }}:
+
+
+
+
+
+ {{
+ scope.row.uploadState.record.Existed.length
+ }}
+ /
+ {{
+ scope.row.uploadState.record.Uploaded.length
+ }}
+ /
+ {{
+ scope.row.uploadState.record.Failed.length
+ }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
new file mode 100644
index 00000000..58355b3a
--- /dev/null
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -0,0 +1,53 @@
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
new file mode 100644
index 00000000..e69de29b
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
index e5eb871a..fa007bf5 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
@@ -106,7 +106,8 @@
v-if="item.val === 1"
class="divider"
content-position="center"
- >{{ ` ${$t("trials:reading:title:preset")}` }}
+ >{{ ` ${$t('trials:reading:title:preset')}` }}
@@ -163,7 +164,7 @@
- {{ $t("trials:reading:button:zoom") }}
+ {{ $t('trials:reading:button:zoom') }}
@@ -183,7 +184,7 @@
- {{ $t("trials:reading:button:move") }}
+ {{ $t('trials:reading:button:move') }}
@@ -210,7 +211,7 @@
- {{ $t("trials:reading:button:rotate")
+ {{ $t('trials:reading:button:rotate')
}}
@@ -223,7 +224,8 @@
{{ rotate.label }}
+ >{{ rotate.label }}
@@ -258,8 +260,8 @@
{{
fitType === 1
- ? $t("trials:reading:button:fitWindow")
- : $t("trials:reading:button:fitImage")
+ ? $t('trials:reading:button:fitWindow')
+ : $t('trials:reading:button:fitImage')
}}
@@ -282,7 +284,7 @@
- {{ $t("trials:reading:button:imageIndexSync") }}
+ {{ $t('trials:reading:button:imageIndexSync') }}
@@ -307,7 +309,7 @@
- {{ $t("trials:reading:button:screenShot") }}
+ {{ $t('trials:reading:button:screenShot') }}
@@ -316,7 +318,7 @@
{{ tool.text }}
-
{{ tool.disabledReason }}
+
{{ tool.disabledReason }}
{{ tool.text }}
@@ -365,7 +367,7 @@
- {{ $t("trials:dicom-show:Eraser") }}
+ {{ $t('trials:dicom-show:Eraser') }}
- {{ $t("trials:reading:button:upload") }}
+ {{ $t('trials:reading:button:upload') }}
- {{ $t("trials:reading:button:download") }}
+ {{ $t('trials:reading:button:download') }}
@@ -515,17 +517,19 @@
v-if="isExistsManual"
type="text"
@click="previewManuals"
- >{{ $t("trials:reading:button:handbooks") }}
+ >{{ $t('trials:reading:button:handbooks') }}
{{ $t("trials:reading:button:clinicalData") }}
+ >{{ $t('trials:reading:button:clinicalData') }}
{{
- $t("trials:reading:button:customCfg")
+ $t('trials:reading:button:customCfg')
}}
@@ -625,7 +629,7 @@
:fullscreen="isFullscreen"
>
@@ -677,6 +688,7 @@ import { mapGetters } from 'vuex'
import store from '@/store'
import { getDoctorShortcutKey, getUserWLTemplateList } from '@/api/user'
import uploadImage from '@/components/uploadImage'
+import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom'
import { getCriterionReadingInfo } from '@/api/trials'
export default {
name: 'DicomViewer',
@@ -688,48 +700,49 @@ export default {
Others,
Manuals,
MeasurementList,
- 'upload-image': uploadImage
+ 'upload-image': uploadImage,
+ 'download-dicom-and-nonedicom': downloadDicomAndNonedicom,
},
props: {
isExistsClinicalData: {
type: Boolean,
- default: false
+ default: false,
},
isExistsNoDicomFile: {
type: Boolean,
- default: false
+ default: false,
},
isExistsManual: {
type: Boolean,
- required: true
+ required: true,
},
isReadingShowSubjectInfo: {
type: Boolean,
- required: true
+ required: true,
},
isReadingTaskViewInOrder: {
type: Number,
- required: true
+ required: true,
},
IseCRFShowInDicomReading: {
type: Boolean,
- required: true
+ required: true,
},
subjectId: {
type: String,
required: true,
- default: ''
+ default: '',
},
trialReadingCriterionId: {
type: String,
required: true,
- default: ''
+ default: '',
},
trialId: {
type: String,
required: true,
- default: ''
- }
+ default: '',
+ },
},
data() {
return {
@@ -738,7 +751,7 @@ export default {
{ index: 0, row: 1, col: 1, name: 'A' },
{ index: 1, row: 1, col: 2, name: 'A|A' },
{ index: 2, row: 1, col: 2, name: 'A|B' },
- { index: 3, row: 2, col: 2, name: 'A|A|A|A' }
+ { index: 3, row: 2, col: 2, name: 'A|A|A|A' },
// { index: 2, row: 2, col: 1 },
// { index: 3, row: 2, col: 2 }
],
@@ -747,7 +760,7 @@ export default {
{ label: this.$t('trials:reading:button:rotateVertical'), val: 2 }, // 垂直翻转
{ label: this.$t('trials:reading:button:rotateHorizontal'), val: 3 }, // 水平翻转
{ label: this.$t('trials:reading:button:rotateTurnLeft'), val: 4 }, // 左转90度
- { label: this.$t('trials:reading:button:rotateTurnRight'), val: 5 } // 右转90度
+ { label: this.$t('trials:reading:button:rotateTurnRight'), val: 5 }, // 右转90度
],
maxCanvas: 1,
layoutRow: 1,
@@ -755,8 +768,8 @@ export default {
currentDicomCanvasIndex: 0,
currentDicomCanvas: {
toolState: {
- clipPlaying: false
- }
+ clipPlaying: false,
+ },
},
colormapsList: [],
rotateList: [],
@@ -773,7 +786,7 @@ export default {
text: this.$t('trials:reading:button:length'),
icon: 'length',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
// 长短径测量
{
@@ -781,7 +794,7 @@ export default {
text: this.$t('trials:reading:button:bidirectional'),
icon: 'bidirection',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
// 矩形工具
{
@@ -789,7 +802,7 @@ export default {
text: this.$t('trials:reading:button:rectangle'),
icon: 'rectangle',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
// 圆形工具
{
@@ -797,7 +810,7 @@ export default {
text: this.$t('trials:reading:button:elliptical'),
icon: 'oval',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
// 箭头工具
{
@@ -805,8 +818,8 @@ export default {
text: this.$t('trials:reading:button:arrowAnnotate'),
icon: 'arrow',
isDisabled: false,
- disabledReason: ''
- }
+ disabledReason: '',
+ },
],
fitType: 0,
@@ -818,25 +831,25 @@ export default {
label: this.$t('trials:reading:button:wwwcDefault'),
val: -1,
ww: null,
- wc: null
+ wc: null,
}, // 默认值
{
label: this.$t('trials:reading:button:wwwcCustom'),
val: 0,
ww: null,
- wc: null
+ wc: null,
}, // 自定义
{
label: this.$t('trials:reading:button:wwwcRegion'),
val: 1,
ww: null,
- wc: null
+ wc: null,
}, // 区域窗宽
{ label: 'CT Brain', wc: 40, ww: 80 },
{ label: 'CT Lungs', wc: -400, ww: 1500 },
{ label: 'CT Abdomen', wc: 60, ww: 400 },
{ label: 'CT Liver', wc: 40, ww: 400 },
- { label: 'CT Bone', wc: 300, ww: 1500 }
+ { label: 'CT Bone', wc: 300, ww: 1500 },
],
activeSeries: {},
seriesStack: [],
@@ -844,13 +857,13 @@ export default {
isScrollSync: false,
imageIndexSync: {
sourceCanvas: '',
- targetCanvas: []
+ targetCanvas: [],
},
isFirstRender: false,
customWwc: { visible: false, title: null }, // 自定义调窗
personalConfigDialog: {
visible: false,
- title: this.$t('trials:reading:button:customCfg')
+ title: this.$t('trials:reading:button:customCfg'),
}, // 个性化配置
layout: '',
isFirstNotLinked: false,
@@ -862,14 +875,17 @@ export default {
clipPlaying: false,
fps: 15,
// 上传
+ downloadImageVisible: false,
uploadImageVisible: false,
- trialCriterion: {},
- uploadStatus: 'upload'
+ uploadSubjectId: null,
+ uploadSubjectCode: null,
+ uploadTrialCriterion: {},
+ uploadStatus: 'upload',
}
},
computed: {
- ...mapGetters(['visitTaskList', 'currentReadingTaskState'])
+ ...mapGetters(['visitTaskList', 'currentReadingTaskState']),
},
watch: {
currentReadingTaskState: {
@@ -888,7 +904,7 @@ export default {
this.activeTool = ''
}
}
- }
+ },
},
currentDicomCanvasIndex: {
immediate: true,
@@ -905,8 +921,8 @@ export default {
this.clipPlaying = false
this.fps = 15
}
- }
- }
+ },
+ },
},
mounted() {
this.getTrialCriterion()
@@ -919,7 +935,7 @@ export default {
// cornerstone.imageCache.setMaximumSizeBytes(maximumSizeInBytes)
this.customWwc = {
visible: false,
- title: this.$t('trials:reading:dagTitle:wwwcCustom')
+ title: this.$t('trials:reading:dagTitle:wwwcCustom'),
}
this.CriterionType = parseInt(localStorage.getItem('CriterionType'))
if (this.CriterionType === 10) {
@@ -929,15 +945,15 @@ export default {
text: this.$t('trials:reading:button:arrowAnnotate'),
icon: 'arrow',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
{
toolName: 'RectangleRoi',
text: this.$t('trials:reading:button:rectangle'),
icon: 'rectangle',
isDisabled: false,
- disabledReason: ''
- }
+ disabledReason: '',
+ },
]
} else if (this.CriterionType === 17) {
this.measuredTools = [
@@ -946,22 +962,22 @@ export default {
text: this.$t('trials:reading:button:length'),
icon: 'length',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
{
toolName: 'RectangleRoi',
text: this.$t('trials:reading:button:rectangle'),
icon: 'rectangle',
isDisabled: false,
- disabledReason: ''
+ disabledReason: '',
},
{
toolName: 'ArrowAnnotate',
text: this.$t('trials:reading:button:arrowAnnotate'),
icon: 'arrow',
isDisabled: false,
- disabledReason: ''
- }
+ disabledReason: '',
+ },
]
}
this.rotateList[0] = '1'
@@ -976,7 +992,7 @@ export default {
window.addEventListener('resize', this.setCanvasStyle)
// DicomEvent.$on('updateImage', (instanceId) => {
-
+
// for (let i = 0; i < this.maxCanvas; i++) {
// var stack = this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].stack
// if (stack.studyId) {
@@ -993,7 +1009,7 @@ export default {
}
console.log('getMeasureData')
})
-
+
DicomEvent.$on('getScreenshots', (callback) => {
var base64Str =
this.$refs[
@@ -1041,7 +1057,7 @@ export default {
getTrialCriterion() {
getCriterionReadingInfo({
TrialId: this.trialId,
- TrialReadingCriterionId: this.trialReadingCriterionId
+ TrialReadingCriterionId: this.trialReadingCriterionId,
})
.then((res) => {
this.trialCriterion = res.Result
@@ -1049,26 +1065,28 @@ export default {
.catch(() => {})
},
openUploadImage(status) {
+ this.uploadSubjectCode = this.$route.query.subjectCode
+ this.uploadSubjectId = this.$route.query.subjectId
+ this.uploadTrialCriterion = this.trialCriterion
this.uploadStatus = status
- this.uploadImageVisible = true
+ this[`${status}ImageVisible`] = true
},
async getWwcTpl() {
// const loading = this.$loading({ fullscreen: true })
try {
let res = await getUserWLTemplateList()
this.customWwcTpl = []
- res.Result.map((i) => {
- this.customWwcTpl.push({
- label: i.TemplateName,
- wc: i.WL,
- ww: i.WW
- })
+ res.Result.map((i) => {
+ this.customWwcTpl.push({
+ label: i.TemplateName,
+ wc: i.WL,
+ ww: i.WW,
})
- this.wwwcArr = [...this.defaultWwwc, ...this.customWwcTpl]
- } catch(e) {
+ })
+ this.wwwcArr = [...this.defaultWwwc, ...this.customWwcTpl]
+ } catch (e) {
console.log(e)
}
-
},
async getHotKeys() {
// const loading = this.$loading({ fullscreen: true })
@@ -1084,11 +1102,11 @@ export default {
key: item.Keyboardkey,
code: item.Code,
text: item.Text,
- shortcutKeyEnum: item.ShortcutKeyEnum
+ shortcutKeyEnum: item.ShortcutKeyEnum,
})
})
this.bindHotKey()
- } catch(e) {
+ } catch (e) {
console.log(e)
}
},
@@ -1105,7 +1123,7 @@ export default {
key: item.keys.controlKey.key,
code: item.keys.controlKey.code,
text: item.keys.text,
- shortcutKeyEnum: item.label
+ shortcutKeyEnum: item.label,
})
})
@@ -1148,7 +1166,7 @@ export default {
DicomEvent.$emit('selectSeries', {
seriesId: series.seriesId,
studyId: series.studyId,
- offset: -1
+ offset: -1,
})
} else if (shortcutKeyEnum === 4) {
// 下一个序列
@@ -1157,7 +1175,7 @@ export default {
DicomEvent.$emit('selectSeries', {
seriesId: series.seriesId,
studyId: series.studyId,
- offset: 1
+ offset: 1,
})
} else if (shortcutKeyEnum === 5) {
// 上一张图像
@@ -1287,7 +1305,7 @@ export default {
top: '72px',
left: '205px',
right: '350px',
- zIndex: 10
+ zIndex: 10,
}
this.canvasW = window.innerWidth - 570 + 'px'
this.canvasH = window.innerHeight - 130 + 'px'
@@ -1387,10 +1405,7 @@ export default {
// this.$refs['measurementList'].initPage(dicomSeries)
store.dispatch('reading/setActiveSeries', dicomSeries)
if (this.currentDicomCanvasIndex === this.maxCanvas - 1) {
- store.dispatch(
- 'reading/setLastCanvasTaskId',
- dicomSeries.visitTaskId
- )
+ store.dispatch('reading/setLastCanvasTaskId', dicomSeries.visitTaskId)
}
})
},
@@ -1421,10 +1436,7 @@ export default {
store.dispatch('reading/setActiveSeries', dicomSeries)
if (this.currentDicomCanvasIndex === this.maxCanvas - 1) {
- store.dispatch(
- 'reading/setLastCanvasTaskId',
- dicomSeries.visitTaskId
- )
+ store.dispatch('reading/setLastCanvasTaskId', dicomSeries.visitTaskId)
}
})
},
@@ -1474,7 +1486,7 @@ export default {
visitTaskId = this.visitTaskList[i].VisitTaskId
}
this.getFirstSeries(activeSeries, visitTaskId).then(
- async(baseSerires) => {
+ async (baseSerires) => {
this.seriesStack = [baseSerires, activeSeries]
this.currentDicomCanvasIndex = 1
store.dispatch(
@@ -1502,7 +1514,7 @@ export default {
activeSeries,
activeSeries,
activeSeries,
- activeSeries
+ activeSeries,
]
this.currentDicomCanvasIndex = 3
store.dispatch(
@@ -1521,9 +1533,7 @@ export default {
for (let i = 0; i < this.maxCanvas && i < seriesStack.length; i++) {
this.canvasObj[i] = seriesStack[i]
let s = Object.assign({}, seriesStack[i])
- promiseArr.push(
- this.$refs[`dicomCanvas${i}`][0].loadImageStack(s)
- )
+ promiseArr.push(this.$refs[`dicomCanvas${i}`][0].loadImageStack(s))
}
Promise.all(promiseArr)
.then(() => {
@@ -1585,24 +1595,24 @@ export default {
trialId: this.trialId,
subjectVisitId: this.visitTaskList[taskIdx].VisitId,
visitTaskId: this.visitTaskList[taskIdx].VisitTaskId,
- taskBlindName: this.visitTaskList[taskIdx].TaskBlindName
+ taskBlindName: this.visitTaskList[taskIdx].TaskBlindName,
})
}
if (!this.visitTaskList[taskIdx].readingQuestionsInit) {
await store.dispatch('reading/getReadingQuestionAndAnswer', {
trialId: this.trialId,
- visitTaskId: this.visitTaskList[taskIdx].VisitTaskId
+ visitTaskId: this.visitTaskList[taskIdx].VisitTaskId,
})
}
if (!this.visitTaskList[taskIdx].questionsInit) {
await store.dispatch('reading/getDicomReadingQuestionAnswer', {
trialId: this.trialId,
- visitTaskId: this.visitTaskList[taskIdx].VisitTaskId
+ visitTaskId: this.visitTaskList[taskIdx].VisitTaskId,
})
}
await store.dispatch('reading/setStatus', {
- visitTaskId: this.visitTaskList[taskIdx].VisitTaskId
+ visitTaskId: this.visitTaskList[taskIdx].VisitTaskId,
})
}
firstAddSeries = this.getSeriesInfoByMark(firstAddVisitTaskId, obj)
@@ -1696,8 +1706,7 @@ export default {
var studyList = this.visitTaskList[index].StudyList
var studyId = this.visitTaskList[index].MeasureData[idx].StudyId
var seriesId = this.visitTaskList[index].MeasureData[idx].SeriesId
- var instanceId =
- this.visitTaskList[index].MeasureData[idx].InstanceId
+ var instanceId = this.visitTaskList[index].MeasureData[idx].InstanceId
var studyIdx = studyList.findIndex(
(study) => study.StudyId === studyId
)
@@ -1706,10 +1715,15 @@ export default {
(s) => s.seriesId === seriesId
)
if (seriesIdx > -1) {
- var series = studyList[studyIdx].SeriesList[seriesIdx];
- let frame = this.visitTaskList[index].MeasureData[idx].MeasureData.frame
- let filterStr = series.isExistMutiFrames ? `frame=${frame}&instanceId=${instanceId}` : `instanceId=${instanceId}`
- var instanceIdx = series.imageIds.findIndex(imageId => imageId.includes(filterStr))
+ var series = studyList[studyIdx].SeriesList[seriesIdx]
+ let frame =
+ this.visitTaskList[index].MeasureData[idx].MeasureData.frame
+ let filterStr = series.isExistMutiFrames
+ ? `frame=${frame}&instanceId=${instanceId}`
+ : `instanceId=${instanceId}`
+ var instanceIdx = series.imageIds.findIndex((imageId) =>
+ imageId.includes(filterStr)
+ )
// var instanceIdx = series.instanceList.findIndex(
// (imageId) => !!~imageId.indexOf(instanceId)
// );
@@ -1738,16 +1752,14 @@ export default {
i.description,
baseSeries.description
),
- index
+ index,
}
})
similarArr = similarArr.sort((a, b) => {
return b.similar - a.similar
})
const i =
- similarArr[0] && similarArr[0].similar > 0.85
- ? similarArr[0].index
- : -1
+ similarArr[0] && similarArr[0].similar > 0.85 ? similarArr[0].index : -1
if (i > -1) {
obj = seriesList[i]
}
@@ -1822,7 +1834,7 @@ export default {
trialId: this.trialId,
subjectVisitId: this.visitTaskList[index].VisitId,
visitTaskId: this.visitTaskList[index].VisitTaskId,
- taskBlindName: this.visitTaskList[index].TaskBlindName
+ taskBlindName: this.visitTaskList[index].TaskBlindName,
})
await store.dispatch(
@@ -1841,16 +1853,14 @@ export default {
i.description,
baseSeries.description
),
- index
+ index,
}
})
similarArr = similarArr.sort((a, b) => {
return b.similar - a.similar
})
const i =
- similarArr[0] && similarArr[0].similar > 0.85
- ? similarArr[0].index
- : -1
+ similarArr[0] && similarArr[0].similar > 0.85 ? similarArr[0].index : -1
if (i > -1) {
obj = seriesList[i]
}
@@ -2025,9 +2035,7 @@ export default {
},
// 鼠标移入测量工具时,判断工具是否可激活
enter(e, toolName) {
- var i = this.measuredTools.findIndex(
- (item) => item.toolName === toolName
- )
+ var i = this.measuredTools.findIndex((item) => item.toolName === toolName)
if (i === -1) return
var isCurrentTask =
this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0]
@@ -2089,8 +2097,11 @@ export default {
`dicomCanvas${this.currentDicomCanvasIndex}`
][0].setToolActive(toolName)
}
- } else if (dicomSeries.isCurrentTask &&
- isMeasuredTool && dicomSeries.readingTaskState >= 2) {
+ } else if (
+ dicomSeries.isCurrentTask &&
+ isMeasuredTool &&
+ dicomSeries.readingTaskState >= 2
+ ) {
if (this.activeTool === toolName) {
this.$refs[
`dicomCanvas${this.currentDicomCanvasIndex}`
@@ -2162,9 +2173,7 @@ export default {
][0].fitToWindow()
} else if (toolName === 'fitToImage') {
this.fitType = 1
- this.$refs[
- `dicomCanvas${this.currentDicomCanvasIndex}`
- ][0].fitToImage()
+ this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].fitToImage()
}
this.activeTool = toolName
},
@@ -2181,7 +2190,9 @@ export default {
const isLoaded = this.getSeriesLoadStatus()
if (!isLoaded) return
this.clipPlaying = isPlay
- this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setFps(this.fps)
+ this.$refs[`dicomCanvas${this.currentDicomCanvasIndex}`][0].setFps(
+ this.fps
+ )
this.$refs[
`dicomCanvas${this.currentDicomCanvasIndex}`
][0].toggleClipPlay(isPlay)
@@ -2297,8 +2308,8 @@ export default {
previewManuals() {
this.isFullscreen = false
this.manualsDialog.visible = true
- }
- }
+ },
+ },
}
\ No newline at end of file
diff --git a/src/utils/stream.js b/src/utils/stream.js
index de27a281..eef180e7 100644
--- a/src/utils/stream.js
+++ b/src/utils/stream.js
@@ -17,11 +17,7 @@ function zipFiles(zipName, files) {
} else {
let { name, url } = fileInfo.value;
url = decodeUtf8(url);
- return fetch(url, {
- headers: {
- 'Cross-Origin-Embedder-Policy': 'unsafe-none'
- }
- }).then(res => {
+ return fetch(url).then(res => {
ctrl.enqueue({
name,
stream: () => res.body
@@ -46,11 +42,7 @@ async function updateFile(file, name) {
store.dispatch('trials/setUnLock', true)
const fileOutputStream = streamSaver.createWriteStream(name);
file = decodeUtf8(file);
- let res = await fetch(file, {
- headers: {
- 'Cross-Origin-Embedder-Policy': 'unsafe-none'
- }
- });
+ let res = await fetch(file);
res.body.pipeTo(fileOutputStream).then(() => {
store.dispatch('trials/setUnLock', true)
});
From e24b1cc722eea67b5d1a14716ae4181b9d4f44aa Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Thu, 5 Sep 2024 10:44:32 +0800
Subject: [PATCH 038/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../downloadDicomAndNonedicom/index.vue | 5 +
.../uploadDicomAndNonedicom/index.vue | 14 +-
.../uploadDicomAndNonedicom/nonedicomFile.vue | 139 ++++++++++++++++--
.../reading/reading-task/index.vue | 3 +
4 files changed, 145 insertions(+), 16 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 659c5c40..0564608d 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -44,6 +44,7 @@
v-adaptive="{ bottomOffset: 85 }"
height="100"
:data="list"
+ :loading="loading"
class="dicomFiles-table"
@sort-change="handleSortByColumn"
:default-sort="{ prop: 'TaskBlindName', order: 'descending' }"
@@ -185,6 +186,7 @@ export default {
data() {
return {
title: null,
+ loading: false,
list: [],
searchData: defaultSearchData(),
btnLoading: false,
@@ -220,13 +222,16 @@ export default {
this.searchData.TrialReadingCriterionId =
this.Criterion.TrialReadingCriterionId
this.searchData.SubjectCode = this.SubjectCode
+ this.loading = true
let res = await getSubjectImageDownloadSelectList(this.searchData)
+ this.loading = false
if (res.IsSuccess) {
this.list = res.Result
this.hasDicom = this.list.some((item) => item.IsDicom)
this.hasNonedicom = this.list.some((item) => !item.IsDicom)
}
} catch (err) {
+ this.loading = false
console.log(err)
}
},
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
index c258168a..67bad8bc 100644
--- a/src/components/uploadDicomAndNonedicom/index.vue
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -7,12 +7,19 @@
class="uploadDicomAndNonedicom"
>
{{ title }}
-
-
+
+
-
+
01001 >Timepoint',
+ activeName: 'dicom',
}
},
methods: {
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
index 3bf44785..7b2e343c 100644
--- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
@@ -7,7 +7,7 @@
@@ -22,52 +22,128 @@
/>
+ >
+
+
+
+
+
+
+
+
+ {{ $t('trials:audit:button:nonDicomsPreview') }}
+
+
+
+
+
+
+ {{ scope.row.FileCount }}
+
+
+
+ {{ scope.row.FileCount }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From a470d961dff66dc58e8322937eef47ddb61bd2cf Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Thu, 5 Sep 2024 16:11:42 +0800
Subject: [PATCH 045/112] =?UTF-8?q?ivus=E6=A0=87=E5=87=86=E6=9B=B4?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/DicomViewer.vue | 31 +-
.../dicoms/components/IVUS/QuestionForm.vue | 546 +++++++++++++++
.../dicoms/components/IVUS/QuestionList.vue | 623 ++++++++++++++++++
.../dicoms/components/OCT/QuestionForm.vue | 546 +++++++++++++++
.../dicoms/components/OCT/QuestionList.vue | 623 ++++++++++++++++++
.../reading/dicoms/components/StudyList.vue | 28 +-
6 files changed, 2392 insertions(+), 5 deletions(-)
create mode 100644 src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
create mode 100644 src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
create mode 100644 src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
create mode 100644 src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
index fbf9e0cc..a94d2729 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
@@ -433,13 +433,31 @@
/>
+
+
+
+
@@ -677,6 +695,8 @@ import RecistBMQuestionList from './RecistBM/QuestionList'
import IRecistQuestionList from './IRecist/QuestionList'
import PCWGQuestionList from './PCWG/QuestionList'
import LuganoQuestionList from './Lugano/QuestionList'
+import IVUSList from './IVUS/QuestionList'
+import OCTList from './OCT/QuestionList'
import CustomWwwcForm from './CustomWwwcForm'
import Manuals from './Manuals'
import Hotkeys from './Hotkeys'
@@ -698,7 +718,10 @@ export default {
PCWGQuestionList,
RecistBMQuestionList,
IRecistQuestionList,
- LuganoQuestionList },
+ LuganoQuestionList,
+ IVUSList,
+ OCTList
+ },
props: {
isShow: {
type: Boolean,
@@ -923,6 +946,10 @@ export default {
this.measuredTools = [{ toolName: 'ArrowAnnotate', text: this.$t('trials:reading:button:arrowAnnotate'), icon: 'arrow', isDisabled: false, disabledReason: '' }, { toolName: 'RectangleRoi', text: this.$t('trials:reading:button:rectangle'), icon: 'rectangle', isDisabled: false, disabledReason: '' }]
} else if (this.CriterionType === 17) {
this.measuredTools = [{ toolName: 'Length', text: this.$t('trials:reading:button:length'), icon: 'length', isDisabled: false, disabledReason: '' }, { toolName: 'RectangleRoi', text: this.$t('trials:reading:button:rectangle'), icon: 'rectangle', isDisabled: false, disabledReason: '' }, { toolName: 'ArrowAnnotate', text: this.$t('trials:reading:button:arrowAnnotate'), icon: 'arrow', isDisabled: false, disabledReason: '' }]
+ } else if (this.CriterionType === 19) {
+ this.measuredTools = []
+ } else if (this.CriterionType === 20) {
+ this.measuredTools = []
}
this.rotateList[0] = '1'
this.colorList[0] = ''
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
new file mode 100644
index 00000000..f058d8f3
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
@@ -0,0 +1,546 @@
+
+
+
+
+
+
+ {{ lesionName }}
+
+
+
+
+
+
+
+
+
+ {lesionTypeChange(val)})"
+ >
+
+
+
+
+
+
+
+
+
+ {formItemChange(val, qs)})"
+ >
+
+ {{ $fd('ValueUnit', parseInt(qs.Unit)) }}
+
+
+
+
+ {formItemChange(val, qs)})"
+ />
+
+ {formItemChange(val, qs)})"
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {{ val }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
new file mode 100644
index 00000000..7ac9761a
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+ {{ subjectCode }}
+ {{ taskBlindName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ language==='en'?qs.GroupEnName:qs.GroupName }}
+
+
+
+
+
{{ item.QuestionName }}
+
+
+
+
+
+
+
+
+
+ {{ getLesionName(item.OrderMark,q.RowIndex) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
new file mode 100644
index 00000000..f058d8f3
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
@@ -0,0 +1,546 @@
+
+
+
+
+
+
+ {{ lesionName }}
+
+
+
+
+
+
+
+
+
+ {lesionTypeChange(val)})"
+ >
+
+
+
+
+
+
+
+
+
+ {formItemChange(val, qs)})"
+ >
+
+ {{ $fd('ValueUnit', parseInt(qs.Unit)) }}
+
+
+
+
+ {formItemChange(val, qs)})"
+ />
+
+ {formItemChange(val, qs)})"
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {{ val }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
new file mode 100644
index 00000000..7ac9761a
--- /dev/null
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+ {{ subjectCode }}
+ {{ taskBlindName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ language==='en'?qs.GroupEnName:qs.GroupName }}
+
+
+
+
+
{{ item.QuestionName }}
+
+
+
+
+
+
+
+
+
+ {{ getLesionName(item.OrderMark,q.RowIndex) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue
index e46a2fdc..412f8fbc 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue
@@ -294,7 +294,14 @@ export default {
store.dispatch('reading/setImageloadedInfo', item)
}
})
- var i = res.findIndex(s => s.isCurrentTask)
+ var i = -1
+ var isReadingTaskViewInOrder = parseInt(this.$router.currentRoute.query.isReadingTaskViewInOrder)
+ if (isReadingTaskViewInOrder === 2) {
+ // 受试者内随机
+ i = res.length === 2 ? 1 : -1
+ } else {
+ i = res.findIndex(s => s.isCurrentTask)
+ }
if (i > -1) {
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
if (idx > -1) {
@@ -377,8 +384,23 @@ export default {
var isReadingTaskViewInOrder = parseInt(this.$router.currentRoute.query.isReadingTaskViewInOrder)
var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === this.visitTaskId)
this.studyList = this.visitTaskList[idx].StudyList
- if (this.visitTaskList[idx].IsBaseLineTask || isReadingTaskViewInOrder !== 1) {
- // 基线
+ if (isReadingTaskViewInOrder === 2) {
+ // 受试者内随机
+ const studyList = this.visitTaskList[idx].StudyList.filter(i => i.IsDicom)
+ const seriesArr = studyList.map(s => s.SeriesList).flat()
+ if (seriesArr.length === 1) {
+ seriesList.push(seriesArr[0], seriesArr[0])
+ this.studyIndex = seriesArr[0].studyIndex
+ this.seriesIndex = seriesArr[0].seriesIndex
+ this.activeNames = [`${seriesArr[0].studyId}`]
+ } else if (seriesArr.length > 1) {
+ seriesList.push(seriesArr[0], seriesArr[1])
+ this.studyIndex = seriesArr[1].studyIndex
+ this.seriesIndex = seriesArr[1].seriesIndex
+ this.activeNames = [`${seriesArr[1].studyId}`]
+ }
+ } else if (this.visitTaskList[idx].IsBaseLineTask || isReadingTaskViewInOrder === 0) {
+ // 基线任务或完全随机
const obj = this.getFirstMarkedSeries(this.visitTaskList[idx].MeasureData, [...this.visitTaskList[idx].StudyList])
if (Object.keys(obj).length !== 0) {
this.studyIndex = obj.studyIndex
From 9bb856b50a4bd1fefdb3b970a15c892514242b3b Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Thu, 5 Sep 2024 16:17:57 +0800
Subject: [PATCH 046/112] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trials-panel/reading/dicoms/components/DicomViewer.vue | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
index a94d2729..858a95d7 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
@@ -457,6 +457,9 @@
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
+
+ Developing...
+
From f52b2f151b316d9fef4af0e4f410b313c93b00e9 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Thu, 5 Sep 2024 17:17:47 +0800
Subject: [PATCH 047/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 6 +-
.../uploadDicomAndNonedicom/dicomFile.vue | 1144 ++++++++++++++++-
.../uploadDicomAndNonedicom/index.vue | 6 +-
.../uploadDicomAndNonedicom/nonedicomFile.vue | 2 +-
.../components/uploadDicomFiles2.vue | 2 +-
5 files changed, 1089 insertions(+), 71 deletions(-)
diff --git a/src/api/load.js b/src/api/load.js
index 91981151..d2532d31 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -8,11 +8,11 @@ export function requestPackageAndAnonymizImage(params) {
})
}
// 获取影像上传列表
-export function getSubjectImageUploadList(params) {
+export function getSubjectImageUploadList(data) {
return request({
url: '/DownloadAndUpload/getSubjectImageUploadList',
- method: 'get',
- params
+ method: 'post',
+ data
})
}
// 预上传
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 78f81af3..ef54efa9 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -3,38 +3,48 @@
{{ $t('upload:dicom:title') }}
-
- {{ $t('upload:dicom:button:upload') }}
-
-
- {{ $t('upload:dicom:button:preview') }}
-
-
- {{ $t('upload:dicom:button:delete') }}
-
+
-
-
+
+
-
+
-
+
0
-
+
-
-
-
-
+ prop="UploadStudyList"
+ :label="$t('upload:dicom:table:uploadStudyListNum')"
+ >
+ {{
+ scope.row.UploadStudyList && Array.isArray(scope.row.UploadStudyList)
+ ? scope.row.UploadStudyList.length
+ : 0
+ }}
+
-
-
-
-
+
-
+
+ {{ $t('upload:dicom:uploadTitle') }}
+
-
@@ -238,11 +278,6 @@
min-width="150"
show-overflow-tooltip
>
-
+
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
index 67bad8bc..0d3dbe92 100644
--- a/src/components/uploadDicomAndNonedicom/index.vue
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -12,7 +12,11 @@
:label="$t('uploadDicomAndNonedicom:label:dicom')"
name="dicom"
>
-
+
Date: Thu, 5 Sep 2024 18:01:05 +0800
Subject: [PATCH 048/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uploadDicomAndNonedicom/dicomFile.vue | 21 +++++++++++++++----
.../qc-check/components/qualityAssurance.vue | 4 ++--
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index ef54efa9..a7292172 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -417,6 +417,7 @@
@@ -1172,7 +1173,7 @@ export default {
o.imageColumns,
o.imageRows
)
- let thumbnailPath = `/${params.trialId}/Image/${params.trialSiteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
+ let thumbnailPath = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.visitTaskId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
let OSSclient = scope.OSSclient
let seriesRes = await OSSclient.put(
thumbnailPath,
@@ -1257,7 +1258,7 @@ export default {
}
let text = JSON.stringify(Record)
let logJsonBlob = scope.generateTxtFile(text)
- let logJsonObjectName = `/${params.trialId}/Image/${params.trialSiteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${params.studyMonitorId}.txt`
+ let logJsonObjectName = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.visitTaskId}/${dicomInfo.studyUid}/${params.studyMonitorId}.txt`
let logRes
try {
logRes = await scope.OSSclient.put(
@@ -1302,7 +1303,7 @@ export default {
params.RecordPath = scope.$getObjectName(logRes.url)
if (scope.isClose) return false
console.log(params)
- params.VisitTaskId = dicomInfo.VisitTaskId
+ params.VisitTaskId = dicomInfo.visitTaskId
addOrUpdateArchiveTaskStudy(params)
.then((res) => {
if (dicomInfo.failedFileCount === dicomInfo.fileCount) {
@@ -1336,7 +1337,8 @@ export default {
resolve()
}
})
- .catch(() => {
+ .catch((err) => {
+ console.log(err)
let Record = {
Failed: [],
Existed: [],
@@ -1376,6 +1378,17 @@ export default {
reason()
})
},
+ canvasToBlob(canvas) {
+ return new Promise((resolve) => {
+ canvas.toBlob((blob) => {
+ resolve(blob)
+ })
+ })
+ },
+ generateTxtFile(text) {
+ let blob = new Blob(['\ufeff', text], { type: 'text/plain' })
+ return blob
+ },
},
}
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 408326c0..50b31011 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -1467,7 +1467,7 @@ export default {
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
'IsDicom',
true
- )}/${study.StudyCode}_${study.StudyTime}_${
+ )}/${study.StudyCode}_${study.StudyTime.split(" ")[0]}_${
series.Modality
}/${fileName}`,
url: this.OSSclientConfig.basePath + instance.Path,
@@ -1504,7 +1504,7 @@ export default {
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
'IsDicom',
true
- )}/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${
+ )}/${study.StudyCode}_${study.ImageDate.split(" ")[0]}_${study.Modality}/${
item.FileName
}`,
url: this.OSSclientConfig.basePath + item.Path,
From f6b90c4c059dd20a2e395bd1a7354dfa787466ee Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 11:03:05 +0800
Subject: [PATCH 049/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom=E6=A0=A1?=
=?UTF-8?q?=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 8 ++
.../uploadDicomAndNonedicom/dicomFile.vue | 74 ++++++++++++++++---
.../uploadDicomAndNonedicom/nonedicomFile.vue | 18 ++++-
src/utils/multipartUpload/aws.js | 6 +-
src/utils/multipartUpload/oss.js | 7 +-
.../dicoms/customize/CustomizeDicomViewer.vue | 9 +++
6 files changed, 105 insertions(+), 17 deletions(-)
diff --git a/src/api/load.js b/src/api/load.js
index d2532d31..f867992c 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -71,4 +71,12 @@ export function getIRUploadTaskNoneDicomStudyList(data) {
method: 'post',
data
})
+}
+// 校验上传影像
+export function verifyIRStudyAllowUpload(data) {
+ return request({
+ url: '/DownloadAndUpload/verifyIRStudyAllowUpload',
+ method: 'post',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index a7292172..42a76c57 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -423,16 +423,17 @@
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 0b8f31ea..193a80d2 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -115,6 +115,11 @@
@@ -453,6 +458,7 @@ import { convertBytes } from '@/utils/dicom-character-set'
import { parseDicom } from '@/utils/parseDicom.js'
import { dcmUpload } from '@/utils/dcmUpload/dcmUpload'
import store from '@/store'
+import { getToken } from '@/utils/auth'
export default {
name: 'dicomFile',
props: {
@@ -505,6 +511,7 @@ export default {
trialId: null,
subjectVisitId: null,
errStudyUidList: [],
+ open: null,
}
},
created() {
@@ -1444,6 +1451,18 @@ export default {
let blob = new Blob(['\ufeff', text], { type: 'text/plain' })
return blob
},
+ // 预览阅片影像
+ handleViewReadingImages(row) {
+ if (this.open) {
+ this.open.close()
+ }
+ var token = getToken()
+ let trialId = this.$route.query.trialId
+ const routeData = this.$router.resolve({
+ path: `/showvisitdicoms?trialId=${trialId}&visitInfo=${row.VisitName}(${row.VisitNum})&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ })
+ this.open = window.open(routeData.href, '_blank')
+ },
},
}
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
index 058f4514..472ece43 100644
--- a/src/components/uploadDicomAndNonedicom/index.vue
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -62,10 +62,13 @@ export default {
},
data() {
return {
- title: 'Upload Images:01 > 01001 >Timepoint',
+ title: '',
activeName: 'dicom',
}
},
+ mounted() {
+ this.title = `Upload Images:${this.SubjectCode}(${this.Criterion.TrialReadingCriterionName})`
+ },
methods: {
beforeClose() {
this.$emit('update:visible', false)
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
index 8d28d1e3..343ef12d 100644
--- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
@@ -550,7 +550,7 @@ export default {
let trialId = this.$route.query.trialId
var token = getToken()
const routeData = this.$router.resolve({
- path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&TokenKey=${token}`,
+ path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&visitTaskId=${row.VisitTaskId}&TokenKey=${token}`,
})
this.open = window.open(routeData.href, '_blank')
},
diff --git a/src/views/none-dicom-show/index.vue b/src/views/none-dicom-show/index.vue
index 907afd59..0c5506b7 100644
--- a/src/views/none-dicom-show/index.vue
+++ b/src/views/none-dicom-show/index.vue
@@ -6,54 +6,61 @@
-
+
{{ study.CodeView }}
- {{ study.Modality }}
+ {{ study.Modality }}
{{ getBodyPart(study.BodyPart) }}
-
+
{{ $t('trials:audit:message:noData') }}
-
+
- {{ `${j+1}. ${item.FileName}` }}
+ {{ `${j + 1}. ${item.FileName}` }}
- {{ `${j+1}. ${item.FileName}` }}
+ {{ `${j + 1}. ${item.FileName}` }}
-
-
-
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index 267bb120..8551d896 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -539,10 +539,11 @@
icon="el-icon-view"
circle
:disabled="
- scope.row.uploadState.stateCode !== '' &&
- scope.row.dicomInfo.failedFileCount <
- scope.row.dicomInfo.fileCount &&
- !scope.row.uploadState.record
+ (scope.row.uploadState.stateCode !== '' &&
+ scope.row.dicomInfo.failedFileCount <
+ scope.row.dicomInfo.fileCount &&
+ !scope.row.uploadState.record) ||
+ btnLoading
"
:title="$t('trials:uploadedDicoms:action:preview')"
size="small"
@@ -555,10 +556,11 @@
:title="$t('trials:uploadedDicoms:action:delete')"
size="small"
:disabled="
- scope.row.uploadState.stateCode !== '' &&
- scope.row.dicomInfo.failedFileCount <
- scope.row.dicomInfo.fileCount &&
- !scope.row.uploadState.record
+ (scope.row.uploadState.stateCode !== '' &&
+ scope.row.dicomInfo.failedFileCount <
+ scope.row.dicomInfo.fileCount &&
+ !scope.row.uploadState.record) ||
+ btnLoading
"
@click="handleDelete(scope.$index, scope.row)"
/>
@@ -1076,7 +1078,7 @@ export default {
// 按序列UUID本地归档
parseDicomFile(file) {
var scope = this
- return new Promise(function (resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (scope.scanState === 'cancelling') {
resolve()
return
From 4f0f1243787c4a434b18c14375b91aa6e15200b6 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 13:36:25 +0800
Subject: [PATCH 054/112] =?UTF-8?q?=E7=BD=91=E9=80=9F=E7=9B=91=E6=8E=A7?=
=?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99=E8=BD=AC=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/trials.js | 2 +-
src/utils/multipartUpload/aws.js | 6 +++---
src/utils/multipartUpload/oss.js | 6 +++---
vue.config.js | 8 ++++----
4 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/store/modules/trials.js b/src/store/modules/trials.js
index 0422295e..cb52300b 100644
--- a/src/store/modules/trials.js
+++ b/src/store/modules/trials.js
@@ -9,7 +9,7 @@ const getDefaultState = () => {
studyListQuery: null,
unlock: false,
config: {},
- uploadTip: '0.00kb/s',
+ uploadTip: '0.00KB/s',
timer: null,
whiteList: [],
checkTaskId: null
diff --git a/src/utils/multipartUpload/aws.js b/src/utils/multipartUpload/aws.js
index 3de55a21..0fdd1a90 100644
--- a/src/utils/multipartUpload/aws.js
+++ b/src/utils/multipartUpload/aws.js
@@ -14,7 +14,7 @@ export function AWSclose() {
if (timer) {
clearInterval(timer);
timer = null;
- store.state.trials.uploadTip = '0kb/s'
+ store.state.trials.uploadTip = '0KB/s'
}
bytesReceivedPerSecond = {};
}
@@ -440,10 +440,10 @@ function setTimer() {
let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b);
if (timeList.length > 0) {
let totalBytes = timeList.reduce((sum, bytes) => sum + bytesReceivedPerSecond[bytes], 0) / (5 * 1024);
- let unit = 'kb/s';
+ let unit = 'KB/s';
if (totalBytes > 1024) {
totalBytes = totalBytes / 1024;
- unit = "mb/s";
+ unit = "MB/s";
}
store.state.trials.uploadTip = totalBytes.toFixed(2) + unit;
}
diff --git a/src/utils/multipartUpload/oss.js b/src/utils/multipartUpload/oss.js
index 5ee667b4..16405723 100644
--- a/src/utils/multipartUpload/oss.js
+++ b/src/utils/multipartUpload/oss.js
@@ -8,7 +8,7 @@ export function OSSclose() {
if (timer) {
clearInterval(timer);
timer = null;
- store.state.trials.uploadTip = '0kb/s'
+ store.state.trials.uploadTip = '0KB/s'
}
bytesReceivedPerSecond = {};
savaData = {};
@@ -140,10 +140,10 @@ function setTimer() {
let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b);
if (timeList.length > 0) {
let totalBytes = timeList.reduce((sum, bytes) => sum + bytesReceivedPerSecond[bytes], 0) / (5 * 1024);
- let unit = 'kb/s';
+ let unit = 'KB/s';
if (totalBytes > 1024) {
totalBytes = totalBytes / 1024;
- unit = "mb/s";
+ unit = "MB/s";
}
store.state.trials.uploadTip = totalBytes.toFixed(2) + unit;
}
diff --git a/vue.config.js b/vue.config.js
index ea3e8bf9..f7fb01e5 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -24,10 +24,10 @@ module.exports = {
productionSourceMap: false,
devServer: {
port: '8080',
- headers: {
- 'Cross-Origin-Opener-Policy': 'same-origin',
- 'Cross-Origin-Embedder-Policy': 'require-corp'
- },
+ // headers: {
+ // 'Cross-Origin-Opener-Policy': 'same-origin',
+ // 'Cross-Origin-Embedder-Policy': 'require-corp'
+ // },
// open: true,
overlay: {
warnings: false,
From f2af36b89a0e0d60bd5882b3871e2bc97fe31109 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 13:57:00 +0800
Subject: [PATCH 055/112] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=A1=B5=E9=9D=A2=EF=BC=8C=E6=8C=89=E9=92=AE?=
=?UTF-8?q?=E5=AF=B9=E9=BD=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../visit/crc-upload/components/uploadClinicalData.vue | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData.vue
index 009a901c..99f4d1d8 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadClinicalData.vue
@@ -252,7 +252,7 @@
-
+
From 73a4135fd64be9856ac99dab2d58378b18f05d74 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 14:04:00 +0800
Subject: [PATCH 056/112] =?UTF-8?q?=E9=87=8D=E7=BD=AE=E5=AF=86=E7=A0=81?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=8C=E6=A0=87=E7=AD=BE=E6=8D=A2=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/recompose/index.vue | 187 ++++++++++++++++++++++------------
1 file changed, 123 insertions(+), 64 deletions(-)
diff --git a/src/views/recompose/index.vue b/src/views/recompose/index.vue
index edc686f4..171d78ea 100644
--- a/src/views/recompose/index.vue
+++ b/src/views/recompose/index.vue
@@ -1,76 +1,130 @@
-
-
-
+
+
+
{{ $t('recompose:title:init') }}
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
{{ $t('recompose:button:cancel') }}
-
+
{{ $t('recompose:button:save') }}
-
From dc5c1720c702977b41b749d227563b65566816ed Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 14:10:57 +0800
Subject: [PATCH 057/112] =?UTF-8?q?CRC=E4=B8=8A=E4=BC=A0=E5=BD=B1=E5=83=8F?=
=?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../crc-upload/components/uploadDicomFiles2.vue | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index 8551d896..894a0487 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -1,9 +1,12 @@
-
-
+ :precision="2"
+ /> -->
+
+
+
+
+
Date: Fri, 6 Sep 2024 17:41:40 +0800
Subject: [PATCH 071/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=80=9F=E7=8E=87?=
=?UTF-8?q?=E4=BD=8D=E7=BD=AE=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 1 +
src/components/uploadDicomAndNonedicom/nonedicomFile.vue | 7 +++++--
.../visit/crc-upload/components/uploadDicomFiles2.vue | 6 +++---
.../visit/crc-upload/components/uploadNonDicomFiles.vue | 6 +++---
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 193a80d2..deaf517d 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -139,6 +139,7 @@
{{ $t('upload:dicom:uploadTitle') }}
+ {{ $store.state.trials.uploadTip }}
-
{{
+
@@ -316,6 +316,9 @@
+ {{
+ $store.state.trials.uploadTip
+ }}
- {{
- $store.state.trials.uploadTip
- }}
@@ -578,6 +575,9 @@
+
{{
+ $store.state.trials.uploadTip
+ }}
-
{{
- $store.state.trials.uploadTip
- }}
@@ -422,6 +419,9 @@
+ {{
+ $store.state.trials.uploadTip
+ }}
Date: Fri, 6 Sep 2024 17:54:34 +0800
Subject: [PATCH 072/112] =?UTF-8?q?ir=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/trials/trials-panel/reading/reading-task/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/trials/trials-panel/reading/reading-task/index.vue b/src/views/trials/trials-panel/reading/reading-task/index.vue
index 6113a708..e4ee79ff 100644
--- a/src/views/trials/trials-panel/reading/reading-task/index.vue
+++ b/src/views/trials/trials-panel/reading/reading-task/index.vue
@@ -171,7 +171,7 @@
Date: Fri, 6 Sep 2024 18:01:21 +0800
Subject: [PATCH 073/112] =?UTF-8?q?IVUS=E8=87=AA=E5=8A=A8=E8=AE=A1?=
=?UTF-8?q?=E7=AE=97=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dicoms/components/IVUS/QuestionForm.vue | 19 ++++++++++++-------
.../dicoms/components/IVUS/QuestionList.vue | 1 +
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
index 9a6fa142..f1b9b099 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
@@ -390,20 +390,25 @@ export default {
},
calculate(qsMarkArr, type) {
var num = 0
- qsMarkArr.map((qsmark, i) => {
+ for (let i = 0; i< qsMarkArr.length; i++) {
+ const mark = qsMarkArr[i]
+ const v = this.questionForm[this.getQuestionId(mark)]
+ if (isNaN(parseFloat(v))) {
+ num = null
+ break
+ }
if (i === 0) {
- const v = this.questionForm[this.getQuestionId(qsmark)]
- num = isNaN(parseFloat(v)) ? 0 : parseFloat(v)
+ num = parseFloat(v)
} else {
- const v = this.questionForm[this.getQuestionId(qsmark)]
switch (type) {
case '-':
- num -= isNaN(parseFloat(v)) ? 0 : parseFloat(v)
+ num -= parseFloat(v)
break
}
}
- })
- return parseFloat(num).toFixed(this.digitPlaces)
+ }
+
+ return num === null ? num : num.toFixed(this.digitPlaces)
},
limitBlur(qId, valueType) {
const value = this.questionForm[qId]
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index 3e79ddaa..b4f44a10 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -638,6 +638,7 @@ export default {
async close(questionsObj) {
if (questionsObj) {
this.getReadingQuestionAndAnswer(questionsObj.visitTaskId)
+ this.refreshQuestions()
}
this.activeItem.activeRowIndex = null
this.activeItem.activeCollapseId = null
From 342c9325bfb1507096bd66d3acd265d6274d20ed Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Fri, 6 Sep 2024 18:26:42 +0800
Subject: [PATCH 074/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=BD=B1=E5=83=8Fbug?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index deaf517d..0fc3c45a 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -501,6 +501,13 @@ export default {
hasOtherStudy: false,
scanState: '', // 当前上传队列上传状态
+ form: {
+ SiteName: '',
+ SubjectName: '',
+ VisitName: '',
+ SubjectId: '',
+ VisitNum: null,
+ },
isScan: false,
uploadQueues: [], // 上传队列
studyErrorList: [],
From e043e85630021e1f1ac8bfd6833935115c101578 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 20:09:26 +0800
Subject: [PATCH 075/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=90=8D=E7=A7=B0?=
=?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/nonedicomFile.vue | 5 ++++-
.../visit/crc-upload/components/uploadDicomFiles2.vue | 4 +---
.../visit/crc-upload/components/uploadNonDicomFiles.vue | 7 +++++--
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
index 6eb6e95b..a928bdbf 100644
--- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
@@ -645,7 +645,10 @@ export default {
file.status = 1
let path = `/${this.$route.query.trialId}/TaskImage/${
this.currentRow.SubjectId
- }/${this.currentRow.VisitTaskId}/${new Date().getTime()}_${file.name}`
+ }/${this.currentRow.VisitTaskId}/${new Date().getTime()}${file.name
+ .substring(file.name.lastIndexOf('.'))
+ .toLocaleLowerCase()}`
+ console.log(path)
const fileData = await this.fileToBlob(file.file)
let res = await this.fileToOss(path, fileData, file)
if (res) {
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index cee25238..991d3103 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -1679,9 +1679,7 @@ export default {
dicomInfo.failedFileCount++
Record.FileCount++
} else {
- let path = `/${params.trialId}/Image/${
- params.trialSiteId
- }/${params.subjectId}/${params.subjectVisitId}/${
+ let path = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${
dicomInfo.studyUid
}/${scope.getGuid(
dicomInfo.studyUid +
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
index 4b5a3e63..c4a4eb80 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
@@ -587,6 +587,7 @@ export default {
}
},
async mounted() {
+ console.log(this.data)
this.BodyPart.Bodypart = await this.$getBodyPart(this.$route.query.trialId)
this.getNoneDicomList()
this.trialBodyPartTypes = this.bodyParts ? this.bodyParts.split('|') : []
@@ -947,8 +948,10 @@ export default {
let file = this.fileList.filter((item) => item.id === arr[index].id)[0]
file.status = 1
let path = `/${this.trialId}/Image/${this.data.SubjectId}/${
- this.data.VisitName
- }/${new Date().getTime()}_${file.name}`
+ this.data.Id
+ }/${new Date().getTime()}${file.name
+ .substring(file.name.lastIndexOf('.'))
+ .toLocaleLowerCase()}`
const fileData = await this.fileToBlob(file.file)
let res = await this.fileToOss(path, fileData, file)
if (res) {
From ccf3b823d8bc3b183780d3ddb77143ca5a814455 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 20:23:19 +0800
Subject: [PATCH 076/112] =?UTF-8?q?=E9=9D=9Edicom=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E5=90=8D=E7=94=9F=E6=88=90guid?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/nonedicomFile.vue | 3 ++-
src/main.js | 6 ++++++
.../visit/crc-upload/components/uploadNonDicomFiles.vue | 2 +-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
index a928bdbf..e6cb9311 100644
--- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
@@ -643,9 +643,10 @@ export default {
if (!this.uploadVisible) return
let file = this.fileList.filter((item) => item.id === arr[index].id)[0]
file.status = 1
+ console.log(file)
let path = `/${this.$route.query.trialId}/TaskImage/${
this.currentRow.SubjectId
- }/${this.currentRow.VisitTaskId}/${new Date().getTime()}${file.name
+ }/${this.currentRow.VisitTaskId}/${this.$guid()}${file.name
.substring(file.name.lastIndexOf('.'))
.toLocaleLowerCase()}`
console.log(path)
diff --git a/src/main.js b/src/main.js
index b1998a3e..2b9c83bb 100644
--- a/src/main.js
+++ b/src/main.js
@@ -145,6 +145,12 @@ Vue.config.productionTip = false
Vue.prototype.$upload = () => {
_vm.$forceUpdate()
}
+Vue.prototype.$guid = () => {
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
+ var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
+ return v.toString(16);
+ });
+}
Vue.prototype.fileToBlob = (file) => {
// 创建 FileReader 对象
const reader = new FileReader()
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
index c4a4eb80..1a042dcb 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadNonDicomFiles.vue
@@ -949,7 +949,7 @@ export default {
file.status = 1
let path = `/${this.trialId}/Image/${this.data.SubjectId}/${
this.data.Id
- }/${new Date().getTime()}${file.name
+ }/${this.$guid()}${file.name
.substring(file.name.lastIndexOf('.'))
.toLocaleLowerCase()}`
const fileData = await this.fileToBlob(file.file)
From 1209a3962b776413a32817a4abc1d75c5a351788 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 11:08:44 +0800
Subject: [PATCH 077/112] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E8=B7=A8=E5=9F=9F?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/mitm.html | 167 ++++++++++++++++++++++++++++++++++++++++++++
public/sw.js | 130 ++++++++++++++++++++++++++++++++++
src/utils/stream.js | 19 +++++
vue.config.js | 8 +--
4 files changed, 320 insertions(+), 4 deletions(-)
create mode 100644 public/mitm.html
create mode 100644 public/sw.js
diff --git a/public/mitm.html b/public/mitm.html
new file mode 100644
index 00000000..508a9c3b
--- /dev/null
+++ b/public/mitm.html
@@ -0,0 +1,167 @@
+
+
diff --git a/public/sw.js b/public/sw.js
new file mode 100644
index 00000000..dd75c1a5
--- /dev/null
+++ b/public/sw.js
@@ -0,0 +1,130 @@
+/* global self ReadableStream Response */
+
+self.addEventListener('install', () => {
+ self.skipWaiting()
+})
+
+self.addEventListener('activate', event => {
+ event.waitUntil(self.clients.claim())
+})
+
+const map = new Map()
+
+// This should be called once per download
+// Each event has a dataChannel that the data will be piped through
+self.onmessage = event => {
+ // We send a heartbeat every x second to keep the
+ // service worker alive if a transferable stream is not sent
+ if (event.data === 'ping') {
+ return
+ }
+
+ const data = event.data
+ const downloadUrl = data.url || self.registration.scope + Math.random() + '/' + (typeof data === 'string' ? data : data.filename)
+ const port = event.ports[0]
+ const metadata = new Array(3) // [stream, data, port]
+
+ metadata[1] = data
+ metadata[2] = port
+
+ // Note to self:
+ // old streamsaver v1.2.0 might still use `readableStream`...
+ // but v2.0.0 will always transfer the stream through MessageChannel #94
+ if (event.data.readableStream) {
+ metadata[0] = event.data.readableStream
+ } else if (event.data.transferringReadable) {
+ port.onmessage = evt => {
+ port.onmessage = null
+ metadata[0] = evt.data.readableStream
+ }
+ } else {
+ metadata[0] = createStream(port)
+ }
+
+ map.set(downloadUrl, metadata)
+ port.postMessage({ download: downloadUrl })
+}
+
+function createStream (port) {
+ // ReadableStream is only supported by chrome 52
+ return new ReadableStream({
+ start (controller) {
+ // When we receive data on the messageChannel, we write
+ port.onmessage = ({ data }) => {
+ if (data === 'end') {
+ return controller.close()
+ }
+
+ if (data === 'abort') {
+ controller.error('Aborted the download')
+ return
+ }
+
+ controller.enqueue(data)
+ }
+ },
+ cancel (reason) {
+ console.log('user aborted', reason)
+ port.postMessage({ abort: true })
+ }
+ })
+}
+
+self.onfetch = event => {
+ const url = event.request.url
+
+ // this only works for Firefox
+ if (url.endsWith('/ping')) {
+ return event.respondWith(new Response('pong'))
+ }
+
+ const hijacke = map.get(url)
+
+ if (!hijacke) return null
+
+ const [ stream, data, port ] = hijacke
+
+ map.delete(url)
+
+ // Not comfortable letting any user control all headers
+ // so we only copy over the length & disposition
+ const responseHeaders = new Headers({
+ 'Content-Type': 'application/octet-stream; charset=utf-8',
+
+ // To be on the safe side, The link can be opened in a iframe.
+ // but octet-stream should stop it.
+ 'Content-Security-Policy': "default-src 'none'",
+ 'X-Content-Security-Policy': "default-src 'none'",
+ 'X-WebKit-CSP': "default-src 'none'",
+ 'X-XSS-Protection': '1; mode=block',
+ 'Cross-Origin-Embedder-Policy': 'require-corp'
+ })
+
+ let headers = new Headers(data.headers || {})
+
+ if (headers.has('Content-Length')) {
+ responseHeaders.set('Content-Length', headers.get('Content-Length'))
+ }
+
+ if (headers.has('Content-Disposition')) {
+ responseHeaders.set('Content-Disposition', headers.get('Content-Disposition'))
+ }
+
+ // data, data.filename and size should not be used anymore
+ if (data.size) {
+ console.warn('Depricated')
+ responseHeaders.set('Content-Length', data.size)
+ }
+
+ let fileName = typeof data === 'string' ? data : data.filename
+ if (fileName) {
+ console.warn('Depricated')
+ // Make filename RFC5987 compatible
+ fileName = encodeURIComponent(fileName).replace(/['()]/g, escape).replace(/\*/g, '%2A')
+ responseHeaders.set('Content-Disposition', "attachment; filename*=UTF-8''" + fileName)
+ }
+
+ event.respondWith(new Response(stream, { headers: responseHeaders }))
+
+ port.postMessage({ debug: 'Download started' })
+}
diff --git a/src/utils/stream.js b/src/utils/stream.js
index eef180e7..7f745ed2 100644
--- a/src/utils/stream.js
+++ b/src/utils/stream.js
@@ -1,10 +1,12 @@
import streamSaver from "streamsaver";
import "streamsaver/examples/zip-stream.js";
import store from '@/store'
+streamSaver.mitm = `${window.location.origin}/mitm.html?version=2.0.0`
// 下载文件并压缩
function zipFiles(zipName, files) {
console.log("同步下载打包开始时间:" + new Date());
store.dispatch('trials/setUnLock', true)
+ files = formatFiles(files)
// 创建压缩文件输出流
const zipFileOutputStream = streamSaver.createWriteStream(zipName);
// 创建下载文件流
@@ -50,6 +52,23 @@ async function updateFile(file, name) {
console.log(err)
}
}
+// 同名文件修改名称
+function formatFiles(files) {
+ let fileObj = {};
+ files.forEach(file => {
+ let arr = Object.keys(fileObj);
+ if (!~arr.indexOf(file.name)) {
+ fileObj[file.name] = 1;
+ } else {
+ let name = file.name;
+ file.name = name.split(".")[0] + `(${fileObj[name]})` + name
+ .substring(name.lastIndexOf('.'))
+ .toLocaleLowerCase()
+ fileObj[name]++;
+ }
+ })
+ return files;
+}
function decodeUtf8(bytes) {
let str = bytes.split('?');
let str2 = str[0].split('/');
diff --git a/vue.config.js b/vue.config.js
index f7fb01e5..ea3e8bf9 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -24,10 +24,10 @@ module.exports = {
productionSourceMap: false,
devServer: {
port: '8080',
- // headers: {
- // 'Cross-Origin-Opener-Policy': 'same-origin',
- // 'Cross-Origin-Embedder-Policy': 'require-corp'
- // },
+ headers: {
+ 'Cross-Origin-Opener-Policy': 'same-origin',
+ 'Cross-Origin-Embedder-Policy': 'require-corp'
+ },
// open: true,
overlay: {
warnings: false,
From fa137ac535fe0dc123929a12ba1751bf80594128 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 11:41:00 +0800
Subject: [PATCH 078/112] =?UTF-8?q?=E4=BB=B2=E8=A3=81=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/ArbitrationRules.vue | 373 +++++++++---------
1 file changed, 188 insertions(+), 185 deletions(-)
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue b/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
index 1289e411..e8766187 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
@@ -41,7 +41,7 @@
type="primary"
:disabled="OtherInfo.IsSign"
@click="apply(item.ReadingQuestionTrialId, index)"
- >{{ $t("common:button:save") }}{{ $t('common:button:save') }}
{{ $t("common:button:reset") }}{{ $t('common:button:reset') }}
{{ $t("trials:adRules:button:addRule") }}{{ $t('trials:adRules:button:addRule') }}
- {{ $t("trials:adRules:title:selectAnswerGroup") }}
+ {{ $t('trials:adRules:title:selectAnswerGroup') }}
{{
- QuestionList[index].grouping.toString().replaceAll(",", "|")
+ QuestionList[index].grouping.toString().replaceAll(',', '|')
}}
- {{ $t("trials:adRules:title:addGroup") }}
+ {{ $t('trials:adRules:title:addGroup') }}
@@ -253,7 +256,7 @@
v-if="QuestionList[index].QuestionGenre !== 3"
style="margin-top: 20px"
>
- {{ $t("trials:adRules:title:group") }}
+ {{ $t('trials:adRules:title:group') }}
{
- return tagClose2(index, indexA);
+ return tagClose2(index, indexA)
}
"
>{{ itemA }}
- {{ $t("trials:adRules:title:group") }}
+ {{ $t('trials:adRules:title:group') }}
{
- return tagClose2(index, indexA);
+ return tagClose2(index, indexA)
}
"
>
{{
itemA
- .split("|")
+ .split('|')
.map((v) =>
$fd(QuestionList[index].DictionaryCode, parseInt(v))
)
- .join("|")
+ .join('|')
}}
@@ -457,12 +460,12 @@
size="small"
type="primary"
@click="
- QuestionVisible = false;
- $set(QuestionList[selectIndex], 'groupingA', []);
- $set(QuestionList[selectIndex], 'groupingB', []);
+ QuestionVisible = false
+ $set(QuestionList[selectIndex], 'groupingA', [])
+ $set(QuestionList[selectIndex], 'groupingB', [])
"
>
- {{ $t("common:button:cancel") }}
+ {{ $t('common:button:cancel') }}
- {{ $t("common:button:save") }}
+ {{ $t('common:button:save') }}
@@ -482,13 +485,13 @@ import {
getTrialConfirmCriterionList,
getTrialCriterionJudgeQuestionList,
setTrialCriterionJudgeQuestionAnswerGroup,
-} from "@/api/trials/reading";
-import { setTrialJudgyInfo, getTrialJudgyInfo } from "@/api/trials/setting";
+} from '@/api/trials/reading'
+import { setTrialJudgyInfo, getTrialJudgyInfo } from '@/api/trials/setting'
export default {
props: {
trialReadingCriterionId: {
type: String,
- default: "",
+ default: '',
},
},
data() {
@@ -512,23 +515,23 @@ export default {
{
required: true,
message: this.$t(
- "trials:trials-list:setitng:JudgeDifferenceTypeRequired"
+ 'trials:trials-list:setitng:JudgeDifferenceTypeRequired'
),
- trigger: "blur",
+ trigger: 'blur',
},
],
JudgeDifferenceValue: [
{
required: true,
message: this.$t(
- "trials:trials-list:setitng:JudgeDifferenceValueRequired"
+ 'trials:trials-list:setitng:JudgeDifferenceValueRequired'
),
- trigger: "blur",
+ trigger: 'blur',
},
{
pattern: /^[0-9]+(.[0-9]{2})?$/,
- message: this.$t("trials:trials-list:setitng:JudgeDifferenceValue"),
- trigger: "blur",
+ message: this.$t('trials:trials-list:setitng:JudgeDifferenceValue'),
+ trigger: 'blur',
},
{
validator: (rule, value, callback) => {
@@ -536,115 +539,115 @@ export default {
callback(
new Error(
this.$t(
- "trials:trials-list:setitng:JudgeDifferenceValueMin"
+ 'trials:trials-list:setitng:JudgeDifferenceValueMin'
)
)
- );
+ )
} else {
- callback();
+ callback()
}
},
- trigger: "blur",
+ trigger: 'blur',
},
],
},
- };
+ }
},
watch: {
TrialReadingCriterionId(v) {
- if (v === null) return;
- this.loading = true;
+ if (v === null) return
+ this.loading = true
getTrialCriterionJudgeQuestionList({
TrialId: this.$route.query.trialId,
// ReadingQuestionCriterionTrialId: v,
TrialReadingCriterionId: this.trialReadingCriterionId,
})
.then((res) => {
- this.loading = false;
- this.QuestionList = res.Result;
- this.OtherInfo = res.OtherInfo;
+ this.loading = false
+ this.QuestionList = res.Result
+ this.OtherInfo = res.OtherInfo
this.activeNames = this.QuestionList.map(
(v) => v.ReadingQuestionTrialId
- );
+ )
this.QuestionList.forEach((v) => {
- this.$set(v, "grouping", []);
- this.$set(v, "groupingA", []);
- this.$set(v, "groupingB", []);
+ this.$set(v, 'grouping', [])
+ this.$set(v, 'groupingA', [])
+ this.$set(v, 'groupingB', [])
this.$set(
v,
- "AnswerGroupList",
+ 'AnswerGroupList',
Object.assign([], v.AnswerCombination)
- );
- this.$set(v, "AnswerGroup2List", Object.assign([], v.AnswerGroup));
- });
+ )
+ this.$set(v, 'AnswerGroup2List', Object.assign([], v.AnswerGroup))
+ })
})
.catch(() => {
- this.btnLoading = false;
- this.loading = false;
- });
+ this.btnLoading = false
+ this.loading = false
+ })
},
},
mounted() {
- this.getList();
- this.getTrialJudgyInfo();
+ this.getList()
+ this.getTrialJudgyInfo()
},
methods: {
// 修改仲裁规则
changeArbitrationRule(value) {
if (value !== 1) {
this.QuestionList.forEach((item) => {
- item.JudgeDifferenceValue = 0;
- item.JudgeDifferenceType = 0;
- });
+ item.JudgeDifferenceValue = 0
+ item.JudgeDifferenceType = 0
+ })
}
},
JudgeTypeChange(value, index) {
this.$nextTick(() => {
if (value === 4 || value === 5) {
- if (this.$refs["JudgeDifferenceValue" + value + index][0]) {
- this.$refs["JudgeDifferenceValue" + value + index][0].resetFields();
+ if (this.$refs['JudgeDifferenceValue' + value + index][0]) {
+ this.$refs['JudgeDifferenceValue' + value + index][0].resetFields()
// this.QuestionList[index].JudgeDifferenceValue = 0;
}
}
- });
+ })
},
saveAllSync() {
return new Promise((resolve, reject) => {
- var arr = [];
+ var arr = []
this.QuestionList.forEach((v, i) => {
- arr.push(this.applySync(v.ReadingQuestionTrialId, i));
- });
+ arr.push(this.applySync(v.ReadingQuestionTrialId, i))
+ })
Promise.all(arr)
.then((res) => {
- console.log(res);
- resolve(true);
+ console.log(res)
+ resolve(true)
})
.catch((res) => {
- console.log("进入catch");
- resolve(false);
- });
- });
+ console.log('进入catch')
+ resolve(false)
+ })
+ })
},
applySync(ReadingQuestionTrialId, index) {
return new Promise(async (resolve, reject) => {
- console.log(this.QuestionList[index].JudgeType);
+ console.log(this.QuestionList[index].JudgeType)
if (this.QuestionList[index].JudgeType === 0) {
- reject(false);
- return;
+ reject(false)
+ return
}
if (
this.QuestionList[index].JudgeType === 2 &&
this.QuestionList[index].AnswerGroup2List.length === 0
) {
- reject(false);
- return;
+ reject(false)
+ return
}
if (
this.QuestionList[index].JudgeType === 3 &&
this.QuestionList[index].AnswerGroupList.length === 0
) {
- reject(false);
- return;
+ reject(false)
+ return
}
if (
this.QuestionList[index].JudgeType === 4 ||
@@ -652,17 +655,17 @@ export default {
) {
try {
let validate = await this.$refs[
- "JudgeDifferenceValue" +
+ 'JudgeDifferenceValue' +
this.QuestionList[index].JudgeType +
index
- ][0].validate();
- if (!validate) return reject(false);
+ ][0].validate()
+ if (!validate) return reject(false)
} catch (err) {
- return reject(false);
+ return reject(false)
}
}
- this.btnLoading = true;
- this.loading = true;
+ this.btnLoading = true
+ this.loading = true
setTrialCriterionJudgeQuestionAnswerGroup({
ReadingQuestionTrialId: ReadingQuestionTrialId,
AnswerGroup: this.QuestionList[index].AnswerGroup2List,
@@ -676,126 +679,126 @@ export default {
),
})
.then((res) => {
- resolve();
- this.btnLoading = false;
- this.loading = false;
+ resolve()
+ this.btnLoading = false
+ this.loading = false
})
.catch(() => {
- reject(false);
- this.btnLoading = false;
- this.loading = false;
- });
- });
+ reject(false)
+ this.btnLoading = false
+ this.loading = false
+ })
+ })
},
setTrialJudgyInfo() {
- this.loading = true;
+ this.loading = true
setTrialJudgyInfo({
TrialId: this.$route.query.trialId,
ArbitrationRule: this.JudgyInfo.ArbitrationRule,
TrialReadingCriterionId: this.trialReadingCriterionId,
})
.then((res) => {
- this.loading = false;
- this.$message.success(this.$t("common:message:savedSuccessfully")); // '保存成功'
+ this.loading = false
+ this.$message.success(this.$t('common:message:savedSuccessfully')) // '保存成功'
})
.catch(() => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
getTrialJudgyInfo() {
- this.loading = true;
+ this.loading = true
getTrialJudgyInfo({
TrialId: this.$route.query.trialId,
TrialReadingCriterionId: this.trialReadingCriterionId,
})
.then((res) => {
- this.JudgyInfo = res.Result;
- this.loading = false;
+ this.JudgyInfo = res.Result
+ this.loading = false
})
.catch((v) => {
- this.loading = false;
- });
+ this.loading = false
+ })
},
tagClose2(index, indexA) {
// '删除该规则组?'
- this.$confirm(this.$t("trials:adRules:message:msg1")).then(() => {
- this.QuestionList[index].AnswerGroup2List.splice(indexA, 1);
- });
+ this.$confirm(this.$t('trials:adRules:message:msg1')).then(() => {
+ this.QuestionList[index].AnswerGroup2List.splice(indexA, 1)
+ })
},
tagClose(index, indexA) {
// '删除该规则组?'
- this.$confirm(this.$t("trials:adRules:message:msg1")).then(() => {
- this.QuestionList[index].AnswerGroupList.splice(indexA, 1);
- });
+ this.$confirm(this.$t('trials:adRules:message:msg1')).then(() => {
+ this.QuestionList[index].AnswerGroupList.splice(indexA, 1)
+ })
},
save() {
- var index = this.selectIndex;
- var indexA = this.indexA;
+ var index = this.selectIndex
+ var indexA = this.indexA
if (this.QuestionList[index].groupingA.length === 0) {
- this.$alert(this.$t("trials:adRules:message:msg2")); // '请先选择答案A'
- return;
+ this.$alert(this.$t('trials:adRules:message:msg2')) // '请先选择答案A'
+ return
}
if (this.QuestionList[index].groupingB.length === 0) {
- this.$alert(this.$t("trials:adRules:message:msg3")); // '请先选择答案B'
- return;
+ this.$alert(this.$t('trials:adRules:message:msg3')) // '请先选择答案B'
+ return
}
- if (this.type === "add") {
+ if (this.type === 'add') {
this.QuestionList[index].AnswerGroupList.push({
AnswerGroupA: this.QuestionList[index].groupingA,
AnswerGroupB: this.QuestionList[index].groupingB,
- });
+ })
} else {
this.$set(
this.QuestionList[index].AnswerGroupList[indexA],
- "AnswerGroupA",
+ 'AnswerGroupA',
this.QuestionList[index].groupingA
- );
+ )
this.$set(
this.QuestionList[index].AnswerGroupList[indexA],
- "AnswerGroupB",
+ 'AnswerGroupB',
this.QuestionList[index].groupingB
- );
+ )
}
- this.$set(this.QuestionList[index], "groupingA", []);
- this.$set(this.QuestionList[index], "groupingB", []);
- this.$message.success(this.$t("trials:adRules:message:msg4")); // '成功新增答案规则'
- this.QuestionVisible = false;
+ this.$set(this.QuestionList[index], 'groupingA', [])
+ this.$set(this.QuestionList[index], 'groupingB', [])
+ this.$message.success(this.$t('trials:adRules:message:msg4')) // '成功新增答案规则'
+ this.QuestionVisible = false
},
addGroup2(index) {
if (this.QuestionList[index].grouping.length === 0) {
- this.$alert(this.$t("trials:adRules:message:msg5")); // '请先选择答案,再添加分组'
- return;
+ this.$alert(this.$t('trials:adRules:message:msg5')) // '请先选择答案,再添加分组'
+ return
}
var grouping = this.QuestionList[index].grouping
.toString()
- .replaceAll(",", "|");
- this.QuestionList[index].AnswerGroup2List.push(`|${grouping}|`);
- this.$set(this.QuestionList[index], "grouping", []);
+ .replaceAll(',', '|')
+ this.QuestionList[index].AnswerGroup2List.push(`|${grouping}|`)
+ this.$set(this.QuestionList[index], 'grouping', [])
},
addGroup(index, indexA) {
- this.selectIndex = index;
- this.type = "add";
+ this.selectIndex = index
+ this.type = 'add'
if (indexA !== null) {
- this.indexA = indexA;
- this.type = "edit";
+ this.indexA = indexA
+ this.type = 'edit'
this.$set(
this.QuestionList[index],
- "groupingA",
+ 'groupingA',
this.QuestionList[index].AnswerGroupList[indexA].AnswerGroupA
- );
+ )
this.$set(
this.QuestionList[index],
- "groupingB",
+ 'groupingB',
this.QuestionList[index].AnswerGroupList[indexA].AnswerGroupB
- );
+ )
}
- this.QuestionVisible = true;
+ this.QuestionVisible = true
},
reset(ReadingQuestionTrialId, index) {
// '确定重置当前设置的裁判任务生成规则吗?'
- this.$confirm(this.$t("trials:adRules:message:msg6")).then(() => {
- this.btnLoading = true;
- this.loading = true;
+ this.$confirm(this.$t('trials:adRules:message:msg6')).then(() => {
+ this.btnLoading = true
+ this.loading = true
setTrialCriterionJudgeQuestionAnswerGroup({
ReadingQuestionTrialId: ReadingQuestionTrialId,
AnswerGroup: [],
@@ -805,39 +808,39 @@ export default {
JudgeDifferenceType: 0,
})
.then((res) => {
- this.$set(this.QuestionList[index], "AnswerGroup2List", []);
- this.$set(this.QuestionList[index], "AnswerGroupList", []);
- this.$set(this.QuestionList[index], "JudgeType", 0);
- this.$set(this.QuestionList[index], "JudgeDifferenceValue", 0);
- this.$set(this.QuestionList[index], "JudgeDifferenceType", 0);
- this.$message.success(this.$t("trials:adRules:message:msg7")); // '重置成功'
- this.btnLoading = false;
- this.loading = false;
+ this.$set(this.QuestionList[index], 'AnswerGroup2List', [])
+ this.$set(this.QuestionList[index], 'AnswerGroupList', [])
+ this.$set(this.QuestionList[index], 'JudgeType', 0)
+ this.$set(this.QuestionList[index], 'JudgeDifferenceValue', 0)
+ this.$set(this.QuestionList[index], 'JudgeDifferenceType', 0)
+ this.$message.success(this.$t('trials:adRules:message:msg7')) // '重置成功'
+ this.btnLoading = false
+ this.loading = false
})
.catch(() => {
- this.btnLoading = false;
- this.loading = false;
- });
- });
+ this.btnLoading = false
+ this.loading = false
+ })
+ })
},
async apply(ReadingQuestionTrialId, index) {
if (this.QuestionList[index].JudgeType === 0) {
- this.$alert(this.$t("trials:adRules:message:msg8")); // '请先配置规则才能应用'
- return;
+ this.$alert(this.$t('trials:adRules:message:msg8')) // '请先配置规则才能应用'
+ return
}
if (
this.QuestionList[index].JudgeType === 2 &&
this.QuestionList[index].AnswerGroup2List.length === 0
) {
- this.$alert(this.$t("trials:adRules:message:msg8")); // '请先配置规则才能应用'
- return;
+ this.$alert(this.$t('trials:adRules:message:msg8')) // '请先配置规则才能应用'
+ return
}
if (
this.QuestionList[index].JudgeType === 3 &&
this.QuestionList[index].AnswerGroupList.length === 0
) {
- this.$alert(this.$t("trials:adRules:message:msg8"));
- return;
+ this.$alert(this.$t('trials:adRules:message:msg8'))
+ return
}
if (
this.QuestionList[index].JudgeType === 4 ||
@@ -845,15 +848,15 @@ export default {
) {
try {
let validate = await this.$refs[
- "JudgeDifferenceValue" + this.QuestionList[index].JudgeType + index
- ][0].validate();
- if (!validate) return;
+ 'JudgeDifferenceValue' + this.QuestionList[index].JudgeType + index
+ ][0].validate()
+ if (!validate) return
} catch (err) {
- return;
+ return
}
}
- this.btnLoading = true;
- this.loading = true;
+ this.btnLoading = true
+ this.loading = true
setTrialCriterionJudgeQuestionAnswerGroup({
ReadingQuestionTrialId: ReadingQuestionTrialId,
AnswerGroup: this.QuestionList[index].AnswerGroup2List,
@@ -867,49 +870,49 @@ export default {
),
})
.then((res) => {
- this.$message.success(this.$t("trials:adRules:message:msg9")); // '应用成功'
- this.btnLoading = false;
- this.loading = false;
+ this.$message.success(this.$t('trials:adRules:message:msg9')) // '应用成功'
+ this.btnLoading = false
+ this.loading = false
})
.catch(() => {
- this.btnLoading = false;
- this.loading = false;
- });
+ this.btnLoading = false
+ this.loading = false
+ })
},
tabClick(v) {
this.ReadingQuestionCriterionTrialId =
- this.CriterionList[this.index].ReadingQuestionCriterionTrialId;
+ this.CriterionList[this.index].ReadingQuestionCriterionTrialId
},
getList() {
- this.loading = true;
+ this.loading = true
getTrialCriterionJudgeQuestionList({
TrialId: this.$route.query.trialId,
TrialReadingCriterionId: this.trialReadingCriterionId,
})
.then((res) => {
- this.loading = false;
- this.QuestionList = res.Result;
- this.OtherInfo = res.OtherInfo;
+ this.loading = false
+ this.QuestionList = res.Result
+ this.OtherInfo = res.OtherInfo
this.activeNames = this.QuestionList.map(
(v) => v.ReadingQuestionTrialId
- );
+ )
this.QuestionList.forEach((v) => {
- this.$set(v, "grouping", []);
- this.$set(v, "groupingA", []);
- this.$set(v, "groupingB", []);
+ this.$set(v, 'grouping', [])
+ this.$set(v, 'groupingA', [])
+ this.$set(v, 'groupingB', [])
this.$set(
v,
- "AnswerGroupList",
+ 'AnswerGroupList',
Object.assign([], v.AnswerCombination)
- );
- this.$set(v, "AnswerGroup2List", Object.assign([], v.AnswerGroup));
- });
+ )
+ this.$set(v, 'AnswerGroup2List', Object.assign([], v.AnswerGroup))
+ })
})
.catch(() => {
- this.btnLoading = false;
- this.loading = false;
- });
+ this.btnLoading = false
+ this.loading = false
+ })
},
},
-};
+}
From 883184785059ee74adc31bd02ecf45735b5a1638 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 13:21:48 +0800
Subject: [PATCH 079/112] =?UTF-8?q?OCT=E6=A0=87=E5=87=86=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/store/modules/reading.js | 20 ++-
.../dicoms/components/IVUS/QuestionForm.vue | 66 +-------
.../dicoms/components/IVUS/QuestionList.vue | 6 +-
.../dicoms/components/OCT/QuestionForm.vue | 153 +++++++-----------
.../dicoms/components/OCT/QuestionList.vue | 39 ++++-
5 files changed, 108 insertions(+), 176 deletions(-)
diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js
index 8166845b..7c11814a 100644
--- a/src/store/modules/reading.js
+++ b/src/store/modules/reading.js
@@ -51,15 +51,31 @@ function getQuestions(questions) {
// ivus
answerObj.area1 = getQuestionAnswer(item.TableQuestions.Questions, 1001, answerObj)
answerObj.area2 = getQuestionAnswer(item.TableQuestions.Questions, 1002, answerObj)
- var v = getQuestionAnswer(item.TableQuestions.Questions, 1003, answerObj)
+ const v = getQuestionAnswer(item.TableQuestions.Questions, 1003, answerObj)
answerObj.diff = v
answerObj.saveTypeEnum = isNaN(parseFloat(v)) ? 1 : 2
+ } else if (criterionType === 20) {
+ // oct
+ if (item.LesionType === 101) {
+ answerObj.l1 = getQuestionAnswer(item.TableQuestions.Questions, 1011, answerObj)
+ answerObj.l2 = getQuestionAnswer(item.TableQuestions.Questions, 1012, answerObj)
+ answerObj.l3 = getQuestionAnswer(item.TableQuestions.Questions, 1013, answerObj)
+ const min = getQuestionAnswer(item.TableQuestions.Questions, 1014, answerObj)
+ answerObj.min = min
+ const mean = getQuestionAnswer(item.TableQuestions.Questions, 1015, answerObj)
+ answerObj.mean = mean
+ answerObj.saveTypeEnum = (isNaN(parseFloat(min)) || isNaN(parseFloat(mean))) ? 1 : 2
+ } else if (item.LesionType === 103) {
+ const angle = getQuestionAnswer(item.TableQuestions.Questions, 1016, answerObj)
+ answerObj.angle = angle
+ answerObj.saveTypeEnum = isNaN(parseFloat(angle)) ? 1 : 2
+ }
} else {
answerObj.lesionPart = getQuestionAnswer(item.TableQuestions.Questions, 8, answerObj)
answerObj.loctation = getQuestionAnswer(item.TableQuestions.Questions, 6, answerObj)
answerObj.lesionLength = getQuestionAnswer(item.TableQuestions.Questions, 0, answerObj)
answerObj.lesionShort = getQuestionAnswer(item.TableQuestions.Questions, 1, answerObj)
- var isLymphLesion = getQuestionAnswer(item.TableQuestions.Questions, 2, answerObj)
+ let isLymphLesion = getQuestionAnswer(item.TableQuestions.Questions, 2, answerObj)
isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null
answerObj.isLymphLesion = isLymphLesion
answerObj.lesionState = getQuestionAnswer(item.TableQuestions.Questions, 7, answerObj)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
index f1b9b099..167aaa2b 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
@@ -18,30 +18,6 @@
-
-
{
- if (val) {
- // 判断是否超过该病灶类型个数的最大值
- var idx = this.tableQuestions.findIndex(item => item.LesionType === v)
- if (idx > -1 && !!this.tableQuestions[idx].MaxQuestionCount && this.tableQuestions[idx].MaxQuestionCount <= this.tableQuestions[idx].TableQuestions.Answers.length) {
- let msg = this.$t('trials:reading:warnning:msg14')
- // msg = msg.replace('xxx', this.tableQuestions[idx].QuestionName)
- msg = msg.replace('xxx', this.tableQuestions[idx].MaxQuestionCount)
- this.$confirm(msg, {
- type: 'warning',
- showCancelButton: false,
- callback: action => {}
- })
- this.$set(this.questionForm, 'LesionType', this.originalQuestionForm.LesionType)
- return
- }
-
- var arr = []
- this.questionForm[this.getQuestionId(1001)] = ''
- this.questionForm[this.getQuestionId(1002)] = ''
- this.questionForm[this.getQuestionId(1003)] = ''
- this.questions.forEach(item => {
- item.Answer = this.questionForm[item.Id] ? this.questionForm[item.Id] : ''
- arr.push(item)
- })
- var type = null
- if (this.questionForm.RowId) {
- type = 1
- } else {
- type = 0
- }
- DicomEvent.$emit('changeLesionType', { questionForm: arr, oldLesionType: this.lesionType, newLesionType: v, rowIndex: this.questionForm.RowIndex, questionId: this.parentQsId, measureData: this.questionForm.MeasureData, type, rowId: this.questionForm.RowId })
- } else {
- this.$set(this.questionForm, 'LesionType', this.originalQuestionForm.LesionType)
- }
- })
- },
deleteLesionInfo() {
return new Promise((resolve, reject) => {
const loading = this.$loading({ fullscreen: true })
@@ -390,7 +328,7 @@ export default {
},
calculate(qsMarkArr, type) {
var num = 0
- for (let i = 0; i< qsMarkArr.length; i++) {
+ for (let i = 0; i < qsMarkArr.length; i++) {
const mark = qsMarkArr[i]
const v = this.questionForm[this.getQuestionId(mark)]
if (isNaN(parseFloat(v))) {
@@ -407,7 +345,7 @@ export default {
}
}
}
-
+
return num === null ? num : num.toFixed(this.digitPlaces)
},
limitBlur(qId, valueType) {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index b4f44a10..66d8530c 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -75,13 +75,13 @@
-
+
{{ item.TableQuestions.Answers[i].area1 }}m㎡
-
+
{{ item.TableQuestions.Answers[i].area2 }}m㎡
-
+
{{ item.TableQuestions.Answers[i].diff }}m㎡
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
index 854448c4..9babf325 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
@@ -18,30 +18,6 @@
-
-
{formItemChange(val, qs)})"
@blur="limitBlur(qs.Id, qs.ValueType)"
>
-
+
@@ -315,96 +291,65 @@ export default {
return ''
}
},
- async lesionTypeChange(v) {
- this.$emit('determineExistsUnsavedLession', async val => {
- if (val) {
- // 判断是否超过该病灶类型个数的最大值
- var idx = this.tableQuestions.findIndex(item => item.LesionType === v)
- if (idx > -1 && !!this.tableQuestions[idx].MaxQuestionCount && this.tableQuestions[idx].MaxQuestionCount <= this.tableQuestions[idx].TableQuestions.Answers.length) {
- let msg = this.$t('trials:reading:warnning:msg14')
- // msg = msg.replace('xxx', this.tableQuestions[idx].QuestionName)
- msg = msg.replace('xxx', this.tableQuestions[idx].MaxQuestionCount)
- this.$confirm(msg, {
- type: 'warning',
- showCancelButton: false,
- callback: action => {}
- })
- this.$set(this.questionForm, 'LesionType', this.originalQuestionForm.LesionType)
- return
- }
-
- var arr = []
- this.questionForm[this.getQuestionId(1001)] = ''
- this.questionForm[this.getQuestionId(1002)] = ''
- this.questionForm[this.getQuestionId(1003)] = ''
- this.questions.forEach(item => {
- item.Answer = this.questionForm[item.Id] ? this.questionForm[item.Id] : ''
- arr.push(item)
- })
- var type = null
- if (this.questionForm.RowId) {
- type = 1
- } else {
- type = 0
- }
- DicomEvent.$emit('changeLesionType', { questionForm: arr, oldLesionType: this.lesionType, newLesionType: v, rowIndex: this.questionForm.RowIndex, questionId: this.parentQsId, measureData: this.questionForm.MeasureData, type, rowId: this.questionForm.RowId })
- } else {
- this.$set(this.questionForm, 'LesionType', this.originalQuestionForm.LesionType)
- }
- })
- },
- deleteLesionInfo() {
- return new Promise((resolve, reject) => {
- const loading = this.$loading({ fullscreen: true })
- var param = {
- visitTaskId: this.visitTaskId,
- questionId: this.parentQsId,
- rowId: this.questionForm.RowId
- }
- deleteReadingRowAnswer(param)
- .then(async res => {
- if (res.IsSuccess) {
- DicomEvent.$emit('getReportInfo', true)
- }
- loading.close()
- resolve()
- }).catch(() => {
- loading.close()
- reject()
- })
- })
- },
async formItemChange(v, question) {
if (this.questionForm.RowId) {
this.$set(this.questionForm, 'saveTypeEnum', 1)
} else {
this.$set(this.questionForm, 'saveTypeEnum', 0)
}
- if (question.QuestionMark === 1001 || question.QuestionMark === 1002) {
- this.questionForm[this.getQuestionId(1003)] = this.calculate([1001, 1002], '-')
+ if (question.QuestionMark === 1011 || question.QuestionMark === 1012 || question.QuestionMark === 1013) {
+ // 最小值
+ this.questionForm[this.getQuestionId(1014)] = this.calculate([1011, 1012, 1013], 'min')
+ // 平均值
+ this.questionForm[this.getQuestionId(1015)] = this.calculate([1011, 1012, 1013], 'avg')
}
- this.$emit('resetQuestions', { saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
+ let l1, l2, l3, min, mean, angle
+ if (this.lesionType === 101) {
+ l1 = this.getQuestionVal(1011)
+ l2 = this.getQuestionVal(1012)
+ l3 = this.getQuestionVal(1013)
+ min = this.getQuestionVal(1014)
+ mean = this.getQuestionVal(1015)
+ } else if (this.lesionType === 103) {
+ angle = this.getQuestionVal(1016)
+ }
+ this.$emit('resetQuestions', { l1, l2, l3, min, mean, angle, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
},
calculate(qsMarkArr, type) {
var num = 0
- qsMarkArr.map((qsmark, i) => {
+ const arr = []
+ for (let i = 0; i < qsMarkArr.length; i++) {
+ const mark = qsMarkArr[i]
+ let v = this.questionForm[this.getQuestionId(mark)]
+ if (isNaN(parseFloat(v))) {
+ num = null
+ break
+ }
+ v = parseFloat(v)
if (i === 0) {
- const v = this.questionForm[this.getQuestionId(qsmark)]
- num = isNaN(parseFloat(v)) ? 0 : parseFloat(v)
+ num = v
+ arr.push(v)
} else {
- const v = this.questionForm[this.getQuestionId(qsmark)]
switch (type) {
- case '-':
- num -= isNaN(parseFloat(v)) ? 0 : parseFloat(v)
+ case 'min':
+ num = num > v ? v : num
+ break
+ case 'avg':
+ arr.push(v)
+ if (arr.length === qsMarkArr.length) {
+ num = arr.reduce((acc, curr) => {
+ return acc + curr
+ }, 0) / arr.length
+ }
break
}
}
- })
- return parseFloat(num).toFixed(this.digitPlaces)
+ }
+
+ return num === null ? num : num.toFixed(this.digitPlaces)
},
limitBlur(qId, valueType) {
- const value = isNaN(parseFloat(this.questionForm[qId])) ? null : parseFloat(this.questionForm[qId])
- if (value === null) return
+ const value = this.questionForm[qId]
if (valueType === 0) {
this.$set(this.questionForm, qId, parseInt(value))
} else if (valueType === 3) {
@@ -494,7 +439,17 @@ export default {
this.$set(this.questionForm, 'saveTypeEnum', 2)
this.originalQuestionForm = { ...this.questionForm }
this.$set(this.questionForm, 'RowId', res.Result.RowId)
- this.$emit('resetQuestions', { saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
+ let l1, l2, l3, min, mean, angle
+ if (this.lesionType === 101) {
+ l1 = this.getQuestionVal(1011)
+ l2 = this.getQuestionVal(1012)
+ l3 = this.getQuestionVal(1013)
+ min = this.getQuestionVal(1014)
+ mean = this.getQuestionVal(1015)
+ } else if (this.lesionType === 103) {
+ angle = this.getQuestionVal(1016)
+ }
+ this.$emit('resetQuestions', { l1, l2, l3, min, mean, angle, saveTypeEnum: this.questionForm.saveTypeEnum, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm })
this.$emit('close')
DicomEvent.$emit('refreshQuestions')
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index 25e613c2..3ca1d668 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -73,6 +73,19 @@
+
+
+
+ min: {{ item.TableQuestions.Answers[i].min }}μm
+
+
+ mean: {{ item.TableQuestions.Answers[i].mean }}μm
+
+
+ {{ item.TableQuestions.Answers[i].angle }}°
+
+
+
@@ -91,7 +104,6 @@
:reading-task-state="readingTaskState"
:is-base-line-task="isBaseLineTask"
@getReadingQuestionAndAnswer="getReadingQuestionAndAnswer"
- @determineExistsUnsavedLession="determineExistsUnsavedLession"
@resetQuestions="resetQuestions"
@close="close"
/>
@@ -349,7 +361,15 @@ export default {
if (item.Type === 'table' && item.Id === obj.questionId) {
var idx = item.TableQuestions.Answers.findIndex(i => i.RowIndex === obj.rowIndex)
item.TableQuestions.Answers[idx].saveTypeEnum = obj.saveTypeEnum
-
+ if (item.LesionType === 101) {
+ item.TableQuestions.Answers[idx].l1 = obj.l1
+ item.TableQuestions.Answers[idx].l2 = obj.l2
+ item.TableQuestions.Answers[idx].l3 = obj.l3
+ item.TableQuestions.Answers[idx].min = obj.min
+ item.TableQuestions.Answers[idx].mean = obj.mean
+ } else if (item.LesionType === 103) {
+ item.TableQuestions.Answers[idx].angle = obj.angle
+ }
for (const i in obj.anwsers) {
item.TableQuestions.Answers[idx][i] = String(obj.anwsers[i])
}
@@ -364,8 +384,14 @@ export default {
if (item.Type === 'table' && item.TableQuestions && item.TableQuestions.Answers.length > 0) {
item.TableQuestions.Answers.forEach(answerObj => {
if (answerObj.RowId) {
- var diffVal = this.getQuestionAnswer(item.TableQuestions.Questions, 1003, answerObj)
- this.$set(answerObj, 'saveTypeEnum', isNaN(parseFloat(diffVal)) ? 1 : 2)
+ if (item.LesionType === 101) {
+ var min = this.getQuestionAnswer(item.TableQuestions.Questions, 1014, answerObj)
+ var mean = this.getQuestionAnswer(item.TableQuestions.Questions, 1015, answerObj)
+ this.$set(answerObj, 'saveTypeEnum', (isNaN(parseFloat(min)) || isNaN(parseFloat(mean))) ? 1 : 2)
+ } else if (item.LesionType === 103) {
+ var angle = this.getQuestionAnswer(item.TableQuestions.Questions, 1016, answerObj)
+ this.$set(answerObj, 'saveTypeEnum', isNaN(parseFloat(angle)) ? 1 : 2)
+ }
} else {
this.$set(answerObj, 'saveTypeEnum', 0)
}
@@ -497,10 +523,6 @@ export default {
return 0
}
},
- determineExistsUnsavedLession(callback) {
- callback(true)
- return
- },
getLesionName(orderMark, rowIndex) {
var lessionName = ''
var rowIndexArr = rowIndex.split('.')
@@ -623,6 +645,7 @@ export default {
async close(questionsObj) {
if (questionsObj) {
this.getReadingQuestionAndAnswer(questionsObj.visitTaskId)
+ this.refreshQuestions()
}
this.activeItem.activeRowIndex = null
this.activeItem.activeCollapseId = null
From adf6bdc44ac1d5fd753d022e3914f0aa83ec1559 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 13:29:44 +0800
Subject: [PATCH 080/112] =?UTF-8?q?=E9=98=85=E7=89=87=E5=BD=B1=E5=83=8F?=
=?UTF-8?q?=E7=AD=9B=E9=80=89=E9=85=8D=E7=BD=AE=EF=BC=9A=E6=8C=89=E9=92=AE?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../setting/reading-unit/components/ReadingRules.vue | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
index 8852d0f4..dd903904 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
@@ -103,7 +103,13 @@
@click.stop="handleCheckAllChange"
type="success"
>{{
- $t('trials:readingUnit:readingRules:title:CriterionModalitysAll')
+ CriterionModalitys.length === modalityList.length
+ ? $t(
+ 'trials:readingUnit:readingRules:title:CriterionModalitysCancel'
+ )
+ : $t(
+ 'trials:readingUnit:readingRules:title:CriterionModalitysAll'
+ )
}}
From 84bc101065273f40561fc2004ba04adf735e9a84 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 13:35:56 +0800
Subject: [PATCH 081/112] =?UTF-8?q?=E6=B5=8B=E9=87=8F=E5=80=BC=E7=B2=BE?=
=?UTF-8?q?=E5=BA=A6=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading/dicoms/components/IVUS/QuestionList.vue | 9 ++++++---
.../reading/dicoms/components/OCT/QuestionList.vue | 9 ++++++---
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index 66d8530c..6f43e69f 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -76,13 +76,13 @@
- {{ item.TableQuestions.Answers[i].area1 }}m㎡
+ {{ numberToFixed(item.TableQuestions.Answers[i].area1,'m㎡') }}
- {{ item.TableQuestions.Answers[i].area2 }}m㎡
+ {{ numberToFixed(item.TableQuestions.Answers[i].area2,'m㎡') }}
- {{ item.TableQuestions.Answers[i].diff }}m㎡
+ {{ numberToFixed(item.TableQuestions.Answers[i].diff, 'm㎡') }}
@@ -610,6 +610,9 @@ export default {
this.$set(this.questionForm, qId, parseFloat(value).toFixed(this.digitPlaces))
}
},
+ numberToFixed(v, unit){
+ return isNaN(parseFloat(v)) ? null : `${parseFloat(v).toFixed(this.digitPlaces)}${unit}`
+ },
async handleSave(index) {
const refName = `questions${index}`
const valid = await this.$refs[refName][0].validate()
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index 3ca1d668..23bc2499 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -76,13 +76,13 @@
- min: {{ item.TableQuestions.Answers[i].min }}μm
+ min: {{ numberToFixed(item.TableQuestions.Answers[i].min,'μm') }}
- mean: {{ item.TableQuestions.Answers[i].mean }}μm
+ mean: {{ numberToFixed(item.TableQuestions.Answers[i].mean,'μm') }}
- {{ item.TableQuestions.Answers[i].angle }}°
+ {{ numberToFixed(item.TableQuestions.Answers[i].angle,'°') }}
@@ -617,6 +617,9 @@ export default {
this.$set(this.questionForm, qId, parseFloat(value).toFixed(this.digitPlaces))
}
},
+ numberToFixed(v, unit){
+ return isNaN(parseFloat(v)) ? null : `${parseFloat(v).toFixed(this.digitPlaces)}${unit}`
+ },
async handleSave(index) {
const refName = `questions${index}`
const valid = await this.$refs[refName][0].validate()
From e024c6c0b1d454cb8296e48ef2e7d0f67015bf63 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 13:39:00 +0800
Subject: [PATCH 082/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E3=80=81=E4=B8=8B?=
=?UTF-8?q?=E8=BD=BD=E6=A3=80=E6=9F=A5=E8=AF=A6=E6=83=85=E5=8F=97=E8=AF=95?=
=?UTF-8?q?=E8=80=85id=E6=9C=AA=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/downloadDicomAndNonedicom/index.vue | 2 +-
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 4d5f1f0a..d33f739d 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -362,7 +362,7 @@ export default {
return { files, name }
},
handleOpenDialog(item) {
- this.model_cfg.title = `${item.SubejctCode || ''}>${item.TaskBlindName}`
+ this.model_cfg.title = `${item.SubjectCode || ''}>${item.TaskBlindName}`
if (item.IsDicom) {
this.modelList = item.DicomStudyList
} else {
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 0fc3c45a..779e767f 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -626,7 +626,7 @@ export default {
},
// 打开弹窗
handleOpenDialog(item, list) {
- this.model_cfg.title = `${item.SubejctCode || ''}>${item.TaskBlindName}`
+ this.model_cfg.title = `${item.SubjectCode || ''}>${item.TaskBlindName}`
this.modelList = item[list]
this.model_cfg.visible = true
},
From e05986ac9fcd2b362f49553903c25d9c879c6844 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 13:45:06 +0800
Subject: [PATCH 083/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=80=9F=E7=8E=87?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BD=8D=E7=BD=AE=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 779e767f..a5ab7eb7 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -137,7 +137,7 @@
-
+
{{ $t('upload:dicom:uploadTitle') }}
{{ $store.state.trials.uploadTip }}
From bfb1c03c639d831e4d6198c2e609b633c80969fc Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 13:56:29 +0800
Subject: [PATCH 084/112] 1
---
src/components/downloadDicomAndNonedicom/index.vue | 3 ++-
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index d33f739d..08d58635 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -126,6 +126,7 @@
${item.TaskBlindName}`
+ this.model_cfg.title = `${item.SubjectCode || ''} > ${item.TaskBlindName}`
if (item.IsDicom) {
this.modelList = item.DicomStudyList
} else {
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index a5ab7eb7..4b28754b 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -626,7 +626,7 @@ export default {
},
// 打开弹窗
handleOpenDialog(item, list) {
- this.model_cfg.title = `${item.SubjectCode || ''}>${item.TaskBlindName}`
+ this.model_cfg.title = `${item.SubjectCode || ''} > ${item.TaskBlindName}`
this.modelList = item[list]
this.model_cfg.visible = true
},
From 153869060436f005253ff7a947051e0843bdba12 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 14:57:52 +0800
Subject: [PATCH 085/112] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?=E5=85=A8=E5=B1=80loading?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/downloadDicomAndNonedicom/index.vue | 5 +----
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
.../visit/crc-upload/components/uploadDicomFiles2.vue | 6 ++++--
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 08d58635..933f435d 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -5,6 +5,7 @@
:close-on-click-modal="false"
:before-close="beforeClose"
:append-to-body="true"
+ v-loading="btnLoading"
class="downloadDicomAndNonedicom"
>
{{ title }}
@@ -14,7 +15,6 @@
@@ -23,7 +23,6 @@
@@ -32,7 +31,6 @@
{{ $t('download:button:downloadAll') }}
@@ -126,7 +124,6 @@
{{ $t('trials:uploadDicomList:table:uploadNow')
}}{{ scope.row.dicomInfo.failedFileCount }} /
- {{ scope.row.dicomInfo.fileCount }}:[{{
+ {{ scope.row.dicomInfo.fileCount }}: [{{
(scope.row.dicomInfo.uploadFileSize / 1024 / 1024).toFixed(2)
}}MB/{{
(scope.row.dicomInfo.fileSize / 1024 / 1024).toFixed(2)
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index 991d3103..663427b7 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -407,7 +407,7 @@
{{ $t('trials:uploadDicomList:table:uploadNow')
}}{{ scope.row.dicomInfo.failedFileCount }} /
- {{ scope.row.dicomInfo.fileCount }}:[{{
+ {{ scope.row.dicomInfo.fileCount }}: [{{
(scope.row.dicomInfo.uploadFileSize / 1024 / 1024).toFixed(2)
}}MB/{{
(scope.row.dicomInfo.fileSize / 1024 / 1024).toFixed(2)
@@ -1679,7 +1679,9 @@ export default {
dicomInfo.failedFileCount++
Record.FileCount++
} else {
- let path = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${
+ let path = `/${params.trialId}/Image/${
+ params.subjectId
+ }/${params.subjectVisitId}/${
dicomInfo.studyUid
}/${scope.getGuid(
dicomInfo.studyUid +
From 99bb9291235021403571b092739592b8dc7cd115 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 14:59:57 +0800
Subject: [PATCH 086/112] =?UTF-8?q?=E9=98=85=E7=89=87=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dicoms/components/IVUS/QuestionForm.vue | 44 ---------------
.../dicoms/components/IVUS/QuestionList.vue | 53 -------------------
.../dicoms/components/OCT/QuestionForm.vue | 23 --------
.../dicoms/components/OCT/QuestionList.vue | 50 +----------------
4 files changed, 1 insertion(+), 169 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
index 167aaa2b..530643a6 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
@@ -207,7 +207,6 @@ export default {
lesionName: '',
isCurrentTaskAdd: 'False',
lesionMark: '',
- deleteInfo: null,
pictureBaseStr: '',
digitPlaces: 2
}
@@ -291,27 +290,6 @@ export default {
return ''
}
},
- deleteLesionInfo() {
- return new Promise((resolve, reject) => {
- const loading = this.$loading({ fullscreen: true })
- var param = {
- visitTaskId: this.visitTaskId,
- questionId: this.parentQsId,
- rowId: this.questionForm.RowId
- }
- deleteReadingRowAnswer(param)
- .then(async res => {
- if (res.IsSuccess) {
- DicomEvent.$emit('getReportInfo', true)
- }
- loading.close()
- resolve()
- }).catch(() => {
- loading.close()
- reject()
- })
- })
- },
async formItemChange(v, question) {
if (this.questionForm.RowId) {
this.$set(this.questionForm, 'saveTypeEnum', 1)
@@ -387,23 +365,6 @@ export default {
return ''
}
},
- setDeleteInfo(deleteInfo) {
- this.deleteInfo = deleteInfo
- },
- deleteOldLesion(questionId, rowId) {
- return new Promise((resolve, reject) => {
- var param = {
- visitTaskId: this.visitTaskId,
- questionId: questionId,
- rowId: rowId
- }
- deleteReadingRowAnswer(param)
- .then(async res => {
- resolve()
- }).catch(() => {
- })
- })
- },
async handleSave() {
const valid = await this.$refs.measurementForm.validate()
if (!valid) return
@@ -427,11 +388,6 @@ export default {
trialId: this.trialId,
answerList: answers
}
- if (this.deleteInfo) {
- await this.deleteOldLesion(this.deleteInfo.questionId, this.deleteInfo.rowId)
- this.deleteInfo = null
- params.rowId = ''
- }
const res = await submitTableQuestion(params)
if (res.IsSuccess) {
// 保存成功!
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index 6f43e69f..b05fb7e2 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -104,7 +104,6 @@
:reading-task-state="readingTaskState"
:is-base-line-task="isBaseLineTask"
@getReadingQuestionAndAnswer="getReadingQuestionAndAnswer"
- @determineExistsUnsavedLession="determineExistsUnsavedLession"
@resetQuestions="resetQuestions"
@close="close"
/>
@@ -276,10 +275,6 @@ export default {
this.setCollapseActive(measureData)
console.log('setCollapseActive')
})
- DicomEvent.$on('changeLesionType', (questionsObj) => {
- this.changeLesionType(questionsObj)
- console.log('changeLesionType')
- })
DicomEvent.$on('getAllUnSaveLesions', (callback) => {
callback([])
})
@@ -291,7 +286,6 @@ export default {
},
beforeDestroy() {
DicomEvent.$off('setCollapseActive')
- DicomEvent.$off('changeLesionType')
DicomEvent.$off('getUnSaveTarget')
DicomEvent.$off('refreshQuestions')
},
@@ -512,10 +506,6 @@ export default {
return 0
}
},
- determineExistsUnsavedLession(callback) {
- callback(true)
- return
- },
getLesionName(orderMark, rowIndex) {
var lessionName = ''
var rowIndexArr = rowIndex.split('.')
@@ -545,49 +535,6 @@ export default {
e.stopPropagation()
e.preventDefault()
},
- // 更改病灶类型
- async changeLesionType(questionsObj) {
- await store.dispatch('reading/removeReadingQuestionAndAnswer', { lesionType: questionsObj.oldLesionType, rowIndex: questionsObj.rowIndex, visitTaskId: this.visitTaskId })
- // saveTypeEnum: 0
- var lesionObj = { }
- var questionObj = questionsObj.questionForm
- // 切换到新的病灶集合
- var targetObj = this.tableQuestions.find(item => item.LesionType === questionsObj.newLesionType)
- var maxIndex = this.getMaxRowIndex(targetObj.TableQuestions.Answers)
- lesionObj.RowIndex = `${maxIndex + 1}.00`
- targetObj.TableQuestions.Questions.forEach(i => {
- var obj = questionObj.find(v => v.QuestionMark === i.QuestionMark)
- if (obj) {
- lesionObj[i.Id] = obj.Answer
- }
- })
-
- var deleteInfo = null
- if (questionsObj.rowId) {
- deleteInfo = { rowId: questionsObj.rowId, questionId: questionsObj.questionId }
- lesionObj.RowId = questionsObj.rowId
- }
- await store.dispatch('reading/addReadingQuestionAndAnswer', { lesionType: questionsObj.newLesionType, visitTaskId: this.visitTaskId, lesionObj: lesionObj })
-
- this.activeItem.activeRowIndex = String(lesionObj.RowIndex)
- this.activeItem.activeCollapseId = targetObj.Id
- this.activeName = `${this.activeItem.activeCollapseId}_${this.activeItem.activeRowIndex}`
- const refName = `${this.activeItem.activeCollapseId}_${this.activeItem.activeRowIndex}`
- this.$nextTick(() => {
- if (deleteInfo) {
- this.$refs[refName][0].setDeleteInfo(deleteInfo)
- }
- })
- },
- removeQuestionAnswer(questionsObj) {
- // 移除当前病灶
- var currentObj = this.tableQuestions.find(item => item.LesionType === questionsObj.oldLesionType)
- if (currentObj) {
- var i = currentObj.TableQuestions.Answers.findIndex(i => String(i.RowIndex) === String(questionsObj.rowIndex))
- if (i === -1) return
- currentObj.TableQuestions.Answers.splice(i, 1)
- }
- },
setCollapseActive(measureData) {
},
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
index 9babf325..62eea096 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
@@ -207,7 +207,6 @@ export default {
lesionName: '',
isCurrentTaskAdd: 'False',
lesionMark: '',
- deleteInfo: null,
pictureBaseStr: '',
digitPlaces: 2
}
@@ -387,23 +386,6 @@ export default {
return ''
}
},
- setDeleteInfo(deleteInfo) {
- this.deleteInfo = deleteInfo
- },
- deleteOldLesion(questionId, rowId) {
- return new Promise((resolve, reject) => {
- var param = {
- visitTaskId: this.visitTaskId,
- questionId: questionId,
- rowId: rowId
- }
- deleteReadingRowAnswer(param)
- .then(async res => {
- resolve()
- }).catch(() => {
- })
- })
- },
async handleSave() {
const valid = await this.$refs.measurementForm.validate()
if (!valid) return
@@ -427,11 +409,6 @@ export default {
trialId: this.trialId,
answerList: answers
}
- if (this.deleteInfo) {
- await this.deleteOldLesion(this.deleteInfo.questionId, this.deleteInfo.rowId)
- this.deleteInfo = null
- params.rowId = ''
- }
const res = await submitTableQuestion(params)
if (res.IsSuccess) {
// 保存成功!
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index 23bc2499..06caf8a6 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -275,10 +275,6 @@ export default {
this.setCollapseActive(measureData)
console.log('setCollapseActive')
})
- DicomEvent.$on('changeLesionType', (questionsObj) => {
- this.changeLesionType(questionsObj)
- console.log('changeLesionType')
- })
DicomEvent.$on('getAllUnSaveLesions', (callback) => {
callback([])
})
@@ -290,7 +286,6 @@ export default {
},
beforeDestroy() {
DicomEvent.$off('setCollapseActive')
- DicomEvent.$off('changeLesionType')
DicomEvent.$off('getUnSaveTarget')
DicomEvent.$off('refreshQuestions')
},
@@ -552,49 +547,6 @@ export default {
e.stopPropagation()
e.preventDefault()
},
- // 更改病灶类型
- async changeLesionType(questionsObj) {
- await store.dispatch('reading/removeReadingQuestionAndAnswer', { lesionType: questionsObj.oldLesionType, rowIndex: questionsObj.rowIndex, visitTaskId: this.visitTaskId })
- // saveTypeEnum: 0
- var lesionObj = { }
- var questionObj = questionsObj.questionForm
- // 切换到新的病灶集合
- var targetObj = this.tableQuestions.find(item => item.LesionType === questionsObj.newLesionType)
- var maxIndex = this.getMaxRowIndex(targetObj.TableQuestions.Answers)
- lesionObj.RowIndex = `${maxIndex + 1}.00`
- targetObj.TableQuestions.Questions.forEach(i => {
- var obj = questionObj.find(v => v.QuestionMark === i.QuestionMark)
- if (obj) {
- lesionObj[i.Id] = obj.Answer
- }
- })
-
- var deleteInfo = null
- if (questionsObj.rowId) {
- deleteInfo = { rowId: questionsObj.rowId, questionId: questionsObj.questionId }
- lesionObj.RowId = questionsObj.rowId
- }
- await store.dispatch('reading/addReadingQuestionAndAnswer', { lesionType: questionsObj.newLesionType, visitTaskId: this.visitTaskId, lesionObj: lesionObj })
-
- this.activeItem.activeRowIndex = String(lesionObj.RowIndex)
- this.activeItem.activeCollapseId = targetObj.Id
- this.activeName = `${this.activeItem.activeCollapseId}_${this.activeItem.activeRowIndex}`
- const refName = `${this.activeItem.activeCollapseId}_${this.activeItem.activeRowIndex}`
- this.$nextTick(() => {
- if (deleteInfo) {
- this.$refs[refName][0].setDeleteInfo(deleteInfo)
- }
- })
- },
- removeQuestionAnswer(questionsObj) {
- // 移除当前病灶
- var currentObj = this.tableQuestions.find(item => item.LesionType === questionsObj.oldLesionType)
- if (currentObj) {
- var i = currentObj.TableQuestions.Answers.findIndex(i => String(i.RowIndex) === String(questionsObj.rowIndex))
- if (i === -1) return
- currentObj.TableQuestions.Answers.splice(i, 1)
- }
- },
setCollapseActive(measureData) {
},
@@ -634,7 +586,7 @@ export default {
answers: answers
}
try {
- await saveTaskQuestion(8, params)
+ // await saveTaskQuestion(8, params)
this.$message.success(this.$t('common:message:savedSuccessfully'))
loading.close()
DicomEvent.$emit('getReportInfo', true)
From eba09135eb0e977b6fc6d0e15b74f6521e113af7 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 15:14:43 +0800
Subject: [PATCH 087/112] =?UTF-8?q?ir=E4=B8=8B=E8=BD=BD=E7=9B=AE=E5=BD=95?=
=?UTF-8?q?=E7=BB=93=E6=9E=84=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../downloadDicomAndNonedicom/index.vue | 87 ++++++++++---------
1 file changed, 45 insertions(+), 42 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 933f435d..85ce83fc 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -314,49 +314,52 @@ export default {
}
},
// 格式化下载文件路径
- formatDownloadFile(data) {
+ formatDownloadFile(list) {
let files = [],
- name = `${data.SubjectCode}_${data.VisitName}.zip`
- if (data.StudyList && data.StudyList.length > 0) {
- let StudyList = data.StudyList
- StudyList.forEach((study) => {
- if (study.SeriesList.length > 0) {
- study.SeriesList.forEach((series) => {
- if (series.InstancePathList.length > 0) {
- series.InstancePathList.forEach((instance) => {
- let fileName = instance.Path.split('/').pop()
- let obj = {
- name: `${data.SubjectCode}_${data.VisitName}/${this.$fd(
- 'IsDicom',
- true
- )}/${study.StudyCode}/${fileName}`,
- url: this.OSSclientConfig.basePath + instance.Path,
- }
- files.push(obj)
- })
- }
- })
- }
- })
- }
- if (data.NoneDicomStudyList && data.NoneDicomStudyList.length > 0) {
- let NoneDicomStudyList = data.NoneDicomStudyList
- // 多文件
- NoneDicomStudyList.forEach((study) => {
- if (study.FileList.length > 0) {
- study.FileList.forEach((item) => {
- let obj = {
- name: `${data.SubjectCode}_${data.VisitName}/${this.$fd(
- 'IsDicom',
- false
- )}/${study.StudyCode}/${item.FileName}`,
- url: this.OSSclientConfig.basePath + item.Path,
- }
- files.push(obj)
- })
- }
- })
- }
+ name = `${list[0].SubjectCode}_${new Date().getTime()}.zip`
+ list.forEach((data) => {
+ if (data.StudyList && data.StudyList.length > 0) {
+ let StudyList = data.StudyList
+ StudyList.forEach((study) => {
+ if (study.SeriesList.length > 0) {
+ study.SeriesList.forEach((series) => {
+ if (series.InstancePathList.length > 0) {
+ series.InstancePathList.forEach((instance) => {
+ let fileName = instance.Path.split('/').pop()
+ let obj = {
+ name: `${data.SubjectCode}/${data.VisitName}/${this.$fd(
+ 'IsDicom',
+ true
+ )}/${study.StudyCode}/${fileName}`,
+ url: this.OSSclientConfig.basePath + instance.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ })
+ }
+ if (data.NoneDicomStudyList && data.NoneDicomStudyList.length > 0) {
+ let NoneDicomStudyList = data.NoneDicomStudyList
+ // 多文件
+ NoneDicomStudyList.forEach((study) => {
+ if (study.FileList.length > 0) {
+ study.FileList.forEach((item) => {
+ let obj = {
+ name: `${data.SubjectCode}/${data.VisitName}/${this.$fd(
+ 'IsDicom',
+ false
+ )}/${study.StudyCode}/${item.FileName}`,
+ url: this.OSSclientConfig.basePath + item.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ })
+
return { files, name }
},
handleOpenDialog(item) {
From b95cc829973e99dc4962c9794e82df263a385c23 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 15:16:24 +0800
Subject: [PATCH 088/112] 1
---
src/api/reading.js | 7 +++++++
src/components/downloadDicomAndNonedicom/index.vue | 2 +-
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
src/views/dicom-show/dicom-visit.vue | 2 +-
4 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/api/reading.js b/src/api/reading.js
index e2596fde..28c2feb0 100644
--- a/src/api/reading.js
+++ b/src/api/reading.js
@@ -194,3 +194,10 @@ export function resetReadingTask(param) {
data: param
})
}
+export function getTaskUploadedDicomStudyList(param) {
+ return request({
+ url: `/DownloadAndUpload/getTaskUploadedDicomStudyList`,
+ method: 'post',
+ data: param
+ })
+}
\ No newline at end of file
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 933f435d..8c273baa 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -410,7 +410,7 @@ export default {
var token = getToken()
let trialId = this.$route.query.trialId
const routeData = this.$router.resolve({
- path: `/showvisitdicoms?trialId=${trialId}&visitInfo=${row.VisitName}(${row.VisitNum})&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ path: `/showvisitdicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
})
this.open = window.open(routeData.href, '_blank')
},
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index bb05d2a2..73be3ff4 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -1467,7 +1467,7 @@ export default {
var token = getToken()
let trialId = this.$route.query.trialId
const routeData = this.$router.resolve({
- path: `/showvisitdicoms?trialId=${trialId}&visitInfo=${row.VisitName}(${row.VisitNum})&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ path: `/showvisitdicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
})
this.open = window.open(routeData.href, '_blank')
},
diff --git a/src/views/dicom-show/dicom-visit.vue b/src/views/dicom-show/dicom-visit.vue
index b2d6c028..244d8bbc 100644
--- a/src/views/dicom-show/dicom-visit.vue
+++ b/src/views/dicom-show/dicom-visit.vue
@@ -6,7 +6,7 @@
-
+
{{ visitInfo }}
From 15cad742647cb98ae21434c539a4b0474825bade Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 15:21:04 +0800
Subject: [PATCH 089/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0=E9=A2=84=E8=A7=88?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 73be3ff4..019b9570 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -1467,7 +1467,7 @@ export default {
var token = getToken()
let trialId = this.$route.query.trialId
const routeData = this.$router.resolve({
- path: `/showvisitdicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ path: `/showvisitdicoms?trialId=${trialId}&visitTaskId=${row.VisitTaskId}&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
})
this.open = window.open(routeData.href, '_blank')
},
From 7fed65dbe3274a28b0c31e97452ad763a6add051 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 15:31:01 +0800
Subject: [PATCH 090/112] =?UTF-8?q?=E6=95=B0=E5=80=BC=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/reading.js | 2 +-
src/views/dicom-show/dicom-visit.vue | 14 +++--
.../dicoms/components/IVUS/QuestionForm.vue | 1 +
.../dicoms/components/IVUS/QuestionList.vue | 3 +-
.../dicoms/components/OCT/QuestionForm.vue | 1 +
.../dicoms/components/OCT/QuestionList.vue | 51 ++++++++++---------
6 files changed, 42 insertions(+), 30 deletions(-)
diff --git a/src/api/reading.js b/src/api/reading.js
index 28c2feb0..4bc72f32 100644
--- a/src/api/reading.js
+++ b/src/api/reading.js
@@ -200,4 +200,4 @@ export function getTaskUploadedDicomStudyList(param) {
method: 'post',
data: param
})
-}
\ No newline at end of file
+}
diff --git a/src/views/dicom-show/dicom-visit.vue b/src/views/dicom-show/dicom-visit.vue
index 244d8bbc..fc12f20b 100644
--- a/src/views/dicom-show/dicom-visit.vue
+++ b/src/views/dicom-show/dicom-visit.vue
@@ -6,7 +6,7 @@
-
+
{{ visitInfo }}
@@ -261,6 +261,7 @@ import * as cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'
import dicomViewer from '@/components/Dicom/DicomViewer'
import { getVisitStudyList, getAllRelationStudyList, getSeriesList } from '@/api/reading'
import { setSeriesStatus } from '@/api/trials'
+import { getTaskUploadedDicomStudyList } from '@/api/reading'
import requestPoolManager from '@/utils/request-pool'
import store from '@/store'
import { changeURLStatic } from '@/utils/history.js'
@@ -301,7 +302,8 @@ export default {
relationActiveName: [],
showSeriesList: [],
currentLoadIns: [],
- isFromCRCUpload: false
+ isFromCRCUpload: false,
+ visitTaskId: null
}
},
mounted() {
@@ -318,6 +320,7 @@ export default {
this.isReading = this.$router.currentRoute.query.isReading ? this.$router.currentRoute.query.isReading * 1 : 0
this.showDelete = parseInt(this.$router.currentRoute.query.showDelete)
this.isFromCRCUpload = !!this.$router.currentRoute.query.isFromCRCUpload
+ this.visitTaskId = this.$router.currentRoute.query.visitTaskId
// cornerstone.events.addEventListener('cornerstoneimageloaded', this.cornerstoneImageLoaded)
this.getStudiesInfo()
cornerstone.events.addEventListener('cornerstoneimageloadprogress', this.cornerstoneimageloadprogress)
@@ -338,7 +341,12 @@ export default {
async getStudiesInfo() {
this.studyList = []
try {
- const res = await getVisitStudyList(this.trialId, this.subjectVisitId, this.isReading)
+ let res = null
+ if (this.visitTaskId) {
+ res = await getTaskUploadedDicomStudyList({ visitTaskId: this.visitTaskId })
+ } else {
+ res = await getVisitStudyList(this.trialId, this.subjectVisitId, this.isReading)
+ }
if (res.IsSuccess) {
res.Result.forEach((study, studyIndex) => {
const data = {}
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
index 530643a6..7936bf69 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionForm.vue
@@ -328,6 +328,7 @@ export default {
},
limitBlur(qId, valueType) {
const value = this.questionForm[qId]
+ if (isNaN(parseInt(value))) return
if (valueType === 0) {
this.$set(this.questionForm, qId, parseInt(value))
} else if (valueType === 3) {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index b05fb7e2..e68bbab6 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -549,6 +549,7 @@ export default {
},
limitBlur(qId, valueType) {
const value = this.questionForm[qId]
+ if (isNaN(parseInt(value))) return
if (valueType === 0) {
this.$set(this.questionForm, qId, parseInt(value))
} else if (valueType === 3) {
@@ -557,7 +558,7 @@ export default {
this.$set(this.questionForm, qId, parseFloat(value).toFixed(this.digitPlaces))
}
},
- numberToFixed(v, unit){
+ numberToFixed(v, unit) {
return isNaN(parseFloat(v)) ? null : `${parseFloat(v).toFixed(this.digitPlaces)}${unit}`
},
async handleSave(index) {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
index 62eea096..bb1caa41 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionForm.vue
@@ -349,6 +349,7 @@ export default {
},
limitBlur(qId, valueType) {
const value = this.questionForm[qId]
+ if (isNaN(parseInt(value))) return
if (valueType === 0) {
this.$set(this.questionForm, qId, parseInt(value))
} else if (valueType === 3) {
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index 06caf8a6..423ccdfd 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -182,7 +182,7 @@
From d06afd42afae7d86f6b4da07858109ac55e3b292 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Mon, 9 Sep 2024 16:05:21 +0800
Subject: [PATCH 092/112] 1
---
.../reading/dicoms/components/IVUS/QuestionList.vue | 6 +++---
.../reading/dicoms/components/OCT/QuestionList.vue | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
index e68bbab6..f7978a3c 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/IVUS/QuestionList.vue
@@ -75,13 +75,13 @@
-
+
{{ numberToFixed(item.TableQuestions.Answers[i].area1,'m㎡') }}
-
+
{{ numberToFixed(item.TableQuestions.Answers[i].area2,'m㎡') }}
-
+
{{ numberToFixed(item.TableQuestions.Answers[i].diff, 'm㎡') }}
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
index 423ccdfd..8938318a 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/OCT/QuestionList.vue
@@ -75,13 +75,13 @@
-
+
min: {{ numberToFixed(item.TableQuestions.Answers[i].min,'μm') }}
-
+
mean: {{ numberToFixed(item.TableQuestions.Answers[i].mean,'μm') }}
-
+
{{ numberToFixed(item.TableQuestions.Answers[i].angle,'°') }}
From 08b8f8d107d2b90542005a4bdffe811b5952ae51 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 16:31:04 +0800
Subject: [PATCH 093/112] =?UTF-8?q?ir=E4=B8=8B=E8=BD=BD=E6=89=93=E5=8C=85?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9B=AE=E5=BD=95=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../downloadDicomAndNonedicom/index.vue | 26 ++++++++++++++-----
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 4bf2c294..a86bb72d 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -243,7 +243,7 @@ export default {
SubjectId: this.SubjectId,
TrialReadingCriterionId: this.Criterion.TrialReadingCriterionId,
SubjectCode: this.SubjectCode,
- SubjectVisitIdList: [],
+ SubjectVisitTaskList: [],
DicomStudyIdList: [],
NoneDicomStudyIdList: [],
}
@@ -254,7 +254,10 @@ export default {
item.DicomStudyList &&
item.DicomStudyList.length > 0
) {
- data.SubjectVisitIdList.push(item.SourceSubjectVisitId)
+ data.SubjectVisitTaskList.push({
+ SubjectvisitId: item.SourceSubjectVisitId,
+ TaskId: item.VisitTaskId,
+ })
let arr = item.DicomStudyList.map((d) => d.Id)
data.DicomStudyIdList = [...data.DicomStudyIdList, ...arr]
}
@@ -267,7 +270,10 @@ export default {
item.NoneDicomStudyList &&
item.NoneDicomStudyList.length > 0
) {
- data.SubjectVisitIdList.push(item.SourceSubjectVisitId)
+ data.SubjectVisitTaskList.push({
+ SubjectvisitId: item.SourceSubjectVisitId,
+ TaskId: item.VisitTaskId,
+ })
let arr = item.NoneDicomStudyList.map((d) => d.Id)
data.NoneDicomStudyIdList = [...data.NoneDicomStudyIdList, ...arr]
}
@@ -279,7 +285,10 @@ export default {
row.DicomStudyList &&
row.DicomStudyList.length > 0
) {
- data.SubjectVisitIdList.push(row.SourceSubjectVisitId)
+ data.SubjectVisitTaskList.push({
+ SubjectvisitId: item.SourceSubjectVisitId,
+ TaskId: item.VisitTaskId,
+ })
let arr = row.DicomStudyList.map((d) => d.Id)
data.DicomStudyIdList = [...data.DicomStudyIdList, ...arr]
}
@@ -288,7 +297,10 @@ export default {
row.NoneDicomStudyList &&
row.NoneDicomStudyList.length > 0
) {
- data.SubjectVisitIdList.push(row.SourceSubjectVisitId)
+ data.SubjectVisitTaskList.push({
+ SubjectvisitId: item.SourceSubjectVisitId,
+ TaskId: item.VisitTaskId,
+ })
let arr = row.NoneDicomStudyList.map((d) => d.Id)
data.NoneDicomStudyIdList = [...data.NoneDicomStudyIdList, ...arr]
}
@@ -327,7 +339,7 @@ export default {
series.InstancePathList.forEach((instance) => {
let fileName = instance.Path.split('/').pop()
let obj = {
- name: `${data.SubjectCode}/${data.VisitName}/${this.$fd(
+ name: `${data.SubjectCode}/${data.TaskBlindName}/${this.$fd(
'IsDicom',
true
)}/${study.StudyCode}/${fileName}`,
@@ -347,7 +359,7 @@ export default {
if (study.FileList.length > 0) {
study.FileList.forEach((item) => {
let obj = {
- name: `${data.SubjectCode}/${data.VisitName}/${this.$fd(
+ name: `${data.SubjectCode}/${data.TaskBlindName}/${this.$fd(
'IsDicom',
false
)}/${study.StudyCode}/${item.FileName}`,
From c2aa83f4b88d424fb4aaaf4bdf7cba23e97741e0 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 16:55:33 +0800
Subject: [PATCH 094/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 7 ++++---
src/utils/multipartUpload/oss.js | 4 ++--
src/utils/oss.js | 2 +-
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 019b9570..83591d47 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -98,8 +98,8 @@
/>
{
- this.$refs[`pathClear_${item.Id}`].value = ''
+ this.$refs[`pathClear_${item.VisitTaskId}`].value = ''
+ console.log(this.$refs[`pathClear_${item.VisitTaskId}`])
})
this.btnLoading = false
if (this.studyErrorList.length > 0) {
diff --git a/src/utils/multipartUpload/oss.js b/src/utils/multipartUpload/oss.js
index 16405723..f7309db9 100644
--- a/src/utils/multipartUpload/oss.js
+++ b/src/utils/multipartUpload/oss.js
@@ -59,7 +59,7 @@ async function multipartUpload(OSSclient, partSize, saveFileId, uploadFile, data
if (bytesTime) {
bytesReceivedPerSecond[bytesTime] += data.file.size * (percentage - checkData[saveFileId]);
} else {
- console.log("未查询到时间")
+ // console.log("未查询到时间")
if (timeList.length > 0) {
bytesReceivedPerSecond[timeList[timeList.length - 1]] += data.file.size * (percentage - checkData[saveFileId]);
} else {
@@ -136,7 +136,7 @@ function initPage() {
function setTimer() {
if (timer) return false;
timer = setInterval(() => {
- console.log(Object.assign({}, bytesReceivedPerSecond))
+ // console.log(Object.assign({}, bytesReceivedPerSecond))
let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b);
if (timeList.length > 0) {
let totalBytes = timeList.reduce((sum, bytes) => sum + bytesReceivedPerSecond[bytes], 0) / (5 * 1024);
diff --git a/src/utils/oss.js b/src/utils/oss.js
index 51b4006f..6bf8f550 100644
--- a/src/utils/oss.js
+++ b/src/utils/oss.js
@@ -272,7 +272,7 @@ function getSTSToken(credentials) {
}
} else {
- console.log("凭证未过期");
+ // console.log("凭证未过期");
resolve(false)
}
From 3fc7d70b3f4fafe3d67dd2739096b8bd050431d6 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 17:15:04 +0800
Subject: [PATCH 095/112] 1
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 83591d47..16a67c7d 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -1079,7 +1079,6 @@ export default {
this.$refs.pathClear.value = ''
this.list.forEach((item) => {
this.$refs[`pathClear_${item.VisitTaskId}`].value = ''
- console.log(this.$refs[`pathClear_${item.VisitTaskId}`])
})
this.btnLoading = false
if (this.studyErrorList.length > 0) {
@@ -1121,10 +1120,14 @@ export default {
dicomInfo.subjectId = scope.SubjectId
dicomInfo.subjectVisitId = scope.subjectVisitId
let t = setInterval(() => {
+ console.log(11111111)
dicomUploadInProgress({
trialId: scope.trialId,
studyInstanceUid: dicomInfo.studyUid,
- }).then((res) => {})
+ VisitTaskId: dicomInfo.visitTaskId,
+ }).then((res) => {
+ console.log(dicomInfo.visitTaskId)
+ })
}, 5000)
scope.myInterval.push(t)
let Record = {
From 77c3f0244e19afb9c7a6e4cc84e3b9598b66aaf1 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Mon, 9 Sep 2024 17:47:57 +0800
Subject: [PATCH 096/112] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E8=A7=A3=E5=86=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/downloadDicomAndNonedicom/index.vue | 8 ++++----
src/components/uploadDicomAndNonedicom/dicomFile.vue | 1 -
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index a86bb72d..9850225d 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -286,8 +286,8 @@ export default {
row.DicomStudyList.length > 0
) {
data.SubjectVisitTaskList.push({
- SubjectvisitId: item.SourceSubjectVisitId,
- TaskId: item.VisitTaskId,
+ SubjectvisitId: row.SourceSubjectVisitId,
+ TaskId: row.VisitTaskId,
})
let arr = row.DicomStudyList.map((d) => d.Id)
data.DicomStudyIdList = [...data.DicomStudyIdList, ...arr]
@@ -298,8 +298,8 @@ export default {
row.NoneDicomStudyList.length > 0
) {
data.SubjectVisitTaskList.push({
- SubjectvisitId: item.SourceSubjectVisitId,
- TaskId: item.VisitTaskId,
+ SubjectvisitId: row.SourceSubjectVisitId,
+ TaskId: row.VisitTaskId,
})
let arr = row.NoneDicomStudyList.map((d) => d.Id)
data.NoneDicomStudyIdList = [...data.NoneDicomStudyIdList, ...arr]
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 16a67c7d..dc26511f 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -1120,7 +1120,6 @@ export default {
dicomInfo.subjectId = scope.SubjectId
dicomInfo.subjectVisitId = scope.subjectVisitId
let t = setInterval(() => {
- console.log(11111111)
dicomUploadInProgress({
trialId: scope.trialId,
studyInstanceUid: dicomInfo.studyUid,
From e2ebedb9e906c497d9beaecd6032e9e0feb8bf1a Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 10:25:17 +0800
Subject: [PATCH 097/112] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E5=99=A8=E5=AE=98=E9=85=8D=E7=BD=AE=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/dictionary/template/components/OrganForm.vue | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/views/dictionary/template/components/OrganForm.vue b/src/views/dictionary/template/components/OrganForm.vue
index f1ee2ac5..7ace7401 100644
--- a/src/views/dictionary/template/components/OrganForm.vue
+++ b/src/views/dictionary/template/components/OrganForm.vue
@@ -69,7 +69,7 @@
>{{ item.label }}
-
+
@@ -135,7 +135,8 @@ export default {
Part: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
TULOC: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }],
Remark: [{ max: 500, message: `${this.$t('common:ruleMessage:maxLength')} 500`, trigger: ['blur', 'change'] }],
- IsLymphNodes: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }]
+ IsLymphNodes: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }],
+ ShowOrder: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur'] }]
},
lesionTypes: [],
loading: false,
From 5b3ae0c0769b35f545ab26b039dda1d744d6a1c2 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 10 Sep 2024 10:30:36 +0800
Subject: [PATCH 098/112] =?UTF-8?q?=E4=BB=B2=E8=A3=81=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=95=E4=BD=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reading-unit/components/ArbitrationRules.vue | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue b/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
index e8766187..29d834d3 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/ArbitrationRules.vue
@@ -343,11 +343,16 @@
"
prop="JudgeDifferenceValue"
>
-
+
+
+ {{
+ $fd('ValueUnit', QuestionList[index].Unit)
+ }}
+
From ed7d2502d199d706ada94441d452c0f8819abddc Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 10:59:02 +0800
Subject: [PATCH 099/112] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E6=B8=B2=E6=9F=93?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trial-summary/audit-record/index.vue | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
index f1e92f7c..8b622ae3 100644
--- a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
@@ -991,18 +991,18 @@ export default {
let uo = upObj[v.TableFiledName][i]
if (row.OptType === 'Add' || row.OptType === 'Init') {
item = {
- newValue: o[v.Code] ? (o[v.Code] ? o[v.Code] : '--') : '--',
+ newValue: o[v.Code] ? o[v.Code] : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
- oldValue: o[v.Code] ? (o[v.Code] ? o[v.Code] : '--') : '--',
+ oldValue: o[v.Code] ? o[v.Code] : '--',
newValue: '--'
}
} else {
item = {
- newValue: o[v.Code] ? (o[v.Code] ? o[v.Code] : '--') : '--',
- oldValue: uo ? uo[v.Code] : '--'
+ newValue: o[v.Code] ? o[v.Code] : '--',
+ oldValue: uo ? uo[v.Code] ? uo[v.Code] : '--' : '--'
}
}
item.key = o ? ((o[v.Code] && o[v.Code] !== null && o[v.Code] !== '' || o[v.Code] !== 0) ? o[v.Code] : '--') : '--'
@@ -1054,22 +1054,22 @@ export default {
item = {
key: o[v.ChildDataLabel],
Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
- newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
+ newValue: o[v.ChildDataValue] ? o[v.ChildDataValue] : '--',
oldValue: ''
}
} else if (row.OptType === 'Delete') {
item = {
key: o[v.ChildDataLabel],
Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
- oldValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
+ oldValue: o[v.ChildDataValue] ? o[v.ChildDataValue] : '--',
newValue: '--'
}
} else {
item = {
key: o[v.ChildDataLabel],
Enum: this.$i18n.locale === 'zh' ? o[v.ChildDataLabel] : o[v.ChildDataEnLabel] ? o[v.ChildDataEnLabel] : o[v.ChildDataLabel],
- newValue: o[v.ChildDataValue] ? (o[v.ChildDataValue] ? o[v.ChildDataValue] : '--') : '--',
- oldValue: uo ? uo[v.ChildDataValue] : '--'
+ newValue: o[v.ChildDataValue] ? o[v.ChildDataValue] : '--',
+ oldValue: uo ? uo[v.ChildDataValue] ? uo[v.ChildDataValue] : '--' : '--'
}
}
this[auditData].push(item)
@@ -1256,6 +1256,7 @@ export default {
})
},
async lookDetails2(row) {
+ this.OptType = row.OptType
var Json = await this.getJSON(row)
var JsonDetail = Json[0] ? JSON.parse(Json[0]) : null
var ParentJson = Json[1] ? JSON.parse(Json[1]) : null
From 472599c663b93f92732620e5ee7e16e4387a2128 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 10 Sep 2024 11:06:29 +0800
Subject: [PATCH 100/112] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=A3=80=E9=AA=8C?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E6=8B=86=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uploadDicomAndNonedicom/dicomFile.vue | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index dc26511f..227c2fb4 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -661,17 +661,23 @@ export default {
return this.$message.warning(
this.$t('trials:uploadDicomList:message:maxFileSize')
)
- let StudyInstanceUidList = []
+ let StudyInstanceUidList = [],
+ confirmMessage = null
for (let i = 0; i < checkFiles.length; i++) {
let item = checkFiles[i]
var dicom = await parseDicom(item, 'StudyInstanceUid')
let has = true,
has2 = false,
has3 = false
+
if (!this.VisitTaskId) {
has = this.StudyInstanceUidList.some(
(item) => item.StudyInstanceUid === dicom.StudyInstanceUid
)
+ if (!has)
+ confirmMessage = this.$t(
+ 'upload:dicom:confirmMessage:hasNotStudyUid'
+ )
} else {
has2 = this.StudyInstanceUidList.some((item) => {
return (
@@ -685,6 +691,10 @@ export default {
item.VisitTaskId !== this.VisitTaskId
)
})
+ if (has2 || has3)
+ confirmMessage = this.$t(
+ 'upload:dicom:confirmMessage:visitTaskIdNormal'
+ )
}
if (!has || has2 || has3) {
@@ -714,11 +724,14 @@ export default {
this.hasOtherStudy = true
checkFiles.splice(i, 1)
i--
+ confirmMessage = this.$t(
+ 'upload:dicom:confirmMessage:uploadOtherSubject'
+ )
}
}
}
if (this.hasOtherStudy) {
- this.$confirm(this.$t('upload:dicom:confirmMessage:hasNotStudyUid'), {
+ this.$confirm(confirmMessage, {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: this.$t('common:button:confirm'),
From 3d171caf1bb7dfe47bc2949f0520fe975f5e6f38 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 14:12:59 +0800
Subject: [PATCH 101/112] =?UTF-8?q?dicom=E5=AD=97=E5=85=B8=E6=9B=B4?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomTags.vue | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/components/Dicom/DicomTags.vue b/src/components/Dicom/DicomTags.vue
index c9a48545..273ef4ba 100644
--- a/src/components/Dicom/DicomTags.vue
+++ b/src/components/Dicom/DicomTags.vue
@@ -123,10 +123,6 @@ export default {
elementObject.tagLength = element.length
elementObject.value = ''
-
- if (element.vr) {
- elementObject.vr = element.vr
- }
elementObject.child = []
if (element.items) {
@@ -141,7 +137,12 @@ export default {
var vr
if (element.vr !== undefined) {
vr = element.vr
+ } else {
+ if (tag !== undefined) {
+ vr = tag.vr
+ }
}
+ elementObject.vr = vr
if (element.length < 128) {
// const str = dataSet.string(propertyName)
// if (elementObject.tagCode === 'x00280010') {
From ce079f923a7a7f7e55bf1e8c8f50fc0e7fed252d Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 14:18:11 +0800
Subject: [PATCH 102/112] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E8=A1=A5?=
=?UTF-8?q?=E5=85=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomCanvas.vue | 2 +-
src/components/Dicom/DicomTags.vue | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/Dicom/DicomCanvas.vue b/src/components/Dicom/DicomCanvas.vue
index 932d878a..42a84096 100644
--- a/src/components/Dicom/DicomCanvas.vue
+++ b/src/components/Dicom/DicomCanvas.vue
@@ -176,7 +176,7 @@ export default {
markers: { top: '', right: '', bottom: '', left: '' },
orientationMarkers: [],
originalMarkers: [],
- dcmTag: { visible: false, title: 'DICOM Tags' }
+ dcmTag: { visible: false, title: this.$t('trials:dicom-tag:title') }
}
},
diff --git a/src/components/Dicom/DicomTags.vue b/src/components/Dicom/DicomTags.vue
index 273ef4ba..c3f6ec44 100644
--- a/src/components/Dicom/DicomTags.vue
+++ b/src/components/Dicom/DicomTags.vue
@@ -3,7 +3,7 @@
From 2ce7454b47661201f783fced9ce6b4a5d337f91f Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 10 Sep 2024 15:21:01 +0800
Subject: [PATCH 103/112] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0=E9=97=AE=E9=A2=98?=
=?UTF-8?q?=E8=A7=A3=E5=86=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/uploadDicomAndNonedicom/dicomFile.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 227c2fb4..333f21dc 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -861,7 +861,7 @@ export default {
visitTaskId:
scope.VisitTaskId ||
scope.StudyInstanceUidList.find(
- (item) => item.studyInstanceUid === studyUid
+ (item) => item.StudyInstanceUid === studyUid
).VisitTaskId,
},
From bf701bf3d8d428421a38c3602f7cbe1e2a163a91 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 15:23:56 +0800
Subject: [PATCH 104/112] =?UTF-8?q?=E8=B4=A8=E6=8E=A7=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E5=9B=9E=E5=A4=8D=E5=86=85=E5=AE=B9=E6=A0=BC=E5=BC=8F=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../visit/crc-question/components/chatForm.vue | 7 +++++--
.../trials-panel/visit/qc-check/components/chatForm.vue | 7 +++++--
.../visit/qc-check/components/qualityAssurance.vue | 4 ++--
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/crc-question/components/chatForm.vue b/src/views/trials/trials-panel/visit/crc-question/components/chatForm.vue
index 1fa4fd8b..e3282b3f 100644
--- a/src/views/trials/trials-panel/visit/crc-question/components/chatForm.vue
+++ b/src/views/trials/trials-panel/visit/crc-question/components/chatForm.vue
@@ -13,7 +13,7 @@
{{ record.CreateUserName }}
({{ record.CreateTime }})
-
+
@@ -23,7 +23,7 @@
{{ record.CreateUserName }}
({{ record.CreateTime }})
-
+
![Admin]()
@@ -231,6 +231,9 @@ export default {
this.getMessageList()
},
methods: {
+ formattedText(text) {
+ return text.replace(/\n/g, '
')
+ },
// 初始化聊天信息
getMessageList() {
var recordContent = []
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/chatForm.vue b/src/views/trials/trials-panel/visit/qc-check/components/chatForm.vue
index 9a234dd3..4b8308c3 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/chatForm.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/chatForm.vue
@@ -13,7 +13,7 @@
{{ record.CreateUserName }}
({{ record.CreateTime }})
-
+
@@ -23,7 +23,7 @@
{{ record.CreateUserName }}
({{ record.CreateTime }})
-
+
![Admin]()
@@ -153,6 +153,9 @@ export default {
close() {
this.$emit('close')
},
+ formattedText(text) {
+ return text.replace(/\n/g, '
')
+ },
// 初始化聊天信息
getMessageList() {
var recordContent = []
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 50b31011..38e72f9c 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -1643,14 +1643,14 @@ export default {
var str = `${item.keyName}
`
if (item.keyValue) {
// 问题总结
- str = `${str}${this.$t('trials:audit:form:questionSummary')}:${
+ str = `${str}${this.$t('trials:audit:form:questionSummary')}:
${
item.keyValue
}
`
}
if (item.actionContent) {
// 行动事项
actions.push(`${item.actionContent}`)
- str = `${str}${this.$t('trials:audit:form:actionMatters')}:${
+ str = `${str}${this.$t('trials:audit:form:actionMatters')}:
${
item.actionContent
}
`
}
From 95998f0dea8535895358ab5b54c36b66a0252e8d Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 16:06:32 +0800
Subject: [PATCH 105/112] =?UTF-8?q?=E9=98=85=E7=89=87=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E6=B8=B2=E6=9F=93=E5=BD=B1=E5=83=8F=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Dicom/DicomCanvas.vue | 2 +-
.../trials-panel/reading/dicoms/components/DicomCanvas.vue | 2 +-
.../reading/dicoms/customize/CustomizeDicomCanvas.vue | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/Dicom/DicomCanvas.vue b/src/components/Dicom/DicomCanvas.vue
index 42a84096..24cce9e1 100644
--- a/src/components/Dicom/DicomCanvas.vue
+++ b/src/components/Dicom/DicomCanvas.vue
@@ -680,7 +680,7 @@ export default {
resetWwwc() {
this.toolState.viewportInvert = false
var viewport = cornerstone.getViewport(this.canvas)
- viewport.invert = false
+ // viewport.invert = false
var image = cornerstone.getImage(this.canvas)
viewport.voi.windowWidth = image.windowWidth
viewport.voi.windowCenter = image.windowCenter
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
index 32b4808b..531fe346 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue
@@ -1654,7 +1654,7 @@ export default {
resetWwwc() {
this.toolState.viewportInvert = false
var viewport = cornerstone.getViewport(this.canvas)
- viewport.invert = false
+ // viewport.invert = false
var image = cornerstone.getImage(this.canvas)
viewport.voi.windowWidth = image.windowWidth
viewport.voi.windowCenter = image.windowCenter
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
index 319140db..05ddc862 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue
@@ -1637,7 +1637,7 @@ export default {
resetWwwc() {
this.toolState.viewportInvert = false
var viewport = cornerstone.getViewport(this.canvas)
- viewport.invert = false
+ // viewport.invert = false
var image = cornerstone.getImage(this.canvas)
viewport.voi.windowWidth = image.windowWidth
viewport.voi.windowCenter = image.windowCenter
From 0e485a8984a1286ba3140c8c36727ec33765303e Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 10 Sep 2024 16:17:53 +0800
Subject: [PATCH 106/112] =?UTF-8?q?=E6=96=B0=E5=BC=80=E9=A1=B5=E7=AD=BE?=
=?UTF-8?q?=E8=B7=B3=E8=BD=AC=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/permission.js | 3 ++-
src/utils/request.js | 7 +++++--
src/utils/whiteList.js | 2 ++
3 files changed, 9 insertions(+), 3 deletions(-)
create mode 100644 src/utils/whiteList.js
diff --git a/src/permission.js b/src/permission.js
index 5cd5907d..f2a95bc1 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -6,11 +6,12 @@ import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import Vue from 'vue'
import { OSSclient } from './utils/oss'
+import WHITELIST from "./utils/whiteList"
// import getPageTitle from '@/utils/get-page-title'
NProgress.configure({ showSpinner: false })
-const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/researchLogin_m', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
+const whiteList = WHITELIST
store.state.trials.whiteList = whiteList;
router.beforeEach(async (to, from, next) => {
NProgress.start()
diff --git a/src/utils/request.js b/src/utils/request.js
index 86eaea00..29a8e1f3 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -2,7 +2,7 @@ import axios from 'axios'
import { Message, MessageBox, Alert } from 'element-ui'
import store from '@/store'
import router from '@/router'
-import Vue from 'vue'
+import WHITELIST from "./whiteList"
import moment from 'moment-timezone';
console.log(moment.tz.guess())
axios.defaults.withCredentials = false
@@ -27,7 +27,10 @@ service.interceptors.request.use(
}
try {
if (eval(process.env.VUE_APP_LOGIN_FOR_PERMISSION)) {
- if (!path || path === '/ReviewersResearchForm' || path === '/ReviewersResearch' || path === '/login' || path === '/researchForm' || path === '/researchDetail_m' || path === '/researchLogin_m' || path === '/researchLogin' || path === '/email-recompose' || path === '/recompose' || path === '/resetpassword' || path === '/error') {
+ // if (!path || path === '/ReviewersResearchForm' || path === '/ReviewersResearch' || path === '/login' || path === '/researchForm' || path === '/researchDetail_m' || path === '/researchLogin_m' || path === '/researchLogin' || path === '/email-recompose' || path === '/recompose' || path === '/resetpassword' || path === '/error') {
+ // return config
+ // }
+ if (!path || WHITELIST.some(item => item === path)) {
return config
}
if (store.state.user.userId !== zzSessionStorage.getItem('userId')) {
diff --git a/src/utils/whiteList.js b/src/utils/whiteList.js
new file mode 100644
index 00000000..34014b38
--- /dev/null
+++ b/src/utils/whiteList.js
@@ -0,0 +1,2 @@
+const WHITELIST = ['/', '/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/researchLogin_m', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
+export default WHITELIST
From d5c0e15f466632bd5f81f8956b9a12c0e55b6b96 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Tue, 10 Sep 2024 18:29:22 +0800
Subject: [PATCH 107/112] =?UTF-8?q?=E9=98=85=E7=89=87=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=BD=B1=E5=83=8F=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trials-panel/reading/dicoms/components/DicomViewer.vue | 6 ++++++
.../reading/dicoms/customize/CustomizeDicomViewer.vue | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
index 75d467be..e2adddf3 100644
--- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue
@@ -725,6 +725,7 @@
:SubjectId="uploadSubjectId"
:SubjectCode="uploadSubjectCode"
:Criterion="uploadTrialCriterion"
+ :TaskId="taskId"
:visible.sync="downloadImageVisible"
/>
@@ -930,6 +931,7 @@ export default {
uploadSubjectCode: null,
uploadTrialCriterion: {},
uploadStatus: 'upload',
+ taskId: ''
}
},
@@ -1168,6 +1170,10 @@ export default {
.catch(() => {})
},
openUploadImage(status) {
+ const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
+ if (idx > -1) {
+ this.taskId = this.visitTaskList[idx].VisitTaskId
+ }
this.uploadSubjectCode = this.$route.query.subjectCode
this.uploadSubjectId = this.$route.query.subjectId
this.uploadTrialCriterion = this.trialCriterion
diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
index db3330e3..795bf388 100644
--- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
+++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue
@@ -669,6 +669,7 @@
:SubjectId="uploadSubjectId"
:SubjectCode="uploadSubjectCode"
:Criterion="uploadTrialCriterion"
+ :TaskId="taskId"
:visible.sync="downloadImageVisible"
/>
@@ -889,6 +890,7 @@ export default {
uploadSubjectCode: null,
uploadTrialCriterion: {},
uploadStatus: 'upload',
+ taskId: ''
}
},
@@ -1073,6 +1075,10 @@ export default {
.catch(() => {})
},
openUploadImage(status) {
+ const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
+ if (idx > -1) {
+ this.taskId = this.visitTaskList[idx].VisitTaskId
+ }
this.uploadSubjectCode = this.$route.query.subjectCode
this.uploadSubjectId = this.$route.query.subjectId
this.uploadTrialCriterion = this.trialCriterion
From 9653e4478bece8b28881367a81075e17e37ccbd4 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Tue, 10 Sep 2024 18:32:46 +0800
Subject: [PATCH 108/112] =?UTF-8?q?=E5=8C=BB=E5=AD=A6=E5=AE=A1=E6=A0=B8?=
=?UTF-8?q?=E4=B8=8B=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../downloadDicomAndNonedicom/index.vue | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 9850225d..edef5de7 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -172,6 +172,10 @@ export default {
type: String,
default: '',
},
+ TaskId: {
+ type: String,
+ default: '',
+ },
SubjectCode: {
type: String,
default: '',
@@ -223,6 +227,9 @@ export default {
this.searchData.TrialReadingCriterionId =
this.Criterion.TrialReadingCriterionId
this.searchData.SubjectCode = this.SubjectCode
+ if (this.TaskId) {
+ this.searchData.VisitTaskId = this.TaskId
+ }
this.loading = true
let res = await getSubjectImageDownloadSelectList(this.searchData)
this.loading = false
@@ -339,10 +346,11 @@ export default {
series.InstancePathList.forEach((instance) => {
let fileName = instance.Path.split('/').pop()
let obj = {
- name: `${data.SubjectCode}/${data.TaskBlindName}/${this.$fd(
- 'IsDicom',
- true
- )}/${study.StudyCode}/${fileName}`,
+ name: `${data.SubjectCode}/${
+ data.TaskBlindName
+ }/${this.$fd('IsDicom', true)}/${
+ study.StudyCode
+ }/${fileName}`,
url: this.OSSclientConfig.basePath + instance.Path,
}
files.push(obj)
From 8abcfcbe1a17af0faa3603a3bf3e4e7f9616814a Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 11 Sep 2024 13:03:47 +0800
Subject: [PATCH 109/112] =?UTF-8?q?qc=E8=B4=A8=E6=8E=A7=E6=96=87=E6=9C=AC?=
=?UTF-8?q?=E6=A0=BC=E5=BC=8F=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../visit/qc-check/components/qualityAssurance.vue | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 38e72f9c..d79e3da8 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -1640,19 +1640,15 @@ export default {
this.qcForm.qcContent.forEach((item) => {
if (item.isSelect) {
types.push(`${item.keyName}`)
- var str = `${item.keyName}
`
+ var str = `${item.keyName}
`
if (item.keyValue) {
// 问题总结
- str = `${str}${this.$t('trials:audit:form:questionSummary')}:
${
- item.keyValue
- }
`
+ str = `${str}${this.$t('trials:audit:form:questionSummary')}:
${item.keyValue}
`
}
if (item.actionContent) {
// 行动事项
actions.push(`${item.actionContent}`)
- str = `${str}${this.$t('trials:audit:form:actionMatters')}:
${
- item.actionContent
- }
`
+ str = `${str}${this.$t('trials:audit:form:actionMatters')}:
${item.actionContent}
`
}
contents.push(str)
}
From db5e5da06a60608032742279815e85f660064711 Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 11 Sep 2024 14:36:45 +0800
Subject: [PATCH 110/112] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E6=B8=B2=E6=9F=93bug?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trials-panel/trial-summary/audit-record/index.vue | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
index 8b622ae3..9d49a455 100644
--- a/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/audit-record/index.vue
@@ -652,9 +652,9 @@
/>
- {{$t('trials:auditRecord:title:viewImage')}}{{scope.row.oldValue instanceof Array ? `(${scope.row.oldValue.length})` : ''}}
+ {{$t('trials:auditRecord:title:viewImage')}}{{scope.row.oldValue instanceof Array ? `(${scope.row.oldValue.length})` : ''}}
@@ -378,9 +378,9 @@
{{$t('trials:auditRecord:title:viewDetail')}}
-
+
- {{$t('trials:auditRecord:title:viewImage')}}{{scope.row.newValue instanceof Array ? `(${scope.row.newValue.length})` : ''}}
+ {{$t('trials:auditRecord:title:viewImage')}}{{scope.row.newValue instanceof Array ? `(${scope.row.newValue.length})` : ''}}
@@ -409,9 +409,9 @@
:key="'tableList' + index"
>
-
+
- {{$t('trials:auditRecord:title:viewImage')}}
+ {{$t('trials:auditRecord:title:viewImage')}}
{{scope.row[item.ColumnValue]}}
@@ -426,9 +426,9 @@
:key="'ChildrenList' + index"
>
-
+
-
+
{{$t('trials:auditRecord:title:viewImage')}}
@@ -897,19 +897,22 @@ export default {
this.getList()
},
methods: {
- openImage(url) {
+ openImage(url, type) {
console.log(url)
this.$nextTick(()=>{
if (url instanceof Array) {
this.imagesList = url.map(v => this.OSSclientConfig.basePath + v)
- this.$refs[url[0]].$viewer.show()
+ let refName = type ? `${url[0]}_${type}` : url[0]
+ this.$refs[refName].$viewer.show()
} else {
this.imagesList = [this.OSSclientConfig.basePath + url]
if(this.$refs[url] instanceof Array){
- this.$refs[url][0].$viewer.show()
+ let refName = type ? `${url}_${type}` : url
+ this.$refs[refName][0].$viewer.show()
}else{
- this.$refs[url].$viewer.show()
+ let refName = type ? `${url}_${type}` : url
+ this.$refs[refName].$viewer.show()
}
}
})
From 9e83d51037f2639986b8c2250fd314a249a0b53b Mon Sep 17 00:00:00 2001
From: caiyiling <1321909229@qq.com>
Date: Wed, 11 Sep 2024 16:22:12 +0800
Subject: [PATCH 112/112] =?UTF-8?q?=E4=B8=80=E8=87=B4=E6=80=A7=E5=88=86?=
=?UTF-8?q?=E6=9E=90=E4=B8=8A=E4=BC=A0=E6=A8=A1=E6=9D=BF=E6=9B=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../visit/consistency-check/components/uploadExcel.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/views/trials/trials-panel/visit/consistency-check/components/uploadExcel.vue b/src/views/trials/trials-panel/visit/consistency-check/components/uploadExcel.vue
index 7cb3363c..ca2ad298 100644
--- a/src/views/trials/trials-panel/visit/consistency-check/components/uploadExcel.vue
+++ b/src/views/trials/trials-panel/visit/consistency-check/components/uploadExcel.vue
@@ -9,7 +9,7 @@