1 /*
2 *
3 * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany
4 * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany
5 * All rights reserved. See COPYRIGHT file for details.
6 *
7 * Source file for class DRTStructureSetIOD
8 *
9 * Generated automatically from DICOM PS 3.3-2017e
10 * File created on 2017-12-05 09:30:54
11 *
12 */
13
14
15 #include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first
16
17 #include "dcmtk/dcmrt/drtstrct.h"
18
19
DRTStructureSetIOD()20 DRTStructureSetIOD::DRTStructureSetIOD()
21 : PatientName(DCM_PatientName),
22 PatientID(DCM_PatientID),
23 IssuerOfPatientID(DCM_IssuerOfPatientID),
24 IssuerOfPatientIDQualifiersSequence(),
25 PatientBirthDate(DCM_PatientBirthDate),
26 PatientBirthDateInAlternativeCalendar(DCM_PatientBirthDateInAlternativeCalendar),
27 PatientDeathDateInAlternativeCalendar(DCM_PatientDeathDateInAlternativeCalendar),
28 PatientAlternativeCalendar(DCM_PatientAlternativeCalendar),
29 PatientSex(DCM_PatientSex),
30 ReferencedPatientPhotoSequence(),
31 QualityControlSubject(DCM_QualityControlSubject),
32 ReferencedPatientSequence(),
33 PatientBirthTime(DCM_PatientBirthTime),
34 OtherPatientIDsSequence(),
35 OtherPatientNames(DCM_OtherPatientNames),
36 EthnicGroup(DCM_EthnicGroup),
37 PatientComments(DCM_PatientComments),
38 PatientSpeciesDescription(DCM_PatientSpeciesDescription),
39 PatientSpeciesCodeSequence(),
40 PatientBreedDescription(DCM_PatientBreedDescription),
41 PatientBreedCodeSequence(),
42 BreedRegistrationSequence(),
43 StrainDescription(DCM_StrainDescription),
44 StrainNomenclature(DCM_StrainNomenclature),
45 StrainCodeSequence(),
46 StrainAdditionalInformation(DCM_StrainAdditionalInformation),
47 StrainStockSequence(),
48 GeneticModificationsSequence(),
49 ResponsiblePerson(DCM_ResponsiblePerson),
50 ResponsiblePersonRole(DCM_ResponsiblePersonRole),
51 ResponsibleOrganization(DCM_ResponsibleOrganization),
52 PatientIdentityRemoved(DCM_PatientIdentityRemoved),
53 DeidentificationMethod(DCM_DeidentificationMethod),
54 DeidentificationMethodCodeSequence(),
55 SourcePatientGroupIdentificationSequence(),
56 GroupOfPatientsIdentificationSequence(),
57 ClinicalTrialSponsorName(DCM_ClinicalTrialSponsorName),
58 ClinicalTrialProtocolID(DCM_ClinicalTrialProtocolID),
59 ClinicalTrialProtocolName(DCM_ClinicalTrialProtocolName),
60 ClinicalTrialSiteID(DCM_ClinicalTrialSiteID),
61 ClinicalTrialSiteName(DCM_ClinicalTrialSiteName),
62 ClinicalTrialSubjectID(DCM_ClinicalTrialSubjectID),
63 ClinicalTrialSubjectReadingID(DCM_ClinicalTrialSubjectReadingID),
64 ClinicalTrialProtocolEthicsCommitteeName(DCM_ClinicalTrialProtocolEthicsCommitteeName),
65 ClinicalTrialProtocolEthicsCommitteeApprovalNumber(DCM_ClinicalTrialProtocolEthicsCommitteeApprovalNumber),
66 StudyInstanceUID(DCM_StudyInstanceUID),
67 StudyDate(DCM_StudyDate),
68 StudyTime(DCM_StudyTime),
69 ReferringPhysicianName(DCM_ReferringPhysicianName),
70 ReferringPhysicianIdentificationSequence(),
71 ConsultingPhysicianName(DCM_ConsultingPhysicianName),
72 ConsultingPhysicianIdentificationSequence(),
73 StudyID(DCM_StudyID),
74 AccessionNumber(DCM_AccessionNumber),
75 IssuerOfAccessionNumberSequence(),
76 StudyDescription(DCM_StudyDescription),
77 PhysiciansOfRecord(DCM_PhysiciansOfRecord),
78 PhysiciansOfRecordIdentificationSequence(),
79 NameOfPhysiciansReadingStudy(DCM_NameOfPhysiciansReadingStudy),
80 PhysiciansReadingStudyIdentificationSequence(),
81 RequestingServiceCodeSequence(),
82 ReferencedStudySequence(),
83 ProcedureCodeSequence(),
84 ReasonForPerformedProcedureCodeSequence(),
85 AdmittingDiagnosesDescription(DCM_AdmittingDiagnosesDescription),
86 AdmittingDiagnosesCodeSequence(),
87 PatientAge(DCM_PatientAge),
88 PatientSize(DCM_PatientSize),
89 PatientWeight(DCM_PatientWeight),
90 PatientBodyMassIndex(DCM_PatientBodyMassIndex),
91 MeasuredAPDimension(DCM_MeasuredAPDimension),
92 MeasuredLateralDimension(DCM_MeasuredLateralDimension),
93 PatientSizeCodeSequence(),
94 MedicalAlerts(DCM_MedicalAlerts),
95 Allergies(DCM_Allergies),
96 SmokingStatus(DCM_SmokingStatus),
97 PregnancyStatus(DCM_PregnancyStatus),
98 LastMenstrualDate(DCM_LastMenstrualDate),
99 PatientState(DCM_PatientState),
100 Occupation(DCM_Occupation),
101 AdditionalPatientHistory(DCM_AdditionalPatientHistory),
102 AdmissionID(DCM_AdmissionID),
103 IssuerOfAdmissionIDSequence(),
104 ServiceEpisodeID(DCM_ServiceEpisodeID),
105 IssuerOfServiceEpisodeIDSequence(),
106 ServiceEpisodeDescription(DCM_ServiceEpisodeDescription),
107 PatientSexNeutered(DCM_PatientSexNeutered),
108 ClinicalTrialTimePointID(DCM_ClinicalTrialTimePointID),
109 ClinicalTrialTimePointDescription(DCM_ClinicalTrialTimePointDescription),
110 LongitudinalTemporalOffsetFromEvent(DCM_LongitudinalTemporalOffsetFromEvent),
111 LongitudinalTemporalEventType(DCM_LongitudinalTemporalEventType),
112 ConsentForClinicalTrialUseSequence(),
113 Modality(DCM_Modality),
114 SeriesInstanceUID(DCM_SeriesInstanceUID),
115 SeriesNumber(DCM_SeriesNumber),
116 SeriesDate(DCM_SeriesDate),
117 SeriesTime(DCM_SeriesTime),
118 SeriesDescription(DCM_SeriesDescription),
119 SeriesDescriptionCodeSequence(),
120 OperatorsName(DCM_OperatorsName),
121 OperatorIdentificationSequence(),
122 ReferencedPerformedProcedureStepSequence(),
123 RequestAttributesSequence(),
124 PerformedProcedureStepID(DCM_PerformedProcedureStepID),
125 PerformedProcedureStepStartDate(DCM_PerformedProcedureStepStartDate),
126 PerformedProcedureStepStartTime(DCM_PerformedProcedureStepStartTime),
127 PerformedProcedureStepEndDate(DCM_PerformedProcedureStepEndDate),
128 PerformedProcedureStepEndTime(DCM_PerformedProcedureStepEndTime),
129 PerformedProcedureStepDescription(DCM_PerformedProcedureStepDescription),
130 PerformedProtocolCodeSequence(),
131 CommentsOnThePerformedProcedureStep(DCM_CommentsOnThePerformedProcedureStep),
132 ClinicalTrialCoordinatingCenterName(DCM_ClinicalTrialCoordinatingCenterName),
133 ClinicalTrialSeriesID(DCM_ClinicalTrialSeriesID),
134 ClinicalTrialSeriesDescription(DCM_ClinicalTrialSeriesDescription),
135 Manufacturer(DCM_Manufacturer),
136 InstitutionName(DCM_InstitutionName),
137 InstitutionAddress(DCM_InstitutionAddress),
138 StationName(DCM_StationName),
139 InstitutionalDepartmentName(DCM_InstitutionalDepartmentName),
140 ManufacturerModelName(DCM_ManufacturerModelName),
141 DeviceSerialNumber(DCM_DeviceSerialNumber),
142 SoftwareVersions(DCM_SoftwareVersions),
143 GantryID(DCM_GantryID),
144 UDISequence(),
145 SpatialResolution(DCM_SpatialResolution),
146 DateOfLastCalibration(DCM_DateOfLastCalibration),
147 TimeOfLastCalibration(DCM_TimeOfLastCalibration),
148 PixelPaddingValue(DCM_PixelPaddingValue),
149 FrameOfReferenceUID(DCM_FrameOfReferenceUID),
150 PositionReferenceIndicator(DCM_PositionReferenceIndicator),
151 StructureSetLabel(DCM_StructureSetLabel),
152 StructureSetName(DCM_StructureSetName),
153 StructureSetDescription(DCM_StructureSetDescription),
154 InstanceNumber(DCM_InstanceNumber),
155 StructureSetDate(DCM_StructureSetDate),
156 StructureSetTime(DCM_StructureSetTime),
157 ReferencedFrameOfReferenceSequence(),
158 StructureSetROISequence(),
159 PredecessorStructureSetSequence(),
160 ROIContourSequence(),
161 RTROIObservationsSequence(),
162 ApprovalStatus(DCM_ApprovalStatus),
163 ReviewDate(DCM_ReviewDate),
164 ReviewTime(DCM_ReviewTime),
165 ReviewerName(DCM_ReviewerName),
166 ReferencedImageSequence(),
167 ReferencedInstanceSequence(),
168 DerivationDescription(DCM_DerivationDescription),
169 DerivationCodeSequence(),
170 SourceImageSequence(),
171 SourceInstanceSequence(),
172 SOPClassUID(DCM_SOPClassUID),
173 SOPInstanceUID(DCM_SOPInstanceUID),
174 SpecificCharacterSet(DCM_SpecificCharacterSet),
175 InstanceCreationDate(DCM_InstanceCreationDate),
176 InstanceCreationTime(DCM_InstanceCreationTime),
177 InstanceCoercionDateTime(DCM_InstanceCoercionDateTime),
178 InstanceCreatorUID(DCM_InstanceCreatorUID),
179 RelatedGeneralSOPClassUID(DCM_RelatedGeneralSOPClassUID),
180 OriginalSpecializedSOPClassUID(DCM_OriginalSpecializedSOPClassUID),
181 CodingSchemeIdentificationSequence(),
182 ContextGroupIdentificationSequence(),
183 MappingResourceIdentificationSequence(),
184 TimezoneOffsetFromUTC(DCM_TimezoneOffsetFromUTC),
185 ContributingEquipmentSequence(),
186 SOPInstanceStatus(DCM_SOPInstanceStatus),
187 SOPAuthorizationDateTime(DCM_SOPAuthorizationDateTime),
188 SOPAuthorizationComment(DCM_SOPAuthorizationComment),
189 AuthorizationEquipmentCertificationNumber(DCM_AuthorizationEquipmentCertificationNumber),
190 MACParametersSequence(),
191 DigitalSignaturesSequence(),
192 EncryptedAttributesSequence(),
193 OriginalAttributesSequence(),
194 HL7StructuredDocumentReferenceSequence(),
195 LongitudinalTemporalInformationModified(DCM_LongitudinalTemporalInformationModified),
196 QueryRetrieveView(DCM_QueryRetrieveView),
197 ConversionSourceAttributesSequence(),
198 ContentQualification(DCM_ContentQualification),
199 PrivateDataElementCharacteristicsSequence(),
200 ReferencedSeriesSequence(),
201 StudiesContainingOtherReferencedInstancesSequence()
202 {
203 /* set initial values for a new SOP instance */
204 updateAttributes();
205 }
206
207
DRTStructureSetIOD(const DRTStructureSetIOD & copy)208 DRTStructureSetIOD::DRTStructureSetIOD(const DRTStructureSetIOD ©)
209 : PatientName(copy.PatientName),
210 PatientID(copy.PatientID),
211 IssuerOfPatientID(copy.IssuerOfPatientID),
212 IssuerOfPatientIDQualifiersSequence(copy.IssuerOfPatientIDQualifiersSequence),
213 PatientBirthDate(copy.PatientBirthDate),
214 PatientBirthDateInAlternativeCalendar(copy.PatientBirthDateInAlternativeCalendar),
215 PatientDeathDateInAlternativeCalendar(copy.PatientDeathDateInAlternativeCalendar),
216 PatientAlternativeCalendar(copy.PatientAlternativeCalendar),
217 PatientSex(copy.PatientSex),
218 ReferencedPatientPhotoSequence(copy.ReferencedPatientPhotoSequence),
219 QualityControlSubject(copy.QualityControlSubject),
220 ReferencedPatientSequence(copy.ReferencedPatientSequence),
221 PatientBirthTime(copy.PatientBirthTime),
222 OtherPatientIDsSequence(copy.OtherPatientIDsSequence),
223 OtherPatientNames(copy.OtherPatientNames),
224 EthnicGroup(copy.EthnicGroup),
225 PatientComments(copy.PatientComments),
226 PatientSpeciesDescription(copy.PatientSpeciesDescription),
227 PatientSpeciesCodeSequence(copy.PatientSpeciesCodeSequence),
228 PatientBreedDescription(copy.PatientBreedDescription),
229 PatientBreedCodeSequence(copy.PatientBreedCodeSequence),
230 BreedRegistrationSequence(copy.BreedRegistrationSequence),
231 StrainDescription(copy.StrainDescription),
232 StrainNomenclature(copy.StrainNomenclature),
233 StrainCodeSequence(copy.StrainCodeSequence),
234 StrainAdditionalInformation(copy.StrainAdditionalInformation),
235 StrainStockSequence(copy.StrainStockSequence),
236 GeneticModificationsSequence(copy.GeneticModificationsSequence),
237 ResponsiblePerson(copy.ResponsiblePerson),
238 ResponsiblePersonRole(copy.ResponsiblePersonRole),
239 ResponsibleOrganization(copy.ResponsibleOrganization),
240 PatientIdentityRemoved(copy.PatientIdentityRemoved),
241 DeidentificationMethod(copy.DeidentificationMethod),
242 DeidentificationMethodCodeSequence(copy.DeidentificationMethodCodeSequence),
243 SourcePatientGroupIdentificationSequence(copy.SourcePatientGroupIdentificationSequence),
244 GroupOfPatientsIdentificationSequence(copy.GroupOfPatientsIdentificationSequence),
245 ClinicalTrialSponsorName(copy.ClinicalTrialSponsorName),
246 ClinicalTrialProtocolID(copy.ClinicalTrialProtocolID),
247 ClinicalTrialProtocolName(copy.ClinicalTrialProtocolName),
248 ClinicalTrialSiteID(copy.ClinicalTrialSiteID),
249 ClinicalTrialSiteName(copy.ClinicalTrialSiteName),
250 ClinicalTrialSubjectID(copy.ClinicalTrialSubjectID),
251 ClinicalTrialSubjectReadingID(copy.ClinicalTrialSubjectReadingID),
252 ClinicalTrialProtocolEthicsCommitteeName(copy.ClinicalTrialProtocolEthicsCommitteeName),
253 ClinicalTrialProtocolEthicsCommitteeApprovalNumber(copy.ClinicalTrialProtocolEthicsCommitteeApprovalNumber),
254 StudyInstanceUID(copy.StudyInstanceUID),
255 StudyDate(copy.StudyDate),
256 StudyTime(copy.StudyTime),
257 ReferringPhysicianName(copy.ReferringPhysicianName),
258 ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence),
259 ConsultingPhysicianName(copy.ConsultingPhysicianName),
260 ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence),
261 StudyID(copy.StudyID),
262 AccessionNumber(copy.AccessionNumber),
263 IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence),
264 StudyDescription(copy.StudyDescription),
265 PhysiciansOfRecord(copy.PhysiciansOfRecord),
266 PhysiciansOfRecordIdentificationSequence(copy.PhysiciansOfRecordIdentificationSequence),
267 NameOfPhysiciansReadingStudy(copy.NameOfPhysiciansReadingStudy),
268 PhysiciansReadingStudyIdentificationSequence(copy.PhysiciansReadingStudyIdentificationSequence),
269 RequestingServiceCodeSequence(copy.RequestingServiceCodeSequence),
270 ReferencedStudySequence(copy.ReferencedStudySequence),
271 ProcedureCodeSequence(copy.ProcedureCodeSequence),
272 ReasonForPerformedProcedureCodeSequence(copy.ReasonForPerformedProcedureCodeSequence),
273 AdmittingDiagnosesDescription(copy.AdmittingDiagnosesDescription),
274 AdmittingDiagnosesCodeSequence(copy.AdmittingDiagnosesCodeSequence),
275 PatientAge(copy.PatientAge),
276 PatientSize(copy.PatientSize),
277 PatientWeight(copy.PatientWeight),
278 PatientBodyMassIndex(copy.PatientBodyMassIndex),
279 MeasuredAPDimension(copy.MeasuredAPDimension),
280 MeasuredLateralDimension(copy.MeasuredLateralDimension),
281 PatientSizeCodeSequence(copy.PatientSizeCodeSequence),
282 MedicalAlerts(copy.MedicalAlerts),
283 Allergies(copy.Allergies),
284 SmokingStatus(copy.SmokingStatus),
285 PregnancyStatus(copy.PregnancyStatus),
286 LastMenstrualDate(copy.LastMenstrualDate),
287 PatientState(copy.PatientState),
288 Occupation(copy.Occupation),
289 AdditionalPatientHistory(copy.AdditionalPatientHistory),
290 AdmissionID(copy.AdmissionID),
291 IssuerOfAdmissionIDSequence(copy.IssuerOfAdmissionIDSequence),
292 ServiceEpisodeID(copy.ServiceEpisodeID),
293 IssuerOfServiceEpisodeIDSequence(copy.IssuerOfServiceEpisodeIDSequence),
294 ServiceEpisodeDescription(copy.ServiceEpisodeDescription),
295 PatientSexNeutered(copy.PatientSexNeutered),
296 ClinicalTrialTimePointID(copy.ClinicalTrialTimePointID),
297 ClinicalTrialTimePointDescription(copy.ClinicalTrialTimePointDescription),
298 LongitudinalTemporalOffsetFromEvent(copy.LongitudinalTemporalOffsetFromEvent),
299 LongitudinalTemporalEventType(copy.LongitudinalTemporalEventType),
300 ConsentForClinicalTrialUseSequence(copy.ConsentForClinicalTrialUseSequence),
301 Modality(copy.Modality),
302 SeriesInstanceUID(copy.SeriesInstanceUID),
303 SeriesNumber(copy.SeriesNumber),
304 SeriesDate(copy.SeriesDate),
305 SeriesTime(copy.SeriesTime),
306 SeriesDescription(copy.SeriesDescription),
307 SeriesDescriptionCodeSequence(copy.SeriesDescriptionCodeSequence),
308 OperatorsName(copy.OperatorsName),
309 OperatorIdentificationSequence(copy.OperatorIdentificationSequence),
310 ReferencedPerformedProcedureStepSequence(copy.ReferencedPerformedProcedureStepSequence),
311 RequestAttributesSequence(copy.RequestAttributesSequence),
312 PerformedProcedureStepID(copy.PerformedProcedureStepID),
313 PerformedProcedureStepStartDate(copy.PerformedProcedureStepStartDate),
314 PerformedProcedureStepStartTime(copy.PerformedProcedureStepStartTime),
315 PerformedProcedureStepEndDate(copy.PerformedProcedureStepEndDate),
316 PerformedProcedureStepEndTime(copy.PerformedProcedureStepEndTime),
317 PerformedProcedureStepDescription(copy.PerformedProcedureStepDescription),
318 PerformedProtocolCodeSequence(copy.PerformedProtocolCodeSequence),
319 CommentsOnThePerformedProcedureStep(copy.CommentsOnThePerformedProcedureStep),
320 ClinicalTrialCoordinatingCenterName(copy.ClinicalTrialCoordinatingCenterName),
321 ClinicalTrialSeriesID(copy.ClinicalTrialSeriesID),
322 ClinicalTrialSeriesDescription(copy.ClinicalTrialSeriesDescription),
323 Manufacturer(copy.Manufacturer),
324 InstitutionName(copy.InstitutionName),
325 InstitutionAddress(copy.InstitutionAddress),
326 StationName(copy.StationName),
327 InstitutionalDepartmentName(copy.InstitutionalDepartmentName),
328 ManufacturerModelName(copy.ManufacturerModelName),
329 DeviceSerialNumber(copy.DeviceSerialNumber),
330 SoftwareVersions(copy.SoftwareVersions),
331 GantryID(copy.GantryID),
332 UDISequence(copy.UDISequence),
333 SpatialResolution(copy.SpatialResolution),
334 DateOfLastCalibration(copy.DateOfLastCalibration),
335 TimeOfLastCalibration(copy.TimeOfLastCalibration),
336 PixelPaddingValue(copy.PixelPaddingValue),
337 FrameOfReferenceUID(copy.FrameOfReferenceUID),
338 PositionReferenceIndicator(copy.PositionReferenceIndicator),
339 StructureSetLabel(copy.StructureSetLabel),
340 StructureSetName(copy.StructureSetName),
341 StructureSetDescription(copy.StructureSetDescription),
342 InstanceNumber(copy.InstanceNumber),
343 StructureSetDate(copy.StructureSetDate),
344 StructureSetTime(copy.StructureSetTime),
345 ReferencedFrameOfReferenceSequence(copy.ReferencedFrameOfReferenceSequence),
346 StructureSetROISequence(copy.StructureSetROISequence),
347 PredecessorStructureSetSequence(copy.PredecessorStructureSetSequence),
348 ROIContourSequence(copy.ROIContourSequence),
349 RTROIObservationsSequence(copy.RTROIObservationsSequence),
350 ApprovalStatus(copy.ApprovalStatus),
351 ReviewDate(copy.ReviewDate),
352 ReviewTime(copy.ReviewTime),
353 ReviewerName(copy.ReviewerName),
354 ReferencedImageSequence(copy.ReferencedImageSequence),
355 ReferencedInstanceSequence(copy.ReferencedInstanceSequence),
356 DerivationDescription(copy.DerivationDescription),
357 DerivationCodeSequence(copy.DerivationCodeSequence),
358 SourceImageSequence(copy.SourceImageSequence),
359 SourceInstanceSequence(copy.SourceInstanceSequence),
360 SOPClassUID(copy.SOPClassUID),
361 SOPInstanceUID(copy.SOPInstanceUID),
362 SpecificCharacterSet(copy.SpecificCharacterSet),
363 InstanceCreationDate(copy.InstanceCreationDate),
364 InstanceCreationTime(copy.InstanceCreationTime),
365 InstanceCoercionDateTime(copy.InstanceCoercionDateTime),
366 InstanceCreatorUID(copy.InstanceCreatorUID),
367 RelatedGeneralSOPClassUID(copy.RelatedGeneralSOPClassUID),
368 OriginalSpecializedSOPClassUID(copy.OriginalSpecializedSOPClassUID),
369 CodingSchemeIdentificationSequence(copy.CodingSchemeIdentificationSequence),
370 ContextGroupIdentificationSequence(copy.ContextGroupIdentificationSequence),
371 MappingResourceIdentificationSequence(copy.MappingResourceIdentificationSequence),
372 TimezoneOffsetFromUTC(copy.TimezoneOffsetFromUTC),
373 ContributingEquipmentSequence(copy.ContributingEquipmentSequence),
374 SOPInstanceStatus(copy.SOPInstanceStatus),
375 SOPAuthorizationDateTime(copy.SOPAuthorizationDateTime),
376 SOPAuthorizationComment(copy.SOPAuthorizationComment),
377 AuthorizationEquipmentCertificationNumber(copy.AuthorizationEquipmentCertificationNumber),
378 MACParametersSequence(copy.MACParametersSequence),
379 DigitalSignaturesSequence(copy.DigitalSignaturesSequence),
380 EncryptedAttributesSequence(copy.EncryptedAttributesSequence),
381 OriginalAttributesSequence(copy.OriginalAttributesSequence),
382 HL7StructuredDocumentReferenceSequence(copy.HL7StructuredDocumentReferenceSequence),
383 LongitudinalTemporalInformationModified(copy.LongitudinalTemporalInformationModified),
384 QueryRetrieveView(copy.QueryRetrieveView),
385 ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence),
386 ContentQualification(copy.ContentQualification),
387 PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence),
388 ReferencedSeriesSequence(copy.ReferencedSeriesSequence),
389 StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence)
390 {
391 }
392
393
~DRTStructureSetIOD()394 DRTStructureSetIOD::~DRTStructureSetIOD()
395 {
396 }
397
398
operator =(const DRTStructureSetIOD & copy)399 DRTStructureSetIOD &DRTStructureSetIOD::operator=(const DRTStructureSetIOD ©)
400 {
401 if (this != ©)
402 {
403 PatientName = copy.PatientName;
404 PatientID = copy.PatientID;
405 IssuerOfPatientID = copy.IssuerOfPatientID;
406 IssuerOfPatientIDQualifiersSequence = copy.IssuerOfPatientIDQualifiersSequence;
407 PatientBirthDate = copy.PatientBirthDate;
408 PatientBirthDateInAlternativeCalendar = copy.PatientBirthDateInAlternativeCalendar;
409 PatientDeathDateInAlternativeCalendar = copy.PatientDeathDateInAlternativeCalendar;
410 PatientAlternativeCalendar = copy.PatientAlternativeCalendar;
411 PatientSex = copy.PatientSex;
412 ReferencedPatientPhotoSequence = copy.ReferencedPatientPhotoSequence;
413 QualityControlSubject = copy.QualityControlSubject;
414 ReferencedPatientSequence = copy.ReferencedPatientSequence;
415 PatientBirthTime = copy.PatientBirthTime;
416 OtherPatientIDsSequence = copy.OtherPatientIDsSequence;
417 OtherPatientNames = copy.OtherPatientNames;
418 EthnicGroup = copy.EthnicGroup;
419 PatientComments = copy.PatientComments;
420 PatientSpeciesDescription = copy.PatientSpeciesDescription;
421 PatientSpeciesCodeSequence = copy.PatientSpeciesCodeSequence;
422 PatientBreedDescription = copy.PatientBreedDescription;
423 PatientBreedCodeSequence = copy.PatientBreedCodeSequence;
424 BreedRegistrationSequence = copy.BreedRegistrationSequence;
425 StrainDescription = copy.StrainDescription;
426 StrainNomenclature = copy.StrainNomenclature;
427 StrainCodeSequence = copy.StrainCodeSequence;
428 StrainAdditionalInformation = copy.StrainAdditionalInformation;
429 StrainStockSequence = copy.StrainStockSequence;
430 GeneticModificationsSequence = copy.GeneticModificationsSequence;
431 ResponsiblePerson = copy.ResponsiblePerson;
432 ResponsiblePersonRole = copy.ResponsiblePersonRole;
433 ResponsibleOrganization = copy.ResponsibleOrganization;
434 PatientIdentityRemoved = copy.PatientIdentityRemoved;
435 DeidentificationMethod = copy.DeidentificationMethod;
436 DeidentificationMethodCodeSequence = copy.DeidentificationMethodCodeSequence;
437 SourcePatientGroupIdentificationSequence = copy.SourcePatientGroupIdentificationSequence;
438 GroupOfPatientsIdentificationSequence = copy.GroupOfPatientsIdentificationSequence;
439 ClinicalTrialSponsorName = copy.ClinicalTrialSponsorName;
440 ClinicalTrialProtocolID = copy.ClinicalTrialProtocolID;
441 ClinicalTrialProtocolName = copy.ClinicalTrialProtocolName;
442 ClinicalTrialSiteID = copy.ClinicalTrialSiteID;
443 ClinicalTrialSiteName = copy.ClinicalTrialSiteName;
444 ClinicalTrialSubjectID = copy.ClinicalTrialSubjectID;
445 ClinicalTrialSubjectReadingID = copy.ClinicalTrialSubjectReadingID;
446 ClinicalTrialProtocolEthicsCommitteeName = copy.ClinicalTrialProtocolEthicsCommitteeName;
447 ClinicalTrialProtocolEthicsCommitteeApprovalNumber = copy.ClinicalTrialProtocolEthicsCommitteeApprovalNumber;
448 StudyInstanceUID = copy.StudyInstanceUID;
449 StudyDate = copy.StudyDate;
450 StudyTime = copy.StudyTime;
451 ReferringPhysicianName = copy.ReferringPhysicianName;
452 ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence;
453 ConsultingPhysicianName = copy.ConsultingPhysicianName;
454 ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence;
455 StudyID = copy.StudyID;
456 AccessionNumber = copy.AccessionNumber;
457 IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence;
458 StudyDescription = copy.StudyDescription;
459 PhysiciansOfRecord = copy.PhysiciansOfRecord;
460 PhysiciansOfRecordIdentificationSequence = copy.PhysiciansOfRecordIdentificationSequence;
461 NameOfPhysiciansReadingStudy = copy.NameOfPhysiciansReadingStudy;
462 PhysiciansReadingStudyIdentificationSequence = copy.PhysiciansReadingStudyIdentificationSequence;
463 RequestingServiceCodeSequence = copy.RequestingServiceCodeSequence;
464 ReferencedStudySequence = copy.ReferencedStudySequence;
465 ProcedureCodeSequence = copy.ProcedureCodeSequence;
466 ReasonForPerformedProcedureCodeSequence = copy.ReasonForPerformedProcedureCodeSequence;
467 AdmittingDiagnosesDescription = copy.AdmittingDiagnosesDescription;
468 AdmittingDiagnosesCodeSequence = copy.AdmittingDiagnosesCodeSequence;
469 PatientAge = copy.PatientAge;
470 PatientSize = copy.PatientSize;
471 PatientWeight = copy.PatientWeight;
472 PatientBodyMassIndex = copy.PatientBodyMassIndex;
473 MeasuredAPDimension = copy.MeasuredAPDimension;
474 MeasuredLateralDimension = copy.MeasuredLateralDimension;
475 PatientSizeCodeSequence = copy.PatientSizeCodeSequence;
476 MedicalAlerts = copy.MedicalAlerts;
477 Allergies = copy.Allergies;
478 SmokingStatus = copy.SmokingStatus;
479 PregnancyStatus = copy.PregnancyStatus;
480 LastMenstrualDate = copy.LastMenstrualDate;
481 PatientState = copy.PatientState;
482 Occupation = copy.Occupation;
483 AdditionalPatientHistory = copy.AdditionalPatientHistory;
484 AdmissionID = copy.AdmissionID;
485 IssuerOfAdmissionIDSequence = copy.IssuerOfAdmissionIDSequence;
486 ServiceEpisodeID = copy.ServiceEpisodeID;
487 IssuerOfServiceEpisodeIDSequence = copy.IssuerOfServiceEpisodeIDSequence;
488 ServiceEpisodeDescription = copy.ServiceEpisodeDescription;
489 PatientSexNeutered = copy.PatientSexNeutered;
490 ClinicalTrialTimePointID = copy.ClinicalTrialTimePointID;
491 ClinicalTrialTimePointDescription = copy.ClinicalTrialTimePointDescription;
492 LongitudinalTemporalOffsetFromEvent = copy.LongitudinalTemporalOffsetFromEvent;
493 LongitudinalTemporalEventType = copy.LongitudinalTemporalEventType;
494 ConsentForClinicalTrialUseSequence = copy.ConsentForClinicalTrialUseSequence;
495 Modality = copy.Modality;
496 SeriesInstanceUID = copy.SeriesInstanceUID;
497 SeriesNumber = copy.SeriesNumber;
498 SeriesDate = copy.SeriesDate;
499 SeriesTime = copy.SeriesTime;
500 SeriesDescription = copy.SeriesDescription;
501 SeriesDescriptionCodeSequence = copy.SeriesDescriptionCodeSequence;
502 OperatorsName = copy.OperatorsName;
503 OperatorIdentificationSequence = copy.OperatorIdentificationSequence;
504 ReferencedPerformedProcedureStepSequence = copy.ReferencedPerformedProcedureStepSequence;
505 RequestAttributesSequence = copy.RequestAttributesSequence;
506 PerformedProcedureStepID = copy.PerformedProcedureStepID;
507 PerformedProcedureStepStartDate = copy.PerformedProcedureStepStartDate;
508 PerformedProcedureStepStartTime = copy.PerformedProcedureStepStartTime;
509 PerformedProcedureStepEndDate = copy.PerformedProcedureStepEndDate;
510 PerformedProcedureStepEndTime = copy.PerformedProcedureStepEndTime;
511 PerformedProcedureStepDescription = copy.PerformedProcedureStepDescription;
512 PerformedProtocolCodeSequence = copy.PerformedProtocolCodeSequence;
513 CommentsOnThePerformedProcedureStep = copy.CommentsOnThePerformedProcedureStep;
514 ClinicalTrialCoordinatingCenterName = copy.ClinicalTrialCoordinatingCenterName;
515 ClinicalTrialSeriesID = copy.ClinicalTrialSeriesID;
516 ClinicalTrialSeriesDescription = copy.ClinicalTrialSeriesDescription;
517 Manufacturer = copy.Manufacturer;
518 InstitutionName = copy.InstitutionName;
519 InstitutionAddress = copy.InstitutionAddress;
520 StationName = copy.StationName;
521 InstitutionalDepartmentName = copy.InstitutionalDepartmentName;
522 ManufacturerModelName = copy.ManufacturerModelName;
523 DeviceSerialNumber = copy.DeviceSerialNumber;
524 SoftwareVersions = copy.SoftwareVersions;
525 GantryID = copy.GantryID;
526 UDISequence = copy.UDISequence;
527 SpatialResolution = copy.SpatialResolution;
528 DateOfLastCalibration = copy.DateOfLastCalibration;
529 TimeOfLastCalibration = copy.TimeOfLastCalibration;
530 PixelPaddingValue = copy.PixelPaddingValue;
531 FrameOfReferenceUID = copy.FrameOfReferenceUID;
532 PositionReferenceIndicator = copy.PositionReferenceIndicator;
533 StructureSetLabel = copy.StructureSetLabel;
534 StructureSetName = copy.StructureSetName;
535 StructureSetDescription = copy.StructureSetDescription;
536 InstanceNumber = copy.InstanceNumber;
537 StructureSetDate = copy.StructureSetDate;
538 StructureSetTime = copy.StructureSetTime;
539 ReferencedFrameOfReferenceSequence = copy.ReferencedFrameOfReferenceSequence;
540 StructureSetROISequence = copy.StructureSetROISequence;
541 PredecessorStructureSetSequence = copy.PredecessorStructureSetSequence;
542 ROIContourSequence = copy.ROIContourSequence;
543 RTROIObservationsSequence = copy.RTROIObservationsSequence;
544 ApprovalStatus = copy.ApprovalStatus;
545 ReviewDate = copy.ReviewDate;
546 ReviewTime = copy.ReviewTime;
547 ReviewerName = copy.ReviewerName;
548 ReferencedImageSequence = copy.ReferencedImageSequence;
549 ReferencedInstanceSequence = copy.ReferencedInstanceSequence;
550 DerivationDescription = copy.DerivationDescription;
551 DerivationCodeSequence = copy.DerivationCodeSequence;
552 SourceImageSequence = copy.SourceImageSequence;
553 SourceInstanceSequence = copy.SourceInstanceSequence;
554 SOPClassUID = copy.SOPClassUID;
555 SOPInstanceUID = copy.SOPInstanceUID;
556 SpecificCharacterSet = copy.SpecificCharacterSet;
557 InstanceCreationDate = copy.InstanceCreationDate;
558 InstanceCreationTime = copy.InstanceCreationTime;
559 InstanceCoercionDateTime = copy.InstanceCoercionDateTime;
560 InstanceCreatorUID = copy.InstanceCreatorUID;
561 RelatedGeneralSOPClassUID = copy.RelatedGeneralSOPClassUID;
562 OriginalSpecializedSOPClassUID = copy.OriginalSpecializedSOPClassUID;
563 CodingSchemeIdentificationSequence = copy.CodingSchemeIdentificationSequence;
564 ContextGroupIdentificationSequence = copy.ContextGroupIdentificationSequence;
565 MappingResourceIdentificationSequence = copy.MappingResourceIdentificationSequence;
566 TimezoneOffsetFromUTC = copy.TimezoneOffsetFromUTC;
567 ContributingEquipmentSequence = copy.ContributingEquipmentSequence;
568 SOPInstanceStatus = copy.SOPInstanceStatus;
569 SOPAuthorizationDateTime = copy.SOPAuthorizationDateTime;
570 SOPAuthorizationComment = copy.SOPAuthorizationComment;
571 AuthorizationEquipmentCertificationNumber = copy.AuthorizationEquipmentCertificationNumber;
572 MACParametersSequence = copy.MACParametersSequence;
573 DigitalSignaturesSequence = copy.DigitalSignaturesSequence;
574 EncryptedAttributesSequence = copy.EncryptedAttributesSequence;
575 OriginalAttributesSequence = copy.OriginalAttributesSequence;
576 HL7StructuredDocumentReferenceSequence = copy.HL7StructuredDocumentReferenceSequence;
577 LongitudinalTemporalInformationModified = copy.LongitudinalTemporalInformationModified;
578 QueryRetrieveView = copy.QueryRetrieveView;
579 ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence;
580 ContentQualification = copy.ContentQualification;
581 PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence;
582 ReferencedSeriesSequence = copy.ReferencedSeriesSequence;
583 StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence;
584 }
585 return *this;
586 }
587
588
clear()589 void DRTStructureSetIOD::clear()
590 {
591 /* clear all DICOM attributes */
592 PatientName.clear();
593 PatientID.clear();
594 IssuerOfPatientID.clear();
595 IssuerOfPatientIDQualifiersSequence.clear();
596 PatientBirthDate.clear();
597 PatientBirthDateInAlternativeCalendar.clear();
598 PatientDeathDateInAlternativeCalendar.clear();
599 PatientAlternativeCalendar.clear();
600 PatientSex.clear();
601 ReferencedPatientPhotoSequence.clear();
602 QualityControlSubject.clear();
603 ReferencedPatientSequence.clear();
604 PatientBirthTime.clear();
605 OtherPatientIDsSequence.clear();
606 OtherPatientNames.clear();
607 EthnicGroup.clear();
608 PatientComments.clear();
609 PatientSpeciesDescription.clear();
610 PatientSpeciesCodeSequence.clear();
611 PatientBreedDescription.clear();
612 PatientBreedCodeSequence.clear();
613 BreedRegistrationSequence.clear();
614 StrainDescription.clear();
615 StrainNomenclature.clear();
616 StrainCodeSequence.clear();
617 StrainAdditionalInformation.clear();
618 StrainStockSequence.clear();
619 GeneticModificationsSequence.clear();
620 ResponsiblePerson.clear();
621 ResponsiblePersonRole.clear();
622 ResponsibleOrganization.clear();
623 PatientIdentityRemoved.clear();
624 DeidentificationMethod.clear();
625 DeidentificationMethodCodeSequence.clear();
626 SourcePatientGroupIdentificationSequence.clear();
627 GroupOfPatientsIdentificationSequence.clear();
628 ClinicalTrialSponsorName.clear();
629 ClinicalTrialProtocolID.clear();
630 ClinicalTrialProtocolName.clear();
631 ClinicalTrialSiteID.clear();
632 ClinicalTrialSiteName.clear();
633 ClinicalTrialSubjectID.clear();
634 ClinicalTrialSubjectReadingID.clear();
635 ClinicalTrialProtocolEthicsCommitteeName.clear();
636 ClinicalTrialProtocolEthicsCommitteeApprovalNumber.clear();
637 StudyInstanceUID.clear();
638 StudyDate.clear();
639 StudyTime.clear();
640 ReferringPhysicianName.clear();
641 ReferringPhysicianIdentificationSequence.clear();
642 ConsultingPhysicianName.clear();
643 ConsultingPhysicianIdentificationSequence.clear();
644 StudyID.clear();
645 AccessionNumber.clear();
646 IssuerOfAccessionNumberSequence.clear();
647 StudyDescription.clear();
648 PhysiciansOfRecord.clear();
649 PhysiciansOfRecordIdentificationSequence.clear();
650 NameOfPhysiciansReadingStudy.clear();
651 PhysiciansReadingStudyIdentificationSequence.clear();
652 RequestingServiceCodeSequence.clear();
653 ReferencedStudySequence.clear();
654 ProcedureCodeSequence.clear();
655 ReasonForPerformedProcedureCodeSequence.clear();
656 AdmittingDiagnosesDescription.clear();
657 AdmittingDiagnosesCodeSequence.clear();
658 PatientAge.clear();
659 PatientSize.clear();
660 PatientWeight.clear();
661 PatientBodyMassIndex.clear();
662 MeasuredAPDimension.clear();
663 MeasuredLateralDimension.clear();
664 PatientSizeCodeSequence.clear();
665 MedicalAlerts.clear();
666 Allergies.clear();
667 SmokingStatus.clear();
668 PregnancyStatus.clear();
669 LastMenstrualDate.clear();
670 PatientState.clear();
671 Occupation.clear();
672 AdditionalPatientHistory.clear();
673 AdmissionID.clear();
674 IssuerOfAdmissionIDSequence.clear();
675 ServiceEpisodeID.clear();
676 IssuerOfServiceEpisodeIDSequence.clear();
677 ServiceEpisodeDescription.clear();
678 PatientSexNeutered.clear();
679 ClinicalTrialTimePointID.clear();
680 ClinicalTrialTimePointDescription.clear();
681 LongitudinalTemporalOffsetFromEvent.clear();
682 LongitudinalTemporalEventType.clear();
683 ConsentForClinicalTrialUseSequence.clear();
684 Modality.clear();
685 SeriesInstanceUID.clear();
686 SeriesNumber.clear();
687 SeriesDate.clear();
688 SeriesTime.clear();
689 SeriesDescription.clear();
690 SeriesDescriptionCodeSequence.clear();
691 OperatorsName.clear();
692 OperatorIdentificationSequence.clear();
693 ReferencedPerformedProcedureStepSequence.clear();
694 RequestAttributesSequence.clear();
695 PerformedProcedureStepID.clear();
696 PerformedProcedureStepStartDate.clear();
697 PerformedProcedureStepStartTime.clear();
698 PerformedProcedureStepEndDate.clear();
699 PerformedProcedureStepEndTime.clear();
700 PerformedProcedureStepDescription.clear();
701 PerformedProtocolCodeSequence.clear();
702 CommentsOnThePerformedProcedureStep.clear();
703 ClinicalTrialCoordinatingCenterName.clear();
704 ClinicalTrialSeriesID.clear();
705 ClinicalTrialSeriesDescription.clear();
706 Manufacturer.clear();
707 InstitutionName.clear();
708 InstitutionAddress.clear();
709 StationName.clear();
710 InstitutionalDepartmentName.clear();
711 ManufacturerModelName.clear();
712 DeviceSerialNumber.clear();
713 SoftwareVersions.clear();
714 GantryID.clear();
715 UDISequence.clear();
716 SpatialResolution.clear();
717 DateOfLastCalibration.clear();
718 TimeOfLastCalibration.clear();
719 PixelPaddingValue.clear();
720 FrameOfReferenceUID.clear();
721 PositionReferenceIndicator.clear();
722 StructureSetLabel.clear();
723 StructureSetName.clear();
724 StructureSetDescription.clear();
725 InstanceNumber.clear();
726 StructureSetDate.clear();
727 StructureSetTime.clear();
728 ReferencedFrameOfReferenceSequence.clear();
729 StructureSetROISequence.clear();
730 PredecessorStructureSetSequence.clear();
731 ROIContourSequence.clear();
732 RTROIObservationsSequence.clear();
733 ApprovalStatus.clear();
734 ReviewDate.clear();
735 ReviewTime.clear();
736 ReviewerName.clear();
737 ReferencedImageSequence.clear();
738 ReferencedInstanceSequence.clear();
739 DerivationDescription.clear();
740 DerivationCodeSequence.clear();
741 SourceImageSequence.clear();
742 SourceInstanceSequence.clear();
743 SOPClassUID.clear();
744 SOPInstanceUID.clear();
745 SpecificCharacterSet.clear();
746 InstanceCreationDate.clear();
747 InstanceCreationTime.clear();
748 InstanceCoercionDateTime.clear();
749 InstanceCreatorUID.clear();
750 RelatedGeneralSOPClassUID.clear();
751 OriginalSpecializedSOPClassUID.clear();
752 CodingSchemeIdentificationSequence.clear();
753 ContextGroupIdentificationSequence.clear();
754 MappingResourceIdentificationSequence.clear();
755 TimezoneOffsetFromUTC.clear();
756 ContributingEquipmentSequence.clear();
757 SOPInstanceStatus.clear();
758 SOPAuthorizationDateTime.clear();
759 SOPAuthorizationComment.clear();
760 AuthorizationEquipmentCertificationNumber.clear();
761 MACParametersSequence.clear();
762 DigitalSignaturesSequence.clear();
763 EncryptedAttributesSequence.clear();
764 OriginalAttributesSequence.clear();
765 HL7StructuredDocumentReferenceSequence.clear();
766 LongitudinalTemporalInformationModified.clear();
767 QueryRetrieveView.clear();
768 ConversionSourceAttributesSequence.clear();
769 ContentQualification.clear();
770 PrivateDataElementCharacteristicsSequence.clear();
771 ReferencedSeriesSequence.clear();
772 StudiesContainingOtherReferencedInstancesSequence.clear();
773 }
774
775
isValid()776 OFBool DRTStructureSetIOD::isValid()
777 {
778 /* tbd: check whether object is valid */
779 return OFTrue;
780 }
781
782
checkDatasetForReading(DcmItem & dataset)783 OFCondition DRTStructureSetIOD::checkDatasetForReading(DcmItem &dataset)
784 {
785 OFCondition result = EC_Normal;
786 /* check SOP class UID */
787 DcmUniqueIdentifier sopClassUID(DCM_SOPClassUID);
788 result = getAndCheckElementFromDataset(dataset, sopClassUID, "1", "1", "SOPCommonModule");
789 if (result.good())
790 {
791 OFString tmpString;
792 getStringValueFromElement(sopClassUID, tmpString);
793 if (tmpString != UID_RTStructureSetStorage)
794 {
795 DCMRT_ERROR("Invalid value for attribute SOPClassUID (0008,0016)");
796 result = RT_EC_InvalidValue;
797 }
798 }
799 return result;
800 }
801
802
updateAttributes()803 void DRTStructureSetIOD::updateAttributes()
804 {
805 SOPClassUID.putString(UID_RTStructureSetStorage);
806 }
807
808
read(DcmItem & dataset)809 OFCondition DRTStructureSetIOD::read(DcmItem &dataset)
810 {
811 /* re-initialize object */
812 clear();
813 /* check SOP class UID first */
814 OFCondition result = checkDatasetForReading(dataset);
815 /* read data from PatientIE, StudyIE, SeriesIE */
816 if (result.good())
817 result = readSeriesData(dataset);
818 if (result.good())
819 {
820 // --- GeneralEquipmentModule (M) ---
821 getAndCheckElementFromDataset(dataset, Manufacturer, "1", "2", "GeneralEquipmentModule");
822 getAndCheckElementFromDataset(dataset, InstitutionName, "1", "3", "GeneralEquipmentModule");
823 getAndCheckElementFromDataset(dataset, InstitutionAddress, "1", "3", "GeneralEquipmentModule");
824 getAndCheckElementFromDataset(dataset, StationName, "1", "3", "GeneralEquipmentModule");
825 getAndCheckElementFromDataset(dataset, InstitutionalDepartmentName, "1", "3", "GeneralEquipmentModule");
826 getAndCheckElementFromDataset(dataset, ManufacturerModelName, "1", "3", "GeneralEquipmentModule");
827 getAndCheckElementFromDataset(dataset, DeviceSerialNumber, "1", "3", "GeneralEquipmentModule");
828 getAndCheckElementFromDataset(dataset, SoftwareVersions, "1-n", "3", "GeneralEquipmentModule");
829 getAndCheckElementFromDataset(dataset, GantryID, "1", "3", "GeneralEquipmentModule");
830 UDISequence.read(dataset, "1-n", "3", "GeneralEquipmentModule");
831 getAndCheckElementFromDataset(dataset, SpatialResolution, "1", "3", "GeneralEquipmentModule");
832 getAndCheckElementFromDataset(dataset, DateOfLastCalibration, "1-n", "3", "GeneralEquipmentModule");
833 getAndCheckElementFromDataset(dataset, TimeOfLastCalibration, "1-n", "3", "GeneralEquipmentModule");
834 getAndCheckElementFromDataset(dataset, PixelPaddingValue, "1", "1C", "GeneralEquipmentModule");
835
836 // --- FrameOfReferenceModule (U) ---
837 if (dataset.tagExists(DCM_FrameOfReferenceUID) ||
838 dataset.tagExists(DCM_PositionReferenceIndicator))
839 {
840 getAndCheckElementFromDataset(dataset, FrameOfReferenceUID, "1", "1", "FrameOfReferenceModule");
841 getAndCheckElementFromDataset(dataset, PositionReferenceIndicator, "1", "2", "FrameOfReferenceModule");
842 }
843
844 // --- StructureSetModule (M) ---
845 getAndCheckElementFromDataset(dataset, StructureSetLabel, "1", "1", "StructureSetModule");
846 getAndCheckElementFromDataset(dataset, StructureSetName, "1", "3", "StructureSetModule");
847 getAndCheckElementFromDataset(dataset, StructureSetDescription, "1", "3", "StructureSetModule");
848 getAndCheckElementFromDataset(dataset, InstanceNumber, "1", "3", "StructureSetModule");
849 getAndCheckElementFromDataset(dataset, StructureSetDate, "1", "2", "StructureSetModule");
850 getAndCheckElementFromDataset(dataset, StructureSetTime, "1", "2", "StructureSetModule");
851 ReferencedFrameOfReferenceSequence.read(dataset, "1-n", "3", "StructureSetModule");
852 StructureSetROISequence.read(dataset, "1-n", "1", "StructureSetModule");
853 PredecessorStructureSetSequence.read(dataset, "1-n", "3", "StructureSetModule");
854
855 // --- ROIContourModule (M) ---
856 ROIContourSequence.read(dataset, "1-n", "1", "ROIContourModule");
857
858 // --- RTROIObservationsModule (M) ---
859 RTROIObservationsSequence.read(dataset, "1-n", "1", "RTROIObservationsModule");
860
861 // --- ApprovalModule (U) ---
862 if (dataset.tagExists(DCM_ApprovalStatus))
863 {
864 getAndCheckElementFromDataset(dataset, ApprovalStatus, "1", "1", "ApprovalModule");
865 getAndCheckElementFromDataset(dataset, ReviewDate, "1", "2C", "ApprovalModule");
866 getAndCheckElementFromDataset(dataset, ReviewTime, "1", "2C", "ApprovalModule");
867 getAndCheckElementFromDataset(dataset, ReviewerName, "1", "2C", "ApprovalModule");
868 }
869
870 // --- GeneralReferenceModule (U) ---
871 ReferencedImageSequence.read(dataset, "1-n", "3", "GeneralReferenceModule");
872 ReferencedInstanceSequence.read(dataset, "1-n", "3", "GeneralReferenceModule");
873 getAndCheckElementFromDataset(dataset, DerivationDescription, "1", "3", "GeneralReferenceModule");
874 DerivationCodeSequence.read(dataset, "1-n", "3", "GeneralReferenceModule");
875 SourceImageSequence.read(dataset, "1-n", "3", "GeneralReferenceModule");
876 SourceInstanceSequence.read(dataset, "1-n", "3", "GeneralReferenceModule");
877
878 // --- SOPCommonModule (M) ---
879 getAndCheckElementFromDataset(dataset, SOPClassUID, "1", "1", "SOPCommonModule");
880 getAndCheckElementFromDataset(dataset, SOPInstanceUID, "1", "1", "SOPCommonModule");
881 getAndCheckElementFromDataset(dataset, SpecificCharacterSet, "1-n", "1C", "SOPCommonModule");
882 getAndCheckElementFromDataset(dataset, InstanceCreationDate, "1", "3", "SOPCommonModule");
883 getAndCheckElementFromDataset(dataset, InstanceCreationTime, "1", "3", "SOPCommonModule");
884 getAndCheckElementFromDataset(dataset, InstanceCoercionDateTime, "1", "3", "SOPCommonModule");
885 getAndCheckElementFromDataset(dataset, InstanceCreatorUID, "1", "3", "SOPCommonModule");
886 getAndCheckElementFromDataset(dataset, RelatedGeneralSOPClassUID, "1-n", "3", "SOPCommonModule");
887 getAndCheckElementFromDataset(dataset, OriginalSpecializedSOPClassUID, "1", "3", "SOPCommonModule");
888 CodingSchemeIdentificationSequence.read(dataset, "1-n", "3", "SOPCommonModule");
889 ContextGroupIdentificationSequence.read(dataset, "1-n", "3", "SOPCommonModule");
890 MappingResourceIdentificationSequence.read(dataset, "1-n", "3", "SOPCommonModule");
891 getAndCheckElementFromDataset(dataset, TimezoneOffsetFromUTC, "1", "3", "SOPCommonModule");
892 ContributingEquipmentSequence.read(dataset, "1-n", "3", "SOPCommonModule");
893 // getAndCheckElementFromDataset(dataset, InstanceNumber, "1", "3", "SOPCommonModule");
894 getAndCheckElementFromDataset(dataset, SOPInstanceStatus, "1", "3", "SOPCommonModule");
895 getAndCheckElementFromDataset(dataset, SOPAuthorizationDateTime, "1", "3", "SOPCommonModule");
896 getAndCheckElementFromDataset(dataset, SOPAuthorizationComment, "1", "3", "SOPCommonModule");
897 getAndCheckElementFromDataset(dataset, AuthorizationEquipmentCertificationNumber, "1", "3", "SOPCommonModule");
898 MACParametersSequence.read(dataset, "1-n", "3", "SOPCommonModule");
899 DigitalSignaturesSequence.read(dataset, "1-n", "3", "SOPCommonModule");
900 EncryptedAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
901 OriginalAttributesSequence.read(dataset, "1-n", "3", "SOPCommonModule");
902 HL7StructuredDocumentReferenceSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
903 getAndCheckElementFromDataset(dataset, LongitudinalTemporalInformationModified, "1", "3", "SOPCommonModule");
904 getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule");
905 ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule");
906 getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule");
907 PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule");
908
909 // --- CommonInstanceReferenceModule (U) ---
910 ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
911 StudiesContainingOtherReferencedInstancesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule");
912 }
913 return result;
914 }
915
916
readPatientData(DcmItem & dataset)917 OFCondition DRTStructureSetIOD::readPatientData(DcmItem &dataset)
918 {
919 OFCondition result = EC_Normal;
920
921 // --- PatientModule (M) ---
922 getAndCheckElementFromDataset(dataset, PatientName, "1", "2", "PatientModule");
923 getAndCheckElementFromDataset(dataset, PatientID, "1", "2", "PatientModule");
924 getAndCheckElementFromDataset(dataset, IssuerOfPatientID, "1", "3", "PatientModule");
925 IssuerOfPatientIDQualifiersSequence.read(dataset, "1-n", "3", "PatientModule");
926 getAndCheckElementFromDataset(dataset, PatientBirthDate, "1", "2", "PatientModule");
927 getAndCheckElementFromDataset(dataset, PatientBirthDateInAlternativeCalendar, "1", "3", "PatientModule");
928 getAndCheckElementFromDataset(dataset, PatientDeathDateInAlternativeCalendar, "1", "3", "PatientModule");
929 getAndCheckElementFromDataset(dataset, PatientAlternativeCalendar, "1", "1C", "PatientModule");
930 getAndCheckElementFromDataset(dataset, PatientSex, "1", "2", "PatientModule");
931 ReferencedPatientPhotoSequence.read(dataset, "1-n", "3", "PatientModule");
932 getAndCheckElementFromDataset(dataset, QualityControlSubject, "1", "3", "PatientModule");
933 ReferencedPatientSequence.read(dataset, "1-n", "3", "PatientModule");
934 getAndCheckElementFromDataset(dataset, PatientBirthTime, "1", "3", "PatientModule");
935 OtherPatientIDsSequence.read(dataset, "1-n", "3", "PatientModule");
936 getAndCheckElementFromDataset(dataset, OtherPatientNames, "1-n", "3", "PatientModule");
937 getAndCheckElementFromDataset(dataset, EthnicGroup, "1", "3", "PatientModule");
938 getAndCheckElementFromDataset(dataset, PatientComments, "1", "3", "PatientModule");
939 getAndCheckElementFromDataset(dataset, PatientSpeciesDescription, "1", "1C", "PatientModule");
940 PatientSpeciesCodeSequence.read(dataset, "1-n", "1C", "PatientModule");
941 getAndCheckElementFromDataset(dataset, PatientBreedDescription, "1", "2C", "PatientModule");
942 PatientBreedCodeSequence.read(dataset, "1-n", "2C", "PatientModule");
943 BreedRegistrationSequence.read(dataset, "1-n", "2C", "PatientModule");
944 getAndCheckElementFromDataset(dataset, StrainDescription, "1", "3", "PatientModule");
945 getAndCheckElementFromDataset(dataset, StrainNomenclature, "1", "3", "PatientModule");
946 StrainCodeSequence.read(dataset, "1-n", "3", "PatientModule");
947 getAndCheckElementFromDataset(dataset, StrainAdditionalInformation, "1", "3", "PatientModule");
948 StrainStockSequence.read(dataset, "1-n", "3", "PatientModule");
949 GeneticModificationsSequence.read(dataset, "1-n", "3", "PatientModule");
950 getAndCheckElementFromDataset(dataset, ResponsiblePerson, "1", "2C", "PatientModule");
951 getAndCheckElementFromDataset(dataset, ResponsiblePersonRole, "1", "1C", "PatientModule");
952 getAndCheckElementFromDataset(dataset, ResponsibleOrganization, "1", "2C", "PatientModule");
953 getAndCheckElementFromDataset(dataset, PatientIdentityRemoved, "1", "3", "PatientModule");
954 getAndCheckElementFromDataset(dataset, DeidentificationMethod, "1-n", "1C", "PatientModule");
955 DeidentificationMethodCodeSequence.read(dataset, "1-n", "1C", "PatientModule");
956 SourcePatientGroupIdentificationSequence.read(dataset, "1-n", "3", "PatientModule");
957 GroupOfPatientsIdentificationSequence.read(dataset, "1-n", "3", "PatientModule");
958
959 // --- ClinicalTrialSubjectModule (U) ---
960 if (dataset.tagExists(DCM_ClinicalTrialSponsorName) ||
961 dataset.tagExists(DCM_ClinicalTrialProtocolID) ||
962 dataset.tagExists(DCM_ClinicalTrialProtocolName) ||
963 dataset.tagExists(DCM_ClinicalTrialSiteID) ||
964 dataset.tagExists(DCM_ClinicalTrialSiteName))
965 {
966 getAndCheckElementFromDataset(dataset, ClinicalTrialSponsorName, "1", "1", "ClinicalTrialSubjectModule");
967 getAndCheckElementFromDataset(dataset, ClinicalTrialProtocolID, "1", "1", "ClinicalTrialSubjectModule");
968 getAndCheckElementFromDataset(dataset, ClinicalTrialProtocolName, "1", "2", "ClinicalTrialSubjectModule");
969 getAndCheckElementFromDataset(dataset, ClinicalTrialSiteID, "1", "2", "ClinicalTrialSubjectModule");
970 getAndCheckElementFromDataset(dataset, ClinicalTrialSiteName, "1", "2", "ClinicalTrialSubjectModule");
971 getAndCheckElementFromDataset(dataset, ClinicalTrialSubjectID, "1", "1C", "ClinicalTrialSubjectModule");
972 getAndCheckElementFromDataset(dataset, ClinicalTrialSubjectReadingID, "1", "1C", "ClinicalTrialSubjectModule");
973 getAndCheckElementFromDataset(dataset, ClinicalTrialProtocolEthicsCommitteeName, "1", "1C", "ClinicalTrialSubjectModule");
974 getAndCheckElementFromDataset(dataset, ClinicalTrialProtocolEthicsCommitteeApprovalNumber, "1", "3", "ClinicalTrialSubjectModule");
975 }
976 return result;
977 }
978
979
readStudyData(DcmItem & dataset)980 OFCondition DRTStructureSetIOD::readStudyData(DcmItem &dataset)
981 {
982 /* read data from PatientIE */
983 OFCondition result = readPatientData(dataset);
984 if (result.good())
985 {
986 // --- GeneralStudyModule (M) ---
987 getAndCheckElementFromDataset(dataset, StudyInstanceUID, "1", "1", "GeneralStudyModule");
988 getAndCheckElementFromDataset(dataset, StudyDate, "1", "2", "GeneralStudyModule");
989 getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule");
990 getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule");
991 ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
992 getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule");
993 ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
994 getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule");
995 getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule");
996 IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
997 getAndCheckElementFromDataset(dataset, StudyDescription, "1", "3", "GeneralStudyModule");
998 getAndCheckElementFromDataset(dataset, PhysiciansOfRecord, "1-n", "3", "GeneralStudyModule");
999 PhysiciansOfRecordIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1000 getAndCheckElementFromDataset(dataset, NameOfPhysiciansReadingStudy, "1-n", "3", "GeneralStudyModule");
1001 PhysiciansReadingStudyIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1002 RequestingServiceCodeSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1003 ReferencedStudySequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1004 ProcedureCodeSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1005 ReasonForPerformedProcedureCodeSequence.read(dataset, "1-n", "3", "GeneralStudyModule");
1006
1007 // --- PatientStudyModule (U) ---
1008 getAndCheckElementFromDataset(dataset, AdmittingDiagnosesDescription, "1-n", "3", "PatientStudyModule");
1009 AdmittingDiagnosesCodeSequence.read(dataset, "1-n", "3", "PatientStudyModule");
1010 getAndCheckElementFromDataset(dataset, PatientAge, "1", "3", "PatientStudyModule");
1011 getAndCheckElementFromDataset(dataset, PatientSize, "1", "3", "PatientStudyModule");
1012 getAndCheckElementFromDataset(dataset, PatientWeight, "1", "3", "PatientStudyModule");
1013 getAndCheckElementFromDataset(dataset, PatientBodyMassIndex, "1", "3", "PatientStudyModule");
1014 getAndCheckElementFromDataset(dataset, MeasuredAPDimension, "1", "3", "PatientStudyModule");
1015 getAndCheckElementFromDataset(dataset, MeasuredLateralDimension, "1", "3", "PatientStudyModule");
1016 PatientSizeCodeSequence.read(dataset, "1-n", "3", "PatientStudyModule");
1017 getAndCheckElementFromDataset(dataset, MedicalAlerts, "1-n", "3", "PatientStudyModule");
1018 getAndCheckElementFromDataset(dataset, Allergies, "1-n", "3", "PatientStudyModule");
1019 getAndCheckElementFromDataset(dataset, SmokingStatus, "1", "3", "PatientStudyModule");
1020 getAndCheckElementFromDataset(dataset, PregnancyStatus, "1", "3", "PatientStudyModule");
1021 getAndCheckElementFromDataset(dataset, LastMenstrualDate, "1", "3", "PatientStudyModule");
1022 getAndCheckElementFromDataset(dataset, PatientState, "1", "3", "PatientStudyModule");
1023 getAndCheckElementFromDataset(dataset, Occupation, "1", "3", "PatientStudyModule");
1024 getAndCheckElementFromDataset(dataset, AdditionalPatientHistory, "1", "3", "PatientStudyModule");
1025 getAndCheckElementFromDataset(dataset, AdmissionID, "1", "3", "PatientStudyModule");
1026 IssuerOfAdmissionIDSequence.read(dataset, "1-n", "3", "PatientStudyModule");
1027 getAndCheckElementFromDataset(dataset, ServiceEpisodeID, "1", "3", "PatientStudyModule");
1028 IssuerOfServiceEpisodeIDSequence.read(dataset, "1-n", "3", "PatientStudyModule");
1029 getAndCheckElementFromDataset(dataset, ServiceEpisodeDescription, "1", "3", "PatientStudyModule");
1030 getAndCheckElementFromDataset(dataset, PatientSexNeutered, "1", "2C", "PatientStudyModule");
1031
1032 // --- ClinicalTrialStudyModule (U) ---
1033 if (dataset.tagExists(DCM_ClinicalTrialTimePointID))
1034 {
1035 getAndCheckElementFromDataset(dataset, ClinicalTrialTimePointID, "1", "2", "ClinicalTrialStudyModule");
1036 getAndCheckElementFromDataset(dataset, ClinicalTrialTimePointDescription, "1", "3", "ClinicalTrialStudyModule");
1037 getAndCheckElementFromDataset(dataset, LongitudinalTemporalOffsetFromEvent, "1", "3", "ClinicalTrialStudyModule");
1038 getAndCheckElementFromDataset(dataset, LongitudinalTemporalEventType, "1", "1C", "ClinicalTrialStudyModule");
1039 ConsentForClinicalTrialUseSequence.read(dataset, "1-n", "3", "ClinicalTrialStudyModule");
1040 }
1041 }
1042 return result;
1043 }
1044
1045
readSeriesData(DcmItem & dataset)1046 OFCondition DRTStructureSetIOD::readSeriesData(DcmItem &dataset)
1047 {
1048 /* read data from PatientIE, StudyIE */
1049 OFCondition result = readStudyData(dataset);
1050 if (result.good())
1051 {
1052 // --- RTSeriesModule (M) ---
1053 getAndCheckElementFromDataset(dataset, Modality, "1", "1", "RTSeriesModule");
1054 getAndCheckElementFromDataset(dataset, SeriesInstanceUID, "1", "1", "RTSeriesModule");
1055 getAndCheckElementFromDataset(dataset, SeriesNumber, "1", "2", "RTSeriesModule");
1056 getAndCheckElementFromDataset(dataset, SeriesDate, "1", "3", "RTSeriesModule");
1057 getAndCheckElementFromDataset(dataset, SeriesTime, "1", "3", "RTSeriesModule");
1058 getAndCheckElementFromDataset(dataset, SeriesDescription, "1", "3", "RTSeriesModule");
1059 SeriesDescriptionCodeSequence.read(dataset, "1-n", "3", "RTSeriesModule");
1060 getAndCheckElementFromDataset(dataset, OperatorsName, "1-n", "2", "RTSeriesModule");
1061 OperatorIdentificationSequence.read(dataset, "1-n", "3", "RTSeriesModule");
1062 ReferencedPerformedProcedureStepSequence.read(dataset, "1-n", "3", "RTSeriesModule");
1063 RequestAttributesSequence.read(dataset, "1-n", "3", "RTSeriesModule");
1064 getAndCheckElementFromDataset(dataset, PerformedProcedureStepID, "1", "3", "RTSeriesModule");
1065 getAndCheckElementFromDataset(dataset, PerformedProcedureStepStartDate, "1", "3", "RTSeriesModule");
1066 getAndCheckElementFromDataset(dataset, PerformedProcedureStepStartTime, "1", "3", "RTSeriesModule");
1067 getAndCheckElementFromDataset(dataset, PerformedProcedureStepEndDate, "1", "3", "RTSeriesModule");
1068 getAndCheckElementFromDataset(dataset, PerformedProcedureStepEndTime, "1", "3", "RTSeriesModule");
1069 getAndCheckElementFromDataset(dataset, PerformedProcedureStepDescription, "1", "3", "RTSeriesModule");
1070 PerformedProtocolCodeSequence.read(dataset, "1-n", "3", "RTSeriesModule");
1071 getAndCheckElementFromDataset(dataset, CommentsOnThePerformedProcedureStep, "1", "3", "RTSeriesModule");
1072
1073 // --- ClinicalTrialSeriesModule (U) ---
1074 if (dataset.tagExists(DCM_ClinicalTrialCoordinatingCenterName))
1075 {
1076 getAndCheckElementFromDataset(dataset, ClinicalTrialCoordinatingCenterName, "1", "2", "ClinicalTrialSeriesModule");
1077 getAndCheckElementFromDataset(dataset, ClinicalTrialSeriesID, "1", "3", "ClinicalTrialSeriesModule");
1078 getAndCheckElementFromDataset(dataset, ClinicalTrialSeriesDescription, "1", "3", "ClinicalTrialSeriesModule");
1079 }
1080 }
1081 return result;
1082 }
1083
1084
write(DcmItem & dataset)1085 OFCondition DRTStructureSetIOD::write(DcmItem &dataset)
1086 {
1087 OFCondition result = EC_Normal;
1088 /* only write valid objects */
1089 if (isValid())
1090 {
1091 /* update various DICOM attributes */
1092 updateAttributes();
1093
1094 // --- PatientModule (M) ---
1095 addElementToDataset(result, dataset, new DcmPersonName(PatientName), "1", "2", "PatientModule");
1096 addElementToDataset(result, dataset, new DcmLongString(PatientID), "1", "2", "PatientModule");
1097 addElementToDataset(result, dataset, new DcmLongString(IssuerOfPatientID), "1", "3", "PatientModule");
1098 if (result.good()) result = IssuerOfPatientIDQualifiersSequence.write(dataset, "1-n" ,"3", "PatientModule");
1099 addElementToDataset(result, dataset, new DcmDate(PatientBirthDate), "1", "2", "PatientModule");
1100 addElementToDataset(result, dataset, new DcmLongString(PatientBirthDateInAlternativeCalendar), "1", "3", "PatientModule");
1101 addElementToDataset(result, dataset, new DcmLongString(PatientDeathDateInAlternativeCalendar), "1", "3", "PatientModule");
1102 addElementToDataset(result, dataset, new DcmCodeString(PatientAlternativeCalendar), "1", "1C", "PatientModule");
1103 addElementToDataset(result, dataset, new DcmCodeString(PatientSex), "1", "2", "PatientModule");
1104 if (result.good()) result = ReferencedPatientPhotoSequence.write(dataset, "1-n" ,"3", "PatientModule");
1105 addElementToDataset(result, dataset, new DcmCodeString(QualityControlSubject), "1", "3", "PatientModule");
1106 if (result.good()) result = ReferencedPatientSequence.write(dataset, "1-n" ,"3", "PatientModule");
1107 addElementToDataset(result, dataset, new DcmTime(PatientBirthTime), "1", "3", "PatientModule");
1108 if (result.good()) result = OtherPatientIDsSequence.write(dataset, "1-n" ,"3", "PatientModule");
1109 addElementToDataset(result, dataset, new DcmPersonName(OtherPatientNames), "1-n", "3", "PatientModule");
1110 addElementToDataset(result, dataset, new DcmShortString(EthnicGroup), "1", "3", "PatientModule");
1111 addElementToDataset(result, dataset, new DcmLongText(PatientComments), "1", "3", "PatientModule");
1112 addElementToDataset(result, dataset, new DcmLongString(PatientSpeciesDescription), "1", "1C", "PatientModule");
1113 if (result.good()) result = PatientSpeciesCodeSequence.write(dataset, "1-n" ,"1C", "PatientModule");
1114 addElementToDataset(result, dataset, new DcmLongString(PatientBreedDescription), "1", "2C", "PatientModule");
1115 if (result.good()) result = PatientBreedCodeSequence.write(dataset, "1-n" ,"2C", "PatientModule");
1116 if (result.good()) result = BreedRegistrationSequence.write(dataset, "1-n" ,"2C", "PatientModule");
1117 addElementToDataset(result, dataset, new DcmUnlimitedCharacters(StrainDescription), "1", "3", "PatientModule");
1118 addElementToDataset(result, dataset, new DcmLongString(StrainNomenclature), "1", "3", "PatientModule");
1119 if (result.good()) result = StrainCodeSequence.write(dataset, "1-n" ,"3", "PatientModule");
1120 addElementToDataset(result, dataset, new DcmUnlimitedText(StrainAdditionalInformation), "1", "3", "PatientModule");
1121 if (result.good()) result = StrainStockSequence.write(dataset, "1-n" ,"3", "PatientModule");
1122 if (result.good()) result = GeneticModificationsSequence.write(dataset, "1-n" ,"3", "PatientModule");
1123 addElementToDataset(result, dataset, new DcmPersonName(ResponsiblePerson), "1", "2C", "PatientModule");
1124 addElementToDataset(result, dataset, new DcmCodeString(ResponsiblePersonRole), "1", "1C", "PatientModule");
1125 addElementToDataset(result, dataset, new DcmLongString(ResponsibleOrganization), "1", "2C", "PatientModule");
1126 addElementToDataset(result, dataset, new DcmCodeString(PatientIdentityRemoved), "1", "3", "PatientModule");
1127 addElementToDataset(result, dataset, new DcmLongString(DeidentificationMethod), "1-n", "1C", "PatientModule");
1128 if (result.good()) result = DeidentificationMethodCodeSequence.write(dataset, "1-n" ,"1C", "PatientModule");
1129 if (result.good()) result = SourcePatientGroupIdentificationSequence.write(dataset, "1-n" ,"3", "PatientModule");
1130 if (result.good()) result = GroupOfPatientsIdentificationSequence.write(dataset, "1-n" ,"3", "PatientModule");
1131
1132 // --- ClinicalTrialSubjectModule (U) ---
1133 if (isClinicalTrialSubjectModulePresent(OFFalse /*complete*/))
1134 {
1135 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSponsorName), "1", "1", "ClinicalTrialSubjectModule");
1136 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialProtocolID), "1", "1", "ClinicalTrialSubjectModule");
1137 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialProtocolName), "1", "2", "ClinicalTrialSubjectModule");
1138 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSiteID), "1", "2", "ClinicalTrialSubjectModule");
1139 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSiteName), "1", "2", "ClinicalTrialSubjectModule");
1140 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSubjectID), "1", "1C", "ClinicalTrialSubjectModule");
1141 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSubjectReadingID), "1", "1C", "ClinicalTrialSubjectModule");
1142 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialProtocolEthicsCommitteeName), "1", "1C", "ClinicalTrialSubjectModule");
1143 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialProtocolEthicsCommitteeApprovalNumber), "1", "3", "ClinicalTrialSubjectModule");
1144 }
1145
1146 // --- GeneralStudyModule (M) ---
1147 addElementToDataset(result, dataset, new DcmUniqueIdentifier(StudyInstanceUID), "1", "1", "GeneralStudyModule");
1148 addElementToDataset(result, dataset, new DcmDate(StudyDate), "1", "2", "GeneralStudyModule");
1149 addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule");
1150 addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule");
1151 if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1152 addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule");
1153 if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1154 addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule");
1155 addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule");
1156 if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1157 addElementToDataset(result, dataset, new DcmLongString(StudyDescription), "1", "3", "GeneralStudyModule");
1158 addElementToDataset(result, dataset, new DcmPersonName(PhysiciansOfRecord), "1-n", "3", "GeneralStudyModule");
1159 if (result.good()) result = PhysiciansOfRecordIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1160 addElementToDataset(result, dataset, new DcmPersonName(NameOfPhysiciansReadingStudy), "1-n", "3", "GeneralStudyModule");
1161 if (result.good()) result = PhysiciansReadingStudyIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1162 if (result.good()) result = RequestingServiceCodeSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1163 if (result.good()) result = ReferencedStudySequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1164 if (result.good()) result = ProcedureCodeSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1165 if (result.good()) result = ReasonForPerformedProcedureCodeSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule");
1166
1167 // --- PatientStudyModule (U) ---
1168 if (isPatientStudyModulePresent(OFFalse /*complete*/))
1169 {
1170 addElementToDataset(result, dataset, new DcmLongString(AdmittingDiagnosesDescription), "1-n", "3", "PatientStudyModule");
1171 if (result.good()) result = AdmittingDiagnosesCodeSequence.write(dataset, "1-n" ,"3", "PatientStudyModule");
1172 addElementToDataset(result, dataset, new DcmAgeString(PatientAge), "1", "3", "PatientStudyModule");
1173 addElementToDataset(result, dataset, new DcmDecimalString(PatientSize), "1", "3", "PatientStudyModule");
1174 addElementToDataset(result, dataset, new DcmDecimalString(PatientWeight), "1", "3", "PatientStudyModule");
1175 addElementToDataset(result, dataset, new DcmDecimalString(PatientBodyMassIndex), "1", "3", "PatientStudyModule");
1176 addElementToDataset(result, dataset, new DcmDecimalString(MeasuredAPDimension), "1", "3", "PatientStudyModule");
1177 addElementToDataset(result, dataset, new DcmDecimalString(MeasuredLateralDimension), "1", "3", "PatientStudyModule");
1178 if (result.good()) result = PatientSizeCodeSequence.write(dataset, "1-n" ,"3", "PatientStudyModule");
1179 addElementToDataset(result, dataset, new DcmLongString(MedicalAlerts), "1-n", "3", "PatientStudyModule");
1180 addElementToDataset(result, dataset, new DcmLongString(Allergies), "1-n", "3", "PatientStudyModule");
1181 addElementToDataset(result, dataset, new DcmCodeString(SmokingStatus), "1", "3", "PatientStudyModule");
1182 addElementToDataset(result, dataset, new DcmUnsignedShort(PregnancyStatus), "1", "3", "PatientStudyModule");
1183 addElementToDataset(result, dataset, new DcmDate(LastMenstrualDate), "1", "3", "PatientStudyModule");
1184 addElementToDataset(result, dataset, new DcmLongString(PatientState), "1", "3", "PatientStudyModule");
1185 addElementToDataset(result, dataset, new DcmShortString(Occupation), "1", "3", "PatientStudyModule");
1186 addElementToDataset(result, dataset, new DcmLongText(AdditionalPatientHistory), "1", "3", "PatientStudyModule");
1187 addElementToDataset(result, dataset, new DcmLongString(AdmissionID), "1", "3", "PatientStudyModule");
1188 if (result.good()) result = IssuerOfAdmissionIDSequence.write(dataset, "1-n" ,"3", "PatientStudyModule");
1189 addElementToDataset(result, dataset, new DcmLongString(ServiceEpisodeID), "1", "3", "PatientStudyModule");
1190 if (result.good()) result = IssuerOfServiceEpisodeIDSequence.write(dataset, "1-n" ,"3", "PatientStudyModule");
1191 addElementToDataset(result, dataset, new DcmLongString(ServiceEpisodeDescription), "1", "3", "PatientStudyModule");
1192 addElementToDataset(result, dataset, new DcmCodeString(PatientSexNeutered), "1", "2C", "PatientStudyModule");
1193 }
1194
1195 // --- ClinicalTrialStudyModule (U) ---
1196 if (isClinicalTrialStudyModulePresent(OFFalse /*complete*/))
1197 {
1198 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialTimePointID), "1", "2", "ClinicalTrialStudyModule");
1199 addElementToDataset(result, dataset, new DcmShortText(ClinicalTrialTimePointDescription), "1", "3", "ClinicalTrialStudyModule");
1200 addElementToDataset(result, dataset, new DcmFloatingPointDouble(LongitudinalTemporalOffsetFromEvent), "1", "3", "ClinicalTrialStudyModule");
1201 addElementToDataset(result, dataset, new DcmCodeString(LongitudinalTemporalEventType), "1", "1C", "ClinicalTrialStudyModule");
1202 if (result.good()) result = ConsentForClinicalTrialUseSequence.write(dataset, "1-n" ,"3", "ClinicalTrialStudyModule");
1203 }
1204
1205 // --- RTSeriesModule (M) ---
1206 addElementToDataset(result, dataset, new DcmCodeString(Modality), "1", "1", "RTSeriesModule");
1207 addElementToDataset(result, dataset, new DcmUniqueIdentifier(SeriesInstanceUID), "1", "1", "RTSeriesModule");
1208 addElementToDataset(result, dataset, new DcmIntegerString(SeriesNumber), "1", "2", "RTSeriesModule");
1209 addElementToDataset(result, dataset, new DcmDate(SeriesDate), "1", "3", "RTSeriesModule");
1210 addElementToDataset(result, dataset, new DcmTime(SeriesTime), "1", "3", "RTSeriesModule");
1211 addElementToDataset(result, dataset, new DcmLongString(SeriesDescription), "1", "3", "RTSeriesModule");
1212 if (result.good()) result = SeriesDescriptionCodeSequence.write(dataset, "1-n" ,"3", "RTSeriesModule");
1213 addElementToDataset(result, dataset, new DcmPersonName(OperatorsName), "1-n", "2", "RTSeriesModule");
1214 if (result.good()) result = OperatorIdentificationSequence.write(dataset, "1-n" ,"3", "RTSeriesModule");
1215 if (result.good()) result = ReferencedPerformedProcedureStepSequence.write(dataset, "1-n" ,"3", "RTSeriesModule");
1216 if (result.good()) result = RequestAttributesSequence.write(dataset, "1-n" ,"3", "RTSeriesModule");
1217 addElementToDataset(result, dataset, new DcmShortString(PerformedProcedureStepID), "1", "3", "RTSeriesModule");
1218 addElementToDataset(result, dataset, new DcmDate(PerformedProcedureStepStartDate), "1", "3", "RTSeriesModule");
1219 addElementToDataset(result, dataset, new DcmTime(PerformedProcedureStepStartTime), "1", "3", "RTSeriesModule");
1220 addElementToDataset(result, dataset, new DcmDate(PerformedProcedureStepEndDate), "1", "3", "RTSeriesModule");
1221 addElementToDataset(result, dataset, new DcmTime(PerformedProcedureStepEndTime), "1", "3", "RTSeriesModule");
1222 addElementToDataset(result, dataset, new DcmLongString(PerformedProcedureStepDescription), "1", "3", "RTSeriesModule");
1223 if (result.good()) result = PerformedProtocolCodeSequence.write(dataset, "1-n" ,"3", "RTSeriesModule");
1224 addElementToDataset(result, dataset, new DcmShortText(CommentsOnThePerformedProcedureStep), "1", "3", "RTSeriesModule");
1225
1226 // --- ClinicalTrialSeriesModule (U) ---
1227 if (isClinicalTrialSeriesModulePresent(OFFalse /*complete*/))
1228 {
1229 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialCoordinatingCenterName), "1", "2", "ClinicalTrialSeriesModule");
1230 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSeriesID), "1", "3", "ClinicalTrialSeriesModule");
1231 addElementToDataset(result, dataset, new DcmLongString(ClinicalTrialSeriesDescription), "1", "3", "ClinicalTrialSeriesModule");
1232 }
1233
1234 // --- GeneralEquipmentModule (M) ---
1235 addElementToDataset(result, dataset, new DcmLongString(Manufacturer), "1", "2", "GeneralEquipmentModule");
1236 addElementToDataset(result, dataset, new DcmLongString(InstitutionName), "1", "3", "GeneralEquipmentModule");
1237 addElementToDataset(result, dataset, new DcmShortText(InstitutionAddress), "1", "3", "GeneralEquipmentModule");
1238 addElementToDataset(result, dataset, new DcmShortString(StationName), "1", "3", "GeneralEquipmentModule");
1239 addElementToDataset(result, dataset, new DcmLongString(InstitutionalDepartmentName), "1", "3", "GeneralEquipmentModule");
1240 addElementToDataset(result, dataset, new DcmLongString(ManufacturerModelName), "1", "3", "GeneralEquipmentModule");
1241 addElementToDataset(result, dataset, new DcmLongString(DeviceSerialNumber), "1", "3", "GeneralEquipmentModule");
1242 addElementToDataset(result, dataset, new DcmLongString(SoftwareVersions), "1-n", "3", "GeneralEquipmentModule");
1243 addElementToDataset(result, dataset, new DcmLongString(GantryID), "1", "3", "GeneralEquipmentModule");
1244 if (result.good()) result = UDISequence.write(dataset, "1-n" ,"3", "GeneralEquipmentModule");
1245 addElementToDataset(result, dataset, new DcmDecimalString(SpatialResolution), "1", "3", "GeneralEquipmentModule");
1246 addElementToDataset(result, dataset, new DcmDate(DateOfLastCalibration), "1-n", "3", "GeneralEquipmentModule");
1247 addElementToDataset(result, dataset, new DcmTime(TimeOfLastCalibration), "1-n", "3", "GeneralEquipmentModule");
1248 addElementToDataset(result, dataset, new DcmUnsignedShort(PixelPaddingValue), "1", "1C", "GeneralEquipmentModule");
1249
1250 // --- FrameOfReferenceModule (U) ---
1251 if (isFrameOfReferenceModulePresent(OFFalse /*complete*/))
1252 {
1253 addElementToDataset(result, dataset, new DcmUniqueIdentifier(FrameOfReferenceUID), "1", "1", "FrameOfReferenceModule");
1254 addElementToDataset(result, dataset, new DcmLongString(PositionReferenceIndicator), "1", "2", "FrameOfReferenceModule");
1255 }
1256
1257 // --- StructureSetModule (M) ---
1258 addElementToDataset(result, dataset, new DcmShortString(StructureSetLabel), "1", "1", "StructureSetModule");
1259 addElementToDataset(result, dataset, new DcmLongString(StructureSetName), "1", "3", "StructureSetModule");
1260 addElementToDataset(result, dataset, new DcmShortText(StructureSetDescription), "1", "3", "StructureSetModule");
1261 addElementToDataset(result, dataset, new DcmIntegerString(InstanceNumber), "1", "3", "StructureSetModule");
1262 addElementToDataset(result, dataset, new DcmDate(StructureSetDate), "1", "2", "StructureSetModule");
1263 addElementToDataset(result, dataset, new DcmTime(StructureSetTime), "1", "2", "StructureSetModule");
1264 if (result.good()) result = ReferencedFrameOfReferenceSequence.write(dataset, "1-n" ,"3", "StructureSetModule");
1265 if (result.good()) result = StructureSetROISequence.write(dataset, "1-n" ,"1", "StructureSetModule");
1266 if (result.good()) result = PredecessorStructureSetSequence.write(dataset, "1-n" ,"3", "StructureSetModule");
1267
1268 // --- ROIContourModule (M) ---
1269 if (result.good()) result = ROIContourSequence.write(dataset, "1-n" ,"1", "ROIContourModule");
1270
1271 // --- RTROIObservationsModule (M) ---
1272 if (result.good()) result = RTROIObservationsSequence.write(dataset, "1-n" ,"1", "RTROIObservationsModule");
1273
1274 // --- ApprovalModule (U) ---
1275 if (isApprovalModulePresent(OFFalse /*complete*/))
1276 {
1277 addElementToDataset(result, dataset, new DcmCodeString(ApprovalStatus), "1", "1", "ApprovalModule");
1278 addElementToDataset(result, dataset, new DcmDate(ReviewDate), "1", "2C", "ApprovalModule");
1279 addElementToDataset(result, dataset, new DcmTime(ReviewTime), "1", "2C", "ApprovalModule");
1280 addElementToDataset(result, dataset, new DcmPersonName(ReviewerName), "1", "2C", "ApprovalModule");
1281 }
1282
1283 // --- GeneralReferenceModule (U) ---
1284 if (isGeneralReferenceModulePresent(OFFalse /*complete*/))
1285 {
1286 if (result.good()) result = ReferencedImageSequence.write(dataset, "1-n" ,"3", "GeneralReferenceModule");
1287 if (result.good()) result = ReferencedInstanceSequence.write(dataset, "1-n" ,"3", "GeneralReferenceModule");
1288 addElementToDataset(result, dataset, new DcmShortText(DerivationDescription), "1", "3", "GeneralReferenceModule");
1289 if (result.good()) result = DerivationCodeSequence.write(dataset, "1-n" ,"3", "GeneralReferenceModule");
1290 if (result.good()) result = SourceImageSequence.write(dataset, "1-n" ,"3", "GeneralReferenceModule");
1291 if (result.good()) result = SourceInstanceSequence.write(dataset, "1-n" ,"3", "GeneralReferenceModule");
1292 }
1293
1294 // --- SOPCommonModule (M) ---
1295 addElementToDataset(result, dataset, new DcmUniqueIdentifier(SOPClassUID), "1", "1", "SOPCommonModule");
1296 addElementToDataset(result, dataset, new DcmUniqueIdentifier(SOPInstanceUID), "1", "1", "SOPCommonModule");
1297 addElementToDataset(result, dataset, new DcmCodeString(SpecificCharacterSet), "1-n", "1C", "SOPCommonModule");
1298 addElementToDataset(result, dataset, new DcmDate(InstanceCreationDate), "1", "3", "SOPCommonModule");
1299 addElementToDataset(result, dataset, new DcmTime(InstanceCreationTime), "1", "3", "SOPCommonModule");
1300 addElementToDataset(result, dataset, new DcmDateTime(InstanceCoercionDateTime), "1", "3", "SOPCommonModule");
1301 addElementToDataset(result, dataset, new DcmUniqueIdentifier(InstanceCreatorUID), "1", "3", "SOPCommonModule");
1302 addElementToDataset(result, dataset, new DcmUniqueIdentifier(RelatedGeneralSOPClassUID), "1-n", "3", "SOPCommonModule");
1303 addElementToDataset(result, dataset, new DcmUniqueIdentifier(OriginalSpecializedSOPClassUID), "1", "3", "SOPCommonModule");
1304 if (result.good()) result = CodingSchemeIdentificationSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1305 if (result.good()) result = ContextGroupIdentificationSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1306 if (result.good()) result = MappingResourceIdentificationSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1307 addElementToDataset(result, dataset, new DcmShortString(TimezoneOffsetFromUTC), "1", "3", "SOPCommonModule");
1308 if (result.good()) result = ContributingEquipmentSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1309 // addElementToDataset(result, dataset, new DcmIntegerString(InstanceNumber), "1", "3", "SOPCommonModule");
1310 addElementToDataset(result, dataset, new DcmCodeString(SOPInstanceStatus), "1", "3", "SOPCommonModule");
1311 addElementToDataset(result, dataset, new DcmDateTime(SOPAuthorizationDateTime), "1", "3", "SOPCommonModule");
1312 addElementToDataset(result, dataset, new DcmLongText(SOPAuthorizationComment), "1", "3", "SOPCommonModule");
1313 addElementToDataset(result, dataset, new DcmLongString(AuthorizationEquipmentCertificationNumber), "1", "3", "SOPCommonModule");
1314 if (result.good()) result = MACParametersSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1315 if (result.good()) result = DigitalSignaturesSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1316 if (result.good()) result = EncryptedAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
1317 if (result.good()) result = OriginalAttributesSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1318 if (result.good()) result = HL7StructuredDocumentReferenceSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
1319 addElementToDataset(result, dataset, new DcmCodeString(LongitudinalTemporalInformationModified), "1", "3", "SOPCommonModule");
1320 addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule");
1321 if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule");
1322 addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule");
1323 if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule");
1324
1325 // --- CommonInstanceReferenceModule (U) ---
1326 if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/))
1327 {
1328 if (result.good()) result = ReferencedSeriesSequence.write(dataset, "1-n" ,"1C", "CommonInstanceReferenceModule");
1329 if (result.good()) result = StudiesContainingOtherReferencedInstancesSequence.write(dataset, "1-n" ,"1C", "CommonInstanceReferenceModule");
1330 }
1331 } else
1332 result = RT_EC_InvalidObject;
1333 return result;
1334 }
1335
1336
isClinicalTrialSubjectModulePresent(const OFBool complete)1337 OFBool DRTStructureSetIOD::isClinicalTrialSubjectModulePresent(const OFBool complete)
1338 {
1339 if (complete)
1340 {
1341 /* check whether all mandatory attributes are present */
1342 return !ClinicalTrialSponsorName.isEmpty() &&
1343 !ClinicalTrialProtocolID.isEmpty();
1344 } else {
1345 /* check whether at least one attribute is present */
1346 return !ClinicalTrialSponsorName.isEmpty() ||
1347 !ClinicalTrialProtocolID.isEmpty() ||
1348 !ClinicalTrialProtocolName.isEmpty() ||
1349 !ClinicalTrialSiteID.isEmpty() ||
1350 !ClinicalTrialSiteName.isEmpty() ||
1351 !ClinicalTrialSubjectID.isEmpty() ||
1352 !ClinicalTrialSubjectReadingID.isEmpty() ||
1353 !ClinicalTrialProtocolEthicsCommitteeName.isEmpty() ||
1354 !ClinicalTrialProtocolEthicsCommitteeApprovalNumber.isEmpty();
1355 }
1356 }
1357
1358
isPatientStudyModulePresent(const OFBool)1359 OFBool DRTStructureSetIOD::isPatientStudyModulePresent(const OFBool /*complete*/)
1360 {
1361 /* check whether at least one attribute is present */
1362 return !AdmittingDiagnosesDescription.isEmpty() ||
1363 !AdmittingDiagnosesCodeSequence.isEmpty() ||
1364 !PatientAge.isEmpty() ||
1365 !PatientSize.isEmpty() ||
1366 !PatientWeight.isEmpty() ||
1367 !PatientBodyMassIndex.isEmpty() ||
1368 !MeasuredAPDimension.isEmpty() ||
1369 !MeasuredLateralDimension.isEmpty() ||
1370 !PatientSizeCodeSequence.isEmpty() ||
1371 !MedicalAlerts.isEmpty() ||
1372 !Allergies.isEmpty() ||
1373 !SmokingStatus.isEmpty() ||
1374 !PregnancyStatus.isEmpty() ||
1375 !LastMenstrualDate.isEmpty() ||
1376 !PatientState.isEmpty() ||
1377 !Occupation.isEmpty() ||
1378 !AdditionalPatientHistory.isEmpty() ||
1379 !AdmissionID.isEmpty() ||
1380 !IssuerOfAdmissionIDSequence.isEmpty() ||
1381 !ServiceEpisodeID.isEmpty() ||
1382 !IssuerOfServiceEpisodeIDSequence.isEmpty() ||
1383 !ServiceEpisodeDescription.isEmpty() ||
1384 !PatientSexNeutered.isEmpty();
1385 }
1386
1387
isClinicalTrialStudyModulePresent(const OFBool)1388 OFBool DRTStructureSetIOD::isClinicalTrialStudyModulePresent(const OFBool /*complete*/)
1389 {
1390 /* check whether at least one attribute is present */
1391 return !ClinicalTrialTimePointID.isEmpty() ||
1392 !ClinicalTrialTimePointDescription.isEmpty() ||
1393 !LongitudinalTemporalOffsetFromEvent.isEmpty() ||
1394 !LongitudinalTemporalEventType.isEmpty() ||
1395 !ConsentForClinicalTrialUseSequence.isEmpty();
1396 }
1397
1398
isClinicalTrialSeriesModulePresent(const OFBool)1399 OFBool DRTStructureSetIOD::isClinicalTrialSeriesModulePresent(const OFBool /*complete*/)
1400 {
1401 /* check whether at least one attribute is present */
1402 return !ClinicalTrialCoordinatingCenterName.isEmpty() ||
1403 !ClinicalTrialSeriesID.isEmpty() ||
1404 !ClinicalTrialSeriesDescription.isEmpty();
1405 }
1406
1407
isFrameOfReferenceModulePresent(const OFBool complete)1408 OFBool DRTStructureSetIOD::isFrameOfReferenceModulePresent(const OFBool complete)
1409 {
1410 if (complete)
1411 {
1412 /* check whether all mandatory attributes are present */
1413 return !FrameOfReferenceUID.isEmpty();
1414 } else {
1415 /* check whether at least one attribute is present */
1416 return !FrameOfReferenceUID.isEmpty() ||
1417 !PositionReferenceIndicator.isEmpty();
1418 }
1419 }
1420
1421
isApprovalModulePresent(const OFBool complete)1422 OFBool DRTStructureSetIOD::isApprovalModulePresent(const OFBool complete)
1423 {
1424 if (complete)
1425 {
1426 /* check whether all mandatory attributes are present */
1427 return !ApprovalStatus.isEmpty();
1428 } else {
1429 /* check whether at least one attribute is present */
1430 return !ApprovalStatus.isEmpty() ||
1431 !ReviewDate.isEmpty() ||
1432 !ReviewTime.isEmpty() ||
1433 !ReviewerName.isEmpty();
1434 }
1435 }
1436
1437
isGeneralReferenceModulePresent(const OFBool)1438 OFBool DRTStructureSetIOD::isGeneralReferenceModulePresent(const OFBool /*complete*/)
1439 {
1440 /* check whether at least one attribute is present */
1441 return !ReferencedImageSequence.isEmpty() ||
1442 !ReferencedInstanceSequence.isEmpty() ||
1443 !DerivationDescription.isEmpty() ||
1444 !DerivationCodeSequence.isEmpty() ||
1445 !SourceImageSequence.isEmpty() ||
1446 !SourceInstanceSequence.isEmpty();
1447 }
1448
1449
isCommonInstanceReferenceModulePresent(const OFBool)1450 OFBool DRTStructureSetIOD::isCommonInstanceReferenceModulePresent(const OFBool /*complete*/)
1451 {
1452 /* check whether at least one attribute is present */
1453 return !ReferencedSeriesSequence.isEmpty() ||
1454 !StudiesContainingOtherReferencedInstancesSequence.isEmpty();
1455 }
1456
1457
getAccessionNumber(OFString & value,const signed long pos) const1458 OFCondition DRTStructureSetIOD::getAccessionNumber(OFString &value, const signed long pos) const
1459 {
1460 return getStringValueFromElement(AccessionNumber, value, pos);
1461 }
1462
1463
getAdditionalPatientHistory(OFString & value,const signed long pos) const1464 OFCondition DRTStructureSetIOD::getAdditionalPatientHistory(OFString &value, const signed long pos) const
1465 {
1466 return getStringValueFromElement(AdditionalPatientHistory, value, pos);
1467 }
1468
1469
getAdmissionID(OFString & value,const signed long pos) const1470 OFCondition DRTStructureSetIOD::getAdmissionID(OFString &value, const signed long pos) const
1471 {
1472 return getStringValueFromElement(AdmissionID, value, pos);
1473 }
1474
1475
getAdmittingDiagnosesDescription(OFString & value,const signed long pos) const1476 OFCondition DRTStructureSetIOD::getAdmittingDiagnosesDescription(OFString &value, const signed long pos) const
1477 {
1478 return getStringValueFromElement(AdmittingDiagnosesDescription, value, pos);
1479 }
1480
1481
getAllergies(OFString & value,const signed long pos) const1482 OFCondition DRTStructureSetIOD::getAllergies(OFString &value, const signed long pos) const
1483 {
1484 return getStringValueFromElement(Allergies, value, pos);
1485 }
1486
1487
getApprovalStatus(OFString & value,const signed long pos) const1488 OFCondition DRTStructureSetIOD::getApprovalStatus(OFString &value, const signed long pos) const
1489 {
1490 return getStringValueFromElement(ApprovalStatus, value, pos);
1491 }
1492
1493
getAuthorizationEquipmentCertificationNumber(OFString & value,const signed long pos) const1494 OFCondition DRTStructureSetIOD::getAuthorizationEquipmentCertificationNumber(OFString &value, const signed long pos) const
1495 {
1496 return getStringValueFromElement(AuthorizationEquipmentCertificationNumber, value, pos);
1497 }
1498
1499
getClinicalTrialCoordinatingCenterName(OFString & value,const signed long pos) const1500 OFCondition DRTStructureSetIOD::getClinicalTrialCoordinatingCenterName(OFString &value, const signed long pos) const
1501 {
1502 return getStringValueFromElement(ClinicalTrialCoordinatingCenterName, value, pos);
1503 }
1504
1505
getClinicalTrialProtocolEthicsCommitteeApprovalNumber(OFString & value,const signed long pos) const1506 OFCondition DRTStructureSetIOD::getClinicalTrialProtocolEthicsCommitteeApprovalNumber(OFString &value, const signed long pos) const
1507 {
1508 return getStringValueFromElement(ClinicalTrialProtocolEthicsCommitteeApprovalNumber, value, pos);
1509 }
1510
1511
getClinicalTrialProtocolEthicsCommitteeName(OFString & value,const signed long pos) const1512 OFCondition DRTStructureSetIOD::getClinicalTrialProtocolEthicsCommitteeName(OFString &value, const signed long pos) const
1513 {
1514 return getStringValueFromElement(ClinicalTrialProtocolEthicsCommitteeName, value, pos);
1515 }
1516
1517
getClinicalTrialProtocolID(OFString & value,const signed long pos) const1518 OFCondition DRTStructureSetIOD::getClinicalTrialProtocolID(OFString &value, const signed long pos) const
1519 {
1520 return getStringValueFromElement(ClinicalTrialProtocolID, value, pos);
1521 }
1522
1523
getClinicalTrialProtocolName(OFString & value,const signed long pos) const1524 OFCondition DRTStructureSetIOD::getClinicalTrialProtocolName(OFString &value, const signed long pos) const
1525 {
1526 return getStringValueFromElement(ClinicalTrialProtocolName, value, pos);
1527 }
1528
1529
getClinicalTrialSeriesDescription(OFString & value,const signed long pos) const1530 OFCondition DRTStructureSetIOD::getClinicalTrialSeriesDescription(OFString &value, const signed long pos) const
1531 {
1532 return getStringValueFromElement(ClinicalTrialSeriesDescription, value, pos);
1533 }
1534
1535
getClinicalTrialSeriesID(OFString & value,const signed long pos) const1536 OFCondition DRTStructureSetIOD::getClinicalTrialSeriesID(OFString &value, const signed long pos) const
1537 {
1538 return getStringValueFromElement(ClinicalTrialSeriesID, value, pos);
1539 }
1540
1541
getClinicalTrialSiteID(OFString & value,const signed long pos) const1542 OFCondition DRTStructureSetIOD::getClinicalTrialSiteID(OFString &value, const signed long pos) const
1543 {
1544 return getStringValueFromElement(ClinicalTrialSiteID, value, pos);
1545 }
1546
1547
getClinicalTrialSiteName(OFString & value,const signed long pos) const1548 OFCondition DRTStructureSetIOD::getClinicalTrialSiteName(OFString &value, const signed long pos) const
1549 {
1550 return getStringValueFromElement(ClinicalTrialSiteName, value, pos);
1551 }
1552
1553
getClinicalTrialSponsorName(OFString & value,const signed long pos) const1554 OFCondition DRTStructureSetIOD::getClinicalTrialSponsorName(OFString &value, const signed long pos) const
1555 {
1556 return getStringValueFromElement(ClinicalTrialSponsorName, value, pos);
1557 }
1558
1559
getClinicalTrialSubjectID(OFString & value,const signed long pos) const1560 OFCondition DRTStructureSetIOD::getClinicalTrialSubjectID(OFString &value, const signed long pos) const
1561 {
1562 return getStringValueFromElement(ClinicalTrialSubjectID, value, pos);
1563 }
1564
1565
getClinicalTrialSubjectReadingID(OFString & value,const signed long pos) const1566 OFCondition DRTStructureSetIOD::getClinicalTrialSubjectReadingID(OFString &value, const signed long pos) const
1567 {
1568 return getStringValueFromElement(ClinicalTrialSubjectReadingID, value, pos);
1569 }
1570
1571
getClinicalTrialTimePointDescription(OFString & value,const signed long pos) const1572 OFCondition DRTStructureSetIOD::getClinicalTrialTimePointDescription(OFString &value, const signed long pos) const
1573 {
1574 return getStringValueFromElement(ClinicalTrialTimePointDescription, value, pos);
1575 }
1576
1577
getClinicalTrialTimePointID(OFString & value,const signed long pos) const1578 OFCondition DRTStructureSetIOD::getClinicalTrialTimePointID(OFString &value, const signed long pos) const
1579 {
1580 return getStringValueFromElement(ClinicalTrialTimePointID, value, pos);
1581 }
1582
1583
getCommentsOnThePerformedProcedureStep(OFString & value,const signed long pos) const1584 OFCondition DRTStructureSetIOD::getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos) const
1585 {
1586 return getStringValueFromElement(CommentsOnThePerformedProcedureStep, value, pos);
1587 }
1588
1589
getConsultingPhysicianName(OFString & value,const signed long pos) const1590 OFCondition DRTStructureSetIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const
1591 {
1592 return getStringValueFromElement(ConsultingPhysicianName, value, pos);
1593 }
1594
1595
getContentQualification(OFString & value,const signed long pos) const1596 OFCondition DRTStructureSetIOD::getContentQualification(OFString &value, const signed long pos) const
1597 {
1598 return getStringValueFromElement(ContentQualification, value, pos);
1599 }
1600
1601
getDateOfLastCalibration(OFString & value,const signed long pos) const1602 OFCondition DRTStructureSetIOD::getDateOfLastCalibration(OFString &value, const signed long pos) const
1603 {
1604 return getStringValueFromElement(DateOfLastCalibration, value, pos);
1605 }
1606
1607
getDeidentificationMethod(OFString & value,const signed long pos) const1608 OFCondition DRTStructureSetIOD::getDeidentificationMethod(OFString &value, const signed long pos) const
1609 {
1610 return getStringValueFromElement(DeidentificationMethod, value, pos);
1611 }
1612
1613
getDerivationDescription(OFString & value,const signed long pos) const1614 OFCondition DRTStructureSetIOD::getDerivationDescription(OFString &value, const signed long pos) const
1615 {
1616 return getStringValueFromElement(DerivationDescription, value, pos);
1617 }
1618
1619
getDeviceSerialNumber(OFString & value,const signed long pos) const1620 OFCondition DRTStructureSetIOD::getDeviceSerialNumber(OFString &value, const signed long pos) const
1621 {
1622 return getStringValueFromElement(DeviceSerialNumber, value, pos);
1623 }
1624
1625
getEthnicGroup(OFString & value,const signed long pos) const1626 OFCondition DRTStructureSetIOD::getEthnicGroup(OFString &value, const signed long pos) const
1627 {
1628 return getStringValueFromElement(EthnicGroup, value, pos);
1629 }
1630
1631
getFrameOfReferenceUID(OFString & value,const signed long pos) const1632 OFCondition DRTStructureSetIOD::getFrameOfReferenceUID(OFString &value, const signed long pos) const
1633 {
1634 return getStringValueFromElement(FrameOfReferenceUID, value, pos);
1635 }
1636
1637
getGantryID(OFString & value,const signed long pos) const1638 OFCondition DRTStructureSetIOD::getGantryID(OFString &value, const signed long pos) const
1639 {
1640 return getStringValueFromElement(GantryID, value, pos);
1641 }
1642
1643
getInstanceCoercionDateTime(OFString & value,const signed long pos) const1644 OFCondition DRTStructureSetIOD::getInstanceCoercionDateTime(OFString &value, const signed long pos) const
1645 {
1646 return getStringValueFromElement(InstanceCoercionDateTime, value, pos);
1647 }
1648
1649
getInstanceCreationDate(OFString & value,const signed long pos) const1650 OFCondition DRTStructureSetIOD::getInstanceCreationDate(OFString &value, const signed long pos) const
1651 {
1652 return getStringValueFromElement(InstanceCreationDate, value, pos);
1653 }
1654
1655
getInstanceCreationTime(OFString & value,const signed long pos) const1656 OFCondition DRTStructureSetIOD::getInstanceCreationTime(OFString &value, const signed long pos) const
1657 {
1658 return getStringValueFromElement(InstanceCreationTime, value, pos);
1659 }
1660
1661
getInstanceCreatorUID(OFString & value,const signed long pos) const1662 OFCondition DRTStructureSetIOD::getInstanceCreatorUID(OFString &value, const signed long pos) const
1663 {
1664 return getStringValueFromElement(InstanceCreatorUID, value, pos);
1665 }
1666
1667
getInstanceNumber(OFString & value,const signed long pos) const1668 OFCondition DRTStructureSetIOD::getInstanceNumber(OFString &value, const signed long pos) const
1669 {
1670 return getStringValueFromElement(InstanceNumber, value, pos);
1671 }
1672
1673
getInstanceNumber(Sint32 & value,const unsigned long pos) const1674 OFCondition DRTStructureSetIOD::getInstanceNumber(Sint32 &value, const unsigned long pos) const
1675 {
1676 return OFconst_cast(DcmIntegerString &, InstanceNumber).getSint32(value, pos);
1677 }
1678
1679
getInstitutionAddress(OFString & value,const signed long pos) const1680 OFCondition DRTStructureSetIOD::getInstitutionAddress(OFString &value, const signed long pos) const
1681 {
1682 return getStringValueFromElement(InstitutionAddress, value, pos);
1683 }
1684
1685
getInstitutionName(OFString & value,const signed long pos) const1686 OFCondition DRTStructureSetIOD::getInstitutionName(OFString &value, const signed long pos) const
1687 {
1688 return getStringValueFromElement(InstitutionName, value, pos);
1689 }
1690
1691
getInstitutionalDepartmentName(OFString & value,const signed long pos) const1692 OFCondition DRTStructureSetIOD::getInstitutionalDepartmentName(OFString &value, const signed long pos) const
1693 {
1694 return getStringValueFromElement(InstitutionalDepartmentName, value, pos);
1695 }
1696
1697
getIssuerOfPatientID(OFString & value,const signed long pos) const1698 OFCondition DRTStructureSetIOD::getIssuerOfPatientID(OFString &value, const signed long pos) const
1699 {
1700 return getStringValueFromElement(IssuerOfPatientID, value, pos);
1701 }
1702
1703
getLastMenstrualDate(OFString & value,const signed long pos) const1704 OFCondition DRTStructureSetIOD::getLastMenstrualDate(OFString &value, const signed long pos) const
1705 {
1706 return getStringValueFromElement(LastMenstrualDate, value, pos);
1707 }
1708
1709
getLongitudinalTemporalEventType(OFString & value,const signed long pos) const1710 OFCondition DRTStructureSetIOD::getLongitudinalTemporalEventType(OFString &value, const signed long pos) const
1711 {
1712 return getStringValueFromElement(LongitudinalTemporalEventType, value, pos);
1713 }
1714
1715
getLongitudinalTemporalInformationModified(OFString & value,const signed long pos) const1716 OFCondition DRTStructureSetIOD::getLongitudinalTemporalInformationModified(OFString &value, const signed long pos) const
1717 {
1718 return getStringValueFromElement(LongitudinalTemporalInformationModified, value, pos);
1719 }
1720
1721
getLongitudinalTemporalOffsetFromEvent(Float64 & value,const unsigned long pos) const1722 OFCondition DRTStructureSetIOD::getLongitudinalTemporalOffsetFromEvent(Float64 &value, const unsigned long pos) const
1723 {
1724 return OFconst_cast(DcmFloatingPointDouble &, LongitudinalTemporalOffsetFromEvent).getFloat64(value, pos);
1725 }
1726
1727
getManufacturer(OFString & value,const signed long pos) const1728 OFCondition DRTStructureSetIOD::getManufacturer(OFString &value, const signed long pos) const
1729 {
1730 return getStringValueFromElement(Manufacturer, value, pos);
1731 }
1732
1733
getManufacturerModelName(OFString & value,const signed long pos) const1734 OFCondition DRTStructureSetIOD::getManufacturerModelName(OFString &value, const signed long pos) const
1735 {
1736 return getStringValueFromElement(ManufacturerModelName, value, pos);
1737 }
1738
1739
getMeasuredAPDimension(OFString & value,const signed long pos) const1740 OFCondition DRTStructureSetIOD::getMeasuredAPDimension(OFString &value, const signed long pos) const
1741 {
1742 return getStringValueFromElement(MeasuredAPDimension, value, pos);
1743 }
1744
1745
getMeasuredAPDimension(Float64 & value,const unsigned long pos) const1746 OFCondition DRTStructureSetIOD::getMeasuredAPDimension(Float64 &value, const unsigned long pos) const
1747 {
1748 return OFconst_cast(DcmDecimalString &, MeasuredAPDimension).getFloat64(value, pos);
1749 }
1750
1751
getMeasuredLateralDimension(OFString & value,const signed long pos) const1752 OFCondition DRTStructureSetIOD::getMeasuredLateralDimension(OFString &value, const signed long pos) const
1753 {
1754 return getStringValueFromElement(MeasuredLateralDimension, value, pos);
1755 }
1756
1757
getMeasuredLateralDimension(Float64 & value,const unsigned long pos) const1758 OFCondition DRTStructureSetIOD::getMeasuredLateralDimension(Float64 &value, const unsigned long pos) const
1759 {
1760 return OFconst_cast(DcmDecimalString &, MeasuredLateralDimension).getFloat64(value, pos);
1761 }
1762
1763
getMedicalAlerts(OFString & value,const signed long pos) const1764 OFCondition DRTStructureSetIOD::getMedicalAlerts(OFString &value, const signed long pos) const
1765 {
1766 return getStringValueFromElement(MedicalAlerts, value, pos);
1767 }
1768
1769
getModality(OFString & value,const signed long pos) const1770 OFCondition DRTStructureSetIOD::getModality(OFString &value, const signed long pos) const
1771 {
1772 return getStringValueFromElement(Modality, value, pos);
1773 }
1774
1775
getNameOfPhysiciansReadingStudy(OFString & value,const signed long pos) const1776 OFCondition DRTStructureSetIOD::getNameOfPhysiciansReadingStudy(OFString &value, const signed long pos) const
1777 {
1778 return getStringValueFromElement(NameOfPhysiciansReadingStudy, value, pos);
1779 }
1780
1781
getOccupation(OFString & value,const signed long pos) const1782 OFCondition DRTStructureSetIOD::getOccupation(OFString &value, const signed long pos) const
1783 {
1784 return getStringValueFromElement(Occupation, value, pos);
1785 }
1786
1787
getOperatorsName(OFString & value,const signed long pos) const1788 OFCondition DRTStructureSetIOD::getOperatorsName(OFString &value, const signed long pos) const
1789 {
1790 return getStringValueFromElement(OperatorsName, value, pos);
1791 }
1792
1793
getOriginalSpecializedSOPClassUID(OFString & value,const signed long pos) const1794 OFCondition DRTStructureSetIOD::getOriginalSpecializedSOPClassUID(OFString &value, const signed long pos) const
1795 {
1796 return getStringValueFromElement(OriginalSpecializedSOPClassUID, value, pos);
1797 }
1798
1799
getOtherPatientNames(OFString & value,const signed long pos) const1800 OFCondition DRTStructureSetIOD::getOtherPatientNames(OFString &value, const signed long pos) const
1801 {
1802 return getStringValueFromElement(OtherPatientNames, value, pos);
1803 }
1804
1805
getPatientAge(OFString & value,const signed long pos) const1806 OFCondition DRTStructureSetIOD::getPatientAge(OFString &value, const signed long pos) const
1807 {
1808 return getStringValueFromElement(PatientAge, value, pos);
1809 }
1810
1811
getPatientAlternativeCalendar(OFString & value,const signed long pos) const1812 OFCondition DRTStructureSetIOD::getPatientAlternativeCalendar(OFString &value, const signed long pos) const
1813 {
1814 return getStringValueFromElement(PatientAlternativeCalendar, value, pos);
1815 }
1816
1817
getPatientBirthDate(OFString & value,const signed long pos) const1818 OFCondition DRTStructureSetIOD::getPatientBirthDate(OFString &value, const signed long pos) const
1819 {
1820 return getStringValueFromElement(PatientBirthDate, value, pos);
1821 }
1822
1823
getPatientBirthDateInAlternativeCalendar(OFString & value,const signed long pos) const1824 OFCondition DRTStructureSetIOD::getPatientBirthDateInAlternativeCalendar(OFString &value, const signed long pos) const
1825 {
1826 return getStringValueFromElement(PatientBirthDateInAlternativeCalendar, value, pos);
1827 }
1828
1829
getPatientBirthTime(OFString & value,const signed long pos) const1830 OFCondition DRTStructureSetIOD::getPatientBirthTime(OFString &value, const signed long pos) const
1831 {
1832 return getStringValueFromElement(PatientBirthTime, value, pos);
1833 }
1834
1835
getPatientBodyMassIndex(OFString & value,const signed long pos) const1836 OFCondition DRTStructureSetIOD::getPatientBodyMassIndex(OFString &value, const signed long pos) const
1837 {
1838 return getStringValueFromElement(PatientBodyMassIndex, value, pos);
1839 }
1840
1841
getPatientBodyMassIndex(Float64 & value,const unsigned long pos) const1842 OFCondition DRTStructureSetIOD::getPatientBodyMassIndex(Float64 &value, const unsigned long pos) const
1843 {
1844 return OFconst_cast(DcmDecimalString &, PatientBodyMassIndex).getFloat64(value, pos);
1845 }
1846
1847
getPatientBreedDescription(OFString & value,const signed long pos) const1848 OFCondition DRTStructureSetIOD::getPatientBreedDescription(OFString &value, const signed long pos) const
1849 {
1850 return getStringValueFromElement(PatientBreedDescription, value, pos);
1851 }
1852
1853
getPatientComments(OFString & value,const signed long pos) const1854 OFCondition DRTStructureSetIOD::getPatientComments(OFString &value, const signed long pos) const
1855 {
1856 return getStringValueFromElement(PatientComments, value, pos);
1857 }
1858
1859
getPatientDeathDateInAlternativeCalendar(OFString & value,const signed long pos) const1860 OFCondition DRTStructureSetIOD::getPatientDeathDateInAlternativeCalendar(OFString &value, const signed long pos) const
1861 {
1862 return getStringValueFromElement(PatientDeathDateInAlternativeCalendar, value, pos);
1863 }
1864
1865
getPatientID(OFString & value,const signed long pos) const1866 OFCondition DRTStructureSetIOD::getPatientID(OFString &value, const signed long pos) const
1867 {
1868 return getStringValueFromElement(PatientID, value, pos);
1869 }
1870
1871
getPatientIdentityRemoved(OFString & value,const signed long pos) const1872 OFCondition DRTStructureSetIOD::getPatientIdentityRemoved(OFString &value, const signed long pos) const
1873 {
1874 return getStringValueFromElement(PatientIdentityRemoved, value, pos);
1875 }
1876
1877
getPatientName(OFString & value,const signed long pos) const1878 OFCondition DRTStructureSetIOD::getPatientName(OFString &value, const signed long pos) const
1879 {
1880 return getStringValueFromElement(PatientName, value, pos);
1881 }
1882
1883
getPatientSex(OFString & value,const signed long pos) const1884 OFCondition DRTStructureSetIOD::getPatientSex(OFString &value, const signed long pos) const
1885 {
1886 return getStringValueFromElement(PatientSex, value, pos);
1887 }
1888
1889
getPatientSexNeutered(OFString & value,const signed long pos) const1890 OFCondition DRTStructureSetIOD::getPatientSexNeutered(OFString &value, const signed long pos) const
1891 {
1892 return getStringValueFromElement(PatientSexNeutered, value, pos);
1893 }
1894
1895
getPatientSize(OFString & value,const signed long pos) const1896 OFCondition DRTStructureSetIOD::getPatientSize(OFString &value, const signed long pos) const
1897 {
1898 return getStringValueFromElement(PatientSize, value, pos);
1899 }
1900
1901
getPatientSize(Float64 & value,const unsigned long pos) const1902 OFCondition DRTStructureSetIOD::getPatientSize(Float64 &value, const unsigned long pos) const
1903 {
1904 return OFconst_cast(DcmDecimalString &, PatientSize).getFloat64(value, pos);
1905 }
1906
1907
getPatientSpeciesDescription(OFString & value,const signed long pos) const1908 OFCondition DRTStructureSetIOD::getPatientSpeciesDescription(OFString &value, const signed long pos) const
1909 {
1910 return getStringValueFromElement(PatientSpeciesDescription, value, pos);
1911 }
1912
1913
getPatientState(OFString & value,const signed long pos) const1914 OFCondition DRTStructureSetIOD::getPatientState(OFString &value, const signed long pos) const
1915 {
1916 return getStringValueFromElement(PatientState, value, pos);
1917 }
1918
1919
getPatientWeight(OFString & value,const signed long pos) const1920 OFCondition DRTStructureSetIOD::getPatientWeight(OFString &value, const signed long pos) const
1921 {
1922 return getStringValueFromElement(PatientWeight, value, pos);
1923 }
1924
1925
getPatientWeight(Float64 & value,const unsigned long pos) const1926 OFCondition DRTStructureSetIOD::getPatientWeight(Float64 &value, const unsigned long pos) const
1927 {
1928 return OFconst_cast(DcmDecimalString &, PatientWeight).getFloat64(value, pos);
1929 }
1930
1931
getPerformedProcedureStepDescription(OFString & value,const signed long pos) const1932 OFCondition DRTStructureSetIOD::getPerformedProcedureStepDescription(OFString &value, const signed long pos) const
1933 {
1934 return getStringValueFromElement(PerformedProcedureStepDescription, value, pos);
1935 }
1936
1937
getPerformedProcedureStepEndDate(OFString & value,const signed long pos) const1938 OFCondition DRTStructureSetIOD::getPerformedProcedureStepEndDate(OFString &value, const signed long pos) const
1939 {
1940 return getStringValueFromElement(PerformedProcedureStepEndDate, value, pos);
1941 }
1942
1943
getPerformedProcedureStepEndTime(OFString & value,const signed long pos) const1944 OFCondition DRTStructureSetIOD::getPerformedProcedureStepEndTime(OFString &value, const signed long pos) const
1945 {
1946 return getStringValueFromElement(PerformedProcedureStepEndTime, value, pos);
1947 }
1948
1949
getPerformedProcedureStepID(OFString & value,const signed long pos) const1950 OFCondition DRTStructureSetIOD::getPerformedProcedureStepID(OFString &value, const signed long pos) const
1951 {
1952 return getStringValueFromElement(PerformedProcedureStepID, value, pos);
1953 }
1954
1955
getPerformedProcedureStepStartDate(OFString & value,const signed long pos) const1956 OFCondition DRTStructureSetIOD::getPerformedProcedureStepStartDate(OFString &value, const signed long pos) const
1957 {
1958 return getStringValueFromElement(PerformedProcedureStepStartDate, value, pos);
1959 }
1960
1961
getPerformedProcedureStepStartTime(OFString & value,const signed long pos) const1962 OFCondition DRTStructureSetIOD::getPerformedProcedureStepStartTime(OFString &value, const signed long pos) const
1963 {
1964 return getStringValueFromElement(PerformedProcedureStepStartTime, value, pos);
1965 }
1966
1967
getPhysiciansOfRecord(OFString & value,const signed long pos) const1968 OFCondition DRTStructureSetIOD::getPhysiciansOfRecord(OFString &value, const signed long pos) const
1969 {
1970 return getStringValueFromElement(PhysiciansOfRecord, value, pos);
1971 }
1972
1973
getPixelPaddingValue(Uint16 & value,const unsigned long pos) const1974 OFCondition DRTStructureSetIOD::getPixelPaddingValue(Uint16 &value, const unsigned long pos) const
1975 {
1976 return OFconst_cast(DcmUnsignedShort &, PixelPaddingValue).getUint16(value, pos);
1977 }
1978
1979
getPositionReferenceIndicator(OFString & value,const signed long pos) const1980 OFCondition DRTStructureSetIOD::getPositionReferenceIndicator(OFString &value, const signed long pos) const
1981 {
1982 return getStringValueFromElement(PositionReferenceIndicator, value, pos);
1983 }
1984
1985
getPregnancyStatus(Uint16 & value,const unsigned long pos) const1986 OFCondition DRTStructureSetIOD::getPregnancyStatus(Uint16 &value, const unsigned long pos) const
1987 {
1988 return OFconst_cast(DcmUnsignedShort &, PregnancyStatus).getUint16(value, pos);
1989 }
1990
1991
getQualityControlSubject(OFString & value,const signed long pos) const1992 OFCondition DRTStructureSetIOD::getQualityControlSubject(OFString &value, const signed long pos) const
1993 {
1994 return getStringValueFromElement(QualityControlSubject, value, pos);
1995 }
1996
1997
getQueryRetrieveView(OFString & value,const signed long pos) const1998 OFCondition DRTStructureSetIOD::getQueryRetrieveView(OFString &value, const signed long pos) const
1999 {
2000 return getStringValueFromElement(QueryRetrieveView, value, pos);
2001 }
2002
2003
getReferringPhysicianName(OFString & value,const signed long pos) const2004 OFCondition DRTStructureSetIOD::getReferringPhysicianName(OFString &value, const signed long pos) const
2005 {
2006 return getStringValueFromElement(ReferringPhysicianName, value, pos);
2007 }
2008
2009
getRelatedGeneralSOPClassUID(OFString & value,const signed long pos) const2010 OFCondition DRTStructureSetIOD::getRelatedGeneralSOPClassUID(OFString &value, const signed long pos) const
2011 {
2012 return getStringValueFromElement(RelatedGeneralSOPClassUID, value, pos);
2013 }
2014
2015
getResponsibleOrganization(OFString & value,const signed long pos) const2016 OFCondition DRTStructureSetIOD::getResponsibleOrganization(OFString &value, const signed long pos) const
2017 {
2018 return getStringValueFromElement(ResponsibleOrganization, value, pos);
2019 }
2020
2021
getResponsiblePerson(OFString & value,const signed long pos) const2022 OFCondition DRTStructureSetIOD::getResponsiblePerson(OFString &value, const signed long pos) const
2023 {
2024 return getStringValueFromElement(ResponsiblePerson, value, pos);
2025 }
2026
2027
getResponsiblePersonRole(OFString & value,const signed long pos) const2028 OFCondition DRTStructureSetIOD::getResponsiblePersonRole(OFString &value, const signed long pos) const
2029 {
2030 return getStringValueFromElement(ResponsiblePersonRole, value, pos);
2031 }
2032
2033
getReviewDate(OFString & value,const signed long pos) const2034 OFCondition DRTStructureSetIOD::getReviewDate(OFString &value, const signed long pos) const
2035 {
2036 return getStringValueFromElement(ReviewDate, value, pos);
2037 }
2038
2039
getReviewTime(OFString & value,const signed long pos) const2040 OFCondition DRTStructureSetIOD::getReviewTime(OFString &value, const signed long pos) const
2041 {
2042 return getStringValueFromElement(ReviewTime, value, pos);
2043 }
2044
2045
getReviewerName(OFString & value,const signed long pos) const2046 OFCondition DRTStructureSetIOD::getReviewerName(OFString &value, const signed long pos) const
2047 {
2048 return getStringValueFromElement(ReviewerName, value, pos);
2049 }
2050
2051
getSOPAuthorizationComment(OFString & value,const signed long pos) const2052 OFCondition DRTStructureSetIOD::getSOPAuthorizationComment(OFString &value, const signed long pos) const
2053 {
2054 return getStringValueFromElement(SOPAuthorizationComment, value, pos);
2055 }
2056
2057
getSOPAuthorizationDateTime(OFString & value,const signed long pos) const2058 OFCondition DRTStructureSetIOD::getSOPAuthorizationDateTime(OFString &value, const signed long pos) const
2059 {
2060 return getStringValueFromElement(SOPAuthorizationDateTime, value, pos);
2061 }
2062
2063
getSOPClassUID(OFString & value,const signed long pos) const2064 OFCondition DRTStructureSetIOD::getSOPClassUID(OFString &value, const signed long pos) const
2065 {
2066 return getStringValueFromElement(SOPClassUID, value, pos);
2067 }
2068
2069
getSOPInstanceStatus(OFString & value,const signed long pos) const2070 OFCondition DRTStructureSetIOD::getSOPInstanceStatus(OFString &value, const signed long pos) const
2071 {
2072 return getStringValueFromElement(SOPInstanceStatus, value, pos);
2073 }
2074
2075
getSOPInstanceUID(OFString & value,const signed long pos) const2076 OFCondition DRTStructureSetIOD::getSOPInstanceUID(OFString &value, const signed long pos) const
2077 {
2078 return getStringValueFromElement(SOPInstanceUID, value, pos);
2079 }
2080
2081
getSeriesDate(OFString & value,const signed long pos) const2082 OFCondition DRTStructureSetIOD::getSeriesDate(OFString &value, const signed long pos) const
2083 {
2084 return getStringValueFromElement(SeriesDate, value, pos);
2085 }
2086
2087
getSeriesDescription(OFString & value,const signed long pos) const2088 OFCondition DRTStructureSetIOD::getSeriesDescription(OFString &value, const signed long pos) const
2089 {
2090 return getStringValueFromElement(SeriesDescription, value, pos);
2091 }
2092
2093
getSeriesInstanceUID(OFString & value,const signed long pos) const2094 OFCondition DRTStructureSetIOD::getSeriesInstanceUID(OFString &value, const signed long pos) const
2095 {
2096 return getStringValueFromElement(SeriesInstanceUID, value, pos);
2097 }
2098
2099
getSeriesNumber(OFString & value,const signed long pos) const2100 OFCondition DRTStructureSetIOD::getSeriesNumber(OFString &value, const signed long pos) const
2101 {
2102 return getStringValueFromElement(SeriesNumber, value, pos);
2103 }
2104
2105
getSeriesNumber(Sint32 & value,const unsigned long pos) const2106 OFCondition DRTStructureSetIOD::getSeriesNumber(Sint32 &value, const unsigned long pos) const
2107 {
2108 return OFconst_cast(DcmIntegerString &, SeriesNumber).getSint32(value, pos);
2109 }
2110
2111
getSeriesTime(OFString & value,const signed long pos) const2112 OFCondition DRTStructureSetIOD::getSeriesTime(OFString &value, const signed long pos) const
2113 {
2114 return getStringValueFromElement(SeriesTime, value, pos);
2115 }
2116
2117
getServiceEpisodeDescription(OFString & value,const signed long pos) const2118 OFCondition DRTStructureSetIOD::getServiceEpisodeDescription(OFString &value, const signed long pos) const
2119 {
2120 return getStringValueFromElement(ServiceEpisodeDescription, value, pos);
2121 }
2122
2123
getServiceEpisodeID(OFString & value,const signed long pos) const2124 OFCondition DRTStructureSetIOD::getServiceEpisodeID(OFString &value, const signed long pos) const
2125 {
2126 return getStringValueFromElement(ServiceEpisodeID, value, pos);
2127 }
2128
2129
getSmokingStatus(OFString & value,const signed long pos) const2130 OFCondition DRTStructureSetIOD::getSmokingStatus(OFString &value, const signed long pos) const
2131 {
2132 return getStringValueFromElement(SmokingStatus, value, pos);
2133 }
2134
2135
getSoftwareVersions(OFString & value,const signed long pos) const2136 OFCondition DRTStructureSetIOD::getSoftwareVersions(OFString &value, const signed long pos) const
2137 {
2138 return getStringValueFromElement(SoftwareVersions, value, pos);
2139 }
2140
2141
getSpatialResolution(OFString & value,const signed long pos) const2142 OFCondition DRTStructureSetIOD::getSpatialResolution(OFString &value, const signed long pos) const
2143 {
2144 return getStringValueFromElement(SpatialResolution, value, pos);
2145 }
2146
2147
getSpatialResolution(Float64 & value,const unsigned long pos) const2148 OFCondition DRTStructureSetIOD::getSpatialResolution(Float64 &value, const unsigned long pos) const
2149 {
2150 return OFconst_cast(DcmDecimalString &, SpatialResolution).getFloat64(value, pos);
2151 }
2152
2153
getSpecificCharacterSet(OFString & value,const signed long pos) const2154 OFCondition DRTStructureSetIOD::getSpecificCharacterSet(OFString &value, const signed long pos) const
2155 {
2156 return getStringValueFromElement(SpecificCharacterSet, value, pos);
2157 }
2158
2159
getStationName(OFString & value,const signed long pos) const2160 OFCondition DRTStructureSetIOD::getStationName(OFString &value, const signed long pos) const
2161 {
2162 return getStringValueFromElement(StationName, value, pos);
2163 }
2164
2165
getStrainAdditionalInformation(OFString & value,const signed long pos) const2166 OFCondition DRTStructureSetIOD::getStrainAdditionalInformation(OFString &value, const signed long pos) const
2167 {
2168 return getStringValueFromElement(StrainAdditionalInformation, value, pos);
2169 }
2170
2171
getStrainDescription(OFString & value,const signed long pos) const2172 OFCondition DRTStructureSetIOD::getStrainDescription(OFString &value, const signed long pos) const
2173 {
2174 return getStringValueFromElement(StrainDescription, value, pos);
2175 }
2176
2177
getStrainNomenclature(OFString & value,const signed long pos) const2178 OFCondition DRTStructureSetIOD::getStrainNomenclature(OFString &value, const signed long pos) const
2179 {
2180 return getStringValueFromElement(StrainNomenclature, value, pos);
2181 }
2182
2183
getStructureSetDate(OFString & value,const signed long pos) const2184 OFCondition DRTStructureSetIOD::getStructureSetDate(OFString &value, const signed long pos) const
2185 {
2186 return getStringValueFromElement(StructureSetDate, value, pos);
2187 }
2188
2189
getStructureSetDescription(OFString & value,const signed long pos) const2190 OFCondition DRTStructureSetIOD::getStructureSetDescription(OFString &value, const signed long pos) const
2191 {
2192 return getStringValueFromElement(StructureSetDescription, value, pos);
2193 }
2194
2195
getStructureSetLabel(OFString & value,const signed long pos) const2196 OFCondition DRTStructureSetIOD::getStructureSetLabel(OFString &value, const signed long pos) const
2197 {
2198 return getStringValueFromElement(StructureSetLabel, value, pos);
2199 }
2200
2201
getStructureSetName(OFString & value,const signed long pos) const2202 OFCondition DRTStructureSetIOD::getStructureSetName(OFString &value, const signed long pos) const
2203 {
2204 return getStringValueFromElement(StructureSetName, value, pos);
2205 }
2206
2207
getStructureSetTime(OFString & value,const signed long pos) const2208 OFCondition DRTStructureSetIOD::getStructureSetTime(OFString &value, const signed long pos) const
2209 {
2210 return getStringValueFromElement(StructureSetTime, value, pos);
2211 }
2212
2213
getStudyDate(OFString & value,const signed long pos) const2214 OFCondition DRTStructureSetIOD::getStudyDate(OFString &value, const signed long pos) const
2215 {
2216 return getStringValueFromElement(StudyDate, value, pos);
2217 }
2218
2219
getStudyDescription(OFString & value,const signed long pos) const2220 OFCondition DRTStructureSetIOD::getStudyDescription(OFString &value, const signed long pos) const
2221 {
2222 return getStringValueFromElement(StudyDescription, value, pos);
2223 }
2224
2225
getStudyID(OFString & value,const signed long pos) const2226 OFCondition DRTStructureSetIOD::getStudyID(OFString &value, const signed long pos) const
2227 {
2228 return getStringValueFromElement(StudyID, value, pos);
2229 }
2230
2231
getStudyInstanceUID(OFString & value,const signed long pos) const2232 OFCondition DRTStructureSetIOD::getStudyInstanceUID(OFString &value, const signed long pos) const
2233 {
2234 return getStringValueFromElement(StudyInstanceUID, value, pos);
2235 }
2236
2237
getStudyTime(OFString & value,const signed long pos) const2238 OFCondition DRTStructureSetIOD::getStudyTime(OFString &value, const signed long pos) const
2239 {
2240 return getStringValueFromElement(StudyTime, value, pos);
2241 }
2242
2243
getTimeOfLastCalibration(OFString & value,const signed long pos) const2244 OFCondition DRTStructureSetIOD::getTimeOfLastCalibration(OFString &value, const signed long pos) const
2245 {
2246 return getStringValueFromElement(TimeOfLastCalibration, value, pos);
2247 }
2248
2249
getTimezoneOffsetFromUTC(OFString & value,const signed long pos) const2250 OFCondition DRTStructureSetIOD::getTimezoneOffsetFromUTC(OFString &value, const signed long pos) const
2251 {
2252 return getStringValueFromElement(TimezoneOffsetFromUTC, value, pos);
2253 }
2254
2255
setAccessionNumber(const OFString & value,const OFBool check)2256 OFCondition DRTStructureSetIOD::setAccessionNumber(const OFString &value, const OFBool check)
2257 {
2258 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
2259 if (result.good())
2260 result = AccessionNumber.putOFStringArray(value);
2261 return result;
2262 }
2263
2264
setAdditionalPatientHistory(const OFString & value,const OFBool check)2265 OFCondition DRTStructureSetIOD::setAdditionalPatientHistory(const OFString &value, const OFBool check)
2266 {
2267 OFCondition result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
2268 if (result.good())
2269 result = AdditionalPatientHistory.putOFStringArray(value);
2270 return result;
2271 }
2272
2273
setAdmissionID(const OFString & value,const OFBool check)2274 OFCondition DRTStructureSetIOD::setAdmissionID(const OFString &value, const OFBool check)
2275 {
2276 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2277 if (result.good())
2278 result = AdmissionID.putOFStringArray(value);
2279 return result;
2280 }
2281
2282
setAdmittingDiagnosesDescription(const OFString & value,const OFBool check)2283 OFCondition DRTStructureSetIOD::setAdmittingDiagnosesDescription(const OFString &value, const OFBool check)
2284 {
2285 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
2286 if (result.good())
2287 result = AdmittingDiagnosesDescription.putOFStringArray(value);
2288 return result;
2289 }
2290
2291
setAllergies(const OFString & value,const OFBool check)2292 OFCondition DRTStructureSetIOD::setAllergies(const OFString &value, const OFBool check)
2293 {
2294 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
2295 if (result.good())
2296 result = Allergies.putOFStringArray(value);
2297 return result;
2298 }
2299
2300
setApprovalStatus(const OFString & value,const OFBool check)2301 OFCondition DRTStructureSetIOD::setApprovalStatus(const OFString &value, const OFBool check)
2302 {
2303 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2304 if (result.good())
2305 result = ApprovalStatus.putOFStringArray(value);
2306 return result;
2307 }
2308
2309
setAuthorizationEquipmentCertificationNumber(const OFString & value,const OFBool check)2310 OFCondition DRTStructureSetIOD::setAuthorizationEquipmentCertificationNumber(const OFString &value, const OFBool check)
2311 {
2312 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2313 if (result.good())
2314 result = AuthorizationEquipmentCertificationNumber.putOFStringArray(value);
2315 return result;
2316 }
2317
2318
setClinicalTrialCoordinatingCenterName(const OFString & value,const OFBool check)2319 OFCondition DRTStructureSetIOD::setClinicalTrialCoordinatingCenterName(const OFString &value, const OFBool check)
2320 {
2321 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2322 if (result.good())
2323 result = ClinicalTrialCoordinatingCenterName.putOFStringArray(value);
2324 return result;
2325 }
2326
2327
setClinicalTrialProtocolEthicsCommitteeApprovalNumber(const OFString & value,const OFBool check)2328 OFCondition DRTStructureSetIOD::setClinicalTrialProtocolEthicsCommitteeApprovalNumber(const OFString &value, const OFBool check)
2329 {
2330 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2331 if (result.good())
2332 result = ClinicalTrialProtocolEthicsCommitteeApprovalNumber.putOFStringArray(value);
2333 return result;
2334 }
2335
2336
setClinicalTrialProtocolEthicsCommitteeName(const OFString & value,const OFBool check)2337 OFCondition DRTStructureSetIOD::setClinicalTrialProtocolEthicsCommitteeName(const OFString &value, const OFBool check)
2338 {
2339 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2340 if (result.good())
2341 result = ClinicalTrialProtocolEthicsCommitteeName.putOFStringArray(value);
2342 return result;
2343 }
2344
2345
setClinicalTrialProtocolID(const OFString & value,const OFBool check)2346 OFCondition DRTStructureSetIOD::setClinicalTrialProtocolID(const OFString &value, const OFBool check)
2347 {
2348 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2349 if (result.good())
2350 result = ClinicalTrialProtocolID.putOFStringArray(value);
2351 return result;
2352 }
2353
2354
setClinicalTrialProtocolName(const OFString & value,const OFBool check)2355 OFCondition DRTStructureSetIOD::setClinicalTrialProtocolName(const OFString &value, const OFBool check)
2356 {
2357 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2358 if (result.good())
2359 result = ClinicalTrialProtocolName.putOFStringArray(value);
2360 return result;
2361 }
2362
2363
setClinicalTrialSeriesDescription(const OFString & value,const OFBool check)2364 OFCondition DRTStructureSetIOD::setClinicalTrialSeriesDescription(const OFString &value, const OFBool check)
2365 {
2366 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2367 if (result.good())
2368 result = ClinicalTrialSeriesDescription.putOFStringArray(value);
2369 return result;
2370 }
2371
2372
setClinicalTrialSeriesID(const OFString & value,const OFBool check)2373 OFCondition DRTStructureSetIOD::setClinicalTrialSeriesID(const OFString &value, const OFBool check)
2374 {
2375 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2376 if (result.good())
2377 result = ClinicalTrialSeriesID.putOFStringArray(value);
2378 return result;
2379 }
2380
2381
setClinicalTrialSiteID(const OFString & value,const OFBool check)2382 OFCondition DRTStructureSetIOD::setClinicalTrialSiteID(const OFString &value, const OFBool check)
2383 {
2384 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2385 if (result.good())
2386 result = ClinicalTrialSiteID.putOFStringArray(value);
2387 return result;
2388 }
2389
2390
setClinicalTrialSiteName(const OFString & value,const OFBool check)2391 OFCondition DRTStructureSetIOD::setClinicalTrialSiteName(const OFString &value, const OFBool check)
2392 {
2393 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2394 if (result.good())
2395 result = ClinicalTrialSiteName.putOFStringArray(value);
2396 return result;
2397 }
2398
2399
setClinicalTrialSponsorName(const OFString & value,const OFBool check)2400 OFCondition DRTStructureSetIOD::setClinicalTrialSponsorName(const OFString &value, const OFBool check)
2401 {
2402 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2403 if (result.good())
2404 result = ClinicalTrialSponsorName.putOFStringArray(value);
2405 return result;
2406 }
2407
2408
setClinicalTrialSubjectID(const OFString & value,const OFBool check)2409 OFCondition DRTStructureSetIOD::setClinicalTrialSubjectID(const OFString &value, const OFBool check)
2410 {
2411 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2412 if (result.good())
2413 result = ClinicalTrialSubjectID.putOFStringArray(value);
2414 return result;
2415 }
2416
2417
setClinicalTrialSubjectReadingID(const OFString & value,const OFBool check)2418 OFCondition DRTStructureSetIOD::setClinicalTrialSubjectReadingID(const OFString &value, const OFBool check)
2419 {
2420 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2421 if (result.good())
2422 result = ClinicalTrialSubjectReadingID.putOFStringArray(value);
2423 return result;
2424 }
2425
2426
setClinicalTrialTimePointDescription(const OFString & value,const OFBool check)2427 OFCondition DRTStructureSetIOD::setClinicalTrialTimePointDescription(const OFString &value, const OFBool check)
2428 {
2429 OFCondition result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
2430 if (result.good())
2431 result = ClinicalTrialTimePointDescription.putOFStringArray(value);
2432 return result;
2433 }
2434
2435
setClinicalTrialTimePointID(const OFString & value,const OFBool check)2436 OFCondition DRTStructureSetIOD::setClinicalTrialTimePointID(const OFString &value, const OFBool check)
2437 {
2438 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2439 if (result.good())
2440 result = ClinicalTrialTimePointID.putOFStringArray(value);
2441 return result;
2442 }
2443
2444
setCommentsOnThePerformedProcedureStep(const OFString & value,const OFBool check)2445 OFCondition DRTStructureSetIOD::setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check)
2446 {
2447 OFCondition result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
2448 if (result.good())
2449 result = CommentsOnThePerformedProcedureStep.putOFStringArray(value);
2450 return result;
2451 }
2452
2453
setConsultingPhysicianName(const OFString & value,const OFBool check)2454 OFCondition DRTStructureSetIOD::setConsultingPhysicianName(const OFString &value, const OFBool check)
2455 {
2456 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
2457 if (result.good())
2458 result = ConsultingPhysicianName.putOFStringArray(value);
2459 return result;
2460 }
2461
2462
setContentQualification(const OFString & value,const OFBool check)2463 OFCondition DRTStructureSetIOD::setContentQualification(const OFString &value, const OFBool check)
2464 {
2465 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2466 if (result.good())
2467 result = ContentQualification.putOFStringArray(value);
2468 return result;
2469 }
2470
2471
setDateOfLastCalibration(const OFString & value,const OFBool check)2472 OFCondition DRTStructureSetIOD::setDateOfLastCalibration(const OFString &value, const OFBool check)
2473 {
2474 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1-n") : EC_Normal;
2475 if (result.good())
2476 result = DateOfLastCalibration.putOFStringArray(value);
2477 return result;
2478 }
2479
2480
setDeidentificationMethod(const OFString & value,const OFBool check)2481 OFCondition DRTStructureSetIOD::setDeidentificationMethod(const OFString &value, const OFBool check)
2482 {
2483 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
2484 if (result.good())
2485 result = DeidentificationMethod.putOFStringArray(value);
2486 return result;
2487 }
2488
2489
setDerivationDescription(const OFString & value,const OFBool check)2490 OFCondition DRTStructureSetIOD::setDerivationDescription(const OFString &value, const OFBool check)
2491 {
2492 OFCondition result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
2493 if (result.good())
2494 result = DerivationDescription.putOFStringArray(value);
2495 return result;
2496 }
2497
2498
setDeviceSerialNumber(const OFString & value,const OFBool check)2499 OFCondition DRTStructureSetIOD::setDeviceSerialNumber(const OFString &value, const OFBool check)
2500 {
2501 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2502 if (result.good())
2503 result = DeviceSerialNumber.putOFStringArray(value);
2504 return result;
2505 }
2506
2507
setEthnicGroup(const OFString & value,const OFBool check)2508 OFCondition DRTStructureSetIOD::setEthnicGroup(const OFString &value, const OFBool check)
2509 {
2510 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
2511 if (result.good())
2512 result = EthnicGroup.putOFStringArray(value);
2513 return result;
2514 }
2515
2516
setFrameOfReferenceUID(const OFString & value,const OFBool check)2517 OFCondition DRTStructureSetIOD::setFrameOfReferenceUID(const OFString &value, const OFBool check)
2518 {
2519 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
2520 if (result.good())
2521 result = FrameOfReferenceUID.putOFStringArray(value);
2522 return result;
2523 }
2524
2525
setGantryID(const OFString & value,const OFBool check)2526 OFCondition DRTStructureSetIOD::setGantryID(const OFString &value, const OFBool check)
2527 {
2528 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2529 if (result.good())
2530 result = GantryID.putOFStringArray(value);
2531 return result;
2532 }
2533
2534
setInstanceCoercionDateTime(const OFString & value,const OFBool check)2535 OFCondition DRTStructureSetIOD::setInstanceCoercionDateTime(const OFString &value, const OFBool check)
2536 {
2537 OFCondition result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal;
2538 if (result.good())
2539 result = InstanceCoercionDateTime.putOFStringArray(value);
2540 return result;
2541 }
2542
2543
setInstanceCreationDate(const OFString & value,const OFBool check)2544 OFCondition DRTStructureSetIOD::setInstanceCreationDate(const OFString &value, const OFBool check)
2545 {
2546 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
2547 if (result.good())
2548 result = InstanceCreationDate.putOFStringArray(value);
2549 return result;
2550 }
2551
2552
setInstanceCreationTime(const OFString & value,const OFBool check)2553 OFCondition DRTStructureSetIOD::setInstanceCreationTime(const OFString &value, const OFBool check)
2554 {
2555 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
2556 if (result.good())
2557 result = InstanceCreationTime.putOFStringArray(value);
2558 return result;
2559 }
2560
2561
setInstanceCreatorUID(const OFString & value,const OFBool check)2562 OFCondition DRTStructureSetIOD::setInstanceCreatorUID(const OFString &value, const OFBool check)
2563 {
2564 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
2565 if (result.good())
2566 result = InstanceCreatorUID.putOFStringArray(value);
2567 return result;
2568 }
2569
2570
setInstanceNumber(const OFString & value,const OFBool check)2571 OFCondition DRTStructureSetIOD::setInstanceNumber(const OFString &value, const OFBool check)
2572 {
2573 OFCondition result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
2574 if (result.good())
2575 result = InstanceNumber.putOFStringArray(value);
2576 return result;
2577 }
2578
2579
setInstitutionAddress(const OFString & value,const OFBool check)2580 OFCondition DRTStructureSetIOD::setInstitutionAddress(const OFString &value, const OFBool check)
2581 {
2582 OFCondition result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
2583 if (result.good())
2584 result = InstitutionAddress.putOFStringArray(value);
2585 return result;
2586 }
2587
2588
setInstitutionName(const OFString & value,const OFBool check)2589 OFCondition DRTStructureSetIOD::setInstitutionName(const OFString &value, const OFBool check)
2590 {
2591 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2592 if (result.good())
2593 result = InstitutionName.putOFStringArray(value);
2594 return result;
2595 }
2596
2597
setInstitutionalDepartmentName(const OFString & value,const OFBool check)2598 OFCondition DRTStructureSetIOD::setInstitutionalDepartmentName(const OFString &value, const OFBool check)
2599 {
2600 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2601 if (result.good())
2602 result = InstitutionalDepartmentName.putOFStringArray(value);
2603 return result;
2604 }
2605
2606
setIssuerOfPatientID(const OFString & value,const OFBool check)2607 OFCondition DRTStructureSetIOD::setIssuerOfPatientID(const OFString &value, const OFBool check)
2608 {
2609 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2610 if (result.good())
2611 result = IssuerOfPatientID.putOFStringArray(value);
2612 return result;
2613 }
2614
2615
setLastMenstrualDate(const OFString & value,const OFBool check)2616 OFCondition DRTStructureSetIOD::setLastMenstrualDate(const OFString &value, const OFBool check)
2617 {
2618 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
2619 if (result.good())
2620 result = LastMenstrualDate.putOFStringArray(value);
2621 return result;
2622 }
2623
2624
setLongitudinalTemporalEventType(const OFString & value,const OFBool check)2625 OFCondition DRTStructureSetIOD::setLongitudinalTemporalEventType(const OFString &value, const OFBool check)
2626 {
2627 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2628 if (result.good())
2629 result = LongitudinalTemporalEventType.putOFStringArray(value);
2630 return result;
2631 }
2632
2633
setLongitudinalTemporalInformationModified(const OFString & value,const OFBool check)2634 OFCondition DRTStructureSetIOD::setLongitudinalTemporalInformationModified(const OFString &value, const OFBool check)
2635 {
2636 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2637 if (result.good())
2638 result = LongitudinalTemporalInformationModified.putOFStringArray(value);
2639 return result;
2640 }
2641
2642
setLongitudinalTemporalOffsetFromEvent(const Float64 value,const unsigned long pos)2643 OFCondition DRTStructureSetIOD::setLongitudinalTemporalOffsetFromEvent(const Float64 value, const unsigned long pos)
2644 {
2645 return LongitudinalTemporalOffsetFromEvent.putFloat64(value, pos);
2646 }
2647
2648
setManufacturer(const OFString & value,const OFBool check)2649 OFCondition DRTStructureSetIOD::setManufacturer(const OFString &value, const OFBool check)
2650 {
2651 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2652 if (result.good())
2653 result = Manufacturer.putOFStringArray(value);
2654 return result;
2655 }
2656
2657
setManufacturerModelName(const OFString & value,const OFBool check)2658 OFCondition DRTStructureSetIOD::setManufacturerModelName(const OFString &value, const OFBool check)
2659 {
2660 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2661 if (result.good())
2662 result = ManufacturerModelName.putOFStringArray(value);
2663 return result;
2664 }
2665
2666
setMeasuredAPDimension(const OFString & value,const OFBool check)2667 OFCondition DRTStructureSetIOD::setMeasuredAPDimension(const OFString &value, const OFBool check)
2668 {
2669 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
2670 if (result.good())
2671 result = MeasuredAPDimension.putOFStringArray(value);
2672 return result;
2673 }
2674
2675
setMeasuredLateralDimension(const OFString & value,const OFBool check)2676 OFCondition DRTStructureSetIOD::setMeasuredLateralDimension(const OFString &value, const OFBool check)
2677 {
2678 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
2679 if (result.good())
2680 result = MeasuredLateralDimension.putOFStringArray(value);
2681 return result;
2682 }
2683
2684
setMedicalAlerts(const OFString & value,const OFBool check)2685 OFCondition DRTStructureSetIOD::setMedicalAlerts(const OFString &value, const OFBool check)
2686 {
2687 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
2688 if (result.good())
2689 result = MedicalAlerts.putOFStringArray(value);
2690 return result;
2691 }
2692
2693
setModality(const OFString & value,const OFBool check)2694 OFCondition DRTStructureSetIOD::setModality(const OFString &value, const OFBool check)
2695 {
2696 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2697 if (result.good())
2698 result = Modality.putOFStringArray(value);
2699 return result;
2700 }
2701
2702
setNameOfPhysiciansReadingStudy(const OFString & value,const OFBool check)2703 OFCondition DRTStructureSetIOD::setNameOfPhysiciansReadingStudy(const OFString &value, const OFBool check)
2704 {
2705 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
2706 if (result.good())
2707 result = NameOfPhysiciansReadingStudy.putOFStringArray(value);
2708 return result;
2709 }
2710
2711
setOccupation(const OFString & value,const OFBool check)2712 OFCondition DRTStructureSetIOD::setOccupation(const OFString &value, const OFBool check)
2713 {
2714 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
2715 if (result.good())
2716 result = Occupation.putOFStringArray(value);
2717 return result;
2718 }
2719
2720
setOperatorsName(const OFString & value,const OFBool check)2721 OFCondition DRTStructureSetIOD::setOperatorsName(const OFString &value, const OFBool check)
2722 {
2723 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
2724 if (result.good())
2725 result = OperatorsName.putOFStringArray(value);
2726 return result;
2727 }
2728
2729
setOriginalSpecializedSOPClassUID(const OFString & value,const OFBool check)2730 OFCondition DRTStructureSetIOD::setOriginalSpecializedSOPClassUID(const OFString &value, const OFBool check)
2731 {
2732 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
2733 if (result.good())
2734 result = OriginalSpecializedSOPClassUID.putOFStringArray(value);
2735 return result;
2736 }
2737
2738
setOtherPatientNames(const OFString & value,const OFBool check)2739 OFCondition DRTStructureSetIOD::setOtherPatientNames(const OFString &value, const OFBool check)
2740 {
2741 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
2742 if (result.good())
2743 result = OtherPatientNames.putOFStringArray(value);
2744 return result;
2745 }
2746
2747
setPatientAge(const OFString & value,const OFBool check)2748 OFCondition DRTStructureSetIOD::setPatientAge(const OFString &value, const OFBool check)
2749 {
2750 OFCondition result = (check) ? DcmAgeString::checkStringValue(value, "1") : EC_Normal;
2751 if (result.good())
2752 result = PatientAge.putOFStringArray(value);
2753 return result;
2754 }
2755
2756
setPatientAlternativeCalendar(const OFString & value,const OFBool check)2757 OFCondition DRTStructureSetIOD::setPatientAlternativeCalendar(const OFString &value, const OFBool check)
2758 {
2759 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2760 if (result.good())
2761 result = PatientAlternativeCalendar.putOFStringArray(value);
2762 return result;
2763 }
2764
2765
setPatientBirthDate(const OFString & value,const OFBool check)2766 OFCondition DRTStructureSetIOD::setPatientBirthDate(const OFString &value, const OFBool check)
2767 {
2768 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
2769 if (result.good())
2770 result = PatientBirthDate.putOFStringArray(value);
2771 return result;
2772 }
2773
2774
setPatientBirthDateInAlternativeCalendar(const OFString & value,const OFBool check)2775 OFCondition DRTStructureSetIOD::setPatientBirthDateInAlternativeCalendar(const OFString &value, const OFBool check)
2776 {
2777 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2778 if (result.good())
2779 result = PatientBirthDateInAlternativeCalendar.putOFStringArray(value);
2780 return result;
2781 }
2782
2783
setPatientBirthTime(const OFString & value,const OFBool check)2784 OFCondition DRTStructureSetIOD::setPatientBirthTime(const OFString &value, const OFBool check)
2785 {
2786 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
2787 if (result.good())
2788 result = PatientBirthTime.putOFStringArray(value);
2789 return result;
2790 }
2791
2792
setPatientBodyMassIndex(const OFString & value,const OFBool check)2793 OFCondition DRTStructureSetIOD::setPatientBodyMassIndex(const OFString &value, const OFBool check)
2794 {
2795 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
2796 if (result.good())
2797 result = PatientBodyMassIndex.putOFStringArray(value);
2798 return result;
2799 }
2800
2801
setPatientBreedDescription(const OFString & value,const OFBool check)2802 OFCondition DRTStructureSetIOD::setPatientBreedDescription(const OFString &value, const OFBool check)
2803 {
2804 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2805 if (result.good())
2806 result = PatientBreedDescription.putOFStringArray(value);
2807 return result;
2808 }
2809
2810
setPatientComments(const OFString & value,const OFBool check)2811 OFCondition DRTStructureSetIOD::setPatientComments(const OFString &value, const OFBool check)
2812 {
2813 OFCondition result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
2814 if (result.good())
2815 result = PatientComments.putOFStringArray(value);
2816 return result;
2817 }
2818
2819
setPatientDeathDateInAlternativeCalendar(const OFString & value,const OFBool check)2820 OFCondition DRTStructureSetIOD::setPatientDeathDateInAlternativeCalendar(const OFString &value, const OFBool check)
2821 {
2822 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2823 if (result.good())
2824 result = PatientDeathDateInAlternativeCalendar.putOFStringArray(value);
2825 return result;
2826 }
2827
2828
setPatientID(const OFString & value,const OFBool check)2829 OFCondition DRTStructureSetIOD::setPatientID(const OFString &value, const OFBool check)
2830 {
2831 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2832 if (result.good())
2833 result = PatientID.putOFStringArray(value);
2834 return result;
2835 }
2836
2837
setPatientIdentityRemoved(const OFString & value,const OFBool check)2838 OFCondition DRTStructureSetIOD::setPatientIdentityRemoved(const OFString &value, const OFBool check)
2839 {
2840 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2841 if (result.good())
2842 result = PatientIdentityRemoved.putOFStringArray(value);
2843 return result;
2844 }
2845
2846
setPatientName(const OFString & value,const OFBool check)2847 OFCondition DRTStructureSetIOD::setPatientName(const OFString &value, const OFBool check)
2848 {
2849 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal;
2850 if (result.good())
2851 result = PatientName.putOFStringArray(value);
2852 return result;
2853 }
2854
2855
setPatientSex(const OFString & value,const OFBool check)2856 OFCondition DRTStructureSetIOD::setPatientSex(const OFString &value, const OFBool check)
2857 {
2858 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2859 if (result.good())
2860 result = PatientSex.putOFStringArray(value);
2861 return result;
2862 }
2863
2864
setPatientSexNeutered(const OFString & value,const OFBool check)2865 OFCondition DRTStructureSetIOD::setPatientSexNeutered(const OFString &value, const OFBool check)
2866 {
2867 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2868 if (result.good())
2869 result = PatientSexNeutered.putOFStringArray(value);
2870 return result;
2871 }
2872
2873
setPatientSize(const OFString & value,const OFBool check)2874 OFCondition DRTStructureSetIOD::setPatientSize(const OFString &value, const OFBool check)
2875 {
2876 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
2877 if (result.good())
2878 result = PatientSize.putOFStringArray(value);
2879 return result;
2880 }
2881
2882
setPatientSpeciesDescription(const OFString & value,const OFBool check)2883 OFCondition DRTStructureSetIOD::setPatientSpeciesDescription(const OFString &value, const OFBool check)
2884 {
2885 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2886 if (result.good())
2887 result = PatientSpeciesDescription.putOFStringArray(value);
2888 return result;
2889 }
2890
2891
setPatientState(const OFString & value,const OFBool check)2892 OFCondition DRTStructureSetIOD::setPatientState(const OFString &value, const OFBool check)
2893 {
2894 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2895 if (result.good())
2896 result = PatientState.putOFStringArray(value);
2897 return result;
2898 }
2899
2900
setPatientWeight(const OFString & value,const OFBool check)2901 OFCondition DRTStructureSetIOD::setPatientWeight(const OFString &value, const OFBool check)
2902 {
2903 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
2904 if (result.good())
2905 result = PatientWeight.putOFStringArray(value);
2906 return result;
2907 }
2908
2909
setPerformedProcedureStepDescription(const OFString & value,const OFBool check)2910 OFCondition DRTStructureSetIOD::setPerformedProcedureStepDescription(const OFString &value, const OFBool check)
2911 {
2912 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2913 if (result.good())
2914 result = PerformedProcedureStepDescription.putOFStringArray(value);
2915 return result;
2916 }
2917
2918
setPerformedProcedureStepEndDate(const OFString & value,const OFBool check)2919 OFCondition DRTStructureSetIOD::setPerformedProcedureStepEndDate(const OFString &value, const OFBool check)
2920 {
2921 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
2922 if (result.good())
2923 result = PerformedProcedureStepEndDate.putOFStringArray(value);
2924 return result;
2925 }
2926
2927
setPerformedProcedureStepEndTime(const OFString & value,const OFBool check)2928 OFCondition DRTStructureSetIOD::setPerformedProcedureStepEndTime(const OFString &value, const OFBool check)
2929 {
2930 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
2931 if (result.good())
2932 result = PerformedProcedureStepEndTime.putOFStringArray(value);
2933 return result;
2934 }
2935
2936
setPerformedProcedureStepID(const OFString & value,const OFBool check)2937 OFCondition DRTStructureSetIOD::setPerformedProcedureStepID(const OFString &value, const OFBool check)
2938 {
2939 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
2940 if (result.good())
2941 result = PerformedProcedureStepID.putOFStringArray(value);
2942 return result;
2943 }
2944
2945
setPerformedProcedureStepStartDate(const OFString & value,const OFBool check)2946 OFCondition DRTStructureSetIOD::setPerformedProcedureStepStartDate(const OFString &value, const OFBool check)
2947 {
2948 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
2949 if (result.good())
2950 result = PerformedProcedureStepStartDate.putOFStringArray(value);
2951 return result;
2952 }
2953
2954
setPerformedProcedureStepStartTime(const OFString & value,const OFBool check)2955 OFCondition DRTStructureSetIOD::setPerformedProcedureStepStartTime(const OFString &value, const OFBool check)
2956 {
2957 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
2958 if (result.good())
2959 result = PerformedProcedureStepStartTime.putOFStringArray(value);
2960 return result;
2961 }
2962
2963
setPhysiciansOfRecord(const OFString & value,const OFBool check)2964 OFCondition DRTStructureSetIOD::setPhysiciansOfRecord(const OFString &value, const OFBool check)
2965 {
2966 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal;
2967 if (result.good())
2968 result = PhysiciansOfRecord.putOFStringArray(value);
2969 return result;
2970 }
2971
2972
setPixelPaddingValue(const Uint16 value,const unsigned long pos)2973 OFCondition DRTStructureSetIOD::setPixelPaddingValue(const Uint16 value, const unsigned long pos)
2974 {
2975 return PixelPaddingValue.putUint16(value, pos);
2976 }
2977
2978
setPositionReferenceIndicator(const OFString & value,const OFBool check)2979 OFCondition DRTStructureSetIOD::setPositionReferenceIndicator(const OFString &value, const OFBool check)
2980 {
2981 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
2982 if (result.good())
2983 result = PositionReferenceIndicator.putOFStringArray(value);
2984 return result;
2985 }
2986
2987
setPregnancyStatus(const Uint16 value,const unsigned long pos)2988 OFCondition DRTStructureSetIOD::setPregnancyStatus(const Uint16 value, const unsigned long pos)
2989 {
2990 return PregnancyStatus.putUint16(value, pos);
2991 }
2992
2993
setQualityControlSubject(const OFString & value,const OFBool check)2994 OFCondition DRTStructureSetIOD::setQualityControlSubject(const OFString &value, const OFBool check)
2995 {
2996 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
2997 if (result.good())
2998 result = QualityControlSubject.putOFStringArray(value);
2999 return result;
3000 }
3001
3002
setQueryRetrieveView(const OFString & value,const OFBool check)3003 OFCondition DRTStructureSetIOD::setQueryRetrieveView(const OFString &value, const OFBool check)
3004 {
3005 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
3006 if (result.good())
3007 result = QueryRetrieveView.putOFStringArray(value);
3008 return result;
3009 }
3010
3011
setReferringPhysicianName(const OFString & value,const OFBool check)3012 OFCondition DRTStructureSetIOD::setReferringPhysicianName(const OFString &value, const OFBool check)
3013 {
3014 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal;
3015 if (result.good())
3016 result = ReferringPhysicianName.putOFStringArray(value);
3017 return result;
3018 }
3019
3020
setRelatedGeneralSOPClassUID(const OFString & value,const OFBool check)3021 OFCondition DRTStructureSetIOD::setRelatedGeneralSOPClassUID(const OFString &value, const OFBool check)
3022 {
3023 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1-n") : EC_Normal;
3024 if (result.good())
3025 result = RelatedGeneralSOPClassUID.putOFStringArray(value);
3026 return result;
3027 }
3028
3029
setResponsibleOrganization(const OFString & value,const OFBool check)3030 OFCondition DRTStructureSetIOD::setResponsibleOrganization(const OFString &value, const OFBool check)
3031 {
3032 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3033 if (result.good())
3034 result = ResponsibleOrganization.putOFStringArray(value);
3035 return result;
3036 }
3037
3038
setResponsiblePerson(const OFString & value,const OFBool check)3039 OFCondition DRTStructureSetIOD::setResponsiblePerson(const OFString &value, const OFBool check)
3040 {
3041 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal;
3042 if (result.good())
3043 result = ResponsiblePerson.putOFStringArray(value);
3044 return result;
3045 }
3046
3047
setResponsiblePersonRole(const OFString & value,const OFBool check)3048 OFCondition DRTStructureSetIOD::setResponsiblePersonRole(const OFString &value, const OFBool check)
3049 {
3050 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
3051 if (result.good())
3052 result = ResponsiblePersonRole.putOFStringArray(value);
3053 return result;
3054 }
3055
3056
setReviewDate(const OFString & value,const OFBool check)3057 OFCondition DRTStructureSetIOD::setReviewDate(const OFString &value, const OFBool check)
3058 {
3059 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
3060 if (result.good())
3061 result = ReviewDate.putOFStringArray(value);
3062 return result;
3063 }
3064
3065
setReviewTime(const OFString & value,const OFBool check)3066 OFCondition DRTStructureSetIOD::setReviewTime(const OFString &value, const OFBool check)
3067 {
3068 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
3069 if (result.good())
3070 result = ReviewTime.putOFStringArray(value);
3071 return result;
3072 }
3073
3074
setReviewerName(const OFString & value,const OFBool check)3075 OFCondition DRTStructureSetIOD::setReviewerName(const OFString &value, const OFBool check)
3076 {
3077 OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal;
3078 if (result.good())
3079 result = ReviewerName.putOFStringArray(value);
3080 return result;
3081 }
3082
3083
setSOPAuthorizationComment(const OFString & value,const OFBool check)3084 OFCondition DRTStructureSetIOD::setSOPAuthorizationComment(const OFString &value, const OFBool check)
3085 {
3086 OFCondition result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal;
3087 if (result.good())
3088 result = SOPAuthorizationComment.putOFStringArray(value);
3089 return result;
3090 }
3091
3092
setSOPAuthorizationDateTime(const OFString & value,const OFBool check)3093 OFCondition DRTStructureSetIOD::setSOPAuthorizationDateTime(const OFString &value, const OFBool check)
3094 {
3095 OFCondition result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal;
3096 if (result.good())
3097 result = SOPAuthorizationDateTime.putOFStringArray(value);
3098 return result;
3099 }
3100
3101
setSOPClassUID(const OFString & value,const OFBool check)3102 OFCondition DRTStructureSetIOD::setSOPClassUID(const OFString &value, const OFBool check)
3103 {
3104 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
3105 if (result.good())
3106 result = SOPClassUID.putOFStringArray(value);
3107 return result;
3108 }
3109
3110
setSOPInstanceStatus(const OFString & value,const OFBool check)3111 OFCondition DRTStructureSetIOD::setSOPInstanceStatus(const OFString &value, const OFBool check)
3112 {
3113 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
3114 if (result.good())
3115 result = SOPInstanceStatus.putOFStringArray(value);
3116 return result;
3117 }
3118
3119
setSOPInstanceUID(const OFString & value,const OFBool check)3120 OFCondition DRTStructureSetIOD::setSOPInstanceUID(const OFString &value, const OFBool check)
3121 {
3122 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
3123 if (result.good())
3124 result = SOPInstanceUID.putOFStringArray(value);
3125 return result;
3126 }
3127
3128
setSeriesDate(const OFString & value,const OFBool check)3129 OFCondition DRTStructureSetIOD::setSeriesDate(const OFString &value, const OFBool check)
3130 {
3131 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
3132 if (result.good())
3133 result = SeriesDate.putOFStringArray(value);
3134 return result;
3135 }
3136
3137
setSeriesDescription(const OFString & value,const OFBool check)3138 OFCondition DRTStructureSetIOD::setSeriesDescription(const OFString &value, const OFBool check)
3139 {
3140 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3141 if (result.good())
3142 result = SeriesDescription.putOFStringArray(value);
3143 return result;
3144 }
3145
3146
setSeriesInstanceUID(const OFString & value,const OFBool check)3147 OFCondition DRTStructureSetIOD::setSeriesInstanceUID(const OFString &value, const OFBool check)
3148 {
3149 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
3150 if (result.good())
3151 result = SeriesInstanceUID.putOFStringArray(value);
3152 return result;
3153 }
3154
3155
setSeriesNumber(const OFString & value,const OFBool check)3156 OFCondition DRTStructureSetIOD::setSeriesNumber(const OFString &value, const OFBool check)
3157 {
3158 OFCondition result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal;
3159 if (result.good())
3160 result = SeriesNumber.putOFStringArray(value);
3161 return result;
3162 }
3163
3164
setSeriesTime(const OFString & value,const OFBool check)3165 OFCondition DRTStructureSetIOD::setSeriesTime(const OFString &value, const OFBool check)
3166 {
3167 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
3168 if (result.good())
3169 result = SeriesTime.putOFStringArray(value);
3170 return result;
3171 }
3172
3173
setServiceEpisodeDescription(const OFString & value,const OFBool check)3174 OFCondition DRTStructureSetIOD::setServiceEpisodeDescription(const OFString &value, const OFBool check)
3175 {
3176 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3177 if (result.good())
3178 result = ServiceEpisodeDescription.putOFStringArray(value);
3179 return result;
3180 }
3181
3182
setServiceEpisodeID(const OFString & value,const OFBool check)3183 OFCondition DRTStructureSetIOD::setServiceEpisodeID(const OFString &value, const OFBool check)
3184 {
3185 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3186 if (result.good())
3187 result = ServiceEpisodeID.putOFStringArray(value);
3188 return result;
3189 }
3190
3191
setSmokingStatus(const OFString & value,const OFBool check)3192 OFCondition DRTStructureSetIOD::setSmokingStatus(const OFString &value, const OFBool check)
3193 {
3194 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal;
3195 if (result.good())
3196 result = SmokingStatus.putOFStringArray(value);
3197 return result;
3198 }
3199
3200
setSoftwareVersions(const OFString & value,const OFBool check)3201 OFCondition DRTStructureSetIOD::setSoftwareVersions(const OFString &value, const OFBool check)
3202 {
3203 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal;
3204 if (result.good())
3205 result = SoftwareVersions.putOFStringArray(value);
3206 return result;
3207 }
3208
3209
setSpatialResolution(const OFString & value,const OFBool check)3210 OFCondition DRTStructureSetIOD::setSpatialResolution(const OFString &value, const OFBool check)
3211 {
3212 OFCondition result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal;
3213 if (result.good())
3214 result = SpatialResolution.putOFStringArray(value);
3215 return result;
3216 }
3217
3218
setSpecificCharacterSet(const OFString & value,const OFBool check)3219 OFCondition DRTStructureSetIOD::setSpecificCharacterSet(const OFString &value, const OFBool check)
3220 {
3221 OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1-n") : EC_Normal;
3222 if (result.good())
3223 result = SpecificCharacterSet.putOFStringArray(value);
3224 return result;
3225 }
3226
3227
setStationName(const OFString & value,const OFBool check)3228 OFCondition DRTStructureSetIOD::setStationName(const OFString &value, const OFBool check)
3229 {
3230 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
3231 if (result.good())
3232 result = StationName.putOFStringArray(value);
3233 return result;
3234 }
3235
3236
setStrainAdditionalInformation(const OFString & value,const OFBool check)3237 OFCondition DRTStructureSetIOD::setStrainAdditionalInformation(const OFString &value, const OFBool check)
3238 {
3239 OFCondition result = (check) ? DcmUnlimitedText::checkStringValue(value) : EC_Normal;
3240 if (result.good())
3241 result = StrainAdditionalInformation.putOFStringArray(value);
3242 return result;
3243 }
3244
3245
setStrainDescription(const OFString & value,const OFBool check)3246 OFCondition DRTStructureSetIOD::setStrainDescription(const OFString &value, const OFBool check)
3247 {
3248 OFCondition result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal;
3249 if (result.good())
3250 result = StrainDescription.putOFStringArray(value);
3251 return result;
3252 }
3253
3254
setStrainNomenclature(const OFString & value,const OFBool check)3255 OFCondition DRTStructureSetIOD::setStrainNomenclature(const OFString &value, const OFBool check)
3256 {
3257 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3258 if (result.good())
3259 result = StrainNomenclature.putOFStringArray(value);
3260 return result;
3261 }
3262
3263
setStructureSetDate(const OFString & value,const OFBool check)3264 OFCondition DRTStructureSetIOD::setStructureSetDate(const OFString &value, const OFBool check)
3265 {
3266 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
3267 if (result.good())
3268 result = StructureSetDate.putOFStringArray(value);
3269 return result;
3270 }
3271
3272
setStructureSetDescription(const OFString & value,const OFBool check)3273 OFCondition DRTStructureSetIOD::setStructureSetDescription(const OFString &value, const OFBool check)
3274 {
3275 OFCondition result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal;
3276 if (result.good())
3277 result = StructureSetDescription.putOFStringArray(value);
3278 return result;
3279 }
3280
3281
setStructureSetLabel(const OFString & value,const OFBool check)3282 OFCondition DRTStructureSetIOD::setStructureSetLabel(const OFString &value, const OFBool check)
3283 {
3284 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
3285 if (result.good())
3286 result = StructureSetLabel.putOFStringArray(value);
3287 return result;
3288 }
3289
3290
setStructureSetName(const OFString & value,const OFBool check)3291 OFCondition DRTStructureSetIOD::setStructureSetName(const OFString &value, const OFBool check)
3292 {
3293 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3294 if (result.good())
3295 result = StructureSetName.putOFStringArray(value);
3296 return result;
3297 }
3298
3299
setStructureSetTime(const OFString & value,const OFBool check)3300 OFCondition DRTStructureSetIOD::setStructureSetTime(const OFString &value, const OFBool check)
3301 {
3302 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
3303 if (result.good())
3304 result = StructureSetTime.putOFStringArray(value);
3305 return result;
3306 }
3307
3308
setStudyDate(const OFString & value,const OFBool check)3309 OFCondition DRTStructureSetIOD::setStudyDate(const OFString &value, const OFBool check)
3310 {
3311 OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal;
3312 if (result.good())
3313 result = StudyDate.putOFStringArray(value);
3314 return result;
3315 }
3316
3317
setStudyDescription(const OFString & value,const OFBool check)3318 OFCondition DRTStructureSetIOD::setStudyDescription(const OFString &value, const OFBool check)
3319 {
3320 OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal;
3321 if (result.good())
3322 result = StudyDescription.putOFStringArray(value);
3323 return result;
3324 }
3325
3326
setStudyID(const OFString & value,const OFBool check)3327 OFCondition DRTStructureSetIOD::setStudyID(const OFString &value, const OFBool check)
3328 {
3329 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
3330 if (result.good())
3331 result = StudyID.putOFStringArray(value);
3332 return result;
3333 }
3334
3335
setStudyInstanceUID(const OFString & value,const OFBool check)3336 OFCondition DRTStructureSetIOD::setStudyInstanceUID(const OFString &value, const OFBool check)
3337 {
3338 OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal;
3339 if (result.good())
3340 result = StudyInstanceUID.putOFStringArray(value);
3341 return result;
3342 }
3343
3344
setStudyTime(const OFString & value,const OFBool check)3345 OFCondition DRTStructureSetIOD::setStudyTime(const OFString &value, const OFBool check)
3346 {
3347 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal;
3348 if (result.good())
3349 result = StudyTime.putOFStringArray(value);
3350 return result;
3351 }
3352
3353
setTimeOfLastCalibration(const OFString & value,const OFBool check)3354 OFCondition DRTStructureSetIOD::setTimeOfLastCalibration(const OFString &value, const OFBool check)
3355 {
3356 OFCondition result = (check) ? DcmTime::checkStringValue(value, "1-n") : EC_Normal;
3357 if (result.good())
3358 result = TimeOfLastCalibration.putOFStringArray(value);
3359 return result;
3360 }
3361
3362
setTimezoneOffsetFromUTC(const OFString & value,const OFBool check)3363 OFCondition DRTStructureSetIOD::setTimezoneOffsetFromUTC(const OFString &value, const OFBool check)
3364 {
3365 OFCondition result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal;
3366 if (result.good())
3367 result = TimezoneOffsetFromUTC.putOFStringArray(value);
3368 return result;
3369 }
3370
3371
3372 // end of source file
3373