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>OperationDefinition</b> Resource 320 * (conformance.behavior) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). 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/OperationDefinition">http://hl7.org/fhir/profiles/OperationDefinition</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="OperationDefinition", profile="http://hl7.org/fhir/profiles/OperationDefinition", id="operationdefinition") 339public class OperationDefinition 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>OperationDefinition.url</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="url", path="OperationDefinition.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>OperationDefinition.url</b><br> 359 * </p> 360 */ 361 public static final UriClientParam URL = new UriClientParam(SP_URL); 362 363 /** 364 * Search parameter constant for <b>version</b> 365 * <p> 366 * Description: <b></b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>OperationDefinition.version</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="version", path="OperationDefinition.version", description="", type="token" ) 372 public static final String SP_VERSION = "version"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>version</b> 376 * <p> 377 * Description: <b></b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>OperationDefinition.version</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam VERSION = new TokenClientParam(SP_VERSION); 383 384 /** 385 * Search parameter constant for <b>name</b> 386 * <p> 387 * Description: <b></b><br> 388 * Type: <b>string</b><br> 389 * Path: <b>OperationDefinition.name</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="name", path="OperationDefinition.name", description="", type="string" ) 393 public static final String SP_NAME = "name"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>name</b> 397 * <p> 398 * Description: <b></b><br> 399 * Type: <b>string</b><br> 400 * Path: <b>OperationDefinition.name</b><br> 401 * </p> 402 */ 403 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 404 405 /** 406 * Search parameter constant for <b>publisher</b> 407 * <p> 408 * Description: <b></b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>OperationDefinition.publisher</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="publisher", path="OperationDefinition.publisher", description="", type="string" ) 414 public static final String SP_PUBLISHER = "publisher"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 418 * <p> 419 * Description: <b></b><br> 420 * Type: <b>string</b><br> 421 * Path: <b>OperationDefinition.publisher</b><br> 422 * </p> 423 */ 424 public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); 425 426 /** 427 * Search parameter constant for <b>code</b> 428 * <p> 429 * Description: <b></b><br> 430 * Type: <b>token</b><br> 431 * Path: <b>OperationDefinition.code</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="code", path="OperationDefinition.code", description="", type="token" ) 435 public static final String SP_CODE = "code"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>code</b> 439 * <p> 440 * Description: <b></b><br> 441 * Type: <b>token</b><br> 442 * Path: <b>OperationDefinition.code</b><br> 443 * </p> 444 */ 445 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 446 447 /** 448 * Search parameter constant for <b>status</b> 449 * <p> 450 * Description: <b></b><br> 451 * Type: <b>token</b><br> 452 * Path: <b>OperationDefinition.status</b><br> 453 * </p> 454 */ 455 @SearchParamDefinition(name="status", path="OperationDefinition.status", description="", type="token" ) 456 public static final String SP_STATUS = "status"; 457 458 /** 459 * <b>Fluent Client</b> search parameter constant for <b>status</b> 460 * <p> 461 * Description: <b></b><br> 462 * Type: <b>token</b><br> 463 * Path: <b>OperationDefinition.status</b><br> 464 * </p> 465 */ 466 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 467 468 /** 469 * Search parameter constant for <b>date</b> 470 * <p> 471 * Description: <b></b><br> 472 * Type: <b>date</b><br> 473 * Path: <b>OperationDefinition.date</b><br> 474 * </p> 475 */ 476 @SearchParamDefinition(name="date", path="OperationDefinition.date", description="", type="date" ) 477 public static final String SP_DATE = "date"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>date</b> 481 * <p> 482 * Description: <b></b><br> 483 * Type: <b>date</b><br> 484 * Path: <b>OperationDefinition.date</b><br> 485 * </p> 486 */ 487 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 488 489 /** 490 * Search parameter constant for <b>kind</b> 491 * <p> 492 * Description: <b></b><br> 493 * Type: <b>token</b><br> 494 * Path: <b>OperationDefinition.kind</b><br> 495 * </p> 496 */ 497 @SearchParamDefinition(name="kind", path="OperationDefinition.kind", description="", type="token" ) 498 public static final String SP_KIND = "kind"; 499 500 /** 501 * <b>Fluent Client</b> search parameter constant for <b>kind</b> 502 * <p> 503 * Description: <b></b><br> 504 * Type: <b>token</b><br> 505 * Path: <b>OperationDefinition.kind</b><br> 506 * </p> 507 */ 508 public static final TokenClientParam KIND = new TokenClientParam(SP_KIND); 509 510 /** 511 * Search parameter constant for <b>base</b> 512 * <p> 513 * Description: <b></b><br> 514 * Type: <b>reference</b><br> 515 * Path: <b>OperationDefinition.base</b><br> 516 * </p> 517 */ 518 @SearchParamDefinition(name="base", path="OperationDefinition.base", description="", type="reference" ) 519 public static final String SP_BASE = "base"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>base</b> 523 * <p> 524 * Description: <b></b><br> 525 * Type: <b>reference</b><br> 526 * Path: <b>OperationDefinition.base</b><br> 527 * </p> 528 */ 529 public static final ReferenceClientParam BASE = new ReferenceClientParam(SP_BASE); 530 531 /** 532 * Search parameter constant for <b>system</b> 533 * <p> 534 * Description: <b></b><br> 535 * Type: <b>token</b><br> 536 * Path: <b>OperationDefinition.system</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="system", path="OperationDefinition.system", description="", type="token" ) 540 public static final String SP_SYSTEM = "system"; 541 542 /** 543 * <b>Fluent Client</b> search parameter constant for <b>system</b> 544 * <p> 545 * Description: <b></b><br> 546 * Type: <b>token</b><br> 547 * Path: <b>OperationDefinition.system</b><br> 548 * </p> 549 */ 550 public static final TokenClientParam SYSTEM = new TokenClientParam(SP_SYSTEM); 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>OperationDefinition.type</b><br> 558 * </p> 559 */ 560 @SearchParamDefinition(name="type", path="OperationDefinition.type", 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>OperationDefinition.type</b><br> 569 * </p> 570 */ 571 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 572 573 /** 574 * Search parameter constant for <b>instance</b> 575 * <p> 576 * Description: <b></b><br> 577 * Type: <b>token</b><br> 578 * Path: <b>OperationDefinition.instance</b><br> 579 * </p> 580 */ 581 @SearchParamDefinition(name="instance", path="OperationDefinition.instance", description="", type="token" ) 582 public static final String SP_INSTANCE = "instance"; 583 584 /** 585 * <b>Fluent Client</b> search parameter constant for <b>instance</b> 586 * <p> 587 * Description: <b></b><br> 588 * Type: <b>token</b><br> 589 * Path: <b>OperationDefinition.instance</b><br> 590 * </p> 591 */ 592 public static final TokenClientParam INSTANCE = new TokenClientParam(SP_INSTANCE); 593 594 /** 595 * Search parameter constant for <b>profile</b> 596 * <p> 597 * Description: <b></b><br> 598 * Type: <b>reference</b><br> 599 * Path: <b>OperationDefinition.parameter.profile</b><br> 600 * </p> 601 */ 602 @SearchParamDefinition(name="profile", path="OperationDefinition.parameter.profile", description="", type="reference" ) 603 public static final String SP_PROFILE = "profile"; 604 605 /** 606 * <b>Fluent Client</b> search parameter constant for <b>profile</b> 607 * <p> 608 * Description: <b></b><br> 609 * Type: <b>reference</b><br> 610 * Path: <b>OperationDefinition.parameter.profile</b><br> 611 * </p> 612 */ 613 public static final ReferenceClientParam PROFILE = new ReferenceClientParam(SP_PROFILE); 614 615 616 /** 617 * Constant for fluent queries to be used to add include statements. Specifies 618 * the path value of "<b>OperationDefinition:base</b>". 619 */ 620 public static final Include INCLUDE_BASE = new Include("OperationDefinition:base"); 621 622 /** 623 * Constant for fluent queries to be used to add include statements. Specifies 624 * the path value of "<b>OperationDefinition:profile</b>". 625 */ 626 public static final Include INCLUDE_PROFILE = new Include("OperationDefinition:profile"); 627 628 629 @Child(name="url", type=UriDt.class, order=0, min=0, max=1, summary=false, modifier=false) 630 @Description( 631 shortDefinition="id", 632 formalDefinition="An absolute URL that is used to identify this operation 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 operation definition is (or will be) published" 633 ) 634 private UriDt myUrl; 635 636 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 637 @Description( 638 shortDefinition="id.version", 639 formalDefinition="The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp" 640 ) 641 private StringDt myVersion; 642 643 @Child(name="name", type=StringDt.class, order=2, min=1, max=1, summary=false, modifier=false) 644 @Description( 645 shortDefinition="", 646 formalDefinition="A free text natural language name identifying the operation" 647 ) 648 private StringDt myName; 649 650 @Child(name="status", type=CodeDt.class, order=3, min=1, max=1, summary=false, modifier=false) 651 @Description( 652 shortDefinition="status", 653 formalDefinition="The status of the profile" 654 ) 655 private BoundCodeDt<ConformanceResourceStatusEnum> myStatus; 656 657 @Child(name="kind", type=CodeDt.class, order=4, min=1, max=1, summary=false, modifier=false) 658 @Description( 659 shortDefinition="class", 660 formalDefinition="Whether this is an operation or a named query" 661 ) 662 private BoundCodeDt<OperationKindEnum> myKind; 663 664 @Child(name="experimental", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=false) 665 @Description( 666 shortDefinition="", 667 formalDefinition="This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" 668 ) 669 private BooleanDt myExperimental; 670 671 @Child(name="publisher", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false) 672 @Description( 673 shortDefinition="who.witness", 674 formalDefinition="The name of the individual or organization that published the operation definition" 675 ) 676 private StringDt myPublisher; 677 678 @Child(name="contact", order=7, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 679 @Description( 680 shortDefinition="", 681 formalDefinition="Contacts to assist a user in finding and communicating with the publisher" 682 ) 683 private java.util.List<Contact> myContact; 684 685 @Child(name="date", type=DateTimeDt.class, order=8, min=0, max=1, summary=false, modifier=false) 686 @Description( 687 shortDefinition="when.recorded", 688 formalDefinition="The date this version of the operation 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 Operation Definition changes" 689 ) 690 private DateTimeDt myDate; 691 692 @Child(name="description", type=StringDt.class, order=9, min=0, max=1, summary=false, modifier=false) 693 @Description( 694 shortDefinition="", 695 formalDefinition="A free text natural language description of the profile and its use" 696 ) 697 private StringDt myDescription; 698 699 @Child(name="requirements", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) 700 @Description( 701 shortDefinition="", 702 formalDefinition="Explains why this operation definition is needed and why it's been constrained as it has" 703 ) 704 private StringDt myRequirements; 705 706 @Child(name="idempotent", type=BooleanDt.class, order=11, min=0, max=1, summary=false, modifier=false) 707 @Description( 708 shortDefinition="", 709 formalDefinition="Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST" 710 ) 711 private BooleanDt myIdempotent; 712 713 @Child(name="code", type=CodeDt.class, order=12, min=1, max=1, summary=false, modifier=false) 714 @Description( 715 shortDefinition="", 716 formalDefinition="The name used to invoke the operation" 717 ) 718 private CodeDt myCode; 719 720 @Child(name="notes", type=StringDt.class, order=13, min=0, max=1, summary=false, modifier=false) 721 @Description( 722 shortDefinition="", 723 formalDefinition="Additional information about how to use this operation or named query" 724 ) 725 private StringDt myNotes; 726 727 @Child(name="base", order=14, min=0, max=1, summary=false, modifier=false, type={ 728 ca.uhn.fhir.model.dstu2.resource.OperationDefinition.class }) 729 @Description( 730 shortDefinition="", 731 formalDefinition="Indicates that this operation definition is a constraining profile on the base" 732 ) 733 private ResourceReferenceDt myBase; 734 735 @Child(name="system", type=BooleanDt.class, order=15, min=1, max=1, summary=false, modifier=false) 736 @Description( 737 shortDefinition="", 738 formalDefinition="Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context)" 739 ) 740 private BooleanDt mySystem; 741 742 @Child(name="type", type=CodeDt.class, order=16, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 743 @Description( 744 shortDefinition="", 745 formalDefinition="Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context)" 746 ) 747 private java.util.List<BoundCodeDt<ResourceTypeEnum>> myType; 748 749 @Child(name="instance", type=BooleanDt.class, order=17, min=1, max=1, summary=false, modifier=false) 750 @Description( 751 shortDefinition="", 752 formalDefinition="Indicates whether this operation can be invoked on a particular instance of one of the given types" 753 ) 754 private BooleanDt myInstance; 755 756 @Child(name="parameter", order=18, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 757 @Description( 758 shortDefinition="", 759 formalDefinition="The parameters for the operation/query" 760 ) 761 private java.util.List<Parameter> myParameter; 762 763 764 @Override 765 public boolean isEmpty() { 766 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myUrl, myVersion, myName, myStatus, myKind, myExperimental, myPublisher, myContact, myDate, myDescription, myRequirements, myIdempotent, myCode, myNotes, myBase, mySystem, myType, myInstance, myParameter); 767 } 768 769 @Override 770 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 771 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUrl, myVersion, myName, myStatus, myKind, myExperimental, myPublisher, myContact, myDate, myDescription, myRequirements, myIdempotent, myCode, myNotes, myBase, mySystem, myType, myInstance, myParameter); 772 } 773 774 /** 775 * Gets the value(s) for <b>url</b> (id). 776 * creating it if it does 777 * not exist. Will not return <code>null</code>. 778 * 779 * <p> 780 * <b>Definition:</b> 781 * An absolute URL that is used to identify this operation 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 operation definition is (or will be) published 782 * </p> 783 */ 784 public UriDt getUrlElement() { 785 if (myUrl == null) { 786 myUrl = new UriDt(); 787 } 788 return myUrl; 789 } 790 791 792 /** 793 * Gets the value(s) for <b>url</b> (id). 794 * creating it if it does 795 * not exist. Will not return <code>null</code>. 796 * 797 * <p> 798 * <b>Definition:</b> 799 * An absolute URL that is used to identify this operation 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 operation definition is (or will be) published 800 * </p> 801 */ 802 public String getUrl() { 803 return getUrlElement().getValue(); 804 } 805 806 /** 807 * Sets the value(s) for <b>url</b> (id) 808 * 809 * <p> 810 * <b>Definition:</b> 811 * An absolute URL that is used to identify this operation 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 operation definition is (or will be) published 812 * </p> 813 */ 814 public OperationDefinition setUrl(UriDt theValue) { 815 myUrl = theValue; 816 return this; 817 } 818 819 820 821 /** 822 * Sets the value for <b>url</b> (id) 823 * 824 * <p> 825 * <b>Definition:</b> 826 * An absolute URL that is used to identify this operation 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 operation definition is (or will be) published 827 * </p> 828 */ 829 public OperationDefinition setUrl( String theUri) { 830 myUrl = new UriDt(theUri); 831 return this; 832 } 833 834 835 /** 836 * Gets the value(s) for <b>version</b> (id.version). 837 * creating it if it does 838 * not exist. Will not return <code>null</code>. 839 * 840 * <p> 841 * <b>Definition:</b> 842 * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp 843 * </p> 844 */ 845 public StringDt getVersionElement() { 846 if (myVersion == null) { 847 myVersion = new StringDt(); 848 } 849 return myVersion; 850 } 851 852 853 /** 854 * Gets the value(s) for <b>version</b> (id.version). 855 * creating it if it does 856 * not exist. Will not return <code>null</code>. 857 * 858 * <p> 859 * <b>Definition:</b> 860 * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp 861 * </p> 862 */ 863 public String getVersion() { 864 return getVersionElement().getValue(); 865 } 866 867 /** 868 * Sets the value(s) for <b>version</b> (id.version) 869 * 870 * <p> 871 * <b>Definition:</b> 872 * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp 873 * </p> 874 */ 875 public OperationDefinition setVersion(StringDt theValue) { 876 myVersion = theValue; 877 return this; 878 } 879 880 881 882 /** 883 * Sets the value for <b>version</b> (id.version) 884 * 885 * <p> 886 * <b>Definition:</b> 887 * The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp 888 * </p> 889 */ 890 public OperationDefinition setVersion( String theString) { 891 myVersion = new StringDt(theString); 892 return this; 893 } 894 895 896 /** 897 * Gets the value(s) for <b>name</b> (). 898 * creating it if it does 899 * not exist. Will not return <code>null</code>. 900 * 901 * <p> 902 * <b>Definition:</b> 903 * A free text natural language name identifying the operation 904 * </p> 905 */ 906 public StringDt getNameElement() { 907 if (myName == null) { 908 myName = new StringDt(); 909 } 910 return myName; 911 } 912 913 914 /** 915 * Gets the value(s) for <b>name</b> (). 916 * creating it if it does 917 * not exist. Will not return <code>null</code>. 918 * 919 * <p> 920 * <b>Definition:</b> 921 * A free text natural language name identifying the operation 922 * </p> 923 */ 924 public String getName() { 925 return getNameElement().getValue(); 926 } 927 928 /** 929 * Sets the value(s) for <b>name</b> () 930 * 931 * <p> 932 * <b>Definition:</b> 933 * A free text natural language name identifying the operation 934 * </p> 935 */ 936 public OperationDefinition setName(StringDt theValue) { 937 myName = theValue; 938 return this; 939 } 940 941 942 943 /** 944 * Sets the value for <b>name</b> () 945 * 946 * <p> 947 * <b>Definition:</b> 948 * A free text natural language name identifying the operation 949 * </p> 950 */ 951 public OperationDefinition setName( String theString) { 952 myName = new StringDt(theString); 953 return this; 954 } 955 956 957 /** 958 * Gets the value(s) for <b>status</b> (status). 959 * creating it if it does 960 * not exist. Will not return <code>null</code>. 961 * 962 * <p> 963 * <b>Definition:</b> 964 * The status of the profile 965 * </p> 966 */ 967 public BoundCodeDt<ConformanceResourceStatusEnum> getStatusElement() { 968 if (myStatus == null) { 969 myStatus = new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER); 970 } 971 return myStatus; 972 } 973 974 975 /** 976 * Gets the value(s) for <b>status</b> (status). 977 * creating it if it does 978 * not exist. Will not return <code>null</code>. 979 * 980 * <p> 981 * <b>Definition:</b> 982 * The status of the profile 983 * </p> 984 */ 985 public String getStatus() { 986 return getStatusElement().getValue(); 987 } 988 989 /** 990 * Sets the value(s) for <b>status</b> (status) 991 * 992 * <p> 993 * <b>Definition:</b> 994 * The status of the profile 995 * </p> 996 */ 997 public OperationDefinition setStatus(BoundCodeDt<ConformanceResourceStatusEnum> theValue) { 998 myStatus = theValue; 999 return this; 1000 } 1001 1002 1003 1004 /** 1005 * Sets the value(s) for <b>status</b> (status) 1006 * 1007 * <p> 1008 * <b>Definition:</b> 1009 * The status of the profile 1010 * </p> 1011 */ 1012 public OperationDefinition setStatus(ConformanceResourceStatusEnum theValue) { 1013 setStatus(new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER, theValue)); 1014 1015/* 1016 getStatusElement().setValueAsEnum(theValue); 1017*/ 1018 return this; 1019 } 1020 1021 1022 /** 1023 * Gets the value(s) for <b>kind</b> (class). 1024 * creating it if it does 1025 * not exist. Will not return <code>null</code>. 1026 * 1027 * <p> 1028 * <b>Definition:</b> 1029 * Whether this is an operation or a named query 1030 * </p> 1031 */ 1032 public BoundCodeDt<OperationKindEnum> getKindElement() { 1033 if (myKind == null) { 1034 myKind = new BoundCodeDt<OperationKindEnum>(OperationKindEnum.VALUESET_BINDER); 1035 } 1036 return myKind; 1037 } 1038 1039 1040 /** 1041 * Gets the value(s) for <b>kind</b> (class). 1042 * creating it if it does 1043 * not exist. Will not return <code>null</code>. 1044 * 1045 * <p> 1046 * <b>Definition:</b> 1047 * Whether this is an operation or a named query 1048 * </p> 1049 */ 1050 public String getKind() { 1051 return getKindElement().getValue(); 1052 } 1053 1054 /** 1055 * Sets the value(s) for <b>kind</b> (class) 1056 * 1057 * <p> 1058 * <b>Definition:</b> 1059 * Whether this is an operation or a named query 1060 * </p> 1061 */ 1062 public OperationDefinition setKind(BoundCodeDt<OperationKindEnum> theValue) { 1063 myKind = theValue; 1064 return this; 1065 } 1066 1067 1068 1069 /** 1070 * Sets the value(s) for <b>kind</b> (class) 1071 * 1072 * <p> 1073 * <b>Definition:</b> 1074 * Whether this is an operation or a named query 1075 * </p> 1076 */ 1077 public OperationDefinition setKind(OperationKindEnum theValue) { 1078 setKind(new BoundCodeDt<OperationKindEnum>(OperationKindEnum.VALUESET_BINDER, theValue)); 1079 1080/* 1081 getKindElement().setValueAsEnum(theValue); 1082*/ 1083 return this; 1084 } 1085 1086 1087 /** 1088 * Gets the value(s) for <b>experimental</b> (). 1089 * creating it if it does 1090 * not exist. Will not return <code>null</code>. 1091 * 1092 * <p> 1093 * <b>Definition:</b> 1094 * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1095 * </p> 1096 */ 1097 public BooleanDt getExperimentalElement() { 1098 if (myExperimental == null) { 1099 myExperimental = new BooleanDt(); 1100 } 1101 return myExperimental; 1102 } 1103 1104 1105 /** 1106 * Gets the value(s) for <b>experimental</b> (). 1107 * creating it if it does 1108 * not exist. Will not return <code>null</code>. 1109 * 1110 * <p> 1111 * <b>Definition:</b> 1112 * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1113 * </p> 1114 */ 1115 public Boolean getExperimental() { 1116 return getExperimentalElement().getValue(); 1117 } 1118 1119 /** 1120 * Sets the value(s) for <b>experimental</b> () 1121 * 1122 * <p> 1123 * <b>Definition:</b> 1124 * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1125 * </p> 1126 */ 1127 public OperationDefinition setExperimental(BooleanDt theValue) { 1128 myExperimental = theValue; 1129 return this; 1130 } 1131 1132 1133 1134 /** 1135 * Sets the value for <b>experimental</b> () 1136 * 1137 * <p> 1138 * <b>Definition:</b> 1139 * This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1140 * </p> 1141 */ 1142 public OperationDefinition setExperimental( boolean theBoolean) { 1143 myExperimental = new BooleanDt(theBoolean); 1144 return this; 1145 } 1146 1147 1148 /** 1149 * Gets the value(s) for <b>publisher</b> (who.witness). 1150 * creating it if it does 1151 * not exist. Will not return <code>null</code>. 1152 * 1153 * <p> 1154 * <b>Definition:</b> 1155 * The name of the individual or organization that published the operation definition 1156 * </p> 1157 */ 1158 public StringDt getPublisherElement() { 1159 if (myPublisher == null) { 1160 myPublisher = new StringDt(); 1161 } 1162 return myPublisher; 1163 } 1164 1165 1166 /** 1167 * Gets the value(s) for <b>publisher</b> (who.witness). 1168 * creating it if it does 1169 * not exist. Will not return <code>null</code>. 1170 * 1171 * <p> 1172 * <b>Definition:</b> 1173 * The name of the individual or organization that published the operation definition 1174 * </p> 1175 */ 1176 public String getPublisher() { 1177 return getPublisherElement().getValue(); 1178 } 1179 1180 /** 1181 * Sets the value(s) for <b>publisher</b> (who.witness) 1182 * 1183 * <p> 1184 * <b>Definition:</b> 1185 * The name of the individual or organization that published the operation definition 1186 * </p> 1187 */ 1188 public OperationDefinition setPublisher(StringDt theValue) { 1189 myPublisher = theValue; 1190 return this; 1191 } 1192 1193 1194 1195 /** 1196 * Sets the value for <b>publisher</b> (who.witness) 1197 * 1198 * <p> 1199 * <b>Definition:</b> 1200 * The name of the individual or organization that published the operation definition 1201 * </p> 1202 */ 1203 public OperationDefinition setPublisher( String theString) { 1204 myPublisher = new StringDt(theString); 1205 return this; 1206 } 1207 1208 1209 /** 1210 * Gets the value(s) for <b>contact</b> (). 1211 * creating it if it does 1212 * not exist. Will not return <code>null</code>. 1213 * 1214 * <p> 1215 * <b>Definition:</b> 1216 * Contacts to assist a user in finding and communicating with the publisher 1217 * </p> 1218 */ 1219 public java.util.List<Contact> getContact() { 1220 if (myContact == null) { 1221 myContact = new java.util.ArrayList<Contact>(); 1222 } 1223 return myContact; 1224 } 1225 1226 /** 1227 * Sets the value(s) for <b>contact</b> () 1228 * 1229 * <p> 1230 * <b>Definition:</b> 1231 * Contacts to assist a user in finding and communicating with the publisher 1232 * </p> 1233 */ 1234 public OperationDefinition setContact(java.util.List<Contact> theValue) { 1235 myContact = theValue; 1236 return this; 1237 } 1238 1239 1240 1241 /** 1242 * Adds and returns a new value for <b>contact</b> () 1243 * 1244 * <p> 1245 * <b>Definition:</b> 1246 * Contacts to assist a user in finding and communicating with the publisher 1247 * </p> 1248 */ 1249 public Contact addContact() { 1250 Contact newType = new Contact(); 1251 getContact().add(newType); 1252 return newType; 1253 } 1254 1255 /** 1256 * Adds a given new value for <b>contact</b> () 1257 * 1258 * <p> 1259 * <b>Definition:</b> 1260 * Contacts to assist a user in finding and communicating with the publisher 1261 * </p> 1262 * @param theValue The contact to add (must not be <code>null</code>) 1263 */ 1264 public OperationDefinition addContact(Contact theValue) { 1265 if (theValue == null) { 1266 throw new NullPointerException("theValue must not be null"); 1267 } 1268 getContact().add(theValue); 1269 return this; 1270 } 1271 1272 /** 1273 * Gets the first repetition for <b>contact</b> (), 1274 * creating it if it does not already exist. 1275 * 1276 * <p> 1277 * <b>Definition:</b> 1278 * Contacts to assist a user in finding and communicating with the publisher 1279 * </p> 1280 */ 1281 public Contact getContactFirstRep() { 1282 if (getContact().isEmpty()) { 1283 return addContact(); 1284 } 1285 return getContact().get(0); 1286 } 1287 1288 /** 1289 * Gets the value(s) for <b>date</b> (when.recorded). 1290 * creating it if it does 1291 * not exist. Will not return <code>null</code>. 1292 * 1293 * <p> 1294 * <b>Definition:</b> 1295 * The date this version of the operation 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 Operation Definition changes 1296 * </p> 1297 */ 1298 public DateTimeDt getDateElement() { 1299 if (myDate == null) { 1300 myDate = new DateTimeDt(); 1301 } 1302 return myDate; 1303 } 1304 1305 1306 /** 1307 * Gets the value(s) for <b>date</b> (when.recorded). 1308 * creating it if it does 1309 * not exist. Will not return <code>null</code>. 1310 * 1311 * <p> 1312 * <b>Definition:</b> 1313 * The date this version of the operation 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 Operation Definition changes 1314 * </p> 1315 */ 1316 public Date getDate() { 1317 return getDateElement().getValue(); 1318 } 1319 1320 /** 1321 * Sets the value(s) for <b>date</b> (when.recorded) 1322 * 1323 * <p> 1324 * <b>Definition:</b> 1325 * The date this version of the operation 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 Operation Definition changes 1326 * </p> 1327 */ 1328 public OperationDefinition setDate(DateTimeDt theValue) { 1329 myDate = theValue; 1330 return this; 1331 } 1332 1333 1334 1335 /** 1336 * Sets the value for <b>date</b> (when.recorded) 1337 * 1338 * <p> 1339 * <b>Definition:</b> 1340 * The date this version of the operation 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 Operation Definition changes 1341 * </p> 1342 */ 1343 public OperationDefinition setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1344 myDate = new DateTimeDt(theDate, thePrecision); 1345 return this; 1346 } 1347 1348 /** 1349 * Sets the value for <b>date</b> (when.recorded) 1350 * 1351 * <p> 1352 * <b>Definition:</b> 1353 * The date this version of the operation 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 Operation Definition changes 1354 * </p> 1355 */ 1356 public OperationDefinition setDateWithSecondsPrecision( Date theDate) { 1357 myDate = new DateTimeDt(theDate); 1358 return this; 1359 } 1360 1361 1362 /** 1363 * Gets the value(s) for <b>description</b> (). 1364 * creating it if it does 1365 * not exist. Will not return <code>null</code>. 1366 * 1367 * <p> 1368 * <b>Definition:</b> 1369 * A free text natural language description of the profile and its use 1370 * </p> 1371 */ 1372 public StringDt getDescriptionElement() { 1373 if (myDescription == null) { 1374 myDescription = new StringDt(); 1375 } 1376 return myDescription; 1377 } 1378 1379 1380 /** 1381 * Gets the value(s) for <b>description</b> (). 1382 * creating it if it does 1383 * not exist. Will not return <code>null</code>. 1384 * 1385 * <p> 1386 * <b>Definition:</b> 1387 * A free text natural language description of the profile and its use 1388 * </p> 1389 */ 1390 public String getDescription() { 1391 return getDescriptionElement().getValue(); 1392 } 1393 1394 /** 1395 * Sets the value(s) for <b>description</b> () 1396 * 1397 * <p> 1398 * <b>Definition:</b> 1399 * A free text natural language description of the profile and its use 1400 * </p> 1401 */ 1402 public OperationDefinition setDescription(StringDt theValue) { 1403 myDescription = theValue; 1404 return this; 1405 } 1406 1407 1408 1409 /** 1410 * Sets the value for <b>description</b> () 1411 * 1412 * <p> 1413 * <b>Definition:</b> 1414 * A free text natural language description of the profile and its use 1415 * </p> 1416 */ 1417 public OperationDefinition setDescription( String theString) { 1418 myDescription = new StringDt(theString); 1419 return this; 1420 } 1421 1422 1423 /** 1424 * Gets the value(s) for <b>requirements</b> (). 1425 * creating it if it does 1426 * not exist. Will not return <code>null</code>. 1427 * 1428 * <p> 1429 * <b>Definition:</b> 1430 * Explains why this operation definition is needed and why it's been constrained as it has 1431 * </p> 1432 */ 1433 public StringDt getRequirementsElement() { 1434 if (myRequirements == null) { 1435 myRequirements = new StringDt(); 1436 } 1437 return myRequirements; 1438 } 1439 1440 1441 /** 1442 * Gets the value(s) for <b>requirements</b> (). 1443 * creating it if it does 1444 * not exist. Will not return <code>null</code>. 1445 * 1446 * <p> 1447 * <b>Definition:</b> 1448 * Explains why this operation definition is needed and why it's been constrained as it has 1449 * </p> 1450 */ 1451 public String getRequirements() { 1452 return getRequirementsElement().getValue(); 1453 } 1454 1455 /** 1456 * Sets the value(s) for <b>requirements</b> () 1457 * 1458 * <p> 1459 * <b>Definition:</b> 1460 * Explains why this operation definition is needed and why it's been constrained as it has 1461 * </p> 1462 */ 1463 public OperationDefinition setRequirements(StringDt theValue) { 1464 myRequirements = theValue; 1465 return this; 1466 } 1467 1468 1469 1470 /** 1471 * Sets the value for <b>requirements</b> () 1472 * 1473 * <p> 1474 * <b>Definition:</b> 1475 * Explains why this operation definition is needed and why it's been constrained as it has 1476 * </p> 1477 */ 1478 public OperationDefinition setRequirements( String theString) { 1479 myRequirements = new StringDt(theString); 1480 return this; 1481 } 1482 1483 1484 /** 1485 * Gets the value(s) for <b>idempotent</b> (). 1486 * creating it if it does 1487 * not exist. Will not return <code>null</code>. 1488 * 1489 * <p> 1490 * <b>Definition:</b> 1491 * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST 1492 * </p> 1493 */ 1494 public BooleanDt getIdempotentElement() { 1495 if (myIdempotent == null) { 1496 myIdempotent = new BooleanDt(); 1497 } 1498 return myIdempotent; 1499 } 1500 1501 1502 /** 1503 * Gets the value(s) for <b>idempotent</b> (). 1504 * creating it if it does 1505 * not exist. Will not return <code>null</code>. 1506 * 1507 * <p> 1508 * <b>Definition:</b> 1509 * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST 1510 * </p> 1511 */ 1512 public Boolean getIdempotent() { 1513 return getIdempotentElement().getValue(); 1514 } 1515 1516 /** 1517 * Sets the value(s) for <b>idempotent</b> () 1518 * 1519 * <p> 1520 * <b>Definition:</b> 1521 * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST 1522 * </p> 1523 */ 1524 public OperationDefinition setIdempotent(BooleanDt theValue) { 1525 myIdempotent = theValue; 1526 return this; 1527 } 1528 1529 1530 1531 /** 1532 * Sets the value for <b>idempotent</b> () 1533 * 1534 * <p> 1535 * <b>Definition:</b> 1536 * Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST 1537 * </p> 1538 */ 1539 public OperationDefinition setIdempotent( boolean theBoolean) { 1540 myIdempotent = new BooleanDt(theBoolean); 1541 return this; 1542 } 1543 1544 1545 /** 1546 * Gets the value(s) for <b>code</b> (). 1547 * creating it if it does 1548 * not exist. Will not return <code>null</code>. 1549 * 1550 * <p> 1551 * <b>Definition:</b> 1552 * The name used to invoke the operation 1553 * </p> 1554 */ 1555 public CodeDt getCodeElement() { 1556 if (myCode == null) { 1557 myCode = new CodeDt(); 1558 } 1559 return myCode; 1560 } 1561 1562 1563 /** 1564 * Gets the value(s) for <b>code</b> (). 1565 * creating it if it does 1566 * not exist. Will not return <code>null</code>. 1567 * 1568 * <p> 1569 * <b>Definition:</b> 1570 * The name used to invoke the operation 1571 * </p> 1572 */ 1573 public String getCode() { 1574 return getCodeElement().getValue(); 1575 } 1576 1577 /** 1578 * Sets the value(s) for <b>code</b> () 1579 * 1580 * <p> 1581 * <b>Definition:</b> 1582 * The name used to invoke the operation 1583 * </p> 1584 */ 1585 public OperationDefinition setCode(CodeDt theValue) { 1586 myCode = theValue; 1587 return this; 1588 } 1589 1590 1591 1592 /** 1593 * Sets the value for <b>code</b> () 1594 * 1595 * <p> 1596 * <b>Definition:</b> 1597 * The name used to invoke the operation 1598 * </p> 1599 */ 1600 public OperationDefinition setCode( String theCode) { 1601 myCode = new CodeDt(theCode); 1602 return this; 1603 } 1604 1605 1606 /** 1607 * Gets the value(s) for <b>notes</b> (). 1608 * creating it if it does 1609 * not exist. Will not return <code>null</code>. 1610 * 1611 * <p> 1612 * <b>Definition:</b> 1613 * Additional information about how to use this operation or named query 1614 * </p> 1615 */ 1616 public StringDt getNotesElement() { 1617 if (myNotes == null) { 1618 myNotes = new StringDt(); 1619 } 1620 return myNotes; 1621 } 1622 1623 1624 /** 1625 * Gets the value(s) for <b>notes</b> (). 1626 * creating it if it does 1627 * not exist. Will not return <code>null</code>. 1628 * 1629 * <p> 1630 * <b>Definition:</b> 1631 * Additional information about how to use this operation or named query 1632 * </p> 1633 */ 1634 public String getNotes() { 1635 return getNotesElement().getValue(); 1636 } 1637 1638 /** 1639 * Sets the value(s) for <b>notes</b> () 1640 * 1641 * <p> 1642 * <b>Definition:</b> 1643 * Additional information about how to use this operation or named query 1644 * </p> 1645 */ 1646 public OperationDefinition setNotes(StringDt theValue) { 1647 myNotes = theValue; 1648 return this; 1649 } 1650 1651 1652 1653 /** 1654 * Sets the value for <b>notes</b> () 1655 * 1656 * <p> 1657 * <b>Definition:</b> 1658 * Additional information about how to use this operation or named query 1659 * </p> 1660 */ 1661 public OperationDefinition setNotes( String theString) { 1662 myNotes = new StringDt(theString); 1663 return this; 1664 } 1665 1666 1667 /** 1668 * Gets the value(s) for <b>base</b> (). 1669 * creating it if it does 1670 * not exist. Will not return <code>null</code>. 1671 * 1672 * <p> 1673 * <b>Definition:</b> 1674 * Indicates that this operation definition is a constraining profile on the base 1675 * </p> 1676 */ 1677 public ResourceReferenceDt getBase() { 1678 if (myBase == null) { 1679 myBase = new ResourceReferenceDt(); 1680 } 1681 return myBase; 1682 } 1683 1684 /** 1685 * Sets the value(s) for <b>base</b> () 1686 * 1687 * <p> 1688 * <b>Definition:</b> 1689 * Indicates that this operation definition is a constraining profile on the base 1690 * </p> 1691 */ 1692 public OperationDefinition setBase(ResourceReferenceDt theValue) { 1693 myBase = theValue; 1694 return this; 1695 } 1696 1697 1698 1699 1700 /** 1701 * Gets the value(s) for <b>system</b> (). 1702 * creating it if it does 1703 * not exist. Will not return <code>null</code>. 1704 * 1705 * <p> 1706 * <b>Definition:</b> 1707 * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context) 1708 * </p> 1709 */ 1710 public BooleanDt getSystemElement() { 1711 if (mySystem == null) { 1712 mySystem = new BooleanDt(); 1713 } 1714 return mySystem; 1715 } 1716 1717 1718 /** 1719 * Gets the value(s) for <b>system</b> (). 1720 * creating it if it does 1721 * not exist. Will not return <code>null</code>. 1722 * 1723 * <p> 1724 * <b>Definition:</b> 1725 * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context) 1726 * </p> 1727 */ 1728 public Boolean getSystem() { 1729 return getSystemElement().getValue(); 1730 } 1731 1732 /** 1733 * Sets the value(s) for <b>system</b> () 1734 * 1735 * <p> 1736 * <b>Definition:</b> 1737 * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context) 1738 * </p> 1739 */ 1740 public OperationDefinition setSystem(BooleanDt theValue) { 1741 mySystem = theValue; 1742 return this; 1743 } 1744 1745 1746 1747 /** 1748 * Sets the value for <b>system</b> () 1749 * 1750 * <p> 1751 * <b>Definition:</b> 1752 * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context) 1753 * </p> 1754 */ 1755 public OperationDefinition setSystem( boolean theBoolean) { 1756 mySystem = new BooleanDt(theBoolean); 1757 return this; 1758 } 1759 1760 1761 /** 1762 * Gets the value(s) for <b>type</b> (). 1763 * creating it if it does 1764 * not exist. Will not return <code>null</code>. 1765 * 1766 * <p> 1767 * <b>Definition:</b> 1768 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1769 * </p> 1770 */ 1771 public java.util.List<BoundCodeDt<ResourceTypeEnum>> getType() { 1772 if (myType == null) { 1773 myType = new java.util.ArrayList<BoundCodeDt<ResourceTypeEnum>>(); 1774 } 1775 return myType; 1776 } 1777 1778 /** 1779 * Sets the value(s) for <b>type</b> () 1780 * 1781 * <p> 1782 * <b>Definition:</b> 1783 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1784 * </p> 1785 */ 1786 public OperationDefinition setType(java.util.List<BoundCodeDt<ResourceTypeEnum>> theValue) { 1787 myType = theValue; 1788 return this; 1789 } 1790 1791 1792 1793 /** 1794 * Add a value for <b>type</b> () using an enumerated type. This 1795 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1796 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1797 * you may also use the {@link #addType()} method. 1798 * 1799 * <p> 1800 * <b>Definition:</b> 1801 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1802 * </p> 1803 */ 1804 public BoundCodeDt<ResourceTypeEnum> addType(ResourceTypeEnum theValue) { 1805 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue); 1806 getType().add(retVal); 1807 return retVal; 1808 } 1809 1810 /** 1811 * Gets the first repetition for <b>type</b> (), 1812 * creating it if it does not already exist. 1813 * 1814 * <p> 1815 * <b>Definition:</b> 1816 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1817 * </p> 1818 */ 1819 public BoundCodeDt<ResourceTypeEnum> getTypeFirstRep() { 1820 if (getType().size() == 0) { 1821 addType(); 1822 } 1823 return getType().get(0); 1824 } 1825 1826 /** 1827 * Add a value for <b>type</b> () 1828 * 1829 * <p> 1830 * <b>Definition:</b> 1831 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1832 * </p> 1833 */ 1834 public BoundCodeDt<ResourceTypeEnum> addType() { 1835 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 1836 getType().add(retVal); 1837 return retVal; 1838 } 1839 1840 /** 1841 * Sets the value(s), and clears any existing value(s) for <b>type</b> () 1842 * 1843 * <p> 1844 * <b>Definition:</b> 1845 * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context) 1846 * </p> 1847 */ 1848 public OperationDefinition setType(ResourceTypeEnum theValue) { 1849 getType().clear(); 1850 addType(theValue); 1851 return this; 1852 } 1853 1854 1855 /** 1856 * Gets the value(s) for <b>instance</b> (). 1857 * creating it if it does 1858 * not exist. Will not return <code>null</code>. 1859 * 1860 * <p> 1861 * <b>Definition:</b> 1862 * Indicates whether this operation can be invoked on a particular instance of one of the given types 1863 * </p> 1864 */ 1865 public BooleanDt getInstanceElement() { 1866 if (myInstance == null) { 1867 myInstance = new BooleanDt(); 1868 } 1869 return myInstance; 1870 } 1871 1872 1873 /** 1874 * Gets the value(s) for <b>instance</b> (). 1875 * creating it if it does 1876 * not exist. Will not return <code>null</code>. 1877 * 1878 * <p> 1879 * <b>Definition:</b> 1880 * Indicates whether this operation can be invoked on a particular instance of one of the given types 1881 * </p> 1882 */ 1883 public Boolean getInstance() { 1884 return getInstanceElement().getValue(); 1885 } 1886 1887 /** 1888 * Sets the value(s) for <b>instance</b> () 1889 * 1890 * <p> 1891 * <b>Definition:</b> 1892 * Indicates whether this operation can be invoked on a particular instance of one of the given types 1893 * </p> 1894 */ 1895 public OperationDefinition setInstance(BooleanDt theValue) { 1896 myInstance = theValue; 1897 return this; 1898 } 1899 1900 1901 1902 /** 1903 * Sets the value for <b>instance</b> () 1904 * 1905 * <p> 1906 * <b>Definition:</b> 1907 * Indicates whether this operation can be invoked on a particular instance of one of the given types 1908 * </p> 1909 */ 1910 public OperationDefinition setInstance( boolean theBoolean) { 1911 myInstance = new BooleanDt(theBoolean); 1912 return this; 1913 } 1914 1915 1916 /** 1917 * Gets the value(s) for <b>parameter</b> (). 1918 * creating it if it does 1919 * not exist. Will not return <code>null</code>. 1920 * 1921 * <p> 1922 * <b>Definition:</b> 1923 * The parameters for the operation/query 1924 * </p> 1925 */ 1926 public java.util.List<Parameter> getParameter() { 1927 if (myParameter == null) { 1928 myParameter = new java.util.ArrayList<Parameter>(); 1929 } 1930 return myParameter; 1931 } 1932 1933 /** 1934 * Sets the value(s) for <b>parameter</b> () 1935 * 1936 * <p> 1937 * <b>Definition:</b> 1938 * The parameters for the operation/query 1939 * </p> 1940 */ 1941 public OperationDefinition setParameter(java.util.List<Parameter> theValue) { 1942 myParameter = theValue; 1943 return this; 1944 } 1945 1946 1947 1948 /** 1949 * Adds and returns a new value for <b>parameter</b> () 1950 * 1951 * <p> 1952 * <b>Definition:</b> 1953 * The parameters for the operation/query 1954 * </p> 1955 */ 1956 public Parameter addParameter() { 1957 Parameter newType = new Parameter(); 1958 getParameter().add(newType); 1959 return newType; 1960 } 1961 1962 /** 1963 * Adds a given new value for <b>parameter</b> () 1964 * 1965 * <p> 1966 * <b>Definition:</b> 1967 * The parameters for the operation/query 1968 * </p> 1969 * @param theValue The parameter to add (must not be <code>null</code>) 1970 */ 1971 public OperationDefinition addParameter(Parameter theValue) { 1972 if (theValue == null) { 1973 throw new NullPointerException("theValue must not be null"); 1974 } 1975 getParameter().add(theValue); 1976 return this; 1977 } 1978 1979 /** 1980 * Gets the first repetition for <b>parameter</b> (), 1981 * creating it if it does not already exist. 1982 * 1983 * <p> 1984 * <b>Definition:</b> 1985 * The parameters for the operation/query 1986 * </p> 1987 */ 1988 public Parameter getParameterFirstRep() { 1989 if (getParameter().isEmpty()) { 1990 return addParameter(); 1991 } 1992 return getParameter().get(0); 1993 } 1994 1995 /** 1996 * Block class for child element: <b>OperationDefinition.contact</b> () 1997 * 1998 * <p> 1999 * <b>Definition:</b> 2000 * Contacts to assist a user in finding and communicating with the publisher 2001 * </p> 2002 */ 2003 @Block() 2004 public static class Contact 2005 extends BaseIdentifiableElement implements IResourceBlock { 2006 2007 @Child(name="name", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) 2008 @Description( 2009 shortDefinition="", 2010 formalDefinition="The name of an individual to contact regarding the operation definition" 2011 ) 2012 private StringDt myName; 2013 2014 @Child(name="telecom", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2015 @Description( 2016 shortDefinition="", 2017 formalDefinition="Contact details for individual (if a name was provided) or the publisher" 2018 ) 2019 private java.util.List<ContactPointDt> myTelecom; 2020 2021 2022 @Override 2023 public boolean isEmpty() { 2024 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myTelecom); 2025 } 2026 2027 @Override 2028 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2029 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myTelecom); 2030 } 2031 2032 /** 2033 * Gets the value(s) for <b>name</b> (). 2034 * creating it if it does 2035 * not exist. Will not return <code>null</code>. 2036 * 2037 * <p> 2038 * <b>Definition:</b> 2039 * The name of an individual to contact regarding the operation definition 2040 * </p> 2041 */ 2042 public StringDt getNameElement() { 2043 if (myName == null) { 2044 myName = new StringDt(); 2045 } 2046 return myName; 2047 } 2048 2049 2050 /** 2051 * Gets the value(s) for <b>name</b> (). 2052 * creating it if it does 2053 * not exist. Will not return <code>null</code>. 2054 * 2055 * <p> 2056 * <b>Definition:</b> 2057 * The name of an individual to contact regarding the operation definition 2058 * </p> 2059 */ 2060 public String getName() { 2061 return getNameElement().getValue(); 2062 } 2063 2064 /** 2065 * Sets the value(s) for <b>name</b> () 2066 * 2067 * <p> 2068 * <b>Definition:</b> 2069 * The name of an individual to contact regarding the operation definition 2070 * </p> 2071 */ 2072 public Contact setName(StringDt theValue) { 2073 myName = theValue; 2074 return this; 2075 } 2076 2077 2078 2079 /** 2080 * Sets the value for <b>name</b> () 2081 * 2082 * <p> 2083 * <b>Definition:</b> 2084 * The name of an individual to contact regarding the operation definition 2085 * </p> 2086 */ 2087 public Contact setName( String theString) { 2088 myName = new StringDt(theString); 2089 return this; 2090 } 2091 2092 2093 /** 2094 * Gets the value(s) for <b>telecom</b> (). 2095 * creating it if it does 2096 * not exist. Will not return <code>null</code>. 2097 * 2098 * <p> 2099 * <b>Definition:</b> 2100 * Contact details for individual (if a name was provided) or the publisher 2101 * </p> 2102 */ 2103 public java.util.List<ContactPointDt> getTelecom() { 2104 if (myTelecom == null) { 2105 myTelecom = new java.util.ArrayList<ContactPointDt>(); 2106 } 2107 return myTelecom; 2108 } 2109 2110 /** 2111 * Sets the value(s) for <b>telecom</b> () 2112 * 2113 * <p> 2114 * <b>Definition:</b> 2115 * Contact details for individual (if a name was provided) or the publisher 2116 * </p> 2117 */ 2118 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 2119 myTelecom = theValue; 2120 return this; 2121 } 2122 2123 2124 2125 /** 2126 * Adds and returns a new value for <b>telecom</b> () 2127 * 2128 * <p> 2129 * <b>Definition:</b> 2130 * Contact details for individual (if a name was provided) or the publisher 2131 * </p> 2132 */ 2133 public ContactPointDt addTelecom() { 2134 ContactPointDt newType = new ContactPointDt(); 2135 getTelecom().add(newType); 2136 return newType; 2137 } 2138 2139 /** 2140 * Adds a given new value for <b>telecom</b> () 2141 * 2142 * <p> 2143 * <b>Definition:</b> 2144 * Contact details for individual (if a name was provided) or the publisher 2145 * </p> 2146 * @param theValue The telecom to add (must not be <code>null</code>) 2147 */ 2148 public Contact addTelecom(ContactPointDt theValue) { 2149 if (theValue == null) { 2150 throw new NullPointerException("theValue must not be null"); 2151 } 2152 getTelecom().add(theValue); 2153 return this; 2154 } 2155 2156 /** 2157 * Gets the first repetition for <b>telecom</b> (), 2158 * creating it if it does not already exist. 2159 * 2160 * <p> 2161 * <b>Definition:</b> 2162 * Contact details for individual (if a name was provided) or the publisher 2163 * </p> 2164 */ 2165 public ContactPointDt getTelecomFirstRep() { 2166 if (getTelecom().isEmpty()) { 2167 return addTelecom(); 2168 } 2169 return getTelecom().get(0); 2170 } 2171 2172 2173 2174 } 2175 2176 2177 /** 2178 * Block class for child element: <b>OperationDefinition.parameter</b> () 2179 * 2180 * <p> 2181 * <b>Definition:</b> 2182 * The parameters for the operation/query 2183 * </p> 2184 */ 2185 @Block() 2186 public static class Parameter 2187 extends BaseIdentifiableElement implements IResourceBlock { 2188 2189 @Child(name="name", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2190 @Description( 2191 shortDefinition="", 2192 formalDefinition="The name of used to identify the parameter" 2193 ) 2194 private CodeDt myName; 2195 2196 @Child(name="use", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=false) 2197 @Description( 2198 shortDefinition="", 2199 formalDefinition="Whether this is an input or an output parameter" 2200 ) 2201 private BoundCodeDt<OperationParameterUseEnum> myUse; 2202 2203 @Child(name="min", type=IntegerDt.class, order=2, min=1, max=1, summary=false, modifier=false) 2204 @Description( 2205 shortDefinition="", 2206 formalDefinition="The minimum number of times this parameter SHALL appear in the request or response" 2207 ) 2208 private IntegerDt myMin; 2209 2210 @Child(name="max", type=StringDt.class, order=3, min=1, max=1, summary=false, modifier=false) 2211 @Description( 2212 shortDefinition="", 2213 formalDefinition="The maximum number of times this element is permitted to appear in the request or response" 2214 ) 2215 private StringDt myMax; 2216 2217 @Child(name="documentation", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 2218 @Description( 2219 shortDefinition="", 2220 formalDefinition="Describes the meaning or use of this parameter" 2221 ) 2222 private StringDt myDocumentation; 2223 2224 @Child(name="type", type=CodeDt.class, order=5, min=0, max=1, summary=false, modifier=false) 2225 @Description( 2226 shortDefinition="", 2227 formalDefinition="The type for this parameter" 2228 ) 2229 private CodeDt myType; 2230 2231 @Child(name="profile", order=6, min=0, max=1, summary=false, modifier=false, type={ 2232 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 2233 @Description( 2234 shortDefinition="", 2235 formalDefinition="A profile the specifies the rules that this parameter must conform to" 2236 ) 2237 private ResourceReferenceDt myProfile; 2238 2239 @Child(name="binding", order=7, min=0, max=1, summary=false, modifier=false) 2240 @Description( 2241 shortDefinition="", 2242 formalDefinition="Binds to a value set if this parameter is coded (code, Coding, CodeableConcept)" 2243 ) 2244 private ParameterBinding myBinding; 2245 2246 @Child(name="part", type=Parameter.class, order=8, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2247 @Description( 2248 shortDefinition="", 2249 formalDefinition="The parts of a Tuple Parameter" 2250 ) 2251 private java.util.List<Parameter> myPart; 2252 2253 2254 @Override 2255 public boolean isEmpty() { 2256 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myUse, myMin, myMax, myDocumentation, myType, myProfile, myBinding, myPart); 2257 } 2258 2259 @Override 2260 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2261 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myUse, myMin, myMax, myDocumentation, myType, myProfile, myBinding, myPart); 2262 } 2263 2264 /** 2265 * Gets the value(s) for <b>name</b> (). 2266 * creating it if it does 2267 * not exist. Will not return <code>null</code>. 2268 * 2269 * <p> 2270 * <b>Definition:</b> 2271 * The name of used to identify the parameter 2272 * </p> 2273 */ 2274 public CodeDt getNameElement() { 2275 if (myName == null) { 2276 myName = new CodeDt(); 2277 } 2278 return myName; 2279 } 2280 2281 2282 /** 2283 * Gets the value(s) for <b>name</b> (). 2284 * creating it if it does 2285 * not exist. Will not return <code>null</code>. 2286 * 2287 * <p> 2288 * <b>Definition:</b> 2289 * The name of used to identify the parameter 2290 * </p> 2291 */ 2292 public String getName() { 2293 return getNameElement().getValue(); 2294 } 2295 2296 /** 2297 * Sets the value(s) for <b>name</b> () 2298 * 2299 * <p> 2300 * <b>Definition:</b> 2301 * The name of used to identify the parameter 2302 * </p> 2303 */ 2304 public Parameter setName(CodeDt theValue) { 2305 myName = theValue; 2306 return this; 2307 } 2308 2309 2310 2311 /** 2312 * Sets the value for <b>name</b> () 2313 * 2314 * <p> 2315 * <b>Definition:</b> 2316 * The name of used to identify the parameter 2317 * </p> 2318 */ 2319 public Parameter setName( String theCode) { 2320 myName = new CodeDt(theCode); 2321 return this; 2322 } 2323 2324 2325 /** 2326 * Gets the value(s) for <b>use</b> (). 2327 * creating it if it does 2328 * not exist. Will not return <code>null</code>. 2329 * 2330 * <p> 2331 * <b>Definition:</b> 2332 * Whether this is an input or an output parameter 2333 * </p> 2334 */ 2335 public BoundCodeDt<OperationParameterUseEnum> getUseElement() { 2336 if (myUse == null) { 2337 myUse = new BoundCodeDt<OperationParameterUseEnum>(OperationParameterUseEnum.VALUESET_BINDER); 2338 } 2339 return myUse; 2340 } 2341 2342 2343 /** 2344 * Gets the value(s) for <b>use</b> (). 2345 * creating it if it does 2346 * not exist. Will not return <code>null</code>. 2347 * 2348 * <p> 2349 * <b>Definition:</b> 2350 * Whether this is an input or an output parameter 2351 * </p> 2352 */ 2353 public String getUse() { 2354 return getUseElement().getValue(); 2355 } 2356 2357 /** 2358 * Sets the value(s) for <b>use</b> () 2359 * 2360 * <p> 2361 * <b>Definition:</b> 2362 * Whether this is an input or an output parameter 2363 * </p> 2364 */ 2365 public Parameter setUse(BoundCodeDt<OperationParameterUseEnum> theValue) { 2366 myUse = theValue; 2367 return this; 2368 } 2369 2370 2371 2372 /** 2373 * Sets the value(s) for <b>use</b> () 2374 * 2375 * <p> 2376 * <b>Definition:</b> 2377 * Whether this is an input or an output parameter 2378 * </p> 2379 */ 2380 public Parameter setUse(OperationParameterUseEnum theValue) { 2381 setUse(new BoundCodeDt<OperationParameterUseEnum>(OperationParameterUseEnum.VALUESET_BINDER, theValue)); 2382 2383/* 2384 getUseElement().setValueAsEnum(theValue); 2385*/ 2386 return this; 2387 } 2388 2389 2390 /** 2391 * Gets the value(s) for <b>min</b> (). 2392 * creating it if it does 2393 * not exist. Will not return <code>null</code>. 2394 * 2395 * <p> 2396 * <b>Definition:</b> 2397 * The minimum number of times this parameter SHALL appear in the request or response 2398 * </p> 2399 */ 2400 public IntegerDt getMinElement() { 2401 if (myMin == null) { 2402 myMin = new IntegerDt(); 2403 } 2404 return myMin; 2405 } 2406 2407 2408 /** 2409 * Gets the value(s) for <b>min</b> (). 2410 * creating it if it does 2411 * not exist. Will not return <code>null</code>. 2412 * 2413 * <p> 2414 * <b>Definition:</b> 2415 * The minimum number of times this parameter SHALL appear in the request or response 2416 * </p> 2417 */ 2418 public Integer getMin() { 2419 return getMinElement().getValue(); 2420 } 2421 2422 /** 2423 * Sets the value(s) for <b>min</b> () 2424 * 2425 * <p> 2426 * <b>Definition:</b> 2427 * The minimum number of times this parameter SHALL appear in the request or response 2428 * </p> 2429 */ 2430 public Parameter setMin(IntegerDt theValue) { 2431 myMin = theValue; 2432 return this; 2433 } 2434 2435 2436 2437 /** 2438 * Sets the value for <b>min</b> () 2439 * 2440 * <p> 2441 * <b>Definition:</b> 2442 * The minimum number of times this parameter SHALL appear in the request or response 2443 * </p> 2444 */ 2445 public Parameter setMin( int theInteger) { 2446 myMin = new IntegerDt(theInteger); 2447 return this; 2448 } 2449 2450 2451 /** 2452 * Gets the value(s) for <b>max</b> (). 2453 * creating it if it does 2454 * not exist. Will not return <code>null</code>. 2455 * 2456 * <p> 2457 * <b>Definition:</b> 2458 * The maximum number of times this element is permitted to appear in the request or response 2459 * </p> 2460 */ 2461 public StringDt getMaxElement() { 2462 if (myMax == null) { 2463 myMax = new StringDt(); 2464 } 2465 return myMax; 2466 } 2467 2468 2469 /** 2470 * Gets the value(s) for <b>max</b> (). 2471 * creating it if it does 2472 * not exist. Will not return <code>null</code>. 2473 * 2474 * <p> 2475 * <b>Definition:</b> 2476 * The maximum number of times this element is permitted to appear in the request or response 2477 * </p> 2478 */ 2479 public String getMax() { 2480 return getMaxElement().getValue(); 2481 } 2482 2483 /** 2484 * Sets the value(s) for <b>max</b> () 2485 * 2486 * <p> 2487 * <b>Definition:</b> 2488 * The maximum number of times this element is permitted to appear in the request or response 2489 * </p> 2490 */ 2491 public Parameter setMax(StringDt theValue) { 2492 myMax = theValue; 2493 return this; 2494 } 2495 2496 2497 2498 /** 2499 * Sets the value for <b>max</b> () 2500 * 2501 * <p> 2502 * <b>Definition:</b> 2503 * The maximum number of times this element is permitted to appear in the request or response 2504 * </p> 2505 */ 2506 public Parameter setMax( String theString) { 2507 myMax = new StringDt(theString); 2508 return this; 2509 } 2510 2511 2512 /** 2513 * Gets the value(s) for <b>documentation</b> (). 2514 * creating it if it does 2515 * not exist. Will not return <code>null</code>. 2516 * 2517 * <p> 2518 * <b>Definition:</b> 2519 * Describes the meaning or use of this parameter 2520 * </p> 2521 */ 2522 public StringDt getDocumentationElement() { 2523 if (myDocumentation == null) { 2524 myDocumentation = new StringDt(); 2525 } 2526 return myDocumentation; 2527 } 2528 2529 2530 /** 2531 * Gets the value(s) for <b>documentation</b> (). 2532 * creating it if it does 2533 * not exist. Will not return <code>null</code>. 2534 * 2535 * <p> 2536 * <b>Definition:</b> 2537 * Describes the meaning or use of this parameter 2538 * </p> 2539 */ 2540 public String getDocumentation() { 2541 return getDocumentationElement().getValue(); 2542 } 2543 2544 /** 2545 * Sets the value(s) for <b>documentation</b> () 2546 * 2547 * <p> 2548 * <b>Definition:</b> 2549 * Describes the meaning or use of this parameter 2550 * </p> 2551 */ 2552 public Parameter setDocumentation(StringDt theValue) { 2553 myDocumentation = theValue; 2554 return this; 2555 } 2556 2557 2558 2559 /** 2560 * Sets the value for <b>documentation</b> () 2561 * 2562 * <p> 2563 * <b>Definition:</b> 2564 * Describes the meaning or use of this parameter 2565 * </p> 2566 */ 2567 public Parameter setDocumentation( String theString) { 2568 myDocumentation = new StringDt(theString); 2569 return this; 2570 } 2571 2572 2573 /** 2574 * Gets the value(s) for <b>type</b> (). 2575 * creating it if it does 2576 * not exist. Will not return <code>null</code>. 2577 * 2578 * <p> 2579 * <b>Definition:</b> 2580 * The type for this parameter 2581 * </p> 2582 */ 2583 public CodeDt getTypeElement() { 2584 if (myType == null) { 2585 myType = new CodeDt(); 2586 } 2587 return myType; 2588 } 2589 2590 2591 /** 2592 * Gets the value(s) for <b>type</b> (). 2593 * creating it if it does 2594 * not exist. Will not return <code>null</code>. 2595 * 2596 * <p> 2597 * <b>Definition:</b> 2598 * The type for this parameter 2599 * </p> 2600 */ 2601 public String getType() { 2602 return getTypeElement().getValue(); 2603 } 2604 2605 /** 2606 * Sets the value(s) for <b>type</b> () 2607 * 2608 * <p> 2609 * <b>Definition:</b> 2610 * The type for this parameter 2611 * </p> 2612 */ 2613 public Parameter setType(CodeDt theValue) { 2614 myType = theValue; 2615 return this; 2616 } 2617 2618 2619 2620 /** 2621 * Sets the value for <b>type</b> () 2622 * 2623 * <p> 2624 * <b>Definition:</b> 2625 * The type for this parameter 2626 * </p> 2627 */ 2628 public Parameter setType( String theCode) { 2629 myType = new CodeDt(theCode); 2630 return this; 2631 } 2632 2633 2634 /** 2635 * Gets the value(s) for <b>profile</b> (). 2636 * creating it if it does 2637 * not exist. Will not return <code>null</code>. 2638 * 2639 * <p> 2640 * <b>Definition:</b> 2641 * A profile the specifies the rules that this parameter must conform to 2642 * </p> 2643 */ 2644 public ResourceReferenceDt getProfile() { 2645 if (myProfile == null) { 2646 myProfile = new ResourceReferenceDt(); 2647 } 2648 return myProfile; 2649 } 2650 2651 /** 2652 * Sets the value(s) for <b>profile</b> () 2653 * 2654 * <p> 2655 * <b>Definition:</b> 2656 * A profile the specifies the rules that this parameter must conform to 2657 * </p> 2658 */ 2659 public Parameter setProfile(ResourceReferenceDt theValue) { 2660 myProfile = theValue; 2661 return this; 2662 } 2663 2664 2665 2666 2667 /** 2668 * Gets the value(s) for <b>binding</b> (). 2669 * creating it if it does 2670 * not exist. Will not return <code>null</code>. 2671 * 2672 * <p> 2673 * <b>Definition:</b> 2674 * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept) 2675 * </p> 2676 */ 2677 public ParameterBinding getBinding() { 2678 if (myBinding == null) { 2679 myBinding = new ParameterBinding(); 2680 } 2681 return myBinding; 2682 } 2683 2684 /** 2685 * Sets the value(s) for <b>binding</b> () 2686 * 2687 * <p> 2688 * <b>Definition:</b> 2689 * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept) 2690 * </p> 2691 */ 2692 public Parameter setBinding(ParameterBinding theValue) { 2693 myBinding = theValue; 2694 return this; 2695 } 2696 2697 2698 2699 2700 /** 2701 * Gets the value(s) for <b>part</b> (). 2702 * creating it if it does 2703 * not exist. Will not return <code>null</code>. 2704 * 2705 * <p> 2706 * <b>Definition:</b> 2707 * The parts of a Tuple Parameter 2708 * </p> 2709 */ 2710 public java.util.List<Parameter> getPart() { 2711 if (myPart == null) { 2712 myPart = new java.util.ArrayList<Parameter>(); 2713 } 2714 return myPart; 2715 } 2716 2717 /** 2718 * Sets the value(s) for <b>part</b> () 2719 * 2720 * <p> 2721 * <b>Definition:</b> 2722 * The parts of a Tuple Parameter 2723 * </p> 2724 */ 2725 public Parameter setPart(java.util.List<Parameter> theValue) { 2726 myPart = theValue; 2727 return this; 2728 } 2729 2730 2731 2732 /** 2733 * Adds and returns a new value for <b>part</b> () 2734 * 2735 * <p> 2736 * <b>Definition:</b> 2737 * The parts of a Tuple Parameter 2738 * </p> 2739 */ 2740 public Parameter addPart() { 2741 Parameter newType = new Parameter(); 2742 getPart().add(newType); 2743 return newType; 2744 } 2745 2746 /** 2747 * Adds a given new value for <b>part</b> () 2748 * 2749 * <p> 2750 * <b>Definition:</b> 2751 * The parts of a Tuple Parameter 2752 * </p> 2753 * @param theValue The part to add (must not be <code>null</code>) 2754 */ 2755 public Parameter addPart(Parameter theValue) { 2756 if (theValue == null) { 2757 throw new NullPointerException("theValue must not be null"); 2758 } 2759 getPart().add(theValue); 2760 return this; 2761 } 2762 2763 /** 2764 * Gets the first repetition for <b>part</b> (), 2765 * creating it if it does not already exist. 2766 * 2767 * <p> 2768 * <b>Definition:</b> 2769 * The parts of a Tuple Parameter 2770 * </p> 2771 */ 2772 public Parameter getPartFirstRep() { 2773 if (getPart().isEmpty()) { 2774 return addPart(); 2775 } 2776 return getPart().get(0); 2777 } 2778 2779 2780 2781 } 2782 2783 /** 2784 * Block class for child element: <b>OperationDefinition.parameter.binding</b> () 2785 * 2786 * <p> 2787 * <b>Definition:</b> 2788 * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept) 2789 * </p> 2790 */ 2791 @Block() 2792 public static class ParameterBinding 2793 extends BaseIdentifiableElement implements IResourceBlock { 2794 2795 @Child(name="strength", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2796 @Description( 2797 shortDefinition="", 2798 formalDefinition="Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances" 2799 ) 2800 private BoundCodeDt<BindingStrengthEnum> myStrength; 2801 2802 @Child(name="valueSet", order=1, min=1, max=1, summary=false, modifier=false, type={ 2803 UriDt.class, ValueSet.class }) 2804 @Description( 2805 shortDefinition="", 2806 formalDefinition="Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used" 2807 ) 2808 private IDatatype myValueSet; 2809 2810 2811 @Override 2812 public boolean isEmpty() { 2813 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myStrength, myValueSet); 2814 } 2815 2816 @Override 2817 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2818 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myStrength, myValueSet); 2819 } 2820 2821 /** 2822 * Gets the value(s) for <b>strength</b> (). 2823 * creating it if it does 2824 * not exist. Will not return <code>null</code>. 2825 * 2826 * <p> 2827 * <b>Definition:</b> 2828 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 2829 * </p> 2830 */ 2831 public BoundCodeDt<BindingStrengthEnum> getStrengthElement() { 2832 if (myStrength == null) { 2833 myStrength = new BoundCodeDt<BindingStrengthEnum>(BindingStrengthEnum.VALUESET_BINDER); 2834 } 2835 return myStrength; 2836 } 2837 2838 2839 /** 2840 * Gets the value(s) for <b>strength</b> (). 2841 * creating it if it does 2842 * not exist. Will not return <code>null</code>. 2843 * 2844 * <p> 2845 * <b>Definition:</b> 2846 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 2847 * </p> 2848 */ 2849 public String getStrength() { 2850 return getStrengthElement().getValue(); 2851 } 2852 2853 /** 2854 * Sets the value(s) for <b>strength</b> () 2855 * 2856 * <p> 2857 * <b>Definition:</b> 2858 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 2859 * </p> 2860 */ 2861 public ParameterBinding setStrength(BoundCodeDt<BindingStrengthEnum> theValue) { 2862 myStrength = theValue; 2863 return this; 2864 } 2865 2866 2867 2868 /** 2869 * Sets the value(s) for <b>strength</b> () 2870 * 2871 * <p> 2872 * <b>Definition:</b> 2873 * Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances 2874 * </p> 2875 */ 2876 public ParameterBinding setStrength(BindingStrengthEnum theValue) { 2877 setStrength(new BoundCodeDt<BindingStrengthEnum>(BindingStrengthEnum.VALUESET_BINDER, theValue)); 2878 2879/* 2880 getStrengthElement().setValueAsEnum(theValue); 2881*/ 2882 return this; 2883 } 2884 2885 2886 /** 2887 * Gets the value(s) for <b>valueSet[x]</b> (). 2888 * creating it if it does 2889 * not exist. Will not return <code>null</code>. 2890 * 2891 * <p> 2892 * <b>Definition:</b> 2893 * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used 2894 * </p> 2895 */ 2896 public IDatatype getValueSet() { 2897 return myValueSet; 2898 } 2899 2900 /** 2901 * Sets the value(s) for <b>valueSet[x]</b> () 2902 * 2903 * <p> 2904 * <b>Definition:</b> 2905 * Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used 2906 * </p> 2907 */ 2908 public ParameterBinding setValueSet(IDatatype theValue) { 2909 myValueSet = theValue; 2910 return this; 2911 } 2912 2913 2914 2915 2916 2917 2918 } 2919 2920 2921 2922 2923 2924 @Override 2925 public String getResourceName() { 2926 return "OperationDefinition"; 2927 } 2928 2929 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2930 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2931 } 2932 2933 2934}