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