modulec.h

Go to the documentation of this file.
00001 // Automatically generated from template - EDITS WILL BE LOST
00002 
00003 // Generated by module.awk with options declare modulec
00004 
00005 #ifndef __Header_modulec__
00006 #define __Header_modulec__
00007 
00008 class Macro_IconImageSequenceMacro : public Module {
00009         Attribute *SamplesPerPixel;
00010         Attribute *PhotometricInterpretation;
00011         Attribute *Rows;
00012         Attribute *Columns;
00013         Attribute *BitsAllocated;
00014         Attribute *BitsStored;
00015         Attribute *HighBit;
00016         Attribute *PixelRepresentation;
00017         Attribute *PixelData;
00018         Attribute *PlanarConfiguration;
00019         Attribute *PixelAspectRatio;
00020         Attribute *SmallestImagePixelValue;
00021         Attribute *LargestImagePixelValue;
00022         Attribute *RedPaletteColorLookupTableDescriptor;
00023         Attribute *GreenPaletteColorLookupTableDescriptor;
00024         Attribute *BluePaletteColorLookupTableDescriptor;
00025         Attribute *RedPaletteColorLookupTableData;
00026         Attribute *GreenPaletteColorLookupTableData;
00027         Attribute *BluePaletteColorLookupTableData;
00028         Attribute *ICCProfile;
00029 public:
00030                     Macro_IconImageSequenceMacro(AttributeList *list);
00031         const char *identify(void) const { return "IconImageSequenceMacro"; }
00032         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00033         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00034 };
00035 
00036 class Macro_CodeSequenceMacro : public Module {
00037         Attribute *CodeValue;
00038         Attribute *CodingSchemeDesignator;
00039         Attribute *CodingSchemeVersion;
00040         Attribute *CodeMeaning;
00041         Attribute *ContextIdentifier;
00042         Attribute *ContextUID;
00043         Attribute *MappingResource;
00044         Attribute *ContextGroupVersion;
00045         Attribute *ContextGroupExtensionFlag;
00046         Attribute *ContextGroupLocalVersion;
00047         Attribute *ContextGroupExtensionCreatorUID;
00048 public:
00049                     Macro_CodeSequenceMacro(AttributeList *list);
00050         const char *identify(void) const { return "CodeSequenceMacro"; }
00051         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00052         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00053 };
00054 
00055 class Macro_CodeSequenceMeaningOptionalMacro : public Module {
00056         Attribute *CodeValue;
00057         Attribute *CodingSchemeDesignator;
00058         Attribute *CodingSchemeVersion;
00059         Attribute *CodeMeaning;
00060         Attribute *ContextIdentifier;
00061         Attribute *ContextUID;
00062         Attribute *MappingResource;
00063         Attribute *ContextGroupVersion;
00064         Attribute *ContextGroupExtensionFlag;
00065         Attribute *ContextGroupLocalVersion;
00066         Attribute *ContextGroupExtensionCreatorUID;
00067 public:
00068                     Macro_CodeSequenceMeaningOptionalMacro(AttributeList *list);
00069         const char *identify(void) const { return "CodeSequenceMeaningOptionalMacro"; }
00070         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00071         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00072 };
00073 
00074 class Macro_CodeSequence99SDMMacro : public Module {
00075         Attribute *CodeValue;
00076         Attribute *CodingSchemeDesignator;
00077         Attribute *CodingSchemeVersion;
00078         Attribute *CodeMeaning;
00079         Attribute *ContextIdentifier;
00080         Attribute *ContextUID;
00081         Attribute *MappingResource;
00082         Attribute *ContextGroupVersion;
00083         Attribute *ContextGroupExtensionFlag;
00084         Attribute *ContextGroupLocalVersion;
00085         Attribute *ContextGroupExtensionCreatorUID;
00086 public:
00087                     Macro_CodeSequence99SDMMacro(AttributeList *list);
00088         const char *identify(void) const { return "CodeSequence99SDMMacro"; }
00089         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00090         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00091 };
00092 
00093 class Macro_PersonIdentificationMacro : public Module {
00094         Attribute *PersonIdentificationCodeSequence;
00095         Attribute *PersonAddress;
00096         Attribute *PersonTelephoneNumbers;
00097         Attribute *InstitutionName;
00098         Attribute *InstitutionAddress;
00099         Attribute *InstitutionCodeSequence;
00100 public:
00101                     Macro_PersonIdentificationMacro(AttributeList *list);
00102         const char *identify(void) const { return "PersonIdentificationMacro"; }
00103         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00104         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00105 };
00106 
00107 class Macro_ContentItemMacro : public Module {
00108         Attribute *ValueType;
00109         Attribute *ConceptNameCodeSequence;
00110         Attribute *DateTime;
00111         Attribute *Date;
00112         Attribute *Time;
00113         Attribute *PersonName;
00114         Attribute *UID;
00115         Attribute *TextValue;
00116         Attribute *ConceptCodeSequence;
00117         Attribute *NumericValue;
00118         Attribute *MeasurementUnitsCodeSequence;
00119 public:
00120                     Macro_ContentItemMacro(AttributeList *list);
00121         const char *identify(void) const { return "ContentItemMacro"; }
00122         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00123         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00124 };
00125 
00126 class Macro_ImageSOPInstanceReferenceMacro : public Module {
00127         Attribute *ReferencedFrameNumber;
00128         Attribute *ReferencedSegmentNumber;
00129 public:
00130                     Macro_ImageSOPInstanceReferenceMacro(AttributeList *list);
00131         const char *identify(void) const { return "ImageSOPInstanceReferenceMacro"; }
00132         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00133         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00134 };
00135 
00136 class Macro_SeriesAndInstanceReferenceMacro : public Module {
00137         Attribute *ReferencedSeriesSequence;
00138 public:
00139                     Macro_SeriesAndInstanceReferenceMacro(AttributeList *list);
00140         const char *identify(void) const { return "SeriesAndInstanceReferenceMacro"; }
00141         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00142         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00143 };
00144 
00145 class Macro_PrimaryAnatomicStructureMacro : public Module {
00146         Attribute *PrimaryAnatomicStructureSequence;
00147 public:
00148                     Macro_PrimaryAnatomicStructureMacro(AttributeList *list);
00149         const char *identify(void) const { return "PrimaryAnatomicStructureMacro"; }
00150         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00151         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00152 };
00153 
00154 class Macro_GeneralAnatomyMandatoryMacro : public Module {
00155         Attribute *AnatomicRegionSequence;
00156         Attribute *AnatomicRegionModifierSequence;
00157         Attribute *PrimaryAnatomicStructureModifierSequence;
00158 public:
00159                     Macro_GeneralAnatomyMandatoryMacro(AttributeList *list);
00160         const char *identify(void) const { return "GeneralAnatomyMandatoryMacro"; }
00161         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00162         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00163 };
00164 
00165 class Macro_GeneralAnatomyRequiredMacro : public Module {
00166         Attribute *AnatomicRegionSequence;
00167         Attribute *AnatomicRegionModifierSequence;
00168         Attribute *PrimaryAnatomicStructureModifierSequence;
00169 public:
00170                     Macro_GeneralAnatomyRequiredMacro(AttributeList *list);
00171         const char *identify(void) const { return "GeneralAnatomyRequiredMacro"; }
00172         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00173         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00174 };
00175 
00176 class Macro_GeneralAnatomyOptionalMacro : public Module {
00177         Attribute *AnatomicRegionSequence;
00178         Attribute *AnatomicRegionModifierSequence;
00179         Attribute *PrimaryAnatomicStructureModifierSequence;
00180 public:
00181                     Macro_GeneralAnatomyOptionalMacro(AttributeList *list);
00182         const char *identify(void) const { return "GeneralAnatomyOptionalMacro"; }
00183         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00184         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00185 };
00186 
00187 class Macro_RequestAttributesMacro : public Module {
00188         Attribute *RequestedProcedureID;
00189         Attribute *AccessionNumber;
00190         Attribute *IssuerOfAccessionNumberSequence;
00191         Attribute *StudyInstanceUID;
00192         Attribute *ReferencedStudySequence;
00193         Attribute *RequestedProcedureDescription;
00194         Attribute *RequestedProcedureCodeSequence;
00195         Attribute *ReasonForRequestedProcedure;
00196         Attribute *ReasonForRequestedProcedureCodeSequence;
00197         Attribute *ScheduledProcedureStepID;
00198         Attribute *ScheduledProcedureStepDescription;
00199         Attribute *ScheduledProtocolCodeSequence;
00200 public:
00201                     Macro_RequestAttributesMacro(AttributeList *list);
00202         const char *identify(void) const { return "RequestAttributesMacro"; }
00203         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00204         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00205 };
00206 
00207 class Macro_BasicPixelSpacingCalibrationMacro : public Module {
00208         Attribute *PixelSpacing;
00209         Attribute *PixelSpacingCalibrationType;
00210         Attribute *PixelSpacingCalibrationDescription;
00211 public:
00212                     Macro_BasicPixelSpacingCalibrationMacro(AttributeList *list);
00213         const char *identify(void) const { return "BasicPixelSpacingCalibrationMacro"; }
00214         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00215         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00216 };
00217 
00218 class Macro_SOPInstanceReferenceMacro : public Module {
00219         Attribute *ReferencedSOPClassUID;
00220         Attribute *ReferencedSOPInstanceUID;
00221 public:
00222                     Macro_SOPInstanceReferenceMacro(AttributeList *list);
00223         const char *identify(void) const { return "SOPInstanceReferenceMacro"; }
00224         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00225         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00226 };
00227 
00228 class Macro_DisplayShutterMacro : public Module {
00229         Attribute *ShutterShape;
00230         Attribute *ShutterLeftVerticalEdge;
00231         Attribute *ShutterRightVerticalEdge;
00232         Attribute *ShutterUpperHorizontalEdge;
00233         Attribute *ShutterLowerHorizontalEdge;
00234         Attribute *CenterOfCircularShutter;
00235         Attribute *RadiusOfCircularShutter;
00236         Attribute *VerticesOfPolygonalShutter;
00237         Attribute *ShutterPresentationValue;
00238         Attribute *ShutterPresentationColorCIELabValue;
00239 public:
00240                     Macro_DisplayShutterMacro(AttributeList *list);
00241         const char *identify(void) const { return "DisplayShutterMacro"; }
00242         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00243         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00244 };
00245 
00246 class Macro_ContentIdentificationMacro : public Module {
00247         Attribute *InstanceNumber;
00248         Attribute *ContentLabel;
00249         Attribute *ContentDescription;
00250         Attribute *ContentCreatorsName;
00251         Attribute *ContentCreatorsIdentificationCodeSequence;
00252 public:
00253                     Macro_ContentIdentificationMacro(AttributeList *list);
00254         const char *identify(void) const { return "ContentIdentificationMacro"; }
00255         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00256         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00257 };
00258 
00259 class Macro_HL7v2HierarchicDesignatorMacro : public Module {
00260         Attribute *LocalNamespaceEntityID;
00261         Attribute *UniversalEntityID;
00262         Attribute *UniversalEntityIDType;
00263 public:
00264                     Macro_HL7v2HierarchicDesignatorMacro(AttributeList *list);
00265         const char *identify(void) const { return "HL7v2HierarchicDesignatorMacro"; }
00266         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00267         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00268 };
00269 
00270 class Macro_IssuerOfPatientIDMacro : public Module {
00271         Attribute *IssuerOfPatientID;
00272         Attribute *IssuerOfPatientIDQualifiersSequence;
00273 public:
00274                     Macro_IssuerOfPatientIDMacro(AttributeList *list);
00275         const char *identify(void) const { return "IssuerOfPatientIDMacro"; }
00276         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00277         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00278 };
00279 
00280 class Macro_GeneralContributingSourcesMacro : public Module {
00281         Attribute *ContributingSOPInstancesReferenceSequence;
00282         Attribute *Manufacturer;
00283         Attribute *ManufacturerModelName;
00284         Attribute *DeviceSerialNumber;
00285         Attribute *SoftwareVersion;
00286         Attribute *AcquisitionDateTime;
00287         Attribute *StationName;
00288         Attribute *OperatorName;
00289         Attribute *OperatorIdentificationSequence;
00290         Attribute *ProtocolName;
00291         Attribute *PerformedProtocolCodeSequence;
00292         Attribute *AcquisitionProtocolName;
00293 public:
00294                     Macro_GeneralContributingSourcesMacro(AttributeList *list);
00295         const char *identify(void) const { return "GeneralContributingSourcesMacro"; }
00296         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00297         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00298 };
00299 
00300 class Macro_ContributingImageSourcesMacro : public Module {
00301         Attribute *Rows;
00302         Attribute *Columns;
00303         Attribute *BitsStored;
00304         Attribute *LossyImageCompression;
00305         Attribute *LossyImageCompressionRatio;
00306         Attribute *LossyImageCompressionMethod;
00307 public:
00308                     Macro_ContributingImageSourcesMacro(AttributeList *list);
00309         const char *identify(void) const { return "ContributingImageSourcesMacro"; }
00310         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00311         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00312 };
00313 
00314 class Macro_PatientOrientationMacro : public Module {
00315         Attribute *PatientOrientationCodeSequence;
00316         Attribute *PatientGantryRelationshipCodeSequence;
00317 public:
00318                     Macro_PatientOrientationMacro(AttributeList *list);
00319         const char *identify(void) const { return "PatientOrientationMacro"; }
00320         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00321         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00322 };
00323 
00324 class Macro_PerformedProcedureStepSummaryMacro : public Module {
00325         Attribute *PerformedProcedureStepID;
00326         Attribute *PerformedProcedureStepStartDate;
00327         Attribute *PerformedProcedureStepStartTime;
00328         Attribute *PerformedProcedureStepDescription;
00329         Attribute *PerformedProtocolCodeSequence;
00330         Attribute *CommentsOnPerformedProcedureStep;
00331 public:
00332                     Macro_PerformedProcedureStepSummaryMacro(AttributeList *list);
00333         const char *identify(void) const { return "PerformedProcedureStepSummaryMacro"; }
00334         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00335         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00336 };
00337 
00338 class Module_Patient : public Module {
00339         Attribute *PatientName;
00340         Attribute *PatientID;
00341         Attribute *PatientBirthDate;
00342         Attribute *PatientSex;
00343         Attribute *ReferencedPatientSequence;
00344         Attribute *PatientBirthTime;
00345         Attribute *OtherPatientID;
00346         Attribute *OtherPatientIDSequence;
00347         Attribute *OtherPatientName;
00348         Attribute *EthnicGroup;
00349         Attribute *PatientComments;
00350         Attribute *PatientSpeciesDescription;
00351         Attribute *PatientSpeciesCodeSequence;
00352         Attribute *PatientBreedDescription;
00353         Attribute *PatientBreedCodeSequence;
00354         Attribute *BreedRegistrationSequence;
00355         Attribute *ResponsiblePerson;
00356         Attribute *ResponsiblePersonRole;
00357         Attribute *ResponsibleOrganization;
00358         Attribute *PatientIdentityRemoved;
00359         Attribute *DeidentificationMethod;
00360         Attribute *DeidentificationMethodCodeSequence;
00361 public:
00362                     Module_Patient(AttributeList *list);
00363         const char *identify(void) const { return "Patient"; }
00364         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00365         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00366 };
00367 
00368 class Module_ClinicalTrialSubject : public Module {
00369         Attribute *ClinicalTrialSponsorName;
00370         Attribute *ClinicalTrialProtocolID;
00371         Attribute *ClinicalTrialProtocolName;
00372         Attribute *ClinicalTrialSiteID;
00373         Attribute *ClinicalTrialSiteName;
00374         Attribute *ClinicalTrialSubjectID;
00375         Attribute *ClinicalTrialSubjectReadingID;
00376 public:
00377                     Module_ClinicalTrialSubject(AttributeList *list);
00378         const char *identify(void) const { return "ClinicalTrialSubject"; }
00379         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00380         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00381 };
00382 
00383 class Module_GeneralStudy : public Module {
00384         Attribute *StudyInstanceUID;
00385         Attribute *StudyDate;
00386         Attribute *StudyTime;
00387         Attribute *ReferringPhysicianName;
00388         Attribute *ReferringPhysicianIdentificationSequence;
00389         Attribute *StudyID;
00390         Attribute *AccessionNumber;
00391         Attribute *IssuerOfAccessionNumberSequence;
00392         Attribute *StudyDescription;
00393         Attribute *PhysicianOfRecord;
00394         Attribute *PhysicianOfRecordIdentificationSequence;
00395         Attribute *PhysicianReadingStudy;
00396         Attribute *PhysicianReadingStudyIdentificationSequence;
00397         Attribute *ReferencedStudySequence;
00398         Attribute *ProcedureCodeSequence;
00399 public:
00400                     Module_GeneralStudy(AttributeList *list);
00401         const char *identify(void) const { return "GeneralStudy"; }
00402         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00403         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00404 };
00405 
00406 class Module_PatientStudy : public Module {
00407         Attribute *AdmittingDiagnosesDescription;
00408         Attribute *AdmittingDiagnosesCodeSequence;
00409         Attribute *PatientAge;
00410         Attribute *PatientSize;
00411         Attribute *PatientWeight;
00412         Attribute *Occupation;
00413         Attribute *AdditionalPatientHistory;
00414         Attribute *AdmissionID;
00415         Attribute *IssuerOfAdmissionID;
00416         Attribute *IssuerOfAdmissionIDSequence;
00417         Attribute *ServiceEpisodeID;
00418         Attribute *IssuerOfServiceEpisodeIDSequence;
00419         Attribute *ServiceEpisodeDescription;
00420         Attribute *PatientSexNeutered;
00421 public:
00422                     Module_PatientStudy(AttributeList *list);
00423         const char *identify(void) const { return "PatientStudy"; }
00424         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00425         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00426 };
00427 
00428 class Module_ClinicalTrialStudy : public Module {
00429         Attribute *ClinicalTrialTimePointID;
00430         Attribute *ClinicalTrialTimePointDescription;
00431 public:
00432                     Module_ClinicalTrialStudy(AttributeList *list);
00433         const char *identify(void) const { return "ClinicalTrialStudy"; }
00434         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00435         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00436 };
00437 
00438 class Module_GeneralSeries : public Module {
00439         Attribute *Modality;
00440         Attribute *SeriesInstanceUID;
00441         Attribute *SeriesNumber;
00442         Attribute *Laterality;
00443         Attribute *SeriesDate;
00444         Attribute *SeriesTime;
00445         Attribute *PerformingPhysicianName;
00446         Attribute *PerformingPhysicianIdentificationSequence;
00447         Attribute *ProtocolName;
00448         Attribute *SeriesDescription;
00449         Attribute *OperatorName;
00450         Attribute *OperatorIdentificationSequence;
00451         Attribute *ReferencedPerformedProcedureStepSequence;
00452         Attribute *RelatedSeriesSequence;
00453         Attribute *BodyPartExamined;
00454         Attribute *PatientPosition;
00455         Attribute *SmallestPixelValueInSeries;
00456         Attribute *LargestPixelValueInSeries;
00457         Attribute *RequestAttributesSequence;
00458 public:
00459                     Module_GeneralSeries(AttributeList *list);
00460         const char *identify(void) const { return "GeneralSeries"; }
00461         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00462         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00463 };
00464 
00465 class Module_ClinicalTrialSeries : public Module {
00466         Attribute *ClinicalTrialCoordinatingCenterName;
00467         Attribute *ClinicalTrialSeriesID;
00468         Attribute *ClinicalTrialSeriesDescription;
00469 public:
00470                     Module_ClinicalTrialSeries(AttributeList *list);
00471         const char *identify(void) const { return "ClinicalTrialSeries"; }
00472         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00473         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00474 };
00475 
00476 class Module_EnhancedSeries : public Module {
00477         Attribute *SeriesNumber;
00478         Attribute *ReferencedPerformedProcedureStepSequence;
00479 public:
00480                     Module_EnhancedSeries(AttributeList *list);
00481         const char *identify(void) const { return "EnhancedSeries"; }
00482         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00483         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00484 };
00485 
00486 class Module_FrameOfReference : public Module {
00487         Attribute *FrameOfReferenceUID;
00488         Attribute *PositionReferenceIndicator;
00489 public:
00490                     Module_FrameOfReference(AttributeList *list);
00491         const char *identify(void) const { return "FrameOfReference"; }
00492         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00493         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00494 };
00495 
00496 class Module_GeneralEquipment : public Module {
00497         Attribute *Manufacturer;
00498         Attribute *InstitutionName;
00499         Attribute *InstitutionAddress;
00500         Attribute *StationName;
00501         Attribute *InstitutionalDepartmentName;
00502         Attribute *ManufacturerModelName;
00503         Attribute *DeviceSerialNumber;
00504         Attribute *SoftwareVersion;
00505         Attribute *GantryID;
00506         Attribute *SpatialResolution;
00507         Attribute *DateOfLastCalibration;
00508         Attribute *TimeOfLastCalibration;
00509         Attribute *PixelPaddingValue;
00510 public:
00511                     Module_GeneralEquipment(AttributeList *list);
00512         const char *identify(void) const { return "GeneralEquipment"; }
00513         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00514         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00515 };
00516 
00517 class Module_EnhancedGeneralEquipment : public Module {
00518         Attribute *Manufacturer;
00519         Attribute *ManufacturerModelName;
00520         Attribute *DeviceSerialNumber;
00521         Attribute *SoftwareVersion;
00522 public:
00523                     Module_EnhancedGeneralEquipment(AttributeList *list);
00524         const char *identify(void) const { return "EnhancedGeneralEquipment"; }
00525         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00526         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00527 };
00528 
00529 class Module_GeneralImage : public Module {
00530         Attribute *InstanceNumber;
00531         Attribute *PatientOrientation;
00532         Attribute *ContentDate;
00533         Attribute *ContentTime;
00534         Attribute *ImageType;
00535         Attribute *AcquisitionNumber;
00536         Attribute *AcquisitionDate;
00537         Attribute *AcquisitionTime;
00538         Attribute *AcquisitionDateTime;
00539         Attribute *ReferencedImageSequence;
00540         Attribute *DerivationDescription;
00541         Attribute *DerivationCodeSequence;
00542         Attribute *SourceImageSequence;
00543         Attribute *ReferencedInstanceSequence;
00544         Attribute *ImagesInAcquisition;
00545         Attribute *ImageComments;
00546         Attribute *QualityControlImage;
00547         Attribute *BurnedInAnnotation;
00548         Attribute *LossyImageCompression;
00549         Attribute *LossyImageCompressionRatio;
00550         Attribute *LossyImageCompressionMethod;
00551         Attribute *IconImageSequence;
00552         Attribute *PresentationLUTShape;
00553         Attribute *IrradiationEventUID;
00554 public:
00555                     Module_GeneralImage(AttributeList *list);
00556         const char *identify(void) const { return "GeneralImage"; }
00557         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00558         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00559 };
00560 
00561 class Module_ImagePlane : public Module {
00562         Attribute *PixelSpacing;
00563         Attribute *ImageOrientationPatient;
00564         Attribute *ImagePositionPatient;
00565         Attribute *SliceThickness;
00566         Attribute *SliceLocation;
00567 public:
00568                     Module_ImagePlane(AttributeList *list);
00569         const char *identify(void) const { return "ImagePlane"; }
00570         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00571         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00572 };
00573 
00574 class Macro_ImagePixelMacro : public Module {
00575         Attribute *SamplesPerPixel;
00576         Attribute *PhotometricInterpretation;
00577         Attribute *Rows;
00578         Attribute *Columns;
00579         Attribute *BitsAllocated;
00580         Attribute *BitsStored;
00581         Attribute *HighBit;
00582         Attribute *PixelRepresentation;
00583         Attribute *PixelData;
00584         Attribute *PlanarConfiguration;
00585         Attribute *PixelAspectRatio;
00586         Attribute *SmallestImagePixelValue;
00587         Attribute *LargestImagePixelValue;
00588         Attribute *RedPaletteColorLookupTableDescriptor;
00589         Attribute *GreenPaletteColorLookupTableDescriptor;
00590         Attribute *BluePaletteColorLookupTableDescriptor;
00591         Attribute *RedPaletteColorLookupTableData;
00592         Attribute *GreenPaletteColorLookupTableData;
00593         Attribute *BluePaletteColorLookupTableData;
00594         Attribute *ICCProfile;
00595 public:
00596                     Macro_ImagePixelMacro(AttributeList *list);
00597         const char *identify(void) const { return "ImagePixelMacro"; }
00598         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00599         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00600 };
00601 
00602 class Module_ImagePixel : public Module {
00603         Attribute *PixelDataProviderURL;
00604         Attribute *PixelPaddingRangeLimit;
00605 public:
00606                     Module_ImagePixel(AttributeList *list);
00607         const char *identify(void) const { return "ImagePixel"; }
00608         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00609         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00610 };
00611 
00612 class Module_ContrastBolus : public Module {
00613         Attribute *ContrastBolusAgent;
00614         Attribute *ContrastBolusAgentSequence;
00615         Attribute *ContrastBolusRoute;
00616         Attribute *ContrastBolusAdministrationRouteSequence;
00617         Attribute *ContrastBolusVolume;
00618         Attribute *ContrastBolusStartTime;
00619         Attribute *ContrastBolusStopTime;
00620         Attribute *ContrastBolusTotalDose;
00621         Attribute *ContrastFlowRate;
00622         Attribute *ContrastFlowDuration;
00623         Attribute *ContrastBolusIngredient;
00624         Attribute *ContrastBolusIngredientConcentration;
00625 public:
00626                     Module_ContrastBolus(AttributeList *list);
00627         const char *identify(void) const { return "ContrastBolus"; }
00628         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00629         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00630 };
00631 
00632 class Module_EnhancedContrastBolus : public Module {
00633         Attribute *ContrastBolusAgentSequence;
00634 public:
00635                     Module_EnhancedContrastBolus(AttributeList *list);
00636         const char *identify(void) const { return "EnhancedContrastBolus"; }
00637         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00638         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00639 };
00640 
00641 class Module_Cine : public Module {
00642         Attribute *PreferredPlaybackSequencing;
00643         Attribute *FrameTime;
00644         Attribute *FrameTimeVector;
00645         Attribute *StartTrim;
00646         Attribute *StopTrim;
00647         Attribute *RecommendedDisplayFrameRate;
00648         Attribute *CineRate;
00649         Attribute *FrameDelay;
00650         Attribute *ImageTriggerDelay;
00651         Attribute *EffectiveDuration;
00652         Attribute *ActualFrameDuration;
00653         Attribute *MultiplexedAudioChannelsDescriptionCodeSequence;
00654 public:
00655                     Module_Cine(AttributeList *list);
00656         const char *identify(void) const { return "Cine"; }
00657         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00658         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00659 };
00660 
00661 class Module_MultiFrame : public Module {
00662         Attribute *NumberOfFrames;
00663         Attribute *FrameIncrementPointer;
00664 public:
00665                     Module_MultiFrame(AttributeList *list);
00666         const char *identify(void) const { return "MultiFrame"; }
00667         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00668         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00669 };
00670 
00671 class Module_MultiFrameFunctionalGroupsCommon : public Module {
00672         Attribute *InstanceNumber;
00673         Attribute *ContentDate;
00674         Attribute *ContentTime;
00675         Attribute *NumberOfFrames;
00676         Attribute *ConcatenationFrameOffsetNumber;
00677         Attribute *RepresentativeFrameNumber;
00678         Attribute *ConcatenationUID;
00679         Attribute *InConcatenationNumber;
00680         Attribute *InConcatenationTotalNumber;
00681 public:
00682                     Module_MultiFrameFunctionalGroupsCommon(AttributeList *list);
00683         const char *identify(void) const { return "MultiFrameFunctionalGroupsCommon"; }
00684         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00685         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00686 };
00687 
00688 class Macro_PixelMeasuresMacro : public Module {
00689         Attribute *PixelMeasuresSequence;
00690 public:
00691                     Macro_PixelMeasuresMacro(AttributeList *list);
00692         const char *identify(void) const { return "PixelMeasuresMacro"; }
00693         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00694         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00695 };
00696 
00697 class Macro_FrameContentMacro : public Module {
00698         Attribute *FrameContentSequence;
00699 public:
00700                     Macro_FrameContentMacro(AttributeList *list);
00701         const char *identify(void) const { return "FrameContentMacro"; }
00702         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00703         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00704 };
00705 
00706 class Macro_PlanePositionMacro : public Module {
00707         Attribute *PlanePositionSequence;
00708 public:
00709                     Macro_PlanePositionMacro(AttributeList *list);
00710         const char *identify(void) const { return "PlanePositionMacro"; }
00711         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00712         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00713 };
00714 
00715 class Macro_PlaneOrientationMacro : public Module {
00716         Attribute *PlaneOrientationSequence;
00717 public:
00718                     Macro_PlaneOrientationMacro(AttributeList *list);
00719         const char *identify(void) const { return "PlaneOrientationMacro"; }
00720         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00721         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00722 };
00723 
00724 class Macro_ReferencedImageMacro : public Module {
00725         Attribute *ReferencedImageSequence;
00726 public:
00727                     Macro_ReferencedImageMacro(AttributeList *list);
00728         const char *identify(void) const { return "ReferencedImageMacro"; }
00729         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00730         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00731 };
00732 
00733 class Macro_DerivationImageMacro : public Module {
00734         Attribute *DerivationImageSequence;
00735 public:
00736                     Macro_DerivationImageMacro(AttributeList *list);
00737         const char *identify(void) const { return "DerivationImageMacro"; }
00738         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00739         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00740 };
00741 
00742 class Macro_CardiacSynchronizationMacro : public Module {
00743         Attribute *CardiacSynchronizationSequence;
00744 public:
00745                     Macro_CardiacSynchronizationMacro(AttributeList *list);
00746         const char *identify(void) const { return "CardiacSynchronizationMacro"; }
00747         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00748         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00749 };
00750 
00751 class Macro_FrameAnatomyMacro : public Module {
00752         Attribute *FrameAnatomySequence;
00753 public:
00754                     Macro_FrameAnatomyMacro(AttributeList *list);
00755         const char *identify(void) const { return "FrameAnatomyMacro"; }
00756         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00757         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00758 };
00759 
00760 class Macro_PixelValueTransformationMacro : public Module {
00761         Attribute *PixelValueTransformationSequence;
00762 public:
00763                     Macro_PixelValueTransformationMacro(AttributeList *list);
00764         const char *identify(void) const { return "PixelValueTransformationMacro"; }
00765         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00766         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00767 };
00768 
00769 class Macro_FrameVOILUTMacro : public Module {
00770         Attribute *FrameVOILUTSequence;
00771 public:
00772                     Macro_FrameVOILUTMacro(AttributeList *list);
00773         const char *identify(void) const { return "FrameVOILUTMacro"; }
00774         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00775         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00776 };
00777 
00778 class Macro_RealWorldValueMappingMacro : public Module {
00779         Attribute *RealWorldValueMappingSequence;
00780 public:
00781                     Macro_RealWorldValueMappingMacro(AttributeList *list);
00782         const char *identify(void) const { return "RealWorldValueMappingMacro"; }
00783         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00784         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00785 };
00786 
00787 class Macro_ContrastBolusUsageMacro : public Module {
00788         Attribute *ContrastBolusUsageSequence;
00789 public:
00790                     Macro_ContrastBolusUsageMacro(AttributeList *list);
00791         const char *identify(void) const { return "ContrastBolusUsageMacro"; }
00792         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00793         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00794 };
00795 
00796 class Macro_PixelIntensityRelationshipLUTMacro : public Module {
00797         Attribute *PixelIntensityRelationshipLUTSequence;
00798 public:
00799                     Macro_PixelIntensityRelationshipLUTMacro(AttributeList *list);
00800         const char *identify(void) const { return "PixelIntensityRelationshipLUTMacro"; }
00801         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00802         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00803 };
00804 
00805 class Macro_FramePixelShiftMacro : public Module {
00806         Attribute *FramePixelShiftSequence;
00807 public:
00808                     Macro_FramePixelShiftMacro(AttributeList *list);
00809         const char *identify(void) const { return "FramePixelShiftMacro"; }
00810         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00811         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00812 };
00813 
00814 class Macro_PatientOrientationInFrameMacro : public Module {
00815         Attribute *PatientOrientationInFrameSequence;
00816 public:
00817                     Macro_PatientOrientationInFrameMacro(AttributeList *list);
00818         const char *identify(void) const { return "PatientOrientationInFrameMacro"; }
00819         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00820         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00821 };
00822 
00823 class Macro_FrameDisplayShutterMacro : public Module {
00824         Attribute *FrameDisplayShutterSequence;
00825 public:
00826                     Macro_FrameDisplayShutterMacro(AttributeList *list);
00827         const char *identify(void) const { return "FrameDisplayShutterMacro"; }
00828         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00829         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00830 };
00831 
00832 class Macro_RespiratorySynchronizationMacro : public Module {
00833         Attribute *RespiratorySynchronizationSequence;
00834 public:
00835                     Macro_RespiratorySynchronizationMacro(AttributeList *list);
00836         const char *identify(void) const { return "RespiratorySynchronizationMacro"; }
00837         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00838         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00839 };
00840 
00841 class Macro_IrradiationEventIdentificationMacro : public Module {
00842         Attribute *IrradiationEventIdentificationSequence;
00843 public:
00844                     Macro_IrradiationEventIdentificationMacro(AttributeList *list);
00845         const char *identify(void) const { return "IrradiationEventIdentificationMacro"; }
00846         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00847         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00848 };
00849 
00850 class Module_MultiFrameDimension : public Module {
00851         Attribute *DimensionOrganizationSequence;
00852         Attribute *DimensionIndexSequence;
00853 public:
00854                     Module_MultiFrameDimension(AttributeList *list);
00855         const char *identify(void) const { return "MultiFrameDimension"; }
00856         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00857         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00858 };
00859 
00860 class Module_CardiacSynchronization : public Module {
00861         Attribute *CardiacSynchronizationTechnique;
00862         Attribute *CardiacSignalSource;
00863         Attribute *CardiacRRIntervalSpecified;
00864         Attribute *CardiacBeatRejectionTechnique;
00865         Attribute *LowRRValue;
00866         Attribute *HighRRValue;
00867         Attribute *IntervalsAcquired;
00868         Attribute *IntervalsRejected;
00869         Attribute *SkipBeats;
00870         Attribute *CardiacFramingType;
00871 public:
00872                     Module_CardiacSynchronization(AttributeList *list);
00873         const char *identify(void) const { return "CardiacSynchronization"; }
00874         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00875         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00876 };
00877 
00878 class Module_RespiratorySynchronization : public Module {
00879         Attribute *RespiratoryMotionCompensationTechnique;
00880         Attribute *RespiratorySignalSource;
00881         Attribute *RespiratoryTriggerDelayThreshold;
00882         Attribute *RespiratoryTriggerType;
00883 public:
00884                     Module_RespiratorySynchronization(AttributeList *list);
00885         const char *identify(void) const { return "RespiratorySynchronization"; }
00886         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00887         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00888 };
00889 
00890 class Module_BulkMotionSynchronization : public Module {
00891         Attribute *BulkMotionCompensationTechnique;
00892         Attribute *BulkMotionSignalSource;
00893 public:
00894                     Module_BulkMotionSynchronization(AttributeList *list);
00895         const char *identify(void) const { return "BulkMotionSynchronization"; }
00896         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00897         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00898 };
00899 
00900 class Module_SupplementalPaletteColorLUT : public Module {
00901         Attribute *RedPaletteColorLookupTableDescriptor;
00902         Attribute *GreenPaletteColorLookupTableDescriptor;
00903         Attribute *BluePaletteColorLookupTableDescriptor;
00904         Attribute *RedPaletteColorLookupTableData;
00905         Attribute *GreenPaletteColorLookupTableData;
00906         Attribute *BluePaletteColorLookupTableData;
00907 public:
00908                     Module_SupplementalPaletteColorLUT(AttributeList *list);
00909         const char *identify(void) const { return "SupplementalPaletteColorLUT"; }
00910         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00911         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00912 };
00913 
00914 class Module_PaletteColorLookupTable : public Module {
00915         Attribute *RedPaletteColorLookupTableDescriptor;
00916         Attribute *GreenPaletteColorLookupTableDescriptor;
00917         Attribute *BluePaletteColorLookupTableDescriptor;
00918         Attribute *PaletteColorLookupTableUID;
00919         Attribute *RedPaletteColorLookupTableData;
00920         Attribute *GreenPaletteColorLookupTableData;
00921         Attribute *BluePaletteColorLookupTableData;
00922         Attribute *SegmentedRedPaletteColorLookupTableData;
00923         Attribute *SegmentedGreenPaletteColorLookupTableData;
00924         Attribute *SegmentedBluePaletteColorLookupTableData;
00925 public:
00926                     Module_PaletteColorLookupTable(AttributeList *list);
00927         const char *identify(void) const { return "PaletteColorLookupTable"; }
00928         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00929         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00930 };
00931 
00932 class Module_PatientOrientation : public Module {
00933 public:
00934                     Module_PatientOrientation(AttributeList *list);
00935         const char *identify(void) const { return "PatientOrientation"; }
00936         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00937         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00938 };
00939 
00940 class Module_ImageEquipmentCoordinateRelationship : public Module {
00941         Attribute *ImageToEquipmentMappingMatrix;
00942         Attribute *EquipmentCoordinateSystemIdentification;
00943 public:
00944                     Module_ImageEquipmentCoordinateRelationship(AttributeList *list);
00945         const char *identify(void) const { return "ImageEquipmentCoordinateRelationship"; }
00946         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00947         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00948 };
00949 
00950 class Module_CRSeries : public Module {
00951         Attribute *BodyPartExamined;
00952         Attribute *ViewPosition;
00953         Attribute *FilterType;
00954         Attribute *CollimatorGridName;
00955         Attribute *FocalSpot;
00956         Attribute *PlateType;
00957         Attribute *PhosphorType;
00958 public:
00959                     Module_CRSeries(AttributeList *list);
00960         const char *identify(void) const { return "CRSeries"; }
00961         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00962         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00963 };
00964 
00965 class Module_CRImage : public Module {
00966         Attribute *PhotometricInterpretation;
00967         Attribute *KVP;
00968         Attribute *PlateID;
00969         Attribute *DistanceSourceToDetector;
00970         Attribute *DistanceSourceToPatient;
00971         Attribute *ExposureTime;
00972         Attribute *XRayTubeCurrent;
00973         Attribute *Exposure;
00974         Attribute *ExposureInuAs;
00975         Attribute *ImagerPixelSpacing;
00976         Attribute *GeneratorPower;
00977         Attribute *AcquisitionDeviceProcessingDescription;
00978         Attribute *AcquisitionDeviceProcessingCode;
00979         Attribute *CassetteOrientation;
00980         Attribute *CassetteSize;
00981         Attribute *ExposuresOnPlate;
00982         Attribute *RelativeXRayExposure;
00983         Attribute *Sensitivity;
00984 public:
00985                     Module_CRImage(AttributeList *list);
00986         const char *identify(void) const { return "CRImage"; }
00987         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
00988         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
00989 };
00990 
00991 class Module_CTImage : public Module {
00992         Attribute *ImageType;
00993         Attribute *SamplesPerPixel;
00994         Attribute *PhotometricInterpretation;
00995         Attribute *BitsAllocated;
00996         Attribute *BitsStored;
00997         Attribute *HighBit;
00998         Attribute *RescaleIntercept;
00999         Attribute *RescaleSlope;
01000         Attribute *KVP;
01001         Attribute *AcquisitionNumber;
01002         Attribute *ScanOptions;
01003         Attribute *DataCollectionDiameter;
01004         Attribute *DataCollectionCenterPatient;
01005         Attribute *ReconstructionDiameter;
01006         Attribute *ReconstructionTargetCenterPatient;
01007         Attribute *DistanceSourceToDetector;
01008         Attribute *DistanceSourceToPatient;
01009         Attribute *GantryDetectorTilt;
01010         Attribute *TableHeight;
01011         Attribute *RotationDirection;
01012         Attribute *ExposureTime;
01013         Attribute *XRayTubeCurrent;
01014         Attribute *Exposure;
01015         Attribute *ExposureInuAs;
01016         Attribute *FilterType;
01017         Attribute *GeneratorPower;
01018         Attribute *FocalSpot;
01019         Attribute *ConvolutionKernel;
01020         Attribute *RevolutionTime;
01021         Attribute *SingleCollimationWidth;
01022         Attribute *TotalCollimationWidth;
01023         Attribute *TableSpeed;
01024         Attribute *TableFeedPerRotation;
01025         Attribute *SpiralPitchFactor;
01026         Attribute *ExposureModulationType;
01027         Attribute *EstimatedDoseSaving;
01028         Attribute *CTDIvol;
01029         Attribute *CTDIPhantomTypeCodeSequence;
01030         Attribute *CalciumScoringMassFactorPatient;
01031         Attribute *CalciumScoringMassFactorDevice;
01032         Attribute *CTAdditionalXRaySourceSequence;
01033 public:
01034                     Module_CTImage(AttributeList *list);
01035         const char *identify(void) const { return "CTImage"; }
01036         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01037         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01038 };
01039 
01040 class Module_MRImage : public Module {
01041         Attribute *ImageType;
01042         Attribute *SamplesPerPixel;
01043         Attribute *PhotometricInterpretation;
01044         Attribute *BitsAllocated;
01045         Attribute *ScanningSequence;
01046         Attribute *SequenceVariant;
01047         Attribute *ScanOptions;
01048         Attribute *MRAcquisitionType;
01049         Attribute *RepetitionTime;
01050         Attribute *EchoTime;
01051         Attribute *EchoTrainLength;
01052         Attribute *InversionTime;
01053         Attribute *TriggerTime;
01054         Attribute *SequenceName;
01055         Attribute *AngioFlag;
01056         Attribute *NumberOfAverages;
01057         Attribute *ImagingFrequency;
01058         Attribute *ImagedNucleus;
01059         Attribute *EchoNumber;
01060         Attribute *MagneticFieldStrength;
01061         Attribute *SpacingBetweenSlices;
01062         Attribute *NumberOfPhaseEncodingSteps;
01063         Attribute *PercentSampling;
01064         Attribute *PercentPhaseFieldOfView;
01065         Attribute *PixelBandwidth;
01066         Attribute *NominalInterval;
01067         Attribute *BeatRejectionFlag;
01068         Attribute *LowRRValue;
01069         Attribute *HighRRValue;
01070         Attribute *IntervalsAcquired;
01071         Attribute *IntervalsRejected;
01072         Attribute *PVCRejection;
01073         Attribute *SkipBeats;
01074         Attribute *HeartRate;
01075         Attribute *CardiacNumberOfImages;
01076         Attribute *TriggerWindow;
01077         Attribute *ReconstructionDiameter;
01078         Attribute *ReceiveCoilName;
01079         Attribute *TransmitCoilName;
01080         Attribute *AcquisitionMatrix;
01081         Attribute *InPlanePhaseEncodingDirection;
01082         Attribute *FlipAngle;
01083         Attribute *SAR;
01084         Attribute *VariableFlipAngleFlag;
01085         Attribute *dBdt;
01086         Attribute *TemporalPositionIdentifier;
01087         Attribute *NumberOfTemporalPositions;
01088         Attribute *TemporalResolution;
01089 public:
01090                     Module_MRImage(AttributeList *list);
01091         const char *identify(void) const { return "MRImage"; }
01092         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01093         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01094 };
01095 
01096 class Module_NMPETPatientOrientation : public Module {
01097         Attribute *PatientOrientationCodeSequence;
01098         Attribute *PatientGantryRelationshipCodeSequence;
01099 public:
01100                     Module_NMPETPatientOrientation(AttributeList *list);
01101         const char *identify(void) const { return "NMPETPatientOrientation"; }
01102         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01103         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01104 };
01105 
01106 class Module_NMImagePixel : public Module {
01107         Attribute *SamplesPerPixel;
01108         Attribute *PhotometricInterpretation;
01109         Attribute *BitsAllocated;
01110         Attribute *BitsStored;
01111         Attribute *HighBit;
01112         Attribute *PixelSpacing;
01113 public:
01114                     Module_NMImagePixel(AttributeList *list);
01115         const char *identify(void) const { return "NMImagePixel"; }
01116         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01117         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01118 };
01119 
01120 class Module_NMMultiFrame : public Module {
01121         Attribute *FrameIncrementPointer;
01122         Attribute *EnergyWindowVector;
01123         Attribute *NumberOfEnergyWindows;
01124         Attribute *DetectorVector;
01125         Attribute *NumberOfDetectors;
01126         Attribute *PhaseVector;
01127         Attribute *NumberOfPhases;
01128         Attribute *RotationVector;
01129         Attribute *NumberOfRotations;
01130         Attribute *RRIntervalVector;
01131         Attribute *NumberOfRRIntervals;
01132         Attribute *TimeSlotVector;
01133         Attribute *NumberOfTimeSlots;
01134         Attribute *SliceVector;
01135         Attribute *NumberOfSlices;
01136         Attribute *AngularViewVector;
01137         Attribute *TimeSliceVector;
01138 public:
01139                     Module_NMMultiFrame(AttributeList *list);
01140         const char *identify(void) const { return "NMMultiFrame"; }
01141         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01142         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01143 };
01144 
01145 class Module_NMImage : public Module {
01146         Attribute *ImageType;
01147         Attribute *ImageID;
01148         Attribute *LossyImageCompression;
01149         Attribute *CountsAccumulated;
01150         Attribute *AcquisitionTerminationCondition;
01151         Attribute *TableHeight;
01152         Attribute *TableTraverse;
01153         Attribute *ActualFrameDuration;
01154         Attribute *CountRate;
01155         Attribute *ProcessingFunction;
01156         Attribute *CorrectedImage;
01157         Attribute *WholeBodyTechnique;
01158         Attribute *ScanVelocity;
01159         Attribute *ScanLength;
01160         Attribute *TriggerSourceOrType;
01161         Attribute *ReferencedImageRealWorldValueMappingSequence;
01162 public:
01163                     Module_NMImage(AttributeList *list);
01164         const char *identify(void) const { return "NMImage"; }
01165         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01166         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01167 };
01168 
01169 class Module_NMIsotope : public Module {
01170         Attribute *EnergyWindowInformationSequence;
01171         Attribute *RadiopharmaceuticalInformationSequence;
01172         Attribute *InterventionDrugInformationSequence;
01173 public:
01174                     Module_NMIsotope(AttributeList *list);
01175         const char *identify(void) const { return "NMIsotope"; }
01176         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01177         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01178 };
01179 
01180 class Module_NMDetector : public Module {
01181         Attribute *DetectorInformationSequence;
01182 public:
01183                     Module_NMDetector(AttributeList *list);
01184         const char *identify(void) const { return "NMDetector"; }
01185         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01186         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01187 };
01188 
01189 class Module_NMTomoAcquisition : public Module {
01190         Attribute *RotationInformationSequence;
01191         Attribute *TypeOfDetectorMotion;
01192 public:
01193                     Module_NMTomoAcquisition(AttributeList *list);
01194         const char *identify(void) const { return "NMTomoAcquisition"; }
01195         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01196         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01197 };
01198 
01199 class Module_NMMultiGatedAcquisition : public Module {
01200         Attribute *BeatRejectionFlag;
01201         Attribute *PVCRejection;
01202         Attribute *SkipBeats;
01203         Attribute *HeartRate;
01204         Attribute *GatedInformationSequence;
01205 public:
01206                     Module_NMMultiGatedAcquisition(AttributeList *list);
01207         const char *identify(void) const { return "NMMultiGatedAcquisition"; }
01208         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01209         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01210 };
01211 
01212 class Module_NMPhase : public Module {
01213         Attribute *PhaseInformationSequence;
01214 public:
01215                     Module_NMPhase(AttributeList *list);
01216         const char *identify(void) const { return "NMPhase"; }
01217         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01218         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01219 };
01220 
01221 class Module_NMReconstruction : public Module {
01222         Attribute *SpacingBetweenSlices;
01223         Attribute *ReconstructionDiameter;
01224         Attribute *ConvolutionKernel;
01225         Attribute *SliceThickness;
01226         Attribute *SliceLocation;
01227         Attribute *SliceProgressionDirection;
01228 public:
01229                     Module_NMReconstruction(AttributeList *list);
01230         const char *identify(void) const { return "NMReconstruction"; }
01231         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01232         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01233 };
01234 
01235 class Module_USRegionCalibration : public Module {
01236         Attribute *SequenceOfUltrasoundRegions;
01237 public:
01238                     Module_USRegionCalibration(AttributeList *list);
01239         const char *identify(void) const { return "USRegionCalibration"; }
01240         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01241         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01242 };
01243 
01244 class Module_USImage : public Module {
01245         Attribute *SamplesPerPixel;
01246         Attribute *PhotometricInterpretation;
01247         Attribute *BitsAllocated;
01248         Attribute *BitsStored;
01249         Attribute *HighBit;
01250         Attribute *PlanarConfiguration;
01251         Attribute *PixelRepresentation;
01252         Attribute *FrameIncrementPointer;
01253         Attribute *ImageType;
01254         Attribute *LossyImageCompression;
01255         Attribute *NumberOfStages;
01256         Attribute *NumberOfViewsInStage;
01257         Attribute *RWaveTimeVector;
01258         Attribute *UltrasoundColorDataPresent;
01259         Attribute *StageName;
01260         Attribute *StageCodeSequence;
01261         Attribute *StageNumber;
01262         Attribute *ViewName;
01263         Attribute *ViewNumber;
01264         Attribute *NumberOfEventTimers;
01265         Attribute *EventElapsedTime;
01266         Attribute *EventTimerName;
01267         Attribute *ViewCodeSequence;
01268         Attribute *AcquisitionDateTime;
01269         Attribute *TriggerTime;
01270         Attribute *NominalInterval;
01271         Attribute *BeatRejectionFlag;
01272         Attribute *LowRRValue;
01273         Attribute *HighRRValue;
01274         Attribute *HeartRate;
01275         Attribute *IVUSAcquisition;
01276         Attribute *IVUSPullbackRate;
01277         Attribute *IVUSGatedRate;
01278         Attribute *IVUSPullbackStartFrameNumber;
01279         Attribute *IVUSPullbackStopFrameNumber;
01280         Attribute *LesionNumber;
01281         Attribute *OutputPower;
01282         Attribute *TransducerData;
01283         Attribute *TransducerType;
01284         Attribute *FocusDepth;
01285         Attribute *ProcessingFunction;
01286         Attribute *MechanicalIndex;
01287         Attribute *BoneThermalIndex;
01288         Attribute *CranialThermalIndex;
01289         Attribute *SoftTissueThermalIndex;
01290         Attribute *SoftTissueFocusThermalIndex;
01291         Attribute *SoftTissueSurfaceThermalIndex;
01292         Attribute *DepthOfScanField;
01293         Attribute *OverlaySubtype;
01294 public:
01295                     Module_USImage(AttributeList *list);
01296         const char *identify(void) const { return "USImage"; }
01297         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01298         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01299 };
01300 
01301 class Module_SCEquipment : public Module {
01302         Attribute *ConversionType;
01303         Attribute *Modality;
01304         Attribute *SecondaryCaptureDeviceID;
01305         Attribute *SecondaryCaptureDeviceManufacturer;
01306         Attribute *SecondaryCaptureDeviceManufacturerModelName;
01307         Attribute *SecondaryCaptureDeviceSoftwareVersion;
01308         Attribute *VideoImageFormatAcquired;
01309         Attribute *DigitalImageFormatAcquired;
01310 public:
01311                     Module_SCEquipment(AttributeList *list);
01312         const char *identify(void) const { return "SCEquipment"; }
01313         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01314         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01315 };
01316 
01317 class Module_SCImage : public Module {
01318         Attribute *DateOfSecondaryCapture;
01319         Attribute *TimeOfSecondaryCapture;
01320         Attribute *NominalScannedPixelSpacing;
01321 public:
01322                     Module_SCImage(AttributeList *list);
01323         const char *identify(void) const { return "SCImage"; }
01324         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01325         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01326 };
01327 
01328 class Module_SCMultiFrameImage : public Module {
01329         Attribute *BurnedInAnnotation;
01330         Attribute *PresentationLUTShape;
01331         Attribute *Illumination;
01332         Attribute *ReflectedAmbientLight;
01333         Attribute *RescaleIntercept;
01334         Attribute *RescaleSlope;
01335         Attribute *RescaleType;
01336         Attribute *FrameIncrementPointer;
01337         Attribute *NominalScannedPixelSpacing;
01338         Attribute *DigitizingDeviceTransportDirection;
01339         Attribute *RotationOfScannedFilm;
01340 public:
01341                     Module_SCMultiFrameImage(AttributeList *list);
01342         const char *identify(void) const { return "SCMultiFrameImage"; }
01343         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01344         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01345 };
01346 
01347 class Module_SCMultiFrameVector : public Module {
01348         Attribute *FrameTimeVector;
01349         Attribute *PageNumberVector;
01350         Attribute *FrameLabelVector;
01351         Attribute *FramePrimaryAngleVector;
01352         Attribute *FrameSecondaryAngleVector;
01353         Attribute *SliceLocationVector;
01354         Attribute *DisplayWindowLabelVector;
01355 public:
01356                     Module_SCMultiFrameVector(AttributeList *list);
01357         const char *identify(void) const { return "SCMultiFrameVector"; }
01358         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01359         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01360 };
01361 
01362 class Module_OverlayPlane : public Module {
01363         Attribute *OverlayRows;
01364         Attribute *OverlayColumns;
01365         Attribute *OverlayType;
01366         Attribute *OverlayOrigin;
01367         Attribute *OverlayBitsAllocated;
01368         Attribute *OverlayBitPosition;
01369         Attribute *OverlayData;
01370         Attribute *OverlayDescription;
01371         Attribute *OverlaySubtype;
01372         Attribute *OverlayLabel;
01373         Attribute *ROIArea;
01374         Attribute *ROIMean;
01375         Attribute *ROIStandardDeviation;
01376 public:
01377                     Module_OverlayPlane(AttributeList *list);
01378         const char *identify(void) const { return "OverlayPlane"; }
01379         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01380         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01381 };
01382 
01383 class Module_MultiFrameOverlay : public Module {
01384         Attribute *NumberOfFramesInOverlay;
01385         Attribute *ImageFrameOrigin;
01386 public:
01387                     Module_MultiFrameOverlay(AttributeList *list);
01388         const char *identify(void) const { return "MultiFrameOverlay"; }
01389         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01390         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01391 };
01392 
01393 class Macro_ModalityLUTMacro : public Module {
01394         Attribute *ModalityLUTSequence;
01395         Attribute *RescaleIntercept;
01396         Attribute *RescaleSlope;
01397         Attribute *RescaleType;
01398 public:
01399                     Macro_ModalityLUTMacro(AttributeList *list);
01400         const char *identify(void) const { return "ModalityLUTMacro"; }
01401         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01402         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01403 };
01404 
01405 class Module_ModalityLUT : public Module {
01406 public:
01407                     Module_ModalityLUT(AttributeList *list);
01408         const char *identify(void) const { return "ModalityLUT"; }
01409         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01410         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01411 };
01412 
01413 class Macro_VOILUTMacro : public Module {
01414         Attribute *VOILUTSequence;
01415         Attribute *WindowCenter;
01416         Attribute *WindowWidth;
01417         Attribute *WindowCenterWidthExplanation;
01418         Attribute *VOILUTFunction;
01419 public:
01420                     Macro_VOILUTMacro(AttributeList *list);
01421         const char *identify(void) const { return "VOILUTMacro"; }
01422         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01423         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01424 };
01425 
01426 class Module_VOILUT : public Module {
01427 public:
01428                     Module_VOILUT(AttributeList *list);
01429         const char *identify(void) const { return "VOILUT"; }
01430         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01431         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01432 };
01433 
01434 class Macro_DigitalSignaturesMacro : public Module {
01435         Attribute *MACParametersSequence;
01436         Attribute *DigitalSignaturesSequence;
01437 public:
01438                     Macro_DigitalSignaturesMacro(AttributeList *list);
01439         const char *identify(void) const { return "DigitalSignaturesMacro"; }
01440         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01441         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01442 };
01443 
01444 class Module_SOPCommon : public Module {
01445         Attribute *SOPClassUID;
01446         Attribute *SOPInstanceUID;
01447         Attribute *SpecificCharacterSet;
01448         Attribute *InstanceCreationDate;
01449         Attribute *InstanceCreationTime;
01450         Attribute *InstanceCreatorUID;
01451         Attribute *RelatedGeneralSOPClassUID;
01452         Attribute *OriginalSpecializedSOPClassUID;
01453         Attribute *CodingSchemeIdentificationSequence;
01454         Attribute *TimezoneOffsetFromUTC;
01455         Attribute *ContributingEquipmentSequence;
01456         Attribute *InstanceNumber;
01457         Attribute *SOPInstanceStatus;
01458         Attribute *SOPAuthorizationDateAndTime;
01459         Attribute *SOPAuthorizationComment;
01460         Attribute *AuthorizationEquipmentCertificationNumber;
01461         Attribute *EncryptedAttributesSequence;
01462         Attribute *OriginalAttributesSequence;
01463         Attribute *HL7StructuredDocumentReferenceSequence;
01464 public:
01465                     Module_SOPCommon(AttributeList *list);
01466         const char *identify(void) const { return "SOPCommon"; }
01467         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01468         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01469 };
01470 
01471 class Module_MultiframeSingleBitSCImagePseudo : public Module {
01472         Attribute *SamplesPerPixel;
01473         Attribute *PhotometricInterpretation;
01474         Attribute *BitsAllocated;
01475         Attribute *BitsStored;
01476         Attribute *HighBit;
01477         Attribute *PixelRepresentation;
01478 public:
01479                     Module_MultiframeSingleBitSCImagePseudo(AttributeList *list);
01480         const char *identify(void) const { return "MultiframeSingleBitSCImagePseudo"; }
01481         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01482         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01483 };
01484 
01485 class Module_MultiframeGrayscaleByteSCImagePseudo : public Module {
01486         Attribute *SamplesPerPixel;
01487         Attribute *PhotometricInterpretation;
01488         Attribute *BitsAllocated;
01489         Attribute *BitsStored;
01490         Attribute *HighBit;
01491         Attribute *PixelRepresentation;
01492 public:
01493                     Module_MultiframeGrayscaleByteSCImagePseudo(AttributeList *list);
01494         const char *identify(void) const { return "MultiframeGrayscaleByteSCImagePseudo"; }
01495         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01496         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01497 };
01498 
01499 class Module_MultiframeGrayscaleWordSCImagePseudo : public Module {
01500         Attribute *SamplesPerPixel;
01501         Attribute *PhotometricInterpretation;
01502         Attribute *BitsAllocated;
01503         Attribute *BitsStored;
01504         Attribute *HighBit;
01505         Attribute *PixelRepresentation;
01506 public:
01507                     Module_MultiframeGrayscaleWordSCImagePseudo(AttributeList *list);
01508         const char *identify(void) const { return "MultiframeGrayscaleWordSCImagePseudo"; }
01509         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01510         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01511 };
01512 
01513 class Module_MultiframeTrueColorSCImagePseudo : public Module {
01514         Attribute *SamplesPerPixel;
01515         Attribute *PhotometricInterpretation;
01516         Attribute *BitsAllocated;
01517         Attribute *BitsStored;
01518         Attribute *HighBit;
01519         Attribute *PixelRepresentation;
01520         Attribute *PlanarConfiguration;
01521 public:
01522                     Module_MultiframeTrueColorSCImagePseudo(AttributeList *list);
01523         const char *identify(void) const { return "MultiframeTrueColorSCImagePseudo"; }
01524         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01525         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01526 };
01527 
01528 class Module_CommonInstanceReference : public Module {
01529         Attribute *StudiesContainingOtherReferencedInstancesSequence;
01530 public:
01531                     Module_CommonInstanceReference(AttributeList *list);
01532         const char *identify(void) const { return "CommonInstanceReference"; }
01533         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01534         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01535 };
01536 
01537 class Module_SpatialRegistrationSeries : public Module {
01538         Attribute *Modality;
01539 public:
01540                     Module_SpatialRegistrationSeries(AttributeList *list);
01541         const char *identify(void) const { return "SpatialRegistrationSeries"; }
01542         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01543         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01544 };
01545 
01546 class Module_SpatialRegistration : public Module {
01547         Attribute *ContentDate;
01548         Attribute *ContentTime;
01549         Attribute *RegistrationSequence;
01550 public:
01551                     Module_SpatialRegistration(AttributeList *list);
01552         const char *identify(void) const { return "SpatialRegistration"; }
01553         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01554         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01555 };
01556 
01557 class Module_DeformableSpatialRegistration : public Module {
01558         Attribute *ContentDate;
01559         Attribute *ContentTime;
01560         Attribute *DeformableRegistrationSequence;
01561 public:
01562                     Module_DeformableSpatialRegistration(AttributeList *list);
01563         const char *identify(void) const { return "DeformableSpatialRegistration"; }
01564         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01565         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01566 };
01567 
01568 class Module_SpatialFiducialsSeries : public Module {
01569         Attribute *Modality;
01570 public:
01571                     Module_SpatialFiducialsSeries(AttributeList *list);
01572         const char *identify(void) const { return "SpatialFiducialsSeries"; }
01573         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01574         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01575 };
01576 
01577 class Module_SpatialFiducials : public Module {
01578         Attribute *ContentDate;
01579         Attribute *ContentTime;
01580         Attribute *FiducialSetSequence;
01581 public:
01582                     Module_SpatialFiducials(AttributeList *list);
01583         const char *identify(void) const { return "SpatialFiducials"; }
01584         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01585         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01586 };
01587 
01588 class Module_EncapsulatedDocumentSeries : public Module {
01589         Attribute *Modality;
01590         Attribute *SeriesInstanceUID;
01591         Attribute *SeriesNumber;
01592         Attribute *ReferencedPerformedProcedureStepSequence;
01593         Attribute *SeriesDescription;
01594         Attribute *RequestAttributesSequence;
01595 public:
01596                     Module_EncapsulatedDocumentSeries(AttributeList *list);
01597         const char *identify(void) const { return "EncapsulatedDocumentSeries"; }
01598         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01599         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01600 };
01601 
01602 class Module_EncapsulatedDocument : public Module {
01603         Attribute *InstanceNumber;
01604         Attribute *ContentDate;
01605         Attribute *ContentTime;
01606         Attribute *AcquisitionDateTime;
01607         Attribute *BurnedInAnnotation;
01608         Attribute *SourceInstanceSequence;
01609         Attribute *DocumentTitle;
01610         Attribute *ConceptNameCodeSequence;
01611         Attribute *VerificationFlag;
01612         Attribute *HL7InstanceIdentifier;
01613         Attribute *MIMETypeOfEncapsulatedDocument;
01614         Attribute *ListOfMIMETypes;
01615         Attribute *EncapsulatedDocument;
01616 public:
01617                     Module_EncapsulatedDocument(AttributeList *list);
01618         const char *identify(void) const { return "EncapsulatedDocument"; }
01619         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01620         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01621 };
01622 
01623 class Module_EncapsulatedDocumentPDFPseudo : public Module {
01624         Attribute *MIMETypeOfEncapsulatedDocument;
01625 public:
01626                     Module_EncapsulatedDocumentPDFPseudo(AttributeList *list);
01627         const char *identify(void) const { return "EncapsulatedDocumentPDFPseudo"; }
01628         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01629         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01630 };
01631 
01632 class Module_EncapsulatedDocumentCDAPseudo : public Module {
01633         Attribute *MIMETypeOfEncapsulatedDocument;
01634 public:
01635                     Module_EncapsulatedDocumentCDAPseudo(AttributeList *list);
01636         const char *identify(void) const { return "EncapsulatedDocumentCDAPseudo"; }
01637         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01638         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01639 };
01640 
01641 class Module_CheckSingleFramePseudo : public Module {
01642         Attribute *NumberOfFrames;
01643 public:
01644                     Module_CheckSingleFramePseudo(AttributeList *list);
01645         const char *identify(void) const { return "CheckSingleFramePseudo"; }
01646         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01647         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01648 };
01649 
01650 class Module_RealWorldValueMappingSeries : public Module {
01651         Attribute *Modality;
01652 public:
01653                     Module_RealWorldValueMappingSeries(AttributeList *list);
01654         const char *identify(void) const { return "RealWorldValueMappingSeries"; }
01655         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01656         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01657 };
01658 
01659 class Module_RealWorldValueMapping : public Module {
01660         Attribute *ContentDate;
01661         Attribute *ContentTime;
01662         Attribute *ReferencedImageRealWorldValueMappingSequence;
01663 public:
01664                     Module_RealWorldValueMapping(AttributeList *list);
01665         const char *identify(void) const { return "RealWorldValueMapping"; }
01666         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01667         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01668 };
01669 
01670 class Module_FileMetaInformation : public Module {
01671         Attribute *FileMetaInformationGroupLength;
01672         Attribute *FileMetaInformationVersion;
01673         Attribute *MediaStorageSOPClassUID;
01674         Attribute *MediaStorageSOPInstanceUID;
01675         Attribute *TransferSyntaxUID;
01676         Attribute *ImplementationClassUID;
01677         Attribute *ImplementationVersionName;
01678         Attribute *SourceApplicationEntityTitle;
01679         Attribute *PrivateInformationCreatorUID;
01680         Attribute *PrivateInformation;
01681 public:
01682                     Module_FileMetaInformation(AttributeList *list);
01683         const char *identify(void) const { return "FileMetaInformation"; }
01684         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01685         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01686 };
01687 
01688 class Module_FileSetIdentification : public Module {
01689         Attribute *FileSetID;
01690         Attribute *FileSetDescriptorFileID;
01691         Attribute *FileSetCharacterSet;
01692 public:
01693                     Module_FileSetIdentification(AttributeList *list);
01694         const char *identify(void) const { return "FileSetIdentification"; }
01695         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01696         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01697 };
01698 
01699 class Module_DirectoryInformation : public Module {
01700         Attribute *RootDirectoryFirstRecord;
01701         Attribute *RootDirectoryLastRecord;
01702         Attribute *FileSetConsistencyFlag;
01703         Attribute *DirectoryRecordSequence;
01704 public:
01705                     Module_DirectoryInformation(AttributeList *list);
01706         const char *identify(void) const { return "DirectoryInformation"; }
01707         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01708         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01709 };
01710 
01711 class Macro_PatientDirectoryRecord : public Module {
01712         Attribute *SpecificCharacterSet;
01713         Attribute *PatientName;
01714         Attribute *PatientID;
01715 public:
01716                     Macro_PatientDirectoryRecord(AttributeList *list);
01717         const char *identify(void) const { return "PatientDirectoryRecord"; }
01718         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01719         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01720 };
01721 
01722 class Macro_StudyDirectoryRecord : public Module {
01723         Attribute *SpecificCharacterSet;
01724         Attribute *StudyDate;
01725         Attribute *StudyTime;
01726         Attribute *StudyDescription;
01727         Attribute *StudyInstanceUID;
01728         Attribute *StudyID;
01729         Attribute *AccessionNumber;
01730 public:
01731                     Macro_StudyDirectoryRecord(AttributeList *list);
01732         const char *identify(void) const { return "StudyDirectoryRecord"; }
01733         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01734         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01735 };
01736 
01737 class Macro_SeriesDirectoryRecord : public Module {
01738         Attribute *SpecificCharacterSet;
01739         Attribute *Modality;
01740         Attribute *SeriesInstanceUID;
01741         Attribute *SeriesNumber;
01742         Attribute *IconImageSequence;
01743 public:
01744                     Macro_SeriesDirectoryRecord(AttributeList *list);
01745         const char *identify(void) const { return "SeriesDirectoryRecord"; }
01746         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01747         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01748 };
01749 
01750 class Macro_ImageDirectoryRecord : public Module {
01751         Attribute *SpecificCharacterSet;
01752         Attribute *InstanceNumber;
01753         Attribute *IconImageSequence;
01754 public:
01755                     Macro_ImageDirectoryRecord(AttributeList *list);
01756         const char *identify(void) const { return "ImageDirectoryRecord"; }
01757         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01758         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01759 };
01760 
01761 class Macro_RTDoseDirectoryRecord : public Module {
01762         Attribute *SpecificCharacterSet;
01763         Attribute *InstanceNumber;
01764         Attribute *DoseSummationType;
01765         Attribute *DoseComment;
01766         Attribute *IconImageSequence;
01767 public:
01768                     Macro_RTDoseDirectoryRecord(AttributeList *list);
01769         const char *identify(void) const { return "RTDoseDirectoryRecord"; }
01770         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01771         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01772 };
01773 
01774 class Macro_RTStructureSetDirectoryRecord : public Module {
01775         Attribute *SpecificCharacterSet;
01776         Attribute *InstanceNumber;
01777         Attribute *StructureSetLabel;
01778         Attribute *StructureSetDate;
01779         Attribute *StructureSetTime;
01780 public:
01781                     Macro_RTStructureSetDirectoryRecord(AttributeList *list);
01782         const char *identify(void) const { return "RTStructureSetDirectoryRecord"; }
01783         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01784         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01785 };
01786 
01787 class Macro_RTPlanDirectoryRecord : public Module {
01788         Attribute *SpecificCharacterSet;
01789         Attribute *InstanceNumber;
01790         Attribute *RTPlanLabel;
01791         Attribute *RTPlanDate;
01792         Attribute *RTPlanTime;
01793 public:
01794                     Macro_RTPlanDirectoryRecord(AttributeList *list);
01795         const char *identify(void) const { return "RTPlanDirectoryRecord"; }
01796         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01797         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01798 };
01799 
01800 class Macro_RTTreatmentRecordDirectoryRecord : public Module {
01801         Attribute *SpecificCharacterSet;
01802         Attribute *InstanceNumber;
01803         Attribute *TreatmentDate;
01804         Attribute *TreatmentTime;
01805 public:
01806                     Macro_RTTreatmentRecordDirectoryRecord(AttributeList *list);
01807         const char *identify(void) const { return "RTTreatmentRecordDirectoryRecord"; }
01808         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01809         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01810 };
01811 
01812 class Macro_PresentationDirectoryRecord : public Module {
01813         Attribute *SpecificCharacterSet;
01814         Attribute *PresentationCreationDate;
01815         Attribute *PresentationCreationTime;
01816         Attribute *ReferencedSeriesSequence;
01817         Attribute *BlendingSequence;
01818 public:
01819                     Macro_PresentationDirectoryRecord(AttributeList *list);
01820         const char *identify(void) const { return "PresentationDirectoryRecord"; }
01821         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01822         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01823 };
01824 
01825 class Macro_WaveformDirectoryRecord : public Module {
01826         Attribute *SpecificCharacterSet;
01827         Attribute *InstanceNumber;
01828         Attribute *ContentDate;
01829         Attribute *ContentTime;
01830 public:
01831                     Macro_WaveformDirectoryRecord(AttributeList *list);
01832         const char *identify(void) const { return "WaveformDirectoryRecord"; }
01833         void        write(TextOutputStream& stream,AttributeList *list,ElementDictionary *dict) const ;
01834         bool        verify(AttributeList *list,bool verbose,TextOutputStream& log,ElementDictionary *dict) const;
01835 };
01836 
01837 class Macro_SRDocumentDirectoryRecord : public Module {
01838         Attribute *SpecificCharacterSet;
01839         Attribute *InstanceNumber;
01840         Attribute *CompletionFlag;
01841         Attribute *VerificationFlag;
01842         Attribute *ContentDate;
01843         Attribute *ContentTime;
01844         Attribute *VerificationDateTime;
01845         Attribute *ConceptNameCodeSequence;
01846         Attribute *ContentSequence;
01847 public:
01848                     Macro_SRDocumentDirectoryRecord(AttributeList *list);
01849         const char *identify(void) const { return "SRDocumentDirectoryRecord"; }
01850         void        write(TextOutputStream& stream,