001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017package ca.uhn.fhir.model.dstu2.resource; 018 019import java.math.BigDecimal; 020import java.net.URI; 021import java.util.*; 022import ca.uhn.fhir.model.api.*; 023import ca.uhn.fhir.model.api.annotation.*; 024import ca.uhn.fhir.rest.gclient.*; 025 026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum; 027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum; 028import ca.uhn.fhir.model.dstu2.composite.AddressDt; 029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum; 030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum; 031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum; 032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; 033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum; 034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance; 035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum; 036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum; 037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum; 038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum; 039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum; 040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum; 041import ca.uhn.fhir.model.dstu2.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>StructureDefinition</b> Resource 320 * (conformance.content) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions, and constraints on resources and data types. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/StructureDefinition">http://hl7.org/fhir/profiles/StructureDefinition</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="StructureDefinition", profile="http://hl7.org/fhir/profiles/StructureDefinition", id="structuredefinition") 339public class StructureDefinition extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>url</b> 344 * <p> 345 * Description: <b></b><br> 346 * Type: <b>uri</b><br> 347 * Path: <b>StructureDefinition.url</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="url", path="StructureDefinition.url", description="", type="uri" ) 351 public static final String SP_URL = "url"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>url</b> 355 * <p> 356 * Description: <b></b><br> 357 * Type: <b>uri</b><br> 358 * Path: <b>StructureDefinition.url</b><br> 359 * </p> 360 */ 361 public static final UriClientParam URL = new UriClientParam(SP_URL); 362 363 /** 364 * Search parameter constant for <b>identifier</b> 365 * <p> 366 * Description: <b>The identifier of the profile</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>StructureDefinition.identifier</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="identifier", path="StructureDefinition.identifier", description="The identifier of the profile", type="token" ) 372 public static final String SP_IDENTIFIER = "identifier"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 376 * <p> 377 * Description: <b>The identifier of the profile</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>StructureDefinition.identifier</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 383 384 /** 385 * Search parameter constant for <b>version</b> 386 * <p> 387 * Description: <b>The version identifier of the profile</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>StructureDefinition.version</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="version", path="StructureDefinition.version", description="The version identifier of the profile", type="token" ) 393 public static final String SP_VERSION = "version"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>version</b> 397 * <p> 398 * Description: <b>The version identifier of the profile</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>StructureDefinition.version</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam VERSION = new TokenClientParam(SP_VERSION); 404 405 /** 406 * Search parameter constant for <b>name</b> 407 * <p> 408 * Description: <b>Name of the profile</b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>StructureDefinition.name</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="name", path="StructureDefinition.name", description="Name of the profile", type="string" ) 414 public static final String SP_NAME = "name"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>name</b> 418 * <p> 419 * Description: <b>Name of the profile</b><br> 420 * Type: <b>string</b><br> 421 * Path: <b>StructureDefinition.name</b><br> 422 * </p> 423 */ 424 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 425 426 /** 427 * Search parameter constant for <b>publisher</b> 428 * <p> 429 * Description: <b>Name of the publisher of the profile</b><br> 430 * Type: <b>string</b><br> 431 * Path: <b>StructureDefinition.publisher</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="publisher", path="StructureDefinition.publisher", description="Name of the publisher of the profile", type="string" ) 435 public static final String SP_PUBLISHER = "publisher"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 439 * <p> 440 * Description: <b>Name of the publisher of the profile</b><br> 441 * Type: <b>string</b><br> 442 * Path: <b>StructureDefinition.publisher</b><br> 443 * </p> 444 */ 445 public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); 446 447 /** 448 * Search parameter constant for <b>description</b> 449 * <p> 450 * Description: <b>Text search in the description of the profile</b><br> 451 * Type: <b>string</b><br> 452 * Path: <b>StructureDefinition.description</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="description", path="StructureDefinition.description", description="Text search in the description of the profile", type="string" ) 456 public static final String SP_DESCRIPTION = "description"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>description</b> 460 * <p> 461 * Description: <b>Text search in the description of the profile</b><br> 462 * Type: <b>string</b><br> 463 * Path: <b>StructureDefinition.description</b><br> 464 * </p> 465 */ 466 public static final StringClientParam DESCRIPTION = new StringClientParam(SP_DESCRIPTION); 467 468 /** 469 * Search parameter constant for <b>status</b> 470 * <p> 471 * Description: <b>The current status of the profile</b><br> 472 * Type: <b>token</b><br> 473 * Path: <b>StructureDefinition.status</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="status", path="StructureDefinition.status", description="The current status of the profile", type="token" ) 477 public static final String SP_STATUS = "status"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>status</b> 481 * <p> 482 * Description: <b>The current status of the profile</b><br> 483 * Type: <b>token</b><br> 484 * Path: <b>StructureDefinition.status</b><br> 485 * </p> 486 */ 487 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 488 489 /** 490 * Search parameter constant for <b>date</b> 491 * <p> 492 * Description: <b>The profile publication date</b><br> 493 * Type: <b>date</b><br> 494 * Path: <b>StructureDefinition.date</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="date", path="StructureDefinition.date", description="The profile publication date", type="date" ) 498 public static final String SP_DATE = "date"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>date</b> 502 * <p> 503 * Description: <b>The profile publication date</b><br> 504 * Type: <b>date</b><br> 505 * Path: <b>StructureDefinition.date</b><br> 506 * </p> 507 */ 508 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 509 510 /** 511 * Search parameter constant for <b>code</b> 512 * <p> 513 * Description: <b>A code for the profile</b><br> 514 * Type: <b>token</b><br> 515 * Path: <b>StructureDefinition.code</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="code", path="StructureDefinition.code", description="A code for the profile", type="token" ) 519 public static final String SP_CODE = "code"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>code</b> 523 * <p> 524 * Description: <b>A code for the profile</b><br> 525 * Type: <b>token</b><br> 526 * Path: <b>StructureDefinition.code</b><br> 527 * </p> 528 */ 529 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 530 531 /** 532 * Search parameter constant for <b>valueset</b> 533 * <p> 534 * Description: <b>A vocabulary binding reference</b><br> 535 * Type: <b>reference</b><br> 536 * Path: <b>StructureDefinition.snapshot.element.binding.valueSet[x]</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="valueset", path="StructureDefinition.snapshot.element.binding.valueSet[x]", description="A vocabulary binding reference", type="reference" ) 540 public static final String SP_VALUESET = "valueset"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>valueset</b> 544 * <p> 545 * Description: <b>A vocabulary binding reference</b><br> 546 * Type: <b>reference</b><br> 547 * Path: <b>StructureDefinition.snapshot.element.binding.valueSet[x]</b><br> 548 * </p> 549 */ 550 public static final ReferenceClientParam VALUESET = new ReferenceClientParam(SP_VALUESET); 551 552 /** 553 * Search parameter constant for <b>type</b> 554 * <p> 555 * Description: <b></b><br> 556 * Type: <b>token</b><br> 557 * Path: <b>StructureDefinition.constrainedType</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="type", path="StructureDefinition.constrainedType", description="", type="token" ) 561 public static final String SP_TYPE = "type"; 562 563 /** 564 * <b>Fluent Client</b> search parameter constant for <b>type</b> 565 * <p> 566 * Description: <b></b><br> 567 * Type: <b>token</b><br> 568 * Path: <b>StructureDefinition.constrainedType</b><br> 569 * </p> 570 */ 571 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 572 573 /** 574 * Search parameter constant for <b>kind</b> 575 * <p> 576 * Description: <b></b><br> 577 * Type: <b>token</b><br> 578 * Path: <b>StructureDefinition.kind</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="kind", path="StructureDefinition.kind", description="", type="token" ) 582 public static final String SP_KIND = "kind"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>kind</b> 586 * <p> 587 * Description: <b></b><br> 588 * Type: <b>token</b><br> 589 * Path: <b>StructureDefinition.kind</b><br> 590 * </p> 591 */ 592 public static final TokenClientParam KIND = new TokenClientParam(SP_KIND); 593 594 /** 595 * Search parameter constant for <b>path</b> 596 * <p> 597 * Description: <b>A path that is constrained in the profile</b><br> 598 * Type: <b>token</b><br> 599 * Path: <b>StructureDefinition.snapshot.element.path | StructureDefinition.differential.element.path </b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="path", path="StructureDefinition.snapshot.element.path | StructureDefinition.differential.element.path ", description="A path that is constrained in the profile", type="token" ) 603 public static final String SP_PATH = "path"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>path</b> 607 * <p> 608 * Description: <b>A path that is constrained in the profile</b><br> 609 * Type: <b>token</b><br> 610 * Path: <b>StructureDefinition.snapshot.element.path | StructureDefinition.differential.element.path </b><br> 611 * </p> 612 */ 613 public static final TokenClientParam PATH = new TokenClientParam(SP_PATH); 614 615 /** 616 * Search parameter constant for <b>context</b> 617 * <p> 618 * Description: <b>A use context assigned to the structure</b><br> 619 * Type: <b>token</b><br> 620 * Path: <b>StructureDefinition.useContext</b><br> 621 * </p> 622 */ 623 @SearchParamDefinition(name="context", path="StructureDefinition.useContext", description="A use context assigned to the structure", type="token" ) 624 public static final String SP_CONTEXT = "context"; 625 626 /** 627 * <b>Fluent Client</b> search parameter constant for <b>context</b> 628 * <p> 629 * Description: <b>A use context assigned to the structure</b><br> 630 * Type: <b>token</b><br> 631 * Path: <b>StructureDefinition.useContext</b><br> 632 * </p> 633 */ 634 public static final TokenClientParam CONTEXT = new TokenClientParam(SP_CONTEXT); 635 636 /** 637 * Search parameter constant for <b>display</b> 638 * <p> 639 * Description: <b></b><br> 640 * Type: <b>string</b><br> 641 * Path: <b>StructureDefinition.display</b><br> 642 * </p> 643 */ 644 @SearchParamDefinition(name="display", path="StructureDefinition.display", description="", type="string" ) 645 public static final String SP_DISPLAY = "display"; 646 647 /** 648 * <b>Fluent Client</b> search parameter constant for <b>display</b> 649 * <p> 650 * Description: <b></b><br> 651 * Type: <b>string</b><br> 652 * Path: <b>StructureDefinition.display</b><br> 653 * </p> 654 */ 655 public static final StringClientParam DISPLAY = new StringClientParam(SP_DISPLAY); 656 657 /** 658 * Search parameter constant for <b>experimental</b> 659 * <p> 660 * Description: <b></b><br> 661 * Type: <b>token</b><br> 662 * Path: <b>StructureDefinition.experimental</b><br> 663 * </p> 664 */ 665 @SearchParamDefinition(name="experimental", path="StructureDefinition.experimental", description="", type="token" ) 666 public static final String SP_EXPERIMENTAL = "experimental"; 667 668 /** 669 * <b>Fluent Client</b> search parameter constant for <b>experimental</b> 670 * <p> 671 * Description: <b></b><br> 672 * Type: <b>token</b><br> 673 * Path: <b>StructureDefinition.experimental</b><br> 674 * </p> 675 */ 676 public static final TokenClientParam EXPERIMENTAL = new TokenClientParam(SP_EXPERIMENTAL); 677 678 /** 679 * Search parameter constant for <b>abstract</b> 680 * <p> 681 * Description: <b></b><br> 682 * Type: <b>token</b><br> 683 * Path: <b>StructureDefinition.abstract</b><br> 684 * </p> 685 */ 686 @SearchParamDefinition(name="abstract", path="StructureDefinition.abstract", description="", type="token" ) 687 public static final String SP_ABSTRACT = "abstract"; 688 689 /** 690 * <b>Fluent Client</b> search parameter constant for <b>abstract</b> 691 * <p> 692 * Description: <b></b><br> 693 * Type: <b>token</b><br> 694 * Path: <b>StructureDefinition.abstract</b><br> 695 * </p> 696 */ 697 public static final TokenClientParam ABSTRACT = new TokenClientParam(SP_ABSTRACT); 698 699 /** 700 * Search parameter constant for <b>context-type</b> 701 * <p> 702 * Description: <b></b><br> 703 * Type: <b>token</b><br> 704 * Path: <b>StructureDefinition.contextType</b><br> 705 * </p> 706 */ 707 @SearchParamDefinition(name="context-type", path="StructureDefinition.contextType", description="", type="token" ) 708 public static final String SP_CONTEXT_TYPE = "context-type"; 709 710 /** 711 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 712 * <p> 713 * Description: <b></b><br> 714 * Type: <b>token</b><br> 715 * Path: <b>StructureDefinition.contextType</b><br> 716 * </p> 717 */ 718 public static final TokenClientParam CONTEXT_TYPE = new TokenClientParam(SP_CONTEXT_TYPE); 719 720 /** 721 * Search parameter constant for <b>ext-context</b> 722 * <p> 723 * Description: <b></b><br> 724 * Type: <b>string</b><br> 725 * Path: <b>StructureDefinition.context</b><br> 726 * </p> 727 */ 728 @SearchParamDefinition(name="ext-context", path="StructureDefinition.context", description="", type="string" ) 729 public static final String SP_EXT_CONTEXT = "ext-context"; 730 731 /** 732 * <b>Fluent Client</b> search parameter constant for <b>ext-context</b> 733 * <p> 734 * Description: <b></b><br> 735 * Type: <b>string</b><br> 736 * Path: <b>StructureDefinition.context</b><br> 737 * </p> 738 */ 739 public static final StringClientParam EXT_CONTEXT = new StringClientParam(SP_EXT_CONTEXT); 740 741 /** 742 * Search parameter constant for <b>base</b> 743 * <p> 744 * Description: <b></b><br> 745 * Type: <b>uri</b><br> 746 * Path: <b>StructureDefinition.base</b><br> 747 * </p> 748 */ 749 @SearchParamDefinition(name="base", path="StructureDefinition.base", description="", type="uri" ) 750 public static final String SP_BASE = "base"; 751 752 /** 753 * <b>Fluent Client</b> search parameter constant for <b>base</b> 754 * <p> 755 * Description: <b></b><br> 756 * Type: <b>uri</b><br> 757 * Path: <b>StructureDefinition.base</b><br> 758 * </p> 759 */ 760 public static final UriClientParam BASE = new UriClientParam(SP_BASE); 761 762 /** 763 * Search parameter constant for <b>base-path</b> 764 * <p> 765 * Description: <b></b><br> 766 * Type: <b>token</b><br> 767 * Path: <b>StructureDefinition.snapshot.element.base.path | StructureDefinition.differential.element.base.path </b><br> 768 * </p> 769 */ 770 @SearchParamDefinition(name="base-path", path="StructureDefinition.snapshot.element.base.path | StructureDefinition.differential.element.base.path ", description="", type="token" ) 771 public static final String SP_BASE_PATH = "base-path"; 772 773 /** 774 * <b>Fluent Client</b> search parameter constant for <b>base-path</b> 775 * <p> 776 * Description: <b></b><br> 777 * Type: <b>token</b><br> 778 * Path: <b>StructureDefinition.snapshot.element.base.path | StructureDefinition.differential.element.base.path </b><br> 779 * </p> 780 */ 781 public static final TokenClientParam BASE_PATH = new TokenClientParam(SP_BASE_PATH); 782 783 784 /** 785 * Constant for fluent queries to be used to add include statements. Specifies 786 * the path value of "<b>StructureDefinition:valueset</b>". 787 */ 788 public static final Include INCLUDE_VALUESET = new Include("StructureDefinition:valueset"); 789 790 791 @Child(name="url", type=UriDt.class, order=0, min=1, max=1, summary=true, modifier=false) 792 @Description( 793 shortDefinition="id", 794 formalDefinition="An absolute URL that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this structure definition is (or will be) published" 795 ) 796 private UriDt myUrl; 797 798 @Child(name="identifier", type=IdentifierDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 799 @Description( 800 shortDefinition="id", 801 formalDefinition="Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI)" 802 ) 803 private java.util.List<IdentifierDt> myIdentifier; 804 805 @Child(name="version", type=StringDt.class, order=2, min=0, max=1, summary=true, modifier=false) 806 @Description( 807 shortDefinition="id.version", 808 formalDefinition="The identifier that is used to identify this version of the StructureDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the StructureDefinition author manually" 809 ) 810 private StringDt myVersion; 811 812 @Child(name="name", type=StringDt.class, order=3, min=1, max=1, summary=true, modifier=false) 813 @Description( 814 shortDefinition="", 815 formalDefinition="A free text natural language name identifying the StructureDefinition" 816 ) 817 private StringDt myName; 818 819 @Child(name="display", type=StringDt.class, order=4, min=0, max=1, summary=true, modifier=false) 820 @Description( 821 shortDefinition="", 822 formalDefinition="Defined so that applications can use this name when displaying the value of the extension to the user" 823 ) 824 private StringDt myDisplay; 825 826 @Child(name="status", type=CodeDt.class, order=5, min=1, max=1, summary=true, modifier=false) 827 @Description( 828 shortDefinition="status", 829 formalDefinition="The status of the StructureDefinition" 830 ) 831 private BoundCodeDt<ConformanceResourceStatusEnum> myStatus; 832 833 @Child(name="experimental", type=BooleanDt.class, order=6, min=0, max=1, summary=true, modifier=false) 834 @Description( 835 shortDefinition="class", 836 formalDefinition="This StructureDefinition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" 837 ) 838 private BooleanDt myExperimental; 839 840 @Child(name="publisher", type=StringDt.class, order=7, min=0, max=1, summary=true, modifier=false) 841 @Description( 842 shortDefinition="who.witness", 843 formalDefinition="The name of the individual or organization that published the structure definition" 844 ) 845 private StringDt myPublisher; 846 847 @Child(name="contact", order=8, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 848 @Description( 849 shortDefinition="", 850 formalDefinition="Contacts to assist a user in finding and communicating with the publisher" 851 ) 852 private java.util.List<Contact> myContact; 853 854 @Child(name="date", type=DateTimeDt.class, order=9, min=0, max=1, summary=true, modifier=false) 855 @Description( 856 shortDefinition="when.recorded", 857 formalDefinition="The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes" 858 ) 859 private DateTimeDt myDate; 860 861 @Child(name="description", type=StringDt.class, order=10, min=0, max=1, summary=true, modifier=false) 862 @Description( 863 shortDefinition="", 864 formalDefinition="A free text natural language description of the StructureDefinition and its use" 865 ) 866 private StringDt myDescription; 867 868 @Child(name="useContext", type=CodeableConceptDt.class, order=11, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 869 @Description( 870 shortDefinition="", 871 formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions." 872 ) 873 private java.util.List<CodeableConceptDt> myUseContext; 874 875 @Child(name="requirements", type=StringDt.class, order=12, min=0, max=1, summary=false, modifier=false) 876 @Description( 877 shortDefinition="why", 878 formalDefinition="Explains why this structure definition is needed and why it's been constrained as it has" 879 ) 880 private StringDt myRequirements; 881 882 @Child(name="copyright", type=StringDt.class, order=13, min=0, max=1, summary=false, modifier=false) 883 @Description( 884 shortDefinition="", 885 formalDefinition="A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings" 886 ) 887 private StringDt myCopyright; 888 889 @Child(name="code", type=CodingDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 890 @Description( 891 shortDefinition="", 892 formalDefinition="A set of terms from external terminologies that may be used to assist with indexing and searching of templates." 893 ) 894 private java.util.List<CodingDt> myCode; 895 896 @Child(name="fhirVersion", type=IdDt.class, order=15, min=0, max=1, summary=true, modifier=false) 897 @Description( 898 shortDefinition="", 899 formalDefinition="The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is $version$ for this version" 900 ) 901 private IdDt myFhirVersion; 902 903 @Child(name="mapping", order=16, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 904 @Description( 905 shortDefinition="", 906 formalDefinition="An external specification that the content is mapped to" 907 ) 908 private java.util.List<Mapping> myMapping; 909 910 @Child(name="kind", type=CodeDt.class, order=17, min=1, max=1, summary=true, modifier=false) 911 @Description( 912 shortDefinition="", 913 formalDefinition="Defines the kind of structure that this definition is describing" 914 ) 915 private BoundCodeDt<StructureDefinitionKindEnum> myKind; 916 917 @Child(name="constrainedType", type=CodeDt.class, order=18, min=0, max=1, summary=true, modifier=false) 918 @Description( 919 shortDefinition="", 920 formalDefinition="The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure" 921 ) 922 private CodeDt myConstrainedType; 923 924 @Child(name="abstract", type=BooleanDt.class, order=19, min=1, max=1, summary=true, modifier=false) 925 @Description( 926 shortDefinition="", 927 formalDefinition="Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type" 928 ) 929 private BooleanDt myAbstract; 930 931 @Child(name="contextType", type=CodeDt.class, order=20, min=0, max=1, summary=true, modifier=false) 932 @Description( 933 shortDefinition="", 934 formalDefinition="If this is an extension, Identifies the context within FHIR resources where the extension can be used" 935 ) 936 private BoundCodeDt<ExtensionContextEnum> myContextType; 937 938 @Child(name="context", type=StringDt.class, order=21, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 939 @Description( 940 shortDefinition="", 941 formalDefinition="Identifies the types of resource or data type elements to which the extension can be applied" 942 ) 943 private java.util.List<StringDt> myContext; 944 945 @Child(name="base", type=UriDt.class, order=22, min=0, max=1, summary=true, modifier=false) 946 @Description( 947 shortDefinition="", 948 formalDefinition="An absolute URI that is the base structure from which this set of constraints is derived" 949 ) 950 private UriDt myBase; 951 952 @Child(name="snapshot", order=23, min=0, max=1, summary=false, modifier=false) 953 @Description( 954 shortDefinition="", 955 formalDefinition="A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition" 956 ) 957 private Snapshot mySnapshot; 958 959 @Child(name="differential", order=24, min=0, max=1, summary=false, modifier=false) 960 @Description( 961 shortDefinition="", 962 formalDefinition="A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies" 963 ) 964 private Differential myDifferential; 965 966 967 @Override 968 public boolean isEmpty() { 969 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myUrl, myIdentifier, myVersion, myName, myDisplay, myStatus, myExperimental, myPublisher, myContact, myDate, myDescription, myUseContext, myRequirements, myCopyright, myCode, myFhirVersion, myMapping, myKind, myConstrainedType, myAbstract, myContextType, myContext, myBase, mySnapshot, myDifferential); 970 } 971 972 @Override 973 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 974 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUrl, myIdentifier, myVersion, myName, myDisplay, myStatus, myExperimental, myPublisher, myContact, myDate, myDescription, myUseContext, myRequirements, myCopyright, myCode, myFhirVersion, myMapping, myKind, myConstrainedType, myAbstract, myContextType, myContext, myBase, mySnapshot, myDifferential); 975 } 976 977 /** 978 * Gets the value(s) for <b>url</b> (id). 979 * creating it if it does 980 * not exist. Will not return <code>null</code>. 981 * 982 * <p> 983 * <b>Definition:</b> 984 * An absolute URL that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this structure definition is (or will be) published 985 * </p> 986 */ 987 public UriDt getUrlElement() { 988 if (myUrl == null) { 989 myUrl = new UriDt(); 990 } 991 return myUrl; 992 } 993 994 995 /** 996 * Gets the value(s) for <b>url</b> (id). 997 * creating it if it does 998 * not exist. Will not return <code>null</code>. 999 * 1000 * <p> 1001 * <b>Definition:</b> 1002 * An absolute URL that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this structure definition is (or will be) published 1003 * </p> 1004 */ 1005 public String getUrl() { 1006 return getUrlElement().getValue(); 1007 } 1008 1009 /** 1010 * Sets the value(s) for <b>url</b> (id) 1011 * 1012 * <p> 1013 * <b>Definition:</b> 1014 * An absolute URL that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this structure definition is (or will be) published 1015 * </p> 1016 */ 1017 public StructureDefinition setUrl(UriDt theValue) { 1018 myUrl = theValue; 1019 return this; 1020 } 1021 1022 1023 1024 /** 1025 * Sets the value for <b>url</b> (id) 1026 * 1027 * <p> 1028 * <b>Definition:</b> 1029 * An absolute URL that is used to identify this structure definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this structure definition is (or will be) published 1030 * </p> 1031 */ 1032 public StructureDefinition setUrl( String theUri) { 1033 myUrl = new UriDt(theUri); 1034 return this; 1035 } 1036 1037 1038 /** 1039 * Gets the value(s) for <b>identifier</b> (id). 1040 * creating it if it does 1041 * not exist. Will not return <code>null</code>. 1042 * 1043 * <p> 1044 * <b>Definition:</b> 1045 * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI) 1046 * </p> 1047 */ 1048 public java.util.List<IdentifierDt> getIdentifier() { 1049 if (myIdentifier == null) { 1050 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 1051 } 1052 return myIdentifier; 1053 } 1054 1055 /** 1056 * Sets the value(s) for <b>identifier</b> (id) 1057 * 1058 * <p> 1059 * <b>Definition:</b> 1060 * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI) 1061 * </p> 1062 */ 1063 public StructureDefinition setIdentifier(java.util.List<IdentifierDt> theValue) { 1064 myIdentifier = theValue; 1065 return this; 1066 } 1067 1068 1069 1070 /** 1071 * Adds and returns a new value for <b>identifier</b> (id) 1072 * 1073 * <p> 1074 * <b>Definition:</b> 1075 * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI) 1076 * </p> 1077 */ 1078 public IdentifierDt addIdentifier() { 1079 IdentifierDt newType = new IdentifierDt(); 1080 getIdentifier().add(newType); 1081 return newType; 1082 } 1083 1084 /** 1085 * Adds a given new value for <b>identifier</b> (id) 1086 * 1087 * <p> 1088 * <b>Definition:</b> 1089 * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI) 1090 * </p> 1091 * @param theValue The identifier to add (must not be <code>null</code>) 1092 */ 1093 public StructureDefinition addIdentifier(IdentifierDt theValue) { 1094 if (theValue == null) { 1095 throw new NullPointerException("theValue must not be null"); 1096 } 1097 getIdentifier().add(theValue); 1098 return this; 1099 } 1100 1101 /** 1102 * Gets the first repetition for <b>identifier</b> (id), 1103 * creating it if it does not already exist. 1104 * 1105 * <p> 1106 * <b>Definition:</b> 1107 * Formal identifier that is used to identify this StructureDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI) 1108 * </p> 1109 */ 1110 public IdentifierDt getIdentifierFirstRep() { 1111 if (getIdentifier().isEmpty()) { 1112 return addIdentifier(); 1113 } 1114 return getIdentifier().get(0); 1115 } 1116 1117 /** 1118 * Gets the value(s) for <b>version</b> (id.version). 1119 * creating it if it does 1120 * not exist. Will not return <code>null</code>. 1121 * 1122 * <p> 1123 * <b>Definition:</b> 1124 * The identifier that is used to identify this version of the StructureDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the StructureDefinition author manually 1125 * </p> 1126 */ 1127 public StringDt getVersionElement() { 1128 if (myVersion == null) { 1129 myVersion = new StringDt(); 1130 } 1131 return myVersion; 1132 } 1133 1134 1135 /** 1136 * Gets the value(s) for <b>version</b> (id.version). 1137 * creating it if it does 1138 * not exist. Will not return <code>null</code>. 1139 * 1140 * <p> 1141 * <b>Definition:</b> 1142 * The identifier that is used to identify this version of the StructureDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the StructureDefinition author manually 1143 * </p> 1144 */ 1145 public String getVersion() { 1146 return getVersionElement().getValue(); 1147 } 1148 1149 /** 1150 * Sets the value(s) for <b>version</b> (id.version) 1151 * 1152 * <p> 1153 * <b>Definition:</b> 1154 * The identifier that is used to identify this version of the StructureDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the StructureDefinition author manually 1155 * </p> 1156 */ 1157 public StructureDefinition setVersion(StringDt theValue) { 1158 myVersion = theValue; 1159 return this; 1160 } 1161 1162 1163 1164 /** 1165 * Sets the value for <b>version</b> (id.version) 1166 * 1167 * <p> 1168 * <b>Definition:</b> 1169 * The identifier that is used to identify this version of the StructureDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the StructureDefinition author manually 1170 * </p> 1171 */ 1172 public StructureDefinition setVersion( String theString) { 1173 myVersion = new StringDt(theString); 1174 return this; 1175 } 1176 1177 1178 /** 1179 * Gets the value(s) for <b>name</b> (). 1180 * creating it if it does 1181 * not exist. Will not return <code>null</code>. 1182 * 1183 * <p> 1184 * <b>Definition:</b> 1185 * A free text natural language name identifying the StructureDefinition 1186 * </p> 1187 */ 1188 public StringDt getNameElement() { 1189 if (myName == null) { 1190 myName = new StringDt(); 1191 } 1192 return myName; 1193 } 1194 1195 1196 /** 1197 * Gets the value(s) for <b>name</b> (). 1198 * creating it if it does 1199 * not exist. Will not return <code>null</code>. 1200 * 1201 * <p> 1202 * <b>Definition:</b> 1203 * A free text natural language name identifying the StructureDefinition 1204 * </p> 1205 */ 1206 public String getName() { 1207 return getNameElement().getValue(); 1208 } 1209 1210 /** 1211 * Sets the value(s) for <b>name</b> () 1212 * 1213 * <p> 1214 * <b>Definition:</b> 1215 * A free text natural language name identifying the StructureDefinition 1216 * </p> 1217 */ 1218 public StructureDefinition setName(StringDt theValue) { 1219 myName = theValue; 1220 return this; 1221 } 1222 1223 1224 1225 /** 1226 * Sets the value for <b>name</b> () 1227 * 1228 * <p> 1229 * <b>Definition:</b> 1230 * A free text natural language name identifying the StructureDefinition 1231 * </p> 1232 */ 1233 public StructureDefinition setName( String theString) { 1234 myName = new StringDt(theString); 1235 return this; 1236 } 1237 1238 1239 /** 1240 * Gets the value(s) for <b>display</b> (). 1241 * creating it if it does 1242 * not exist. Will not return <code>null</code>. 1243 * 1244 * <p> 1245 * <b>Definition:</b> 1246 * Defined so that applications can use this name when displaying the value of the extension to the user 1247 * </p> 1248 */ 1249 public StringDt getDisplayElement() { 1250 if (myDisplay == null) { 1251 myDisplay = new StringDt(); 1252 } 1253 return myDisplay; 1254 } 1255 1256 1257 /** 1258 * Gets the value(s) for <b>display</b> (). 1259 * creating it if it does 1260 * not exist. Will not return <code>null</code>. 1261 * 1262 * <p> 1263 * <b>Definition:</b> 1264 * Defined so that applications can use this name when displaying the value of the extension to the user 1265 * </p> 1266 */ 1267 public String getDisplay() { 1268 return getDisplayElement().getValue(); 1269 } 1270 1271 /** 1272 * Sets the value(s) for <b>display</b> () 1273 * 1274 * <p> 1275 * <b>Definition:</b> 1276 * Defined so that applications can use this name when displaying the value of the extension to the user 1277 * </p> 1278 */ 1279 public StructureDefinition setDisplay(StringDt theValue) { 1280 myDisplay = theValue; 1281 return this; 1282 } 1283 1284 1285 1286 /** 1287 * Sets the value for <b>display</b> () 1288 * 1289 * <p> 1290 * <b>Definition:</b> 1291 * Defined so that applications can use this name when displaying the value of the extension to the user 1292 * </p> 1293 */ 1294 public StructureDefinition setDisplay( String theString) { 1295 myDisplay = new StringDt(theString); 1296 return this; 1297 } 1298 1299 1300 /** 1301 * Gets the value(s) for <b>status</b> (status). 1302 * creating it if it does 1303 * not exist. Will not return <code>null</code>. 1304 * 1305 * <p> 1306 * <b>Definition:</b> 1307 * The status of the StructureDefinition 1308 * </p> 1309 */ 1310 public BoundCodeDt<ConformanceResourceStatusEnum> getStatusElement() { 1311 if (myStatus == null) { 1312 myStatus = new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER); 1313 } 1314 return myStatus; 1315 } 1316 1317 1318 /** 1319 * Gets the value(s) for <b>status</b> (status). 1320 * creating it if it does 1321 * not exist. Will not return <code>null</code>. 1322 * 1323 * <p> 1324 * <b>Definition:</b> 1325 * The status of the StructureDefinition 1326 * </p> 1327 */ 1328 public String getStatus() { 1329 return getStatusElement().getValue(); 1330 } 1331 1332 /** 1333 * Sets the value(s) for <b>status</b> (status) 1334 * 1335 * <p> 1336 * <b>Definition:</b> 1337 * The status of the StructureDefinition 1338 * </p> 1339 */ 1340 public StructureDefinition setStatus(BoundCodeDt<ConformanceResourceStatusEnum> theValue) { 1341 myStatus = theValue; 1342 return this; 1343 } 1344 1345 1346 1347 /** 1348 * Sets the value(s) for <b>status</b> (status) 1349 * 1350 * <p> 1351 * <b>Definition:</b> 1352 * The status of the StructureDefinition 1353 * </p> 1354 */ 1355 public StructureDefinition setStatus(ConformanceResourceStatusEnum theValue) { 1356 setStatus(new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER, theValue)); 1357 1358/* 1359 getStatusElement().setValueAsEnum(theValue); 1360*/ 1361 return this; 1362 } 1363 1364 1365 /** 1366 * Gets the value(s) for <b>experimental</b> (class). 1367 * creating it if it does 1368 * not exist. Will not return <code>null</code>. 1369 * 1370 * <p> 1371 * <b>Definition:</b> 1372 * This StructureDefinition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1373 * </p> 1374 */ 1375 public BooleanDt getExperimentalElement() { 1376 if (myExperimental == null) { 1377 myExperimental = new BooleanDt(); 1378 } 1379 return myExperimental; 1380 } 1381 1382 1383 /** 1384 * Gets the value(s) for <b>experimental</b> (class). 1385 * creating it if it does 1386 * not exist. Will not return <code>null</code>. 1387 * 1388 * <p> 1389 * <b>Definition:</b> 1390 * This StructureDefinition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1391 * </p> 1392 */ 1393 public Boolean getExperimental() { 1394 return getExperimentalElement().getValue(); 1395 } 1396 1397 /** 1398 * Sets the value(s) for <b>experimental</b> (class) 1399 * 1400 * <p> 1401 * <b>Definition:</b> 1402 * This StructureDefinition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1403 * </p> 1404 */ 1405 public StructureDefinition setExperimental(BooleanDt theValue) { 1406 myExperimental = theValue; 1407 return this; 1408 } 1409 1410 1411 1412 /** 1413 * Sets the value for <b>experimental</b> (class) 1414 * 1415 * <p> 1416 * <b>Definition:</b> 1417 * This StructureDefinition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1418 * </p> 1419 */ 1420 public StructureDefinition setExperimental( boolean theBoolean) { 1421 myExperimental = new BooleanDt(theBoolean); 1422 return this; 1423 } 1424 1425 1426 /** 1427 * Gets the value(s) for <b>publisher</b> (who.witness). 1428 * creating it if it does 1429 * not exist. Will not return <code>null</code>. 1430 * 1431 * <p> 1432 * <b>Definition:</b> 1433 * The name of the individual or organization that published the structure definition 1434 * </p> 1435 */ 1436 public StringDt getPublisherElement() { 1437 if (myPublisher == null) { 1438 myPublisher = new StringDt(); 1439 } 1440 return myPublisher; 1441 } 1442 1443 1444 /** 1445 * Gets the value(s) for <b>publisher</b> (who.witness). 1446 * creating it if it does 1447 * not exist. Will not return <code>null</code>. 1448 * 1449 * <p> 1450 * <b>Definition:</b> 1451 * The name of the individual or organization that published the structure definition 1452 * </p> 1453 */ 1454 public String getPublisher() { 1455 return getPublisherElement().getValue(); 1456 } 1457 1458 /** 1459 * Sets the value(s) for <b>publisher</b> (who.witness) 1460 * 1461 * <p> 1462 * <b>Definition:</b> 1463 * The name of the individual or organization that published the structure definition 1464 * </p> 1465 */ 1466 public StructureDefinition setPublisher(StringDt theValue) { 1467 myPublisher = theValue; 1468 return this; 1469 } 1470 1471 1472 1473 /** 1474 * Sets the value for <b>publisher</b> (who.witness) 1475 * 1476 * <p> 1477 * <b>Definition:</b> 1478 * The name of the individual or organization that published the structure definition 1479 * </p> 1480 */ 1481 public StructureDefinition setPublisher( String theString) { 1482 myPublisher = new StringDt(theString); 1483 return this; 1484 } 1485 1486 1487 /** 1488 * Gets the value(s) for <b>contact</b> (). 1489 * creating it if it does 1490 * not exist. Will not return <code>null</code>. 1491 * 1492 * <p> 1493 * <b>Definition:</b> 1494 * Contacts to assist a user in finding and communicating with the publisher 1495 * </p> 1496 */ 1497 public java.util.List<Contact> getContact() { 1498 if (myContact == null) { 1499 myContact = new java.util.ArrayList<Contact>(); 1500 } 1501 return myContact; 1502 } 1503 1504 /** 1505 * Sets the value(s) for <b>contact</b> () 1506 * 1507 * <p> 1508 * <b>Definition:</b> 1509 * Contacts to assist a user in finding and communicating with the publisher 1510 * </p> 1511 */ 1512 public StructureDefinition setContact(java.util.List<Contact> theValue) { 1513 myContact = theValue; 1514 return this; 1515 } 1516 1517 1518 1519 /** 1520 * Adds and returns a new value for <b>contact</b> () 1521 * 1522 * <p> 1523 * <b>Definition:</b> 1524 * Contacts to assist a user in finding and communicating with the publisher 1525 * </p> 1526 */ 1527 public Contact addContact() { 1528 Contact newType = new Contact(); 1529 getContact().add(newType); 1530 return newType; 1531 } 1532 1533 /** 1534 * Adds a given new value for <b>contact</b> () 1535 * 1536 * <p> 1537 * <b>Definition:</b> 1538 * Contacts to assist a user in finding and communicating with the publisher 1539 * </p> 1540 * @param theValue The contact to add (must not be <code>null</code>) 1541 */ 1542 public StructureDefinition addContact(Contact theValue) { 1543 if (theValue == null) { 1544 throw new NullPointerException("theValue must not be null"); 1545 } 1546 getContact().add(theValue); 1547 return this; 1548 } 1549 1550 /** 1551 * Gets the first repetition for <b>contact</b> (), 1552 * creating it if it does not already exist. 1553 * 1554 * <p> 1555 * <b>Definition:</b> 1556 * Contacts to assist a user in finding and communicating with the publisher 1557 * </p> 1558 */ 1559 public Contact getContactFirstRep() { 1560 if (getContact().isEmpty()) { 1561 return addContact(); 1562 } 1563 return getContact().get(0); 1564 } 1565 1566 /** 1567 * Gets the value(s) for <b>date</b> (when.recorded). 1568 * creating it if it does 1569 * not exist. Will not return <code>null</code>. 1570 * 1571 * <p> 1572 * <b>Definition:</b> 1573 * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes 1574 * </p> 1575 */ 1576 public DateTimeDt getDateElement() { 1577 if (myDate == null) { 1578 myDate = new DateTimeDt(); 1579 } 1580 return myDate; 1581 } 1582 1583 1584 /** 1585 * Gets the value(s) for <b>date</b> (when.recorded). 1586 * creating it if it does 1587 * not exist. Will not return <code>null</code>. 1588 * 1589 * <p> 1590 * <b>Definition:</b> 1591 * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes 1592 * </p> 1593 */ 1594 public Date getDate() { 1595 return getDateElement().getValue(); 1596 } 1597 1598 /** 1599 * Sets the value(s) for <b>date</b> (when.recorded) 1600 * 1601 * <p> 1602 * <b>Definition:</b> 1603 * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes 1604 * </p> 1605 */ 1606 public StructureDefinition setDate(DateTimeDt theValue) { 1607 myDate = theValue; 1608 return this; 1609 } 1610 1611 1612 1613 /** 1614 * Sets the value for <b>date</b> (when.recorded) 1615 * 1616 * <p> 1617 * <b>Definition:</b> 1618 * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes 1619 * </p> 1620 */ 1621 public StructureDefinition setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1622 myDate = new DateTimeDt(theDate, thePrecision); 1623 return this; 1624 } 1625 1626 /** 1627 * Sets the value for <b>date</b> (when.recorded) 1628 * 1629 * <p> 1630 * <b>Definition:</b> 1631 * The date this version of the structure definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes 1632 * </p> 1633 */ 1634 public StructureDefinition setDateWithSecondsPrecision( Date theDate) { 1635 myDate = new DateTimeDt(theDate); 1636 return this; 1637 } 1638 1639 1640 /** 1641 * Gets the value(s) for <b>description</b> (). 1642 * creating it if it does 1643 * not exist. Will not return <code>null</code>. 1644 * 1645 * <p> 1646 * <b>Definition:</b> 1647 * A free text natural language description of the StructureDefinition and its use 1648 * </p> 1649 */ 1650 public StringDt getDescriptionElement() { 1651 if (myDescription == null) { 1652 myDescription = new StringDt(); 1653 } 1654 return myDescription; 1655 } 1656 1657 1658 /** 1659 * Gets the value(s) for <b>description</b> (). 1660 * creating it if it does 1661 * not exist. Will not return <code>null</code>. 1662 * 1663 * <p> 1664 * <b>Definition:</b> 1665 * A free text natural language description of the StructureDefinition and its use 1666 * </p> 1667 */ 1668 public String getDescription() { 1669 return getDescriptionElement().getValue(); 1670 } 1671 1672 /** 1673 * Sets the value(s) for <b>description</b> () 1674 * 1675 * <p> 1676 * <b>Definition:</b> 1677 * A free text natural language description of the StructureDefinition and its use 1678 * </p> 1679 */ 1680 public StructureDefinition setDescription(StringDt theValue) { 1681 myDescription = theValue; 1682 return this; 1683 } 1684 1685 1686 1687 /** 1688 * Sets the value for <b>description</b> () 1689 * 1690 * <p> 1691 * <b>Definition:</b> 1692 * A free text natural language description of the StructureDefinition and its use 1693 * </p> 1694 */ 1695 public StructureDefinition setDescription( String theString) { 1696 myDescription = new StringDt(theString); 1697 return this; 1698 } 1699 1700 1701 /** 1702 * Gets the value(s) for <b>useContext</b> (). 1703 * creating it if it does 1704 * not exist. Will not return <code>null</code>. 1705 * 1706 * <p> 1707 * <b>Definition:</b> 1708 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions. 1709 * </p> 1710 */ 1711 public java.util.List<CodeableConceptDt> getUseContext() { 1712 if (myUseContext == null) { 1713 myUseContext = new java.util.ArrayList<CodeableConceptDt>(); 1714 } 1715 return myUseContext; 1716 } 1717 1718 /** 1719 * Sets the value(s) for <b>useContext</b> () 1720 * 1721 * <p> 1722 * <b>Definition:</b> 1723 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions. 1724 * </p> 1725 */ 1726 public StructureDefinition setUseContext(java.util.List<CodeableConceptDt> theValue) { 1727 myUseContext = theValue; 1728 return this; 1729 } 1730 1731 1732 1733 /** 1734 * Adds and returns a new value for <b>useContext</b> () 1735 * 1736 * <p> 1737 * <b>Definition:</b> 1738 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions. 1739 * </p> 1740 */ 1741 public CodeableConceptDt addUseContext() { 1742 CodeableConceptDt newType = new CodeableConceptDt(); 1743 getUseContext().add(newType); 1744 return newType; 1745 } 1746 1747 /** 1748 * Adds a given new value for <b>useContext</b> () 1749 * 1750 * <p> 1751 * <b>Definition:</b> 1752 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions. 1753 * </p> 1754 * @param theValue The useContext to add (must not be <code>null</code>) 1755 */ 1756 public StructureDefinition addUseContext(CodeableConceptDt theValue) { 1757 if (theValue == null) { 1758 throw new NullPointerException("theValue must not be null"); 1759 } 1760 getUseContext().add(theValue); 1761 return this; 1762 } 1763 1764 /** 1765 * Gets the first repetition for <b>useContext</b> (), 1766 * creating it if it does not already exist. 1767 * 1768 * <p> 1769 * <b>Definition:</b> 1770 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of structure definitions. 1771 * </p> 1772 */ 1773 public CodeableConceptDt getUseContextFirstRep() { 1774 if (getUseContext().isEmpty()) { 1775 return addUseContext(); 1776 } 1777 return getUseContext().get(0); 1778 } 1779 1780 /** 1781 * Gets the value(s) for <b>requirements</b> (why). 1782 * creating it if it does 1783 * not exist. Will not return <code>null</code>. 1784 * 1785 * <p> 1786 * <b>Definition:</b> 1787 * Explains why this structure definition is needed and why it's been constrained as it has 1788 * </p> 1789 */ 1790 public StringDt getRequirementsElement() { 1791 if (myRequirements == null) { 1792 myRequirements = new StringDt(); 1793 } 1794 return myRequirements; 1795 } 1796 1797 1798 /** 1799 * Gets the value(s) for <b>requirements</b> (why). 1800 * creating it if it does 1801 * not exist. Will not return <code>null</code>. 1802 * 1803 * <p> 1804 * <b>Definition:</b> 1805 * Explains why this structure definition is needed and why it's been constrained as it has 1806 * </p> 1807 */ 1808 public String getRequirements() { 1809 return getRequirementsElement().getValue(); 1810 } 1811 1812 /** 1813 * Sets the value(s) for <b>requirements</b> (why) 1814 * 1815 * <p> 1816 * <b>Definition:</b> 1817 * Explains why this structure definition is needed and why it's been constrained as it has 1818 * </p> 1819 */ 1820 public StructureDefinition setRequirements(StringDt theValue) { 1821 myRequirements = theValue; 1822 return this; 1823 } 1824 1825 1826 1827 /** 1828 * Sets the value for <b>requirements</b> (why) 1829 * 1830 * <p> 1831 * <b>Definition:</b> 1832 * Explains why this structure definition is needed and why it's been constrained as it has 1833 * </p> 1834 */ 1835 public StructureDefinition setRequirements( String theString) { 1836 myRequirements = new StringDt(theString); 1837 return this; 1838 } 1839 1840 1841 /** 1842 * Gets the value(s) for <b>copyright</b> (). 1843 * creating it if it does 1844 * not exist. Will not return <code>null</code>. 1845 * 1846 * <p> 1847 * <b>Definition:</b> 1848 * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings 1849 * </p> 1850 */ 1851 public StringDt getCopyrightElement() { 1852 if (myCopyright == null) { 1853 myCopyright = new StringDt(); 1854 } 1855 return myCopyright; 1856 } 1857 1858 1859 /** 1860 * Gets the value(s) for <b>copyright</b> (). 1861 * creating it if it does 1862 * not exist. Will not return <code>null</code>. 1863 * 1864 * <p> 1865 * <b>Definition:</b> 1866 * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings 1867 * </p> 1868 */ 1869 public String getCopyright() { 1870 return getCopyrightElement().getValue(); 1871 } 1872 1873 /** 1874 * Sets the value(s) for <b>copyright</b> () 1875 * 1876 * <p> 1877 * <b>Definition:</b> 1878 * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings 1879 * </p> 1880 */ 1881 public StructureDefinition setCopyright(StringDt theValue) { 1882 myCopyright = theValue; 1883 return this; 1884 } 1885 1886 1887 1888 /** 1889 * Sets the value for <b>copyright</b> () 1890 * 1891 * <p> 1892 * <b>Definition:</b> 1893 * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the constraints and mappings 1894 * </p> 1895 */ 1896 public StructureDefinition setCopyright( String theString) { 1897 myCopyright = new StringDt(theString); 1898 return this; 1899 } 1900 1901 1902 /** 1903 * Gets the value(s) for <b>code</b> (). 1904 * creating it if it does 1905 * not exist. Will not return <code>null</code>. 1906 * 1907 * <p> 1908 * <b>Definition:</b> 1909 * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. 1910 * </p> 1911 */ 1912 public java.util.List<CodingDt> getCode() { 1913 if (myCode == null) { 1914 myCode = new java.util.ArrayList<CodingDt>(); 1915 } 1916 return myCode; 1917 } 1918 1919 /** 1920 * Sets the value(s) for <b>code</b> () 1921 * 1922 * <p> 1923 * <b>Definition:</b> 1924 * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. 1925 * </p> 1926 */ 1927 public StructureDefinition setCode(java.util.List<CodingDt> theValue) { 1928 myCode = theValue; 1929 return this; 1930 } 1931 1932 1933 1934 /** 1935 * Adds and returns a new value for <b>code</b> () 1936 * 1937 * <p> 1938 * <b>Definition:</b> 1939 * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. 1940 * </p> 1941 */ 1942 public CodingDt addCode() { 1943 CodingDt newType = new CodingDt(); 1944 getCode().add(newType); 1945 return newType; 1946 } 1947 1948 /** 1949 * Adds a given new value for <b>code</b> () 1950 * 1951 * <p> 1952 * <b>Definition:</b> 1953 * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. 1954 * </p> 1955 * @param theValue The code to add (must not be <code>null</code>) 1956 */ 1957 public StructureDefinition addCode(CodingDt theValue) { 1958 if (theValue == null) { 1959 throw new NullPointerException("theValue must not be null"); 1960 } 1961 getCode().add(theValue); 1962 return this; 1963 } 1964 1965 /** 1966 * Gets the first repetition for <b>code</b> (), 1967 * creating it if it does not already exist. 1968 * 1969 * <p> 1970 * <b>Definition:</b> 1971 * A set of terms from external terminologies that may be used to assist with indexing and searching of templates. 1972 * </p> 1973 */ 1974 public CodingDt getCodeFirstRep() { 1975 if (getCode().isEmpty()) { 1976 return addCode(); 1977 } 1978 return getCode().get(0); 1979 } 1980 1981 /** 1982 * Gets the value(s) for <b>fhirVersion</b> (). 1983 * creating it if it does 1984 * not exist. Will not return <code>null</code>. 1985 * 1986 * <p> 1987 * <b>Definition:</b> 1988 * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is $version$ for this version 1989 * </p> 1990 */ 1991 public IdDt getFhirVersionElement() { 1992 if (myFhirVersion == null) { 1993 myFhirVersion = new IdDt(); 1994 } 1995 return myFhirVersion; 1996 } 1997 1998 1999 /** 2000 * Gets the value(s) for <b>fhirVersion</b> (). 2001 * creating it if it does 2002 * not exist. Will not return <code>null</code>. 2003 * 2004 * <p> 2005 * <b>Definition:</b> 2006 * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is $version$ for this version 2007 * </p> 2008 */ 2009 public String getFhirVersion() { 2010 return getFhirVersionElement().getValue(); 2011 } 2012 2013 /** 2014 * Sets the value(s) for <b>fhirVersion</b> () 2015 * 2016 * <p> 2017 * <b>Definition:</b> 2018 * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is $version$ for this version 2019 * </p> 2020 */ 2021 public StructureDefinition setFhirVersion(IdDt theValue) { 2022 myFhirVersion = theValue; 2023 return this; 2024 } 2025 2026 2027 2028 /** 2029 * Sets the value for <b>fhirVersion</b> () 2030 * 2031 * <p> 2032 * <b>Definition:</b> 2033 * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is $version$ for this version 2034 * </p> 2035 */ 2036 public StructureDefinition setFhirVersion( String theId) { 2037 myFhirVersion = new IdDt(theId); 2038 return this; 2039 } 2040 2041 2042 /** 2043 * Gets the value(s) for <b>mapping</b> (). 2044 * creating it if it does 2045 * not exist. Will not return <code>null</code>. 2046 * 2047 * <p> 2048 * <b>Definition:</b> 2049 * An external specification that the content is mapped to 2050 * </p> 2051 */ 2052 public java.util.List<Mapping> getMapping() { 2053 if (myMapping == null) { 2054 myMapping = new java.util.ArrayList<Mapping>(); 2055 } 2056 return myMapping; 2057 } 2058 2059 /** 2060 * Sets the value(s) for <b>mapping</b> () 2061 * 2062 * <p> 2063 * <b>Definition:</b> 2064 * An external specification that the content is mapped to 2065 * </p> 2066 */ 2067 public StructureDefinition setMapping(java.util.List<Mapping> theValue) { 2068 myMapping = theValue; 2069 return this; 2070 } 2071 2072 2073 2074 /** 2075 * Adds and returns a new value for <b>mapping</b> () 2076 * 2077 * <p> 2078 * <b>Definition:</b> 2079 * An external specification that the content is mapped to 2080 * </p> 2081 */ 2082 public Mapping addMapping() { 2083 Mapping newType = new Mapping(); 2084 getMapping().add(newType); 2085 return newType; 2086 } 2087 2088 /** 2089 * Adds a given new value for <b>mapping</b> () 2090 * 2091 * <p> 2092 * <b>Definition:</b> 2093 * An external specification that the content is mapped to 2094 * </p> 2095 * @param theValue The mapping to add (must not be <code>null</code>) 2096 */ 2097 public StructureDefinition addMapping(Mapping theValue) { 2098 if (theValue == null) { 2099 throw new NullPointerException("theValue must not be null"); 2100 } 2101 getMapping().add(theValue); 2102 return this; 2103 } 2104 2105 /** 2106 * Gets the first repetition for <b>mapping</b> (), 2107 * creating it if it does not already exist. 2108 * 2109 * <p> 2110 * <b>Definition:</b> 2111 * An external specification that the content is mapped to 2112 * </p> 2113 */ 2114 public Mapping getMappingFirstRep() { 2115 if (getMapping().isEmpty()) { 2116 return addMapping(); 2117 } 2118 return getMapping().get(0); 2119 } 2120 2121 /** 2122 * Gets the value(s) for <b>kind</b> (). 2123 * creating it if it does 2124 * not exist. Will not return <code>null</code>. 2125 * 2126 * <p> 2127 * <b>Definition:</b> 2128 * Defines the kind of structure that this definition is describing 2129 * </p> 2130 */ 2131 public BoundCodeDt<StructureDefinitionKindEnum> getKindElement() { 2132 if (myKind == null) { 2133 myKind = new BoundCodeDt<StructureDefinitionKindEnum>(StructureDefinitionKindEnum.VALUESET_BINDER); 2134 } 2135 return myKind; 2136 } 2137 2138 2139 /** 2140 * Gets the value(s) for <b>kind</b> (). 2141 * creating it if it does 2142 * not exist. Will not return <code>null</code>. 2143 * 2144 * <p> 2145 * <b>Definition:</b> 2146 * Defines the kind of structure that this definition is describing 2147 * </p> 2148 */ 2149 public String getKind() { 2150 return getKindElement().getValue(); 2151 } 2152 2153 /** 2154 * Sets the value(s) for <b>kind</b> () 2155 * 2156 * <p> 2157 * <b>Definition:</b> 2158 * Defines the kind of structure that this definition is describing 2159 * </p> 2160 */ 2161 public StructureDefinition setKind(BoundCodeDt<StructureDefinitionKindEnum> theValue) { 2162 myKind = theValue; 2163 return this; 2164 } 2165 2166 2167 2168 /** 2169 * Sets the value(s) for <b>kind</b> () 2170 * 2171 * <p> 2172 * <b>Definition:</b> 2173 * Defines the kind of structure that this definition is describing 2174 * </p> 2175 */ 2176 public StructureDefinition setKind(StructureDefinitionKindEnum theValue) { 2177 setKind(new BoundCodeDt<StructureDefinitionKindEnum>(StructureDefinitionKindEnum.VALUESET_BINDER, theValue)); 2178 2179/* 2180 getKindElement().setValueAsEnum(theValue); 2181*/ 2182 return this; 2183 } 2184 2185 2186 /** 2187 * Gets the value(s) for <b>constrainedType</b> (). 2188 * creating it if it does 2189 * not exist. Will not return <code>null</code>. 2190 * 2191 * <p> 2192 * <b>Definition:</b> 2193 * The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure 2194 * </p> 2195 */ 2196 public CodeDt getConstrainedTypeElement() { 2197 if (myConstrainedType == null) { 2198 myConstrainedType = new CodeDt(); 2199 } 2200 return myConstrainedType; 2201 } 2202 2203 2204 /** 2205 * Gets the value(s) for <b>constrainedType</b> (). 2206 * creating it if it does 2207 * not exist. Will not return <code>null</code>. 2208 * 2209 * <p> 2210 * <b>Definition:</b> 2211 * The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure 2212 * </p> 2213 */ 2214 public String getConstrainedType() { 2215 return getConstrainedTypeElement().getValue(); 2216 } 2217 2218 /** 2219 * Sets the value(s) for <b>constrainedType</b> () 2220 * 2221 * <p> 2222 * <b>Definition:</b> 2223 * The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure 2224 * </p> 2225 */ 2226 public StructureDefinition setConstrainedType(CodeDt theValue) { 2227 myConstrainedType = theValue; 2228 return this; 2229 } 2230 2231 2232 2233 /** 2234 * Sets the value for <b>constrainedType</b> () 2235 * 2236 * <p> 2237 * <b>Definition:</b> 2238 * The type of type that is being constrained - a data type, an extension, a resource, including abstract ones. If this field is present, it indicates that the structure definition is a constraint. If it is not present, then the structure definition is the definition of a base structure 2239 * </p> 2240 */ 2241 public StructureDefinition setConstrainedType( String theCode) { 2242 myConstrainedType = new CodeDt(theCode); 2243 return this; 2244 } 2245 2246 2247 /** 2248 * Gets the value(s) for <b>abstract</b> (). 2249 * creating it if it does 2250 * not exist. Will not return <code>null</code>. 2251 * 2252 * <p> 2253 * <b>Definition:</b> 2254 * Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type 2255 * </p> 2256 */ 2257 public BooleanDt getAbstractElement() { 2258 if (myAbstract == null) { 2259 myAbstract = new BooleanDt(); 2260 } 2261 return myAbstract; 2262 } 2263 2264 2265 /** 2266 * Gets the value(s) for <b>abstract</b> (). 2267 * creating it if it does 2268 * not exist. Will not return <code>null</code>. 2269 * 2270 * <p> 2271 * <b>Definition:</b> 2272 * Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type 2273 * </p> 2274 */ 2275 public Boolean getAbstract() { 2276 return getAbstractElement().getValue(); 2277 } 2278 2279 /** 2280 * Sets the value(s) for <b>abstract</b> () 2281 * 2282 * <p> 2283 * <b>Definition:</b> 2284 * Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type 2285 * </p> 2286 */ 2287 public StructureDefinition setAbstract(BooleanDt theValue) { 2288 myAbstract = theValue; 2289 return this; 2290 } 2291 2292 2293 2294 /** 2295 * Sets the value for <b>abstract</b> () 2296 * 2297 * <p> 2298 * <b>Definition:</b> 2299 * Whether structure this definition describes is abstract or not - that is, whether an actual exchanged item can ever be of this type 2300 * </p> 2301 */ 2302 public StructureDefinition setAbstract( boolean theBoolean) { 2303 myAbstract = new BooleanDt(theBoolean); 2304 return this; 2305 } 2306 2307 2308 /** 2309 * Gets the value(s) for <b>contextType</b> (). 2310 * creating it if it does 2311 * not exist. Will not return <code>null</code>. 2312 * 2313 * <p> 2314 * <b>Definition:</b> 2315 * If this is an extension, Identifies the context within FHIR resources where the extension can be used 2316 * </p> 2317 */ 2318 public BoundCodeDt<ExtensionContextEnum> getContextTypeElement() { 2319 if (myContextType == null) { 2320 myContextType = new BoundCodeDt<ExtensionContextEnum>(ExtensionContextEnum.VALUESET_BINDER); 2321 } 2322 return myContextType; 2323 } 2324 2325 2326 /** 2327 * Gets the value(s) for <b>contextType</b> (). 2328 * creating it if it does 2329 * not exist. Will not return <code>null</code>. 2330 * 2331 * <p> 2332 * <b>Definition:</b> 2333 * If this is an extension, Identifies the context within FHIR resources where the extension can be used 2334 * </p> 2335 */ 2336 public String getContextType() { 2337 return getContextTypeElement().getValue(); 2338 } 2339 2340 /** 2341 * Sets the value(s) for <b>contextType</b> () 2342 * 2343 * <p> 2344 * <b>Definition:</b> 2345 * If this is an extension, Identifies the context within FHIR resources where the extension can be used 2346 * </p> 2347 */ 2348 public StructureDefinition setContextType(BoundCodeDt<ExtensionContextEnum> theValue) { 2349 myContextType = theValue; 2350 return this; 2351 } 2352 2353 2354 2355 /** 2356 * Sets the value(s) for <b>contextType</b> () 2357 * 2358 * <p> 2359 * <b>Definition:</b> 2360 * If this is an extension, Identifies the context within FHIR resources where the extension can be used 2361 * </p> 2362 */ 2363 public StructureDefinition setContextType(ExtensionContextEnum theValue) { 2364 setContextType(new BoundCodeDt<ExtensionContextEnum>(ExtensionContextEnum.VALUESET_BINDER, theValue)); 2365 2366/* 2367 getContextTypeElement().setValueAsEnum(theValue); 2368*/ 2369 return this; 2370 } 2371 2372 2373 /** 2374 * Gets the value(s) for <b>context</b> (). 2375 * creating it if it does 2376 * not exist. Will not return <code>null</code>. 2377 * 2378 * <p> 2379 * <b>Definition:</b> 2380 * Identifies the types of resource or data type elements to which the extension can be applied 2381 * </p> 2382 */ 2383 public java.util.List<StringDt> getContext() { 2384 if (myContext == null) { 2385 myContext = new java.util.ArrayList<StringDt>(); 2386 } 2387 return myContext; 2388 } 2389 2390 /** 2391 * Sets the value(s) for <b>context</b> () 2392 * 2393 * <p> 2394 * <b>Definition:</b> 2395 * Identifies the types of resource or data type elements to which the extension can be applied 2396 * </p> 2397 */ 2398 public StructureDefinition setContext(java.util.List<StringDt> theValue) { 2399 myContext = theValue; 2400 return this; 2401 } 2402 2403 2404 2405 /** 2406 * Adds and returns a new value for <b>context</b> () 2407 * 2408 * <p> 2409 * <b>Definition:</b> 2410 * Identifies the types of resource or data type elements to which the extension can be applied 2411 * </p> 2412 */ 2413 public StringDt addContext() { 2414 StringDt newType = new StringDt(); 2415 getContext().add(newType); 2416 return newType; 2417 } 2418 2419 /** 2420 * Adds a given new value for <b>context</b> () 2421 * 2422 * <p> 2423 * <b>Definition:</b> 2424 * Identifies the types of resource or data type elements to which the extension can be applied 2425 * </p> 2426 * @param theValue The context to add (must not be <code>null</code>) 2427 */ 2428 public StructureDefinition addContext(StringDt theValue) { 2429 if (theValue == null) { 2430 throw new NullPointerException("theValue must not be null"); 2431 } 2432 getContext().add(theValue); 2433 return this; 2434 } 2435 2436 /** 2437 * Gets the first repetition for <b>context</b> (), 2438 * creating it if it does not already exist. 2439 * 2440 * <p> 2441 * <b>Definition:</b> 2442 * Identifies the types of resource or data type elements to which the extension can be applied 2443 * </p> 2444 */ 2445 public StringDt getContextFirstRep() { 2446 if (getContext().isEmpty()) { 2447 return addContext(); 2448 } 2449 return getContext().get(0); 2450 } 2451 /** 2452 * Adds a new value for <b>context</b> () 2453 * 2454 * <p> 2455 * <b>Definition:</b> 2456 * Identifies the types of resource or data type elements to which the extension can be applied 2457 * </p> 2458 * 2459 * @return Returns a reference to this object, to allow for simple chaining. 2460 */ 2461 public StructureDefinition addContext( String theString) { 2462 if (myContext == null) { 2463 myContext = new java.util.ArrayList<StringDt>(); 2464 } 2465 myContext.add(new StringDt(theString)); 2466 return this; 2467 } 2468 2469 2470 /** 2471 * Gets the value(s) for <b>base</b> (). 2472 * creating it if it does 2473 * not exist. Will not return <code>null</code>. 2474 * 2475 * <p> 2476 * <b>Definition:</b> 2477 * An absolute URI that is the base structure from which this set of constraints is derived 2478 * </p> 2479 */ 2480 public UriDt getBaseElement() { 2481 if (myBase == null) { 2482 myBase = new UriDt(); 2483 } 2484 return myBase; 2485 } 2486 2487 2488 /** 2489 * Gets the value(s) for <b>base</b> (). 2490 * creating it if it does 2491 * not exist. Will not return <code>null</code>. 2492 * 2493 * <p> 2494 * <b>Definition:</b> 2495 * An absolute URI that is the base structure from which this set of constraints is derived 2496 * </p> 2497 */ 2498 public String getBase() { 2499 return getBaseElement().getValue(); 2500 } 2501 2502 /** 2503 * Sets the value(s) for <b>base</b> () 2504 * 2505 * <p> 2506 * <b>Definition:</b> 2507 * An absolute URI that is the base structure from which this set of constraints is derived 2508 * </p> 2509 */ 2510 public StructureDefinition setBase(UriDt theValue) { 2511 myBase = theValue; 2512 return this; 2513 } 2514 2515 2516 2517 /** 2518 * Sets the value for <b>base</b> () 2519 * 2520 * <p> 2521 * <b>Definition:</b> 2522 * An absolute URI that is the base structure from which this set of constraints is derived 2523 * </p> 2524 */ 2525 public StructureDefinition setBase( String theUri) { 2526 myBase = new UriDt(theUri); 2527 return this; 2528 } 2529 2530 2531 /** 2532 * Gets the value(s) for <b>snapshot</b> (). 2533 * creating it if it does 2534 * not exist. Will not return <code>null</code>. 2535 * 2536 * <p> 2537 * <b>Definition:</b> 2538 * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition 2539 * </p> 2540 */ 2541 public Snapshot getSnapshot() { 2542 if (mySnapshot == null) { 2543 mySnapshot = new Snapshot(); 2544 } 2545 return mySnapshot; 2546 } 2547 2548 /** 2549 * Sets the value(s) for <b>snapshot</b> () 2550 * 2551 * <p> 2552 * <b>Definition:</b> 2553 * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition 2554 * </p> 2555 */ 2556 public StructureDefinition setSnapshot(Snapshot theValue) { 2557 mySnapshot = theValue; 2558 return this; 2559 } 2560 2561 2562 2563 2564 /** 2565 * Gets the value(s) for <b>differential</b> (). 2566 * creating it if it does 2567 * not exist. Will not return <code>null</code>. 2568 * 2569 * <p> 2570 * <b>Definition:</b> 2571 * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies 2572 * </p> 2573 */ 2574 public Differential getDifferential() { 2575 if (myDifferential == null) { 2576 myDifferential = new Differential(); 2577 } 2578 return myDifferential; 2579 } 2580 2581 /** 2582 * Sets the value(s) for <b>differential</b> () 2583 * 2584 * <p> 2585 * <b>Definition:</b> 2586 * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies 2587 * </p> 2588 */ 2589 public StructureDefinition setDifferential(Differential theValue) { 2590 myDifferential = theValue; 2591 return this; 2592 } 2593 2594 2595 2596 2597 /** 2598 * Block class for child element: <b>StructureDefinition.contact</b> () 2599 * 2600 * <p> 2601 * <b>Definition:</b> 2602 * Contacts to assist a user in finding and communicating with the publisher 2603 * </p> 2604 */ 2605 @Block() 2606 public static class Contact 2607 extends BaseIdentifiableElement implements IResourceBlock { 2608 2609 @Child(name="name", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) 2610 @Description( 2611 shortDefinition="", 2612 formalDefinition="The name of an individual to contact regarding the structure definition" 2613 ) 2614 private StringDt myName; 2615 2616 @Child(name="telecom", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2617 @Description( 2618 shortDefinition="", 2619 formalDefinition="Contact details for individual (if a name was provided) or the publisher" 2620 ) 2621 private java.util.List<ContactPointDt> myTelecom; 2622 2623 2624 @Override 2625 public boolean isEmpty() { 2626 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myTelecom); 2627 } 2628 2629 @Override 2630 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2631 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myTelecom); 2632 } 2633 2634 /** 2635 * Gets the value(s) for <b>name</b> (). 2636 * creating it if it does 2637 * not exist. Will not return <code>null</code>. 2638 * 2639 * <p> 2640 * <b>Definition:</b> 2641 * The name of an individual to contact regarding the structure definition 2642 * </p> 2643 */ 2644 public StringDt getNameElement() { 2645 if (myName == null) { 2646 myName = new StringDt(); 2647 } 2648 return myName; 2649 } 2650 2651 2652 /** 2653 * Gets the value(s) for <b>name</b> (). 2654 * creating it if it does 2655 * not exist. Will not return <code>null</code>. 2656 * 2657 * <p> 2658 * <b>Definition:</b> 2659 * The name of an individual to contact regarding the structure definition 2660 * </p> 2661 */ 2662 public String getName() { 2663 return getNameElement().getValue(); 2664 } 2665 2666 /** 2667 * Sets the value(s) for <b>name</b> () 2668 * 2669 * <p> 2670 * <b>Definition:</b> 2671 * The name of an individual to contact regarding the structure definition 2672 * </p> 2673 */ 2674 public Contact setName(StringDt theValue) { 2675 myName = theValue; 2676 return this; 2677 } 2678 2679 2680 2681 /** 2682 * Sets the value for <b>name</b> () 2683 * 2684 * <p> 2685 * <b>Definition:</b> 2686 * The name of an individual to contact regarding the structure definition 2687 * </p> 2688 */ 2689 public Contact setName( String theString) { 2690 myName = new StringDt(theString); 2691 return this; 2692 } 2693 2694 2695 /** 2696 * Gets the value(s) for <b>telecom</b> (). 2697 * creating it if it does 2698 * not exist. Will not return <code>null</code>. 2699 * 2700 * <p> 2701 * <b>Definition:</b> 2702 * Contact details for individual (if a name was provided) or the publisher 2703 * </p> 2704 */ 2705 public java.util.List<ContactPointDt> getTelecom() { 2706 if (myTelecom == null) { 2707 myTelecom = new java.util.ArrayList<ContactPointDt>(); 2708 } 2709 return myTelecom; 2710 } 2711 2712 /** 2713 * Sets the value(s) for <b>telecom</b> () 2714 * 2715 * <p> 2716 * <b>Definition:</b> 2717 * Contact details for individual (if a name was provided) or the publisher 2718 * </p> 2719 */ 2720 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 2721 myTelecom = theValue; 2722 return this; 2723 } 2724 2725 2726 2727 /** 2728 * Adds and returns a new value for <b>telecom</b> () 2729 * 2730 * <p> 2731 * <b>Definition:</b> 2732 * Contact details for individual (if a name was provided) or the publisher 2733 * </p> 2734 */ 2735 public ContactPointDt addTelecom() { 2736 ContactPointDt newType = new ContactPointDt(); 2737 getTelecom().add(newType); 2738 return newType; 2739 } 2740 2741 /** 2742 * Adds a given new value for <b>telecom</b> () 2743 * 2744 * <p> 2745 * <b>Definition:</b> 2746 * Contact details for individual (if a name was provided) or the publisher 2747 * </p> 2748 * @param theValue The telecom to add (must not be <code>null</code>) 2749 */ 2750 public Contact addTelecom(ContactPointDt theValue) { 2751 if (theValue == null) { 2752 throw new NullPointerException("theValue must not be null"); 2753 } 2754 getTelecom().add(theValue); 2755 return this; 2756 } 2757 2758 /** 2759 * Gets the first repetition for <b>telecom</b> (), 2760 * creating it if it does not already exist. 2761 * 2762 * <p> 2763 * <b>Definition:</b> 2764 * Contact details for individual (if a name was provided) or the publisher 2765 * </p> 2766 */ 2767 public ContactPointDt getTelecomFirstRep() { 2768 if (getTelecom().isEmpty()) { 2769 return addTelecom(); 2770 } 2771 return getTelecom().get(0); 2772 } 2773 2774 2775 2776 } 2777 2778 2779 /** 2780 * Block class for child element: <b>StructureDefinition.mapping</b> () 2781 * 2782 * <p> 2783 * <b>Definition:</b> 2784 * An external specification that the content is mapped to 2785 * </p> 2786 */ 2787 @Block() 2788 public static class Mapping 2789 extends BaseIdentifiableElement implements IResourceBlock { 2790 2791 @Child(name="identity", type=IdDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2792 @Description( 2793 shortDefinition="", 2794 formalDefinition="An Internal id that is used to identify this mapping set when specific mappings are made" 2795 ) 2796 private IdDt myIdentity; 2797 2798 @Child(name="uri", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2799 @Description( 2800 shortDefinition="", 2801 formalDefinition="An absolute URI that identifies the specification that this mapping is expressed to" 2802 ) 2803 private UriDt myUri; 2804 2805 @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2806 @Description( 2807 shortDefinition="", 2808 formalDefinition="A name for the specification that is being mapped to" 2809 ) 2810 private StringDt myName; 2811 2812 @Child(name="comments", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2813 @Description( 2814 shortDefinition="", 2815 formalDefinition="Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage" 2816 ) 2817 private StringDt myComments; 2818 2819 2820 @Override 2821 public boolean isEmpty() { 2822 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentity, myUri, myName, myComments); 2823 } 2824 2825 @Override 2826 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2827 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentity, myUri, myName, myComments); 2828 } 2829 2830 /** 2831 * Gets the value(s) for <b>identity</b> (). 2832 * creating it if it does 2833 * not exist. Will not return <code>null</code>. 2834 * 2835 * <p> 2836 * <b>Definition:</b> 2837 * An Internal id that is used to identify this mapping set when specific mappings are made 2838 * </p> 2839 */ 2840 public IdDt getIdentityElement() { 2841 if (myIdentity == null) { 2842 myIdentity = new IdDt(); 2843 } 2844 return myIdentity; 2845 } 2846 2847 2848 /** 2849 * Gets the value(s) for <b>identity</b> (). 2850 * creating it if it does 2851 * not exist. Will not return <code>null</code>. 2852 * 2853 * <p> 2854 * <b>Definition:</b> 2855 * An Internal id that is used to identify this mapping set when specific mappings are made 2856 * </p> 2857 */ 2858 public String getIdentity() { 2859 return getIdentityElement().getValue(); 2860 } 2861 2862 /** 2863 * Sets the value(s) for <b>identity</b> () 2864 * 2865 * <p> 2866 * <b>Definition:</b> 2867 * An Internal id that is used to identify this mapping set when specific mappings are made 2868 * </p> 2869 */ 2870 public Mapping setIdentity(IdDt theValue) { 2871 myIdentity = theValue; 2872 return this; 2873 } 2874 2875 2876 2877 /** 2878 * Sets the value for <b>identity</b> () 2879 * 2880 * <p> 2881 * <b>Definition:</b> 2882 * An Internal id that is used to identify this mapping set when specific mappings are made 2883 * </p> 2884 */ 2885 public Mapping setIdentity( String theId) { 2886 myIdentity = new IdDt(theId); 2887 return this; 2888 } 2889 2890 2891 /** 2892 * Gets the value(s) for <b>uri</b> (). 2893 * creating it if it does 2894 * not exist. Will not return <code>null</code>. 2895 * 2896 * <p> 2897 * <b>Definition:</b> 2898 * An absolute URI that identifies the specification that this mapping is expressed to 2899 * </p> 2900 */ 2901 public UriDt getUriElement() { 2902 if (myUri == null) { 2903 myUri = new UriDt(); 2904 } 2905 return myUri; 2906 } 2907 2908 2909 /** 2910 * Gets the value(s) for <b>uri</b> (). 2911 * creating it if it does 2912 * not exist. Will not return <code>null</code>. 2913 * 2914 * <p> 2915 * <b>Definition:</b> 2916 * An absolute URI that identifies the specification that this mapping is expressed to 2917 * </p> 2918 */ 2919 public String getUri() { 2920 return getUriElement().getValue(); 2921 } 2922 2923 /** 2924 * Sets the value(s) for <b>uri</b> () 2925 * 2926 * <p> 2927 * <b>Definition:</b> 2928 * An absolute URI that identifies the specification that this mapping is expressed to 2929 * </p> 2930 */ 2931 public Mapping setUri(UriDt theValue) { 2932 myUri = theValue; 2933 return this; 2934 } 2935 2936 2937 2938 /** 2939 * Sets the value for <b>uri</b> () 2940 * 2941 * <p> 2942 * <b>Definition:</b> 2943 * An absolute URI that identifies the specification that this mapping is expressed to 2944 * </p> 2945 */ 2946 public Mapping setUri( String theUri) { 2947 myUri = new UriDt(theUri); 2948 return this; 2949 } 2950 2951 2952 /** 2953 * Gets the value(s) for <b>name</b> (). 2954 * creating it if it does 2955 * not exist. Will not return <code>null</code>. 2956 * 2957 * <p> 2958 * <b>Definition:</b> 2959 * A name for the specification that is being mapped to 2960 * </p> 2961 */ 2962 public StringDt getNameElement() { 2963 if (myName == null) { 2964 myName = new StringDt(); 2965 } 2966 return myName; 2967 } 2968 2969 2970 /** 2971 * Gets the value(s) for <b>name</b> (). 2972 * creating it if it does 2973 * not exist. Will not return <code>null</code>. 2974 * 2975 * <p> 2976 * <b>Definition:</b> 2977 * A name for the specification that is being mapped to 2978 * </p> 2979 */ 2980 public String getName() { 2981 return getNameElement().getValue(); 2982 } 2983 2984 /** 2985 * Sets the value(s) for <b>name</b> () 2986 * 2987 * <p> 2988 * <b>Definition:</b> 2989 * A name for the specification that is being mapped to 2990 * </p> 2991 */ 2992 public Mapping setName(StringDt theValue) { 2993 myName = theValue; 2994 return this; 2995 } 2996 2997 2998 2999 /** 3000 * Sets the value for <b>name</b> () 3001 * 3002 * <p> 3003 * <b>Definition:</b> 3004 * A name for the specification that is being mapped to 3005 * </p> 3006 */ 3007 public Mapping setName( String theString) { 3008 myName = new StringDt(theString); 3009 return this; 3010 } 3011 3012 3013 /** 3014 * Gets the value(s) for <b>comments</b> (). 3015 * creating it if it does 3016 * not exist. Will not return <code>null</code>. 3017 * 3018 * <p> 3019 * <b>Definition:</b> 3020 * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage 3021 * </p> 3022 */ 3023 public StringDt getCommentsElement() { 3024 if (myComments == null) { 3025 myComments = new StringDt(); 3026 } 3027 return myComments; 3028 } 3029 3030 3031 /** 3032 * Gets the value(s) for <b>comments</b> (). 3033 * creating it if it does 3034 * not exist. Will not return <code>null</code>. 3035 * 3036 * <p> 3037 * <b>Definition:</b> 3038 * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage 3039 * </p> 3040 */ 3041 public String getComments() { 3042 return getCommentsElement().getValue(); 3043 } 3044 3045 /** 3046 * Sets the value(s) for <b>comments</b> () 3047 * 3048 * <p> 3049 * <b>Definition:</b> 3050 * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage 3051 * </p> 3052 */ 3053 public Mapping setComments(StringDt theValue) { 3054 myComments = theValue; 3055 return this; 3056 } 3057 3058 3059 3060 /** 3061 * Sets the value for <b>comments</b> () 3062 * 3063 * <p> 3064 * <b>Definition:</b> 3065 * Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage 3066 * </p> 3067 */ 3068 public Mapping setComments( String theString) { 3069 myComments = new StringDt(theString); 3070 return this; 3071 } 3072 3073 3074 3075 3076 } 3077 3078 3079 /** 3080 * Block class for child element: <b>StructureDefinition.snapshot</b> () 3081 * 3082 * <p> 3083 * <b>Definition:</b> 3084 * A snapshot view is expressed in a stand alone form that can be used and interpreted without considering the base StructureDefinition 3085 * </p> 3086 */ 3087 @Block() 3088 public static class Snapshot 3089 extends BaseIdentifiableElement implements IResourceBlock { 3090 3091 @Child(name="element", type=ElementDefinitionDt.class, order=0, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3092 @Description( 3093 shortDefinition="", 3094 formalDefinition="Captures constraints on each element within the resource" 3095 ) 3096 private java.util.List<ElementDefinitionDt> myElement; 3097 3098 3099 @Override 3100 public boolean isEmpty() { 3101 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myElement); 3102 } 3103 3104 @Override 3105 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3106 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myElement); 3107 } 3108 3109 /** 3110 * Gets the value(s) for <b>element</b> (). 3111 * creating it if it does 3112 * not exist. Will not return <code>null</code>. 3113 * 3114 * <p> 3115 * <b>Definition:</b> 3116 * Captures constraints on each element within the resource 3117 * </p> 3118 */ 3119 public java.util.List<ElementDefinitionDt> getElement() { 3120 if (myElement == null) { 3121 myElement = new java.util.ArrayList<ElementDefinitionDt>(); 3122 } 3123 return myElement; 3124 } 3125 3126 /** 3127 * Sets the value(s) for <b>element</b> () 3128 * 3129 * <p> 3130 * <b>Definition:</b> 3131 * Captures constraints on each element within the resource 3132 * </p> 3133 */ 3134 public Snapshot setElement(java.util.List<ElementDefinitionDt> theValue) { 3135 myElement = theValue; 3136 return this; 3137 } 3138 3139 3140 3141 /** 3142 * Adds and returns a new value for <b>element</b> () 3143 * 3144 * <p> 3145 * <b>Definition:</b> 3146 * Captures constraints on each element within the resource 3147 * </p> 3148 */ 3149 public ElementDefinitionDt addElement() { 3150 ElementDefinitionDt newType = new ElementDefinitionDt(); 3151 getElement().add(newType); 3152 return newType; 3153 } 3154 3155 /** 3156 * Adds a given new value for <b>element</b> () 3157 * 3158 * <p> 3159 * <b>Definition:</b> 3160 * Captures constraints on each element within the resource 3161 * </p> 3162 * @param theValue The element to add (must not be <code>null</code>) 3163 */ 3164 public Snapshot addElement(ElementDefinitionDt theValue) { 3165 if (theValue == null) { 3166 throw new NullPointerException("theValue must not be null"); 3167 } 3168 getElement().add(theValue); 3169 return this; 3170 } 3171 3172 /** 3173 * Gets the first repetition for <b>element</b> (), 3174 * creating it if it does not already exist. 3175 * 3176 * <p> 3177 * <b>Definition:</b> 3178 * Captures constraints on each element within the resource 3179 * </p> 3180 */ 3181 public ElementDefinitionDt getElementFirstRep() { 3182 if (getElement().isEmpty()) { 3183 return addElement(); 3184 } 3185 return getElement().get(0); 3186 } 3187 3188 3189 3190 } 3191 3192 3193 /** 3194 * Block class for child element: <b>StructureDefinition.differential</b> () 3195 * 3196 * <p> 3197 * <b>Definition:</b> 3198 * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies 3199 * </p> 3200 */ 3201 @Block() 3202 public static class Differential 3203 extends BaseIdentifiableElement implements IResourceBlock { 3204 3205 @Child(name="element", type=ElementDefinitionDt.class, order=0, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3206 @Description( 3207 shortDefinition="", 3208 formalDefinition="Captures constraints on each element within the resource" 3209 ) 3210 private java.util.List<ElementDefinitionDt> myElement; 3211 3212 3213 @Override 3214 public boolean isEmpty() { 3215 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myElement); 3216 } 3217 3218 @Override 3219 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3220 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myElement); 3221 } 3222 3223 /** 3224 * Gets the value(s) for <b>element</b> (). 3225 * creating it if it does 3226 * not exist. Will not return <code>null</code>. 3227 * 3228 * <p> 3229 * <b>Definition:</b> 3230 * Captures constraints on each element within the resource 3231 * </p> 3232 */ 3233 public java.util.List<ElementDefinitionDt> getElement() { 3234 if (myElement == null) { 3235 myElement = new java.util.ArrayList<ElementDefinitionDt>(); 3236 } 3237 return myElement; 3238 } 3239 3240 /** 3241 * Sets the value(s) for <b>element</b> () 3242 * 3243 * <p> 3244 * <b>Definition:</b> 3245 * Captures constraints on each element within the resource 3246 * </p> 3247 */ 3248 public Differential setElement(java.util.List<ElementDefinitionDt> theValue) { 3249 myElement = theValue; 3250 return this; 3251 } 3252 3253 3254 3255 /** 3256 * Adds and returns a new value for <b>element</b> () 3257 * 3258 * <p> 3259 * <b>Definition:</b> 3260 * Captures constraints on each element within the resource 3261 * </p> 3262 */ 3263 public ElementDefinitionDt addElement() { 3264 ElementDefinitionDt newType = new ElementDefinitionDt(); 3265 getElement().add(newType); 3266 return newType; 3267 } 3268 3269 /** 3270 * Adds a given new value for <b>element</b> () 3271 * 3272 * <p> 3273 * <b>Definition:</b> 3274 * Captures constraints on each element within the resource 3275 * </p> 3276 * @param theValue The element to add (must not be <code>null</code>) 3277 */ 3278 public Differential addElement(ElementDefinitionDt theValue) { 3279 if (theValue == null) { 3280 throw new NullPointerException("theValue must not be null"); 3281 } 3282 getElement().add(theValue); 3283 return this; 3284 } 3285 3286 /** 3287 * Gets the first repetition for <b>element</b> (), 3288 * creating it if it does not already exist. 3289 * 3290 * <p> 3291 * <b>Definition:</b> 3292 * Captures constraints on each element within the resource 3293 * </p> 3294 */ 3295 public ElementDefinitionDt getElementFirstRep() { 3296 if (getElement().isEmpty()) { 3297 return addElement(); 3298 } 3299 return getElement().get(0); 3300 } 3301 3302 3303 3304 } 3305 3306 3307 3308 3309 @Override 3310 public String getResourceName() { 3311 return "StructureDefinition"; 3312 } 3313 3314 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 3315 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 3316 } 3317 3318 3319}