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.composite.AnnotationDt; 042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 043import ca.uhn.fhir.model.dstu2.resource.Appointment; 044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 057import ca.uhn.fhir.model.dstu2.resource.BodySite; 058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 059import ca.uhn.fhir.model.dstu2.resource.CarePlan; 060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 063import ca.uhn.fhir.model.dstu2.resource.Claim; 064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 069import ca.uhn.fhir.model.dstu2.composite.CodingDt; 070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 073import ca.uhn.fhir.model.dstu2.resource.Composition; 074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 077import ca.uhn.fhir.model.dstu2.resource.Condition; 078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 082import ca.uhn.fhir.model.dstu2.resource.Conformance; 083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 088import ca.uhn.fhir.model.dstu2.resource.Contract; 089import ca.uhn.fhir.model.dstu2.resource.Coverage; 090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 093import ca.uhn.fhir.model.dstu2.resource.Device; 094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 112import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 117import ca.uhn.fhir.model.dstu2.resource.Encounter; 118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 129import ca.uhn.fhir.model.dstu2.resource.Goal; 130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 132import ca.uhn.fhir.model.dstu2.resource.Group; 133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 138import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 145import ca.uhn.fhir.model.dstu2.resource.Immunization; 146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 154import ca.uhn.fhir.model.dstu2.resource.Location; 155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 160import ca.uhn.fhir.model.dstu2.resource.Media; 161import ca.uhn.fhir.model.dstu2.resource.Medication; 162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 171import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 177import ca.uhn.fhir.model.dstu2.resource.Observation; 178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 184import ca.uhn.fhir.model.dstu2.resource.Order; 185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.Organization; 187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 191import ca.uhn.fhir.model.dstu2.resource.Patient; 192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 193import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 194import ca.uhn.fhir.model.dstu2.resource.Person; 195import ca.uhn.fhir.model.dstu2.resource.Practitioner; 196import ca.uhn.fhir.model.dstu2.resource.Procedure; 197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 203import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 204import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 208import ca.uhn.fhir.model.dstu2.composite.RangeDt; 209import ca.uhn.fhir.model.dstu2.composite.RatioDt; 210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 223import ca.uhn.fhir.model.dstu2.resource.Schedule; 224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 228import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 229import ca.uhn.fhir.model.dstu2.resource.Slot; 230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.Specimen; 232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 237import ca.uhn.fhir.model.dstu2.resource.Substance; 238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 243import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 244import ca.uhn.fhir.model.dstu2.composite.TimingDt; 245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 249import ca.uhn.fhir.model.dstu2.resource.ValueSet; 250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 254import ca.uhn.fhir.model.api.IResource; 255import ca.uhn.fhir.model.dstu2.composite.AgeDt; 256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 257import ca.uhn.fhir.model.dstu2.composite.DurationDt; 258import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 262import ca.uhn.fhir.model.primitive.Base64BinaryDt; 263import ca.uhn.fhir.model.primitive.BooleanDt; 264import ca.uhn.fhir.model.primitive.BoundCodeDt; 265import ca.uhn.fhir.model.primitive.CodeDt; 266import ca.uhn.fhir.model.primitive.DateDt; 267import ca.uhn.fhir.model.primitive.DateTimeDt; 268import ca.uhn.fhir.model.primitive.DecimalDt; 269import ca.uhn.fhir.model.primitive.IdDt; 270import ca.uhn.fhir.model.primitive.InstantDt; 271import ca.uhn.fhir.model.primitive.IntegerDt; 272import ca.uhn.fhir.model.primitive.OidDt; 273import ca.uhn.fhir.model.primitive.PositiveIntDt; 274import ca.uhn.fhir.model.primitive.StringDt; 275import ca.uhn.fhir.model.primitive.TimeDt; 276import ca.uhn.fhir.model.primitive.UnsignedIntDt; 277import ca.uhn.fhir.model.primitive.UriDt; 278 279 280/** 281 * HAPI/FHIR <b>ValueSet</b> Resource 282 * (conformance.terminology) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A value set specifies a set of codes drawn from one or more code systems. 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/ValueSet">http://hl7.org/fhir/profiles/ValueSet</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="ValueSet", profile="http://hl7.org/fhir/profiles/ValueSet", id="valueset") 301public class ValueSet extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>url</b> 306 * <p> 307 * Description: <b>The logical URL for the value set</b><br> 308 * Type: <b>uri</b><br> 309 * Path: <b>ValueSet.url</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="url", path="ValueSet.url", description="The logical URL for the value set", type="uri" ) 313 public static final String SP_URL = "url"; 314 315 /** 316 * <b>Fluent Client</b> search parameter constant for <b>url</b> 317 * <p> 318 * Description: <b>The logical URL for the value set</b><br> 319 * Type: <b>uri</b><br> 320 * Path: <b>ValueSet.url</b><br> 321 * </p> 322 */ 323 public static final UriClientParam URL = new UriClientParam(SP_URL); 324 325 /** 326 * Search parameter constant for <b>identifier</b> 327 * <p> 328 * Description: <b>The identifier for the value set</b><br> 329 * Type: <b>token</b><br> 330 * Path: <b>ValueSet.identifier</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="identifier", path="ValueSet.identifier", description="The identifier for the value set", type="token" ) 334 public static final String SP_IDENTIFIER = "identifier"; 335 336 /** 337 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 338 * <p> 339 * Description: <b>The identifier for the value set</b><br> 340 * Type: <b>token</b><br> 341 * Path: <b>ValueSet.identifier</b><br> 342 * </p> 343 */ 344 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 345 346 /** 347 * Search parameter constant for <b>version</b> 348 * <p> 349 * Description: <b>The version identifier of the value set</b><br> 350 * Type: <b>token</b><br> 351 * Path: <b>ValueSet.version</b><br> 352 * </p> 353 */ 354 @SearchParamDefinition(name="version", path="ValueSet.version", description="The version identifier of the value set", type="token" ) 355 public static final String SP_VERSION = "version"; 356 357 /** 358 * <b>Fluent Client</b> search parameter constant for <b>version</b> 359 * <p> 360 * Description: <b>The version identifier of the value set</b><br> 361 * Type: <b>token</b><br> 362 * Path: <b>ValueSet.version</b><br> 363 * </p> 364 */ 365 public static final TokenClientParam VERSION = new TokenClientParam(SP_VERSION); 366 367 /** 368 * Search parameter constant for <b>name</b> 369 * <p> 370 * Description: <b>The name of the value set</b><br> 371 * Type: <b>string</b><br> 372 * Path: <b>ValueSet.name</b><br> 373 * </p> 374 */ 375 @SearchParamDefinition(name="name", path="ValueSet.name", description="The name of the value set", type="string" ) 376 public static final String SP_NAME = "name"; 377 378 /** 379 * <b>Fluent Client</b> search parameter constant for <b>name</b> 380 * <p> 381 * Description: <b>The name of the value set</b><br> 382 * Type: <b>string</b><br> 383 * Path: <b>ValueSet.name</b><br> 384 * </p> 385 */ 386 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 387 388 /** 389 * Search parameter constant for <b>publisher</b> 390 * <p> 391 * Description: <b>Name of the publisher of the value set</b><br> 392 * Type: <b>string</b><br> 393 * Path: <b>ValueSet.publisher</b><br> 394 * </p> 395 */ 396 @SearchParamDefinition(name="publisher", path="ValueSet.publisher", description="Name of the publisher of the value set", type="string" ) 397 public static final String SP_PUBLISHER = "publisher"; 398 399 /** 400 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 401 * <p> 402 * Description: <b>Name of the publisher of the value set</b><br> 403 * Type: <b>string</b><br> 404 * Path: <b>ValueSet.publisher</b><br> 405 * </p> 406 */ 407 public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); 408 409 /** 410 * Search parameter constant for <b>description</b> 411 * <p> 412 * Description: <b>Text search in the description of the value set</b><br> 413 * Type: <b>string</b><br> 414 * Path: <b>ValueSet.description</b><br> 415 * </p> 416 */ 417 @SearchParamDefinition(name="description", path="ValueSet.description", description="Text search in the description of the value set", type="string" ) 418 public static final String SP_DESCRIPTION = "description"; 419 420 /** 421 * <b>Fluent Client</b> search parameter constant for <b>description</b> 422 * <p> 423 * Description: <b>Text search in the description of the value set</b><br> 424 * Type: <b>string</b><br> 425 * Path: <b>ValueSet.description</b><br> 426 * </p> 427 */ 428 public static final StringClientParam DESCRIPTION = new StringClientParam(SP_DESCRIPTION); 429 430 /** 431 * Search parameter constant for <b>status</b> 432 * <p> 433 * Description: <b>The status of the value set</b><br> 434 * Type: <b>token</b><br> 435 * Path: <b>ValueSet.status</b><br> 436 * </p> 437 */ 438 @SearchParamDefinition(name="status", path="ValueSet.status", description="The status of the value set", type="token" ) 439 public static final String SP_STATUS = "status"; 440 441 /** 442 * <b>Fluent Client</b> search parameter constant for <b>status</b> 443 * <p> 444 * Description: <b>The status of the value set</b><br> 445 * Type: <b>token</b><br> 446 * Path: <b>ValueSet.status</b><br> 447 * </p> 448 */ 449 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 450 451 /** 452 * Search parameter constant for <b>date</b> 453 * <p> 454 * Description: <b>The value set publication date</b><br> 455 * Type: <b>date</b><br> 456 * Path: <b>ValueSet.date</b><br> 457 * </p> 458 */ 459 @SearchParamDefinition(name="date", path="ValueSet.date", description="The value set publication date", type="date" ) 460 public static final String SP_DATE = "date"; 461 462 /** 463 * <b>Fluent Client</b> search parameter constant for <b>date</b> 464 * <p> 465 * Description: <b>The value set publication date</b><br> 466 * Type: <b>date</b><br> 467 * Path: <b>ValueSet.date</b><br> 468 * </p> 469 */ 470 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 471 472 /** 473 * Search parameter constant for <b>system</b> 474 * <p> 475 * Description: <b>The system for any codes defined by this value set</b><br> 476 * Type: <b>uri</b><br> 477 * Path: <b>ValueSet.codeSystem.system</b><br> 478 * </p> 479 */ 480 @SearchParamDefinition(name="system", path="ValueSet.codeSystem.system", description="The system for any codes defined by this value set", type="uri" ) 481 public static final String SP_SYSTEM = "system"; 482 483 /** 484 * <b>Fluent Client</b> search parameter constant for <b>system</b> 485 * <p> 486 * Description: <b>The system for any codes defined by this value set</b><br> 487 * Type: <b>uri</b><br> 488 * Path: <b>ValueSet.codeSystem.system</b><br> 489 * </p> 490 */ 491 public static final UriClientParam SYSTEM = new UriClientParam(SP_SYSTEM); 492 493 /** 494 * Search parameter constant for <b>code</b> 495 * <p> 496 * Description: <b>A code defined in the value set</b><br> 497 * Type: <b>token</b><br> 498 * Path: <b>ValueSet.codeSystem.concept.code</b><br> 499 * </p> 500 */ 501 @SearchParamDefinition(name="code", path="ValueSet.codeSystem.concept.code", description="A code defined in the value set", type="token" ) 502 public static final String SP_CODE = "code"; 503 504 /** 505 * <b>Fluent Client</b> search parameter constant for <b>code</b> 506 * <p> 507 * Description: <b>A code defined in the value set</b><br> 508 * Type: <b>token</b><br> 509 * Path: <b>ValueSet.codeSystem.concept.code</b><br> 510 * </p> 511 */ 512 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 513 514 /** 515 * Search parameter constant for <b>reference</b> 516 * <p> 517 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 518 * Type: <b>uri</b><br> 519 * Path: <b>ValueSet.compose.include.system</b><br> 520 * </p> 521 */ 522 @SearchParamDefinition(name="reference", path="ValueSet.compose.include.system", description="A code system included or excluded in the value set or an imported value set", type="uri" ) 523 public static final String SP_REFERENCE = "reference"; 524 525 /** 526 * <b>Fluent Client</b> search parameter constant for <b>reference</b> 527 * <p> 528 * Description: <b>A code system included or excluded in the value set or an imported value set</b><br> 529 * Type: <b>uri</b><br> 530 * Path: <b>ValueSet.compose.include.system</b><br> 531 * </p> 532 */ 533 public static final UriClientParam REFERENCE = new UriClientParam(SP_REFERENCE); 534 535 /** 536 * Search parameter constant for <b>context</b> 537 * <p> 538 * Description: <b>A use context assigned to the value set</b><br> 539 * Type: <b>token</b><br> 540 * Path: <b>ValueSet.useContext</b><br> 541 * </p> 542 */ 543 @SearchParamDefinition(name="context", path="ValueSet.useContext", description="A use context assigned to the value set", type="token" ) 544 public static final String SP_CONTEXT = "context"; 545 546 /** 547 * <b>Fluent Client</b> search parameter constant for <b>context</b> 548 * <p> 549 * Description: <b>A use context assigned to the value set</b><br> 550 * Type: <b>token</b><br> 551 * Path: <b>ValueSet.useContext</b><br> 552 * </p> 553 */ 554 public static final TokenClientParam CONTEXT = new TokenClientParam(SP_CONTEXT); 555 556 /** 557 * Search parameter constant for <b>expansion</b> 558 * <p> 559 * Description: <b></b><br> 560 * Type: <b>uri</b><br> 561 * Path: <b>ValueSet.expansion.identifier</b><br> 562 * </p> 563 */ 564 @SearchParamDefinition(name="expansion", path="ValueSet.expansion.identifier", description="", type="uri" ) 565 public static final String SP_EXPANSION = "expansion"; 566 567 /** 568 * <b>Fluent Client</b> search parameter constant for <b>expansion</b> 569 * <p> 570 * Description: <b></b><br> 571 * Type: <b>uri</b><br> 572 * Path: <b>ValueSet.expansion.identifier</b><br> 573 * </p> 574 */ 575 public static final UriClientParam EXPANSION = new UriClientParam(SP_EXPANSION); 576 577 578 579 @Child(name="url", type=UriDt.class, order=0, min=0, max=1, summary=true, modifier=false) 580 @Description( 581 shortDefinition="id", 582 formalDefinition="An absolute URL that is used to identify this value set 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 value set is (or will be) published" 583 ) 584 private UriDt myUrl; 585 586 @Child(name="identifier", type=IdentifierDt.class, order=1, min=0, max=1, summary=true, modifier=false) 587 @Description( 588 shortDefinition="id", 589 formalDefinition="Formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance." 590 ) 591 private IdentifierDt myIdentifier; 592 593 @Child(name="version", type=StringDt.class, order=2, min=0, max=1, summary=true, modifier=false) 594 @Description( 595 shortDefinition="id.version", 596 formalDefinition="Used to identify this version of the value set 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" 597 ) 598 private StringDt myVersion; 599 600 @Child(name="name", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false) 601 @Description( 602 shortDefinition="", 603 formalDefinition="A free text natural language name describing the value set" 604 ) 605 private StringDt myName; 606 607 @Child(name="status", type=CodeDt.class, order=4, min=1, max=1, summary=true, modifier=false) 608 @Description( 609 shortDefinition="status", 610 formalDefinition="The status of the value set" 611 ) 612 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conformance-resource-status") 613 private BoundCodeDt<ConformanceResourceStatusEnum> myStatus; 614 615 @Child(name="experimental", type=BooleanDt.class, order=5, min=0, max=1, summary=true, modifier=false) 616 @Description( 617 shortDefinition="class", 618 formalDefinition="This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" 619 ) 620 private BooleanDt myExperimental; 621 622 @Child(name="publisher", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false) 623 @Description( 624 shortDefinition="who.witness", 625 formalDefinition="The name of the individual or organization that published the value set" 626 ) 627 private StringDt myPublisher; 628 629 @Child(name="contact", order=7, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 630 @Description( 631 shortDefinition="", 632 formalDefinition="Contacts to assist a user in finding and communicating with the publisher" 633 ) 634 private java.util.List<Contact> myContact; 635 636 @Child(name="date", type=DateTimeDt.class, order=8, min=0, max=1, summary=true, modifier=false) 637 @Description( 638 shortDefinition="when.recorded", 639 formalDefinition="The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition')" 640 ) 641 private DateTimeDt myDate; 642 643 @Child(name="lockedDate", type=DateDt.class, order=9, min=0, max=1, summary=true, modifier=false) 644 @Description( 645 shortDefinition="when.init", 646 formalDefinition="If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date" 647 ) 648 private DateDt myLockedDate; 649 650 @Child(name="description", type=StringDt.class, order=10, min=0, max=1, summary=true, modifier=false) 651 @Description( 652 shortDefinition="", 653 formalDefinition="A free text natural language description of the use of the value set - reason for definition, \"the semantic space\" to be included in the value set, conditions of use, etc. The description may include a list of expected usages for the value set and can also describe the approach taken to build the value set." 654 ) 655 private StringDt myDescription; 656 657 @Child(name="useContext", type=CodeableConceptDt.class, order=11, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 658 @Description( 659 shortDefinition="", 660 formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions." 661 ) 662 private java.util.List<CodeableConceptDt> myUseContext; 663 664 @Child(name="immutable", type=BooleanDt.class, order=12, min=0, max=1, summary=true, modifier=false) 665 @Description( 666 shortDefinition="", 667 formalDefinition="If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change" 668 ) 669 private BooleanDt myImmutable; 670 671 @Child(name="requirements", type=StringDt.class, order=13, min=0, max=1, summary=false, modifier=false) 672 @Description( 673 shortDefinition="", 674 formalDefinition="Explains why this value set is needed and why it has been constrained as it has" 675 ) 676 private StringDt myRequirements; 677 678 @Child(name="copyright", type=StringDt.class, order=14, min=0, max=1, summary=false, modifier=false) 679 @Description( 680 shortDefinition="", 681 formalDefinition="A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set" 682 ) 683 private StringDt myCopyright; 684 685 @Child(name="extensible", type=BooleanDt.class, order=15, min=0, max=1, summary=true, modifier=false) 686 @Description( 687 shortDefinition="", 688 formalDefinition="Whether this is intended to be used with an extensible binding or not" 689 ) 690 private BooleanDt myExtensible; 691 692 @Child(name="codeSystem", order=16, min=0, max=1, summary=true, modifier=false) 693 @Description( 694 shortDefinition="", 695 formalDefinition="A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly" 696 ) 697 private CodeSystem myCodeSystem; 698 699 @Child(name="compose", order=17, min=0, max=1, summary=false, modifier=false) 700 @Description( 701 shortDefinition="", 702 formalDefinition="A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set" 703 ) 704 private Compose myCompose; 705 706 @Child(name="expansion", order=18, min=0, max=1, summary=false, modifier=false) 707 @Description( 708 shortDefinition="", 709 formalDefinition="A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed" 710 ) 711 private Expansion myExpansion; 712 713 714 @Override 715 public boolean isEmpty() { 716 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myUrl, myIdentifier, myVersion, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myLockedDate, myDescription, myUseContext, myImmutable, myRequirements, myCopyright, myExtensible, myCodeSystem, myCompose, myExpansion); 717 } 718 719 @Override 720 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 721 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUrl, myIdentifier, myVersion, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myLockedDate, myDescription, myUseContext, myImmutable, myRequirements, myCopyright, myExtensible, myCodeSystem, myCompose, myExpansion); 722 } 723 724 /** 725 * Gets the value(s) for <b>url</b> (id). 726 * creating it if it does 727 * not exist. Will not return <code>null</code>. 728 * 729 * <p> 730 * <b>Definition:</b> 731 * An absolute URL that is used to identify this value set 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 value set is (or will be) published 732 * </p> 733 */ 734 public UriDt getUrlElement() { 735 if (myUrl == null) { 736 myUrl = new UriDt(); 737 } 738 return myUrl; 739 } 740 741 742 /** 743 * Gets the value(s) for <b>url</b> (id). 744 * creating it if it does 745 * not exist. This method may return <code>null</code>. 746 * 747 * <p> 748 * <b>Definition:</b> 749 * An absolute URL that is used to identify this value set 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 value set is (or will be) published 750 * </p> 751 */ 752 public String getUrl() { 753 return getUrlElement().getValue(); 754 } 755 756 /** 757 * Sets the value(s) for <b>url</b> (id) 758 * 759 * <p> 760 * <b>Definition:</b> 761 * An absolute URL that is used to identify this value set 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 value set is (or will be) published 762 * </p> 763 */ 764 public ValueSet setUrl(UriDt theValue) { 765 myUrl = theValue; 766 return this; 767 } 768 769 770 771 /** 772 * Sets the value for <b>url</b> (id) 773 * 774 * <p> 775 * <b>Definition:</b> 776 * An absolute URL that is used to identify this value set 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 value set is (or will be) published 777 * </p> 778 */ 779 public ValueSet setUrl( String theUri) { 780 myUrl = new UriDt(theUri); 781 return this; 782 } 783 784 785 /** 786 * Gets the value(s) for <b>identifier</b> (id). 787 * creating it if it does 788 * not exist. Will not return <code>null</code>. 789 * 790 * <p> 791 * <b>Definition:</b> 792 * Formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance. 793 * </p> 794 */ 795 public IdentifierDt getIdentifier() { 796 if (myIdentifier == null) { 797 myIdentifier = new IdentifierDt(); 798 } 799 return myIdentifier; 800 } 801 802 /** 803 * Sets the value(s) for <b>identifier</b> (id) 804 * 805 * <p> 806 * <b>Definition:</b> 807 * Formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance. 808 * </p> 809 */ 810 public ValueSet setIdentifier(IdentifierDt theValue) { 811 myIdentifier = theValue; 812 return this; 813 } 814 815 816 817 818 /** 819 * Gets the value(s) for <b>version</b> (id.version). 820 * creating it if it does 821 * not exist. Will not return <code>null</code>. 822 * 823 * <p> 824 * <b>Definition:</b> 825 * Used to identify this version of the value set 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 826 * </p> 827 */ 828 public StringDt getVersionElement() { 829 if (myVersion == null) { 830 myVersion = new StringDt(); 831 } 832 return myVersion; 833 } 834 835 836 /** 837 * Gets the value(s) for <b>version</b> (id.version). 838 * creating it if it does 839 * not exist. This method may return <code>null</code>. 840 * 841 * <p> 842 * <b>Definition:</b> 843 * Used to identify this version of the value set 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 844 * </p> 845 */ 846 public String getVersion() { 847 return getVersionElement().getValue(); 848 } 849 850 /** 851 * Sets the value(s) for <b>version</b> (id.version) 852 * 853 * <p> 854 * <b>Definition:</b> 855 * Used to identify this version of the value set 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 856 * </p> 857 */ 858 public ValueSet setVersion(StringDt theValue) { 859 myVersion = theValue; 860 return this; 861 } 862 863 864 865 /** 866 * Sets the value for <b>version</b> (id.version) 867 * 868 * <p> 869 * <b>Definition:</b> 870 * Used to identify this version of the value set 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 871 * </p> 872 */ 873 public ValueSet setVersion( String theString) { 874 myVersion = new StringDt(theString); 875 return this; 876 } 877 878 879 /** 880 * Gets the value(s) for <b>name</b> (). 881 * creating it if it does 882 * not exist. Will not return <code>null</code>. 883 * 884 * <p> 885 * <b>Definition:</b> 886 * A free text natural language name describing the value set 887 * </p> 888 */ 889 public StringDt getNameElement() { 890 if (myName == null) { 891 myName = new StringDt(); 892 } 893 return myName; 894 } 895 896 897 /** 898 * Gets the value(s) for <b>name</b> (). 899 * creating it if it does 900 * not exist. This method may return <code>null</code>. 901 * 902 * <p> 903 * <b>Definition:</b> 904 * A free text natural language name describing the value set 905 * </p> 906 */ 907 public String getName() { 908 return getNameElement().getValue(); 909 } 910 911 /** 912 * Sets the value(s) for <b>name</b> () 913 * 914 * <p> 915 * <b>Definition:</b> 916 * A free text natural language name describing the value set 917 * </p> 918 */ 919 public ValueSet setName(StringDt theValue) { 920 myName = theValue; 921 return this; 922 } 923 924 925 926 /** 927 * Sets the value for <b>name</b> () 928 * 929 * <p> 930 * <b>Definition:</b> 931 * A free text natural language name describing the value set 932 * </p> 933 */ 934 public ValueSet setName( String theString) { 935 myName = new StringDt(theString); 936 return this; 937 } 938 939 940 /** 941 * Gets the value(s) for <b>status</b> (status). 942 * creating it if it does 943 * not exist. Will not return <code>null</code>. 944 * 945 * <p> 946 * <b>Definition:</b> 947 * The status of the value set 948 * </p> 949 */ 950 public BoundCodeDt<ConformanceResourceStatusEnum> getStatusElement() { 951 if (myStatus == null) { 952 myStatus = new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER); 953 } 954 return myStatus; 955 } 956 957 958 /** 959 * Gets the value(s) for <b>status</b> (status). 960 * creating it if it does 961 * not exist. This method may return <code>null</code>. 962 * 963 * <p> 964 * <b>Definition:</b> 965 * The status of the value set 966 * </p> 967 */ 968 public String getStatus() { 969 return getStatusElement().getValue(); 970 } 971 972 /** 973 * Sets the value(s) for <b>status</b> (status) 974 * 975 * <p> 976 * <b>Definition:</b> 977 * The status of the value set 978 * </p> 979 */ 980 public ValueSet setStatus(BoundCodeDt<ConformanceResourceStatusEnum> theValue) { 981 myStatus = theValue; 982 return this; 983 } 984 985 986 987 /** 988 * Sets the value(s) for <b>status</b> (status) 989 * 990 * <p> 991 * <b>Definition:</b> 992 * The status of the value set 993 * </p> 994 */ 995 public ValueSet setStatus(ConformanceResourceStatusEnum theValue) { 996 setStatus(new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER, theValue)); 997 998/* 999 getStatusElement().setValueAsEnum(theValue); 1000*/ 1001 return this; 1002 } 1003 1004 1005 /** 1006 * Gets the value(s) for <b>experimental</b> (class). 1007 * creating it if it does 1008 * not exist. Will not return <code>null</code>. 1009 * 1010 * <p> 1011 * <b>Definition:</b> 1012 * This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1013 * </p> 1014 */ 1015 public BooleanDt getExperimentalElement() { 1016 if (myExperimental == null) { 1017 myExperimental = new BooleanDt(); 1018 } 1019 return myExperimental; 1020 } 1021 1022 1023 /** 1024 * Gets the value(s) for <b>experimental</b> (class). 1025 * creating it if it does 1026 * not exist. This method may return <code>null</code>. 1027 * 1028 * <p> 1029 * <b>Definition:</b> 1030 * This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1031 * </p> 1032 */ 1033 public Boolean getExperimental() { 1034 return getExperimentalElement().getValue(); 1035 } 1036 1037 /** 1038 * Sets the value(s) for <b>experimental</b> (class) 1039 * 1040 * <p> 1041 * <b>Definition:</b> 1042 * This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1043 * </p> 1044 */ 1045 public ValueSet setExperimental(BooleanDt theValue) { 1046 myExperimental = theValue; 1047 return this; 1048 } 1049 1050 1051 1052 /** 1053 * Sets the value for <b>experimental</b> (class) 1054 * 1055 * <p> 1056 * <b>Definition:</b> 1057 * This valueset was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1058 * </p> 1059 */ 1060 public ValueSet setExperimental( boolean theBoolean) { 1061 myExperimental = new BooleanDt(theBoolean); 1062 return this; 1063 } 1064 1065 1066 /** 1067 * Gets the value(s) for <b>publisher</b> (who.witness). 1068 * creating it if it does 1069 * not exist. Will not return <code>null</code>. 1070 * 1071 * <p> 1072 * <b>Definition:</b> 1073 * The name of the individual or organization that published the value set 1074 * </p> 1075 */ 1076 public StringDt getPublisherElement() { 1077 if (myPublisher == null) { 1078 myPublisher = new StringDt(); 1079 } 1080 return myPublisher; 1081 } 1082 1083 1084 /** 1085 * Gets the value(s) for <b>publisher</b> (who.witness). 1086 * creating it if it does 1087 * not exist. This method may return <code>null</code>. 1088 * 1089 * <p> 1090 * <b>Definition:</b> 1091 * The name of the individual or organization that published the value set 1092 * </p> 1093 */ 1094 public String getPublisher() { 1095 return getPublisherElement().getValue(); 1096 } 1097 1098 /** 1099 * Sets the value(s) for <b>publisher</b> (who.witness) 1100 * 1101 * <p> 1102 * <b>Definition:</b> 1103 * The name of the individual or organization that published the value set 1104 * </p> 1105 */ 1106 public ValueSet setPublisher(StringDt theValue) { 1107 myPublisher = theValue; 1108 return this; 1109 } 1110 1111 1112 1113 /** 1114 * Sets the value for <b>publisher</b> (who.witness) 1115 * 1116 * <p> 1117 * <b>Definition:</b> 1118 * The name of the individual or organization that published the value set 1119 * </p> 1120 */ 1121 public ValueSet setPublisher( String theString) { 1122 myPublisher = new StringDt(theString); 1123 return this; 1124 } 1125 1126 1127 /** 1128 * Gets the value(s) for <b>contact</b> (). 1129 * creating it if it does 1130 * not exist. Will not return <code>null</code>. 1131 * 1132 * <p> 1133 * <b>Definition:</b> 1134 * Contacts to assist a user in finding and communicating with the publisher 1135 * </p> 1136 */ 1137 public java.util.List<Contact> getContact() { 1138 if (myContact == null) { 1139 myContact = new java.util.ArrayList<Contact>(); 1140 } 1141 return myContact; 1142 } 1143 1144 /** 1145 * Sets the value(s) for <b>contact</b> () 1146 * 1147 * <p> 1148 * <b>Definition:</b> 1149 * Contacts to assist a user in finding and communicating with the publisher 1150 * </p> 1151 */ 1152 public ValueSet setContact(java.util.List<Contact> theValue) { 1153 myContact = theValue; 1154 return this; 1155 } 1156 1157 1158 1159 /** 1160 * Adds and returns a new value for <b>contact</b> () 1161 * 1162 * <p> 1163 * <b>Definition:</b> 1164 * Contacts to assist a user in finding and communicating with the publisher 1165 * </p> 1166 */ 1167 public Contact addContact() { 1168 Contact newType = new Contact(); 1169 getContact().add(newType); 1170 return newType; 1171 } 1172 1173 /** 1174 * Adds a given new value for <b>contact</b> () 1175 * 1176 * <p> 1177 * <b>Definition:</b> 1178 * Contacts to assist a user in finding and communicating with the publisher 1179 * </p> 1180 * @param theValue The contact to add (must not be <code>null</code>) 1181 */ 1182 public ValueSet addContact(Contact theValue) { 1183 if (theValue == null) { 1184 throw new NullPointerException("theValue must not be null"); 1185 } 1186 getContact().add(theValue); 1187 return this; 1188 } 1189 1190 /** 1191 * Gets the first repetition for <b>contact</b> (), 1192 * creating it if it does not already exist. 1193 * 1194 * <p> 1195 * <b>Definition:</b> 1196 * Contacts to assist a user in finding and communicating with the publisher 1197 * </p> 1198 */ 1199 public Contact getContactFirstRep() { 1200 if (getContact().isEmpty()) { 1201 return addContact(); 1202 } 1203 return getContact().get(0); 1204 } 1205 1206 /** 1207 * Gets the value(s) for <b>date</b> (when.recorded). 1208 * creating it if it does 1209 * not exist. Will not return <code>null</code>. 1210 * 1211 * <p> 1212 * <b>Definition:</b> 1213 * The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition') 1214 * </p> 1215 */ 1216 public DateTimeDt getDateElement() { 1217 if (myDate == null) { 1218 myDate = new DateTimeDt(); 1219 } 1220 return myDate; 1221 } 1222 1223 1224 /** 1225 * Gets the value(s) for <b>date</b> (when.recorded). 1226 * creating it if it does 1227 * not exist. This method may return <code>null</code>. 1228 * 1229 * <p> 1230 * <b>Definition:</b> 1231 * The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition') 1232 * </p> 1233 */ 1234 public Date getDate() { 1235 return getDateElement().getValue(); 1236 } 1237 1238 /** 1239 * Sets the value(s) for <b>date</b> (when.recorded) 1240 * 1241 * <p> 1242 * <b>Definition:</b> 1243 * The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition') 1244 * </p> 1245 */ 1246 public ValueSet setDate(DateTimeDt theValue) { 1247 myDate = theValue; 1248 return this; 1249 } 1250 1251 1252 1253 /** 1254 * Sets the value for <b>date</b> (when.recorded) 1255 * 1256 * <p> 1257 * <b>Definition:</b> 1258 * The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition') 1259 * </p> 1260 */ 1261 public ValueSet setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1262 myDate = new DateTimeDt(theDate, thePrecision); 1263 return this; 1264 } 1265 1266 /** 1267 * Sets the value for <b>date</b> (when.recorded) 1268 * 1269 * <p> 1270 * <b>Definition:</b> 1271 * The date that the value set status was last changed. 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 implementation guide changes (e.g. the 'content logical definition') 1272 * </p> 1273 */ 1274 public ValueSet setDateWithSecondsPrecision( Date theDate) { 1275 myDate = new DateTimeDt(theDate); 1276 return this; 1277 } 1278 1279 1280 /** 1281 * Gets the value(s) for <b>lockedDate</b> (when.init). 1282 * creating it if it does 1283 * not exist. Will not return <code>null</code>. 1284 * 1285 * <p> 1286 * <b>Definition:</b> 1287 * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date 1288 * </p> 1289 */ 1290 public DateDt getLockedDateElement() { 1291 if (myLockedDate == null) { 1292 myLockedDate = new DateDt(); 1293 } 1294 return myLockedDate; 1295 } 1296 1297 1298 /** 1299 * Gets the value(s) for <b>lockedDate</b> (when.init). 1300 * creating it if it does 1301 * not exist. This method may return <code>null</code>. 1302 * 1303 * <p> 1304 * <b>Definition:</b> 1305 * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date 1306 * </p> 1307 */ 1308 public Date getLockedDate() { 1309 return getLockedDateElement().getValue(); 1310 } 1311 1312 /** 1313 * Sets the value(s) for <b>lockedDate</b> (when.init) 1314 * 1315 * <p> 1316 * <b>Definition:</b> 1317 * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date 1318 * </p> 1319 */ 1320 public ValueSet setLockedDate(DateDt theValue) { 1321 myLockedDate = theValue; 1322 return this; 1323 } 1324 1325 1326 1327 /** 1328 * Sets the value for <b>lockedDate</b> (when.init) 1329 * 1330 * <p> 1331 * <b>Definition:</b> 1332 * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date 1333 * </p> 1334 */ 1335 public ValueSet setLockedDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1336 myLockedDate = new DateDt(theDate, thePrecision); 1337 return this; 1338 } 1339 1340 /** 1341 * Sets the value for <b>lockedDate</b> (when.init) 1342 * 1343 * <p> 1344 * <b>Definition:</b> 1345 * If a locked date is defined, then the Content Logical Definition must be evaluated using the current version of all referenced code system(s) and value set instances as of the locked date 1346 * </p> 1347 */ 1348 public ValueSet setLockedDateWithDayPrecision( Date theDate) { 1349 myLockedDate = new DateDt(theDate); 1350 return this; 1351 } 1352 1353 1354 /** 1355 * Gets the value(s) for <b>description</b> (). 1356 * creating it if it does 1357 * not exist. Will not return <code>null</code>. 1358 * 1359 * <p> 1360 * <b>Definition:</b> 1361 * A free text natural language description of the use of the value set - reason for definition, \"the semantic space\" to be included in the value set, conditions of use, etc. The description may include a list of expected usages for the value set and can also describe the approach taken to build the value set. 1362 * </p> 1363 */ 1364 public StringDt getDescriptionElement() { 1365 if (myDescription == null) { 1366 myDescription = new StringDt(); 1367 } 1368 return myDescription; 1369 } 1370 1371 1372 /** 1373 * Gets the value(s) for <b>description</b> (). 1374 * creating it if it does 1375 * not exist. This method may return <code>null</code>. 1376 * 1377 * <p> 1378 * <b>Definition:</b> 1379 * A free text natural language description of the use of the value set - reason for definition, \"the semantic space\" to be included in the value set, conditions of use, etc. The description may include a list of expected usages for the value set and can also describe the approach taken to build the value set. 1380 * </p> 1381 */ 1382 public String getDescription() { 1383 return getDescriptionElement().getValue(); 1384 } 1385 1386 /** 1387 * Sets the value(s) for <b>description</b> () 1388 * 1389 * <p> 1390 * <b>Definition:</b> 1391 * A free text natural language description of the use of the value set - reason for definition, \"the semantic space\" to be included in the value set, conditions of use, etc. The description may include a list of expected usages for the value set and can also describe the approach taken to build the value set. 1392 * </p> 1393 */ 1394 public ValueSet setDescription(StringDt theValue) { 1395 myDescription = theValue; 1396 return this; 1397 } 1398 1399 1400 1401 /** 1402 * Sets the value for <b>description</b> () 1403 * 1404 * <p> 1405 * <b>Definition:</b> 1406 * A free text natural language description of the use of the value set - reason for definition, \"the semantic space\" to be included in the value set, conditions of use, etc. The description may include a list of expected usages for the value set and can also describe the approach taken to build the value set. 1407 * </p> 1408 */ 1409 public ValueSet setDescription( String theString) { 1410 myDescription = new StringDt(theString); 1411 return this; 1412 } 1413 1414 1415 /** 1416 * Gets the value(s) for <b>useContext</b> (). 1417 * creating it if it does 1418 * not exist. Will not return <code>null</code>. 1419 * 1420 * <p> 1421 * <b>Definition:</b> 1422 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions. 1423 * </p> 1424 */ 1425 public java.util.List<CodeableConceptDt> getUseContext() { 1426 if (myUseContext == null) { 1427 myUseContext = new java.util.ArrayList<CodeableConceptDt>(); 1428 } 1429 return myUseContext; 1430 } 1431 1432 /** 1433 * Sets the value(s) for <b>useContext</b> () 1434 * 1435 * <p> 1436 * <b>Definition:</b> 1437 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions. 1438 * </p> 1439 */ 1440 public ValueSet setUseContext(java.util.List<CodeableConceptDt> theValue) { 1441 myUseContext = theValue; 1442 return this; 1443 } 1444 1445 1446 1447 /** 1448 * Adds and returns a new value for <b>useContext</b> () 1449 * 1450 * <p> 1451 * <b>Definition:</b> 1452 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions. 1453 * </p> 1454 */ 1455 public CodeableConceptDt addUseContext() { 1456 CodeableConceptDt newType = new CodeableConceptDt(); 1457 getUseContext().add(newType); 1458 return newType; 1459 } 1460 1461 /** 1462 * Adds a given new value for <b>useContext</b> () 1463 * 1464 * <p> 1465 * <b>Definition:</b> 1466 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions. 1467 * </p> 1468 * @param theValue The useContext to add (must not be <code>null</code>) 1469 */ 1470 public ValueSet addUseContext(CodeableConceptDt theValue) { 1471 if (theValue == null) { 1472 throw new NullPointerException("theValue must not be null"); 1473 } 1474 getUseContext().add(theValue); 1475 return this; 1476 } 1477 1478 /** 1479 * Gets the first repetition for <b>useContext</b> (), 1480 * creating it if it does not already exist. 1481 * 1482 * <p> 1483 * <b>Definition:</b> 1484 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of value set definitions. 1485 * </p> 1486 */ 1487 public CodeableConceptDt getUseContextFirstRep() { 1488 if (getUseContext().isEmpty()) { 1489 return addUseContext(); 1490 } 1491 return getUseContext().get(0); 1492 } 1493 1494 /** 1495 * Gets the value(s) for <b>immutable</b> (). 1496 * creating it if it does 1497 * not exist. Will not return <code>null</code>. 1498 * 1499 * <p> 1500 * <b>Definition:</b> 1501 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change 1502 * </p> 1503 */ 1504 public BooleanDt getImmutableElement() { 1505 if (myImmutable == null) { 1506 myImmutable = new BooleanDt(); 1507 } 1508 return myImmutable; 1509 } 1510 1511 1512 /** 1513 * Gets the value(s) for <b>immutable</b> (). 1514 * creating it if it does 1515 * not exist. This method may return <code>null</code>. 1516 * 1517 * <p> 1518 * <b>Definition:</b> 1519 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change 1520 * </p> 1521 */ 1522 public Boolean getImmutable() { 1523 return getImmutableElement().getValue(); 1524 } 1525 1526 /** 1527 * Sets the value(s) for <b>immutable</b> () 1528 * 1529 * <p> 1530 * <b>Definition:</b> 1531 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change 1532 * </p> 1533 */ 1534 public ValueSet setImmutable(BooleanDt theValue) { 1535 myImmutable = theValue; 1536 return this; 1537 } 1538 1539 1540 1541 /** 1542 * Sets the value for <b>immutable</b> () 1543 * 1544 * <p> 1545 * <b>Definition:</b> 1546 * If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change 1547 * </p> 1548 */ 1549 public ValueSet setImmutable( boolean theBoolean) { 1550 myImmutable = new BooleanDt(theBoolean); 1551 return this; 1552 } 1553 1554 1555 /** 1556 * Gets the value(s) for <b>requirements</b> (). 1557 * creating it if it does 1558 * not exist. Will not return <code>null</code>. 1559 * 1560 * <p> 1561 * <b>Definition:</b> 1562 * Explains why this value set is needed and why it has been constrained as it has 1563 * </p> 1564 */ 1565 public StringDt getRequirementsElement() { 1566 if (myRequirements == null) { 1567 myRequirements = new StringDt(); 1568 } 1569 return myRequirements; 1570 } 1571 1572 1573 /** 1574 * Gets the value(s) for <b>requirements</b> (). 1575 * creating it if it does 1576 * not exist. This method may return <code>null</code>. 1577 * 1578 * <p> 1579 * <b>Definition:</b> 1580 * Explains why this value set is needed and why it has been constrained as it has 1581 * </p> 1582 */ 1583 public String getRequirements() { 1584 return getRequirementsElement().getValue(); 1585 } 1586 1587 /** 1588 * Sets the value(s) for <b>requirements</b> () 1589 * 1590 * <p> 1591 * <b>Definition:</b> 1592 * Explains why this value set is needed and why it has been constrained as it has 1593 * </p> 1594 */ 1595 public ValueSet setRequirements(StringDt theValue) { 1596 myRequirements = theValue; 1597 return this; 1598 } 1599 1600 1601 1602 /** 1603 * Sets the value for <b>requirements</b> () 1604 * 1605 * <p> 1606 * <b>Definition:</b> 1607 * Explains why this value set is needed and why it has been constrained as it has 1608 * </p> 1609 */ 1610 public ValueSet setRequirements( String theString) { 1611 myRequirements = new StringDt(theString); 1612 return this; 1613 } 1614 1615 1616 /** 1617 * Gets the value(s) for <b>copyright</b> (). 1618 * creating it if it does 1619 * not exist. Will not return <code>null</code>. 1620 * 1621 * <p> 1622 * <b>Definition:</b> 1623 * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set 1624 * </p> 1625 */ 1626 public StringDt getCopyrightElement() { 1627 if (myCopyright == null) { 1628 myCopyright = new StringDt(); 1629 } 1630 return myCopyright; 1631 } 1632 1633 1634 /** 1635 * Gets the value(s) for <b>copyright</b> (). 1636 * creating it if it does 1637 * not exist. This method may return <code>null</code>. 1638 * 1639 * <p> 1640 * <b>Definition:</b> 1641 * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set 1642 * </p> 1643 */ 1644 public String getCopyright() { 1645 return getCopyrightElement().getValue(); 1646 } 1647 1648 /** 1649 * Sets the value(s) for <b>copyright</b> () 1650 * 1651 * <p> 1652 * <b>Definition:</b> 1653 * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set 1654 * </p> 1655 */ 1656 public ValueSet setCopyright(StringDt theValue) { 1657 myCopyright = theValue; 1658 return this; 1659 } 1660 1661 1662 1663 /** 1664 * Sets the value for <b>copyright</b> () 1665 * 1666 * <p> 1667 * <b>Definition:</b> 1668 * A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set 1669 * </p> 1670 */ 1671 public ValueSet setCopyright( String theString) { 1672 myCopyright = new StringDt(theString); 1673 return this; 1674 } 1675 1676 1677 /** 1678 * Gets the value(s) for <b>extensible</b> (). 1679 * creating it if it does 1680 * not exist. Will not return <code>null</code>. 1681 * 1682 * <p> 1683 * <b>Definition:</b> 1684 * Whether this is intended to be used with an extensible binding or not 1685 * </p> 1686 */ 1687 public BooleanDt getExtensibleElement() { 1688 if (myExtensible == null) { 1689 myExtensible = new BooleanDt(); 1690 } 1691 return myExtensible; 1692 } 1693 1694 1695 /** 1696 * Gets the value(s) for <b>extensible</b> (). 1697 * creating it if it does 1698 * not exist. This method may return <code>null</code>. 1699 * 1700 * <p> 1701 * <b>Definition:</b> 1702 * Whether this is intended to be used with an extensible binding or not 1703 * </p> 1704 */ 1705 public Boolean getExtensible() { 1706 return getExtensibleElement().getValue(); 1707 } 1708 1709 /** 1710 * Sets the value(s) for <b>extensible</b> () 1711 * 1712 * <p> 1713 * <b>Definition:</b> 1714 * Whether this is intended to be used with an extensible binding or not 1715 * </p> 1716 */ 1717 public ValueSet setExtensible(BooleanDt theValue) { 1718 myExtensible = theValue; 1719 return this; 1720 } 1721 1722 1723 1724 /** 1725 * Sets the value for <b>extensible</b> () 1726 * 1727 * <p> 1728 * <b>Definition:</b> 1729 * Whether this is intended to be used with an extensible binding or not 1730 * </p> 1731 */ 1732 public ValueSet setExtensible( boolean theBoolean) { 1733 myExtensible = new BooleanDt(theBoolean); 1734 return this; 1735 } 1736 1737 1738 /** 1739 * Gets the value(s) for <b>codeSystem</b> (). 1740 * creating it if it does 1741 * not exist. Will not return <code>null</code>. 1742 * 1743 * <p> 1744 * <b>Definition:</b> 1745 * A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly 1746 * </p> 1747 */ 1748 public CodeSystem getCodeSystem() { 1749 if (myCodeSystem == null) { 1750 myCodeSystem = new CodeSystem(); 1751 } 1752 return myCodeSystem; 1753 } 1754 1755 /** 1756 * Sets the value(s) for <b>codeSystem</b> () 1757 * 1758 * <p> 1759 * <b>Definition:</b> 1760 * A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly 1761 * </p> 1762 */ 1763 public ValueSet setCodeSystem(CodeSystem theValue) { 1764 myCodeSystem = theValue; 1765 return this; 1766 } 1767 1768 1769 1770 1771 /** 1772 * Gets the value(s) for <b>compose</b> (). 1773 * creating it if it does 1774 * not exist. Will not return <code>null</code>. 1775 * 1776 * <p> 1777 * <b>Definition:</b> 1778 * A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set 1779 * </p> 1780 */ 1781 public Compose getCompose() { 1782 if (myCompose == null) { 1783 myCompose = new Compose(); 1784 } 1785 return myCompose; 1786 } 1787 1788 /** 1789 * Sets the value(s) for <b>compose</b> () 1790 * 1791 * <p> 1792 * <b>Definition:</b> 1793 * A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set 1794 * </p> 1795 */ 1796 public ValueSet setCompose(Compose theValue) { 1797 myCompose = theValue; 1798 return this; 1799 } 1800 1801 1802 1803 1804 /** 1805 * Gets the value(s) for <b>expansion</b> (). 1806 * creating it if it does 1807 * not exist. Will not return <code>null</code>. 1808 * 1809 * <p> 1810 * <b>Definition:</b> 1811 * A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed 1812 * </p> 1813 */ 1814 public Expansion getExpansion() { 1815 if (myExpansion == null) { 1816 myExpansion = new Expansion(); 1817 } 1818 return myExpansion; 1819 } 1820 1821 /** 1822 * Sets the value(s) for <b>expansion</b> () 1823 * 1824 * <p> 1825 * <b>Definition:</b> 1826 * A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed 1827 * </p> 1828 */ 1829 public ValueSet setExpansion(Expansion theValue) { 1830 myExpansion = theValue; 1831 return this; 1832 } 1833 1834 1835 1836 1837 /** 1838 * Block class for child element: <b>ValueSet.contact</b> () 1839 * 1840 * <p> 1841 * <b>Definition:</b> 1842 * Contacts to assist a user in finding and communicating with the publisher 1843 * </p> 1844 */ 1845 @Block() 1846 public static class Contact 1847 extends BaseIdentifiableElement implements IResourceBlock { 1848 1849 @Child(name="name", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) 1850 @Description( 1851 shortDefinition="", 1852 formalDefinition="The name of an individual to contact regarding the value set" 1853 ) 1854 private StringDt myName; 1855 1856 @Child(name="telecom", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1857 @Description( 1858 shortDefinition="", 1859 formalDefinition="Contact details for individual (if a name was provided) or the publisher" 1860 ) 1861 private java.util.List<ContactPointDt> myTelecom; 1862 1863 1864 @Override 1865 public boolean isEmpty() { 1866 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myTelecom); 1867 } 1868 1869 @Override 1870 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1871 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myTelecom); 1872 } 1873 1874 /** 1875 * Gets the value(s) for <b>name</b> (). 1876 * creating it if it does 1877 * not exist. Will not return <code>null</code>. 1878 * 1879 * <p> 1880 * <b>Definition:</b> 1881 * The name of an individual to contact regarding the value set 1882 * </p> 1883 */ 1884 public StringDt getNameElement() { 1885 if (myName == null) { 1886 myName = new StringDt(); 1887 } 1888 return myName; 1889 } 1890 1891 1892 /** 1893 * Gets the value(s) for <b>name</b> (). 1894 * creating it if it does 1895 * not exist. This method may return <code>null</code>. 1896 * 1897 * <p> 1898 * <b>Definition:</b> 1899 * The name of an individual to contact regarding the value set 1900 * </p> 1901 */ 1902 public String getName() { 1903 return getNameElement().getValue(); 1904 } 1905 1906 /** 1907 * Sets the value(s) for <b>name</b> () 1908 * 1909 * <p> 1910 * <b>Definition:</b> 1911 * The name of an individual to contact regarding the value set 1912 * </p> 1913 */ 1914 public Contact setName(StringDt theValue) { 1915 myName = theValue; 1916 return this; 1917 } 1918 1919 1920 1921 /** 1922 * Sets the value for <b>name</b> () 1923 * 1924 * <p> 1925 * <b>Definition:</b> 1926 * The name of an individual to contact regarding the value set 1927 * </p> 1928 */ 1929 public Contact setName( String theString) { 1930 myName = new StringDt(theString); 1931 return this; 1932 } 1933 1934 1935 /** 1936 * Gets the value(s) for <b>telecom</b> (). 1937 * creating it if it does 1938 * not exist. Will not return <code>null</code>. 1939 * 1940 * <p> 1941 * <b>Definition:</b> 1942 * Contact details for individual (if a name was provided) or the publisher 1943 * </p> 1944 */ 1945 public java.util.List<ContactPointDt> getTelecom() { 1946 if (myTelecom == null) { 1947 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1948 } 1949 return myTelecom; 1950 } 1951 1952 /** 1953 * Sets the value(s) for <b>telecom</b> () 1954 * 1955 * <p> 1956 * <b>Definition:</b> 1957 * Contact details for individual (if a name was provided) or the publisher 1958 * </p> 1959 */ 1960 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 1961 myTelecom = theValue; 1962 return this; 1963 } 1964 1965 1966 1967 /** 1968 * Adds and returns a new value for <b>telecom</b> () 1969 * 1970 * <p> 1971 * <b>Definition:</b> 1972 * Contact details for individual (if a name was provided) or the publisher 1973 * </p> 1974 */ 1975 public ContactPointDt addTelecom() { 1976 ContactPointDt newType = new ContactPointDt(); 1977 getTelecom().add(newType); 1978 return newType; 1979 } 1980 1981 /** 1982 * Adds a given new value for <b>telecom</b> () 1983 * 1984 * <p> 1985 * <b>Definition:</b> 1986 * Contact details for individual (if a name was provided) or the publisher 1987 * </p> 1988 * @param theValue The telecom to add (must not be <code>null</code>) 1989 */ 1990 public Contact addTelecom(ContactPointDt theValue) { 1991 if (theValue == null) { 1992 throw new NullPointerException("theValue must not be null"); 1993 } 1994 getTelecom().add(theValue); 1995 return this; 1996 } 1997 1998 /** 1999 * Gets the first repetition for <b>telecom</b> (), 2000 * creating it if it does not already exist. 2001 * 2002 * <p> 2003 * <b>Definition:</b> 2004 * Contact details for individual (if a name was provided) or the publisher 2005 * </p> 2006 */ 2007 public ContactPointDt getTelecomFirstRep() { 2008 if (getTelecom().isEmpty()) { 2009 return addTelecom(); 2010 } 2011 return getTelecom().get(0); 2012 } 2013 2014 2015 2016 } 2017 2018 2019 /** 2020 * Block class for child element: <b>ValueSet.codeSystem</b> () 2021 * 2022 * <p> 2023 * <b>Definition:</b> 2024 * A definition of a code system, inlined into the value set (as a packaging convenience). Note that the inline code system may be used from other value sets by referring to its (codeSystem.system) directly 2025 * </p> 2026 */ 2027 @Block() 2028 public static class CodeSystem 2029 extends BaseIdentifiableElement implements IResourceBlock { 2030 2031 @Child(name="system", type=UriDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2032 @Description( 2033 shortDefinition="", 2034 formalDefinition="An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system" 2035 ) 2036 private UriDt mySystem; 2037 2038 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2039 @Description( 2040 shortDefinition="", 2041 formalDefinition="The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked" 2042 ) 2043 private StringDt myVersion; 2044 2045 @Child(name="caseSensitive", type=BooleanDt.class, order=2, min=0, max=1, summary=true, modifier=false) 2046 @Description( 2047 shortDefinition="", 2048 formalDefinition="If code comparison is case sensitive when codes within this system are compared to each other" 2049 ) 2050 private BooleanDt myCaseSensitive; 2051 2052 @Child(name="concept", order=3, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2053 @Description( 2054 shortDefinition="", 2055 formalDefinition="Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are" 2056 ) 2057 private java.util.List<CodeSystemConcept> myConcept; 2058 2059 2060 @Override 2061 public boolean isEmpty() { 2062 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySystem, myVersion, myCaseSensitive, myConcept); 2063 } 2064 2065 @Override 2066 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2067 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySystem, myVersion, myCaseSensitive, myConcept); 2068 } 2069 2070 /** 2071 * Gets the value(s) for <b>system</b> (). 2072 * creating it if it does 2073 * not exist. Will not return <code>null</code>. 2074 * 2075 * <p> 2076 * <b>Definition:</b> 2077 * An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system 2078 * </p> 2079 */ 2080 public UriDt getSystemElement() { 2081 if (mySystem == null) { 2082 mySystem = new UriDt(); 2083 } 2084 return mySystem; 2085 } 2086 2087 2088 /** 2089 * Gets the value(s) for <b>system</b> (). 2090 * creating it if it does 2091 * not exist. This method may return <code>null</code>. 2092 * 2093 * <p> 2094 * <b>Definition:</b> 2095 * An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system 2096 * </p> 2097 */ 2098 public String getSystem() { 2099 return getSystemElement().getValue(); 2100 } 2101 2102 /** 2103 * Sets the value(s) for <b>system</b> () 2104 * 2105 * <p> 2106 * <b>Definition:</b> 2107 * An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system 2108 * </p> 2109 */ 2110 public CodeSystem setSystem(UriDt theValue) { 2111 mySystem = theValue; 2112 return this; 2113 } 2114 2115 2116 2117 /** 2118 * Sets the value for <b>system</b> () 2119 * 2120 * <p> 2121 * <b>Definition:</b> 2122 * An absolute URI that is used to reference this code system, including in [Coding]{datatypes.html#Coding}.system 2123 * </p> 2124 */ 2125 public CodeSystem setSystem( String theUri) { 2126 mySystem = new UriDt(theUri); 2127 return this; 2128 } 2129 2130 2131 /** 2132 * Gets the value(s) for <b>version</b> (). 2133 * creating it if it does 2134 * not exist. Will not return <code>null</code>. 2135 * 2136 * <p> 2137 * <b>Definition:</b> 2138 * The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked 2139 * </p> 2140 */ 2141 public StringDt getVersionElement() { 2142 if (myVersion == null) { 2143 myVersion = new StringDt(); 2144 } 2145 return myVersion; 2146 } 2147 2148 2149 /** 2150 * Gets the value(s) for <b>version</b> (). 2151 * creating it if it does 2152 * not exist. This method may return <code>null</code>. 2153 * 2154 * <p> 2155 * <b>Definition:</b> 2156 * The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked 2157 * </p> 2158 */ 2159 public String getVersion() { 2160 return getVersionElement().getValue(); 2161 } 2162 2163 /** 2164 * Sets the value(s) for <b>version</b> () 2165 * 2166 * <p> 2167 * <b>Definition:</b> 2168 * The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked 2169 * </p> 2170 */ 2171 public CodeSystem setVersion(StringDt theValue) { 2172 myVersion = theValue; 2173 return this; 2174 } 2175 2176 2177 2178 /** 2179 * Sets the value for <b>version</b> () 2180 * 2181 * <p> 2182 * <b>Definition:</b> 2183 * The version of this code system that defines the codes. Note that the version is optional because a well maintained code system does not suffer from versioning, and therefore the version does not need to be maintained. However many code systems are not well maintained, and the version needs to be defined and tracked 2184 * </p> 2185 */ 2186 public CodeSystem setVersion( String theString) { 2187 myVersion = new StringDt(theString); 2188 return this; 2189 } 2190 2191 2192 /** 2193 * Gets the value(s) for <b>caseSensitive</b> (). 2194 * creating it if it does 2195 * not exist. Will not return <code>null</code>. 2196 * 2197 * <p> 2198 * <b>Definition:</b> 2199 * If code comparison is case sensitive when codes within this system are compared to each other 2200 * </p> 2201 */ 2202 public BooleanDt getCaseSensitiveElement() { 2203 if (myCaseSensitive == null) { 2204 myCaseSensitive = new BooleanDt(); 2205 } 2206 return myCaseSensitive; 2207 } 2208 2209 2210 /** 2211 * Gets the value(s) for <b>caseSensitive</b> (). 2212 * creating it if it does 2213 * not exist. This method may return <code>null</code>. 2214 * 2215 * <p> 2216 * <b>Definition:</b> 2217 * If code comparison is case sensitive when codes within this system are compared to each other 2218 * </p> 2219 */ 2220 public Boolean getCaseSensitive() { 2221 return getCaseSensitiveElement().getValue(); 2222 } 2223 2224 /** 2225 * Sets the value(s) for <b>caseSensitive</b> () 2226 * 2227 * <p> 2228 * <b>Definition:</b> 2229 * If code comparison is case sensitive when codes within this system are compared to each other 2230 * </p> 2231 */ 2232 public CodeSystem setCaseSensitive(BooleanDt theValue) { 2233 myCaseSensitive = theValue; 2234 return this; 2235 } 2236 2237 2238 2239 /** 2240 * Sets the value for <b>caseSensitive</b> () 2241 * 2242 * <p> 2243 * <b>Definition:</b> 2244 * If code comparison is case sensitive when codes within this system are compared to each other 2245 * </p> 2246 */ 2247 public CodeSystem setCaseSensitive( boolean theBoolean) { 2248 myCaseSensitive = new BooleanDt(theBoolean); 2249 return this; 2250 } 2251 2252 2253 /** 2254 * Gets the value(s) for <b>concept</b> (). 2255 * creating it if it does 2256 * not exist. Will not return <code>null</code>. 2257 * 2258 * <p> 2259 * <b>Definition:</b> 2260 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2261 * </p> 2262 */ 2263 public java.util.List<CodeSystemConcept> getConcept() { 2264 if (myConcept == null) { 2265 myConcept = new java.util.ArrayList<CodeSystemConcept>(); 2266 } 2267 return myConcept; 2268 } 2269 2270 /** 2271 * Sets the value(s) for <b>concept</b> () 2272 * 2273 * <p> 2274 * <b>Definition:</b> 2275 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2276 * </p> 2277 */ 2278 public CodeSystem setConcept(java.util.List<CodeSystemConcept> theValue) { 2279 myConcept = theValue; 2280 return this; 2281 } 2282 2283 2284 2285 /** 2286 * Adds and returns a new value for <b>concept</b> () 2287 * 2288 * <p> 2289 * <b>Definition:</b> 2290 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2291 * </p> 2292 */ 2293 public CodeSystemConcept addConcept() { 2294 CodeSystemConcept newType = new CodeSystemConcept(); 2295 getConcept().add(newType); 2296 return newType; 2297 } 2298 2299 /** 2300 * Adds a given new value for <b>concept</b> () 2301 * 2302 * <p> 2303 * <b>Definition:</b> 2304 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2305 * </p> 2306 * @param theValue The concept to add (must not be <code>null</code>) 2307 */ 2308 public CodeSystem addConcept(CodeSystemConcept theValue) { 2309 if (theValue == null) { 2310 throw new NullPointerException("theValue must not be null"); 2311 } 2312 getConcept().add(theValue); 2313 return this; 2314 } 2315 2316 /** 2317 * Gets the first repetition for <b>concept</b> (), 2318 * creating it if it does not already exist. 2319 * 2320 * <p> 2321 * <b>Definition:</b> 2322 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2323 * </p> 2324 */ 2325 public CodeSystemConcept getConceptFirstRep() { 2326 if (getConcept().isEmpty()) { 2327 return addConcept(); 2328 } 2329 return getConcept().get(0); 2330 } 2331 2332 2333 2334 } 2335 2336 /** 2337 * Block class for child element: <b>ValueSet.codeSystem.concept</b> () 2338 * 2339 * <p> 2340 * <b>Definition:</b> 2341 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meaning of the hierarchical relationships are 2342 * </p> 2343 */ 2344 @Block() 2345 public static class CodeSystemConcept 2346 extends BaseIdentifiableElement implements IResourceBlock { 2347 2348 @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2349 @Description( 2350 shortDefinition="", 2351 formalDefinition="A code - a text symbol - that uniquely identifies the concept within the code system" 2352 ) 2353 private CodeDt myCode; 2354 2355 @Child(name="abstract", type=BooleanDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2356 @Description( 2357 shortDefinition="", 2358 formalDefinition="If this code is not for use as a real concept" 2359 ) 2360 private BooleanDt myAbstract; 2361 2362 @Child(name="display", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2363 @Description( 2364 shortDefinition="", 2365 formalDefinition="A human readable string that is the recommended default way to present this concept to a user" 2366 ) 2367 private StringDt myDisplay; 2368 2369 @Child(name="definition", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2370 @Description( 2371 shortDefinition="", 2372 formalDefinition="The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept" 2373 ) 2374 private StringDt myDefinition; 2375 2376 @Child(name="designation", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2377 @Description( 2378 shortDefinition="", 2379 formalDefinition="Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc." 2380 ) 2381 private java.util.List<CodeSystemConceptDesignation> myDesignation; 2382 2383 @Child(name="concept", type=CodeSystemConcept.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2384 @Description( 2385 shortDefinition="", 2386 formalDefinition="Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts" 2387 ) 2388 private java.util.List<CodeSystemConcept> myConcept; 2389 2390 2391 @Override 2392 public boolean isEmpty() { 2393 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myAbstract, myDisplay, myDefinition, myDesignation, myConcept); 2394 } 2395 2396 @Override 2397 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2398 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myAbstract, myDisplay, myDefinition, myDesignation, myConcept); 2399 } 2400 2401 /** 2402 * Gets the value(s) for <b>code</b> (). 2403 * creating it if it does 2404 * not exist. Will not return <code>null</code>. 2405 * 2406 * <p> 2407 * <b>Definition:</b> 2408 * A code - a text symbol - that uniquely identifies the concept within the code system 2409 * </p> 2410 */ 2411 public CodeDt getCodeElement() { 2412 if (myCode == null) { 2413 myCode = new CodeDt(); 2414 } 2415 return myCode; 2416 } 2417 2418 2419 /** 2420 * Gets the value(s) for <b>code</b> (). 2421 * creating it if it does 2422 * not exist. This method may return <code>null</code>. 2423 * 2424 * <p> 2425 * <b>Definition:</b> 2426 * A code - a text symbol - that uniquely identifies the concept within the code system 2427 * </p> 2428 */ 2429 public String getCode() { 2430 return getCodeElement().getValue(); 2431 } 2432 2433 /** 2434 * Sets the value(s) for <b>code</b> () 2435 * 2436 * <p> 2437 * <b>Definition:</b> 2438 * A code - a text symbol - that uniquely identifies the concept within the code system 2439 * </p> 2440 */ 2441 public CodeSystemConcept setCode(CodeDt theValue) { 2442 myCode = theValue; 2443 return this; 2444 } 2445 2446 2447 2448 /** 2449 * Sets the value for <b>code</b> () 2450 * 2451 * <p> 2452 * <b>Definition:</b> 2453 * A code - a text symbol - that uniquely identifies the concept within the code system 2454 * </p> 2455 */ 2456 public CodeSystemConcept setCode( String theCode) { 2457 myCode = new CodeDt(theCode); 2458 return this; 2459 } 2460 2461 2462 /** 2463 * Gets the value(s) for <b>abstract</b> (). 2464 * creating it if it does 2465 * not exist. Will not return <code>null</code>. 2466 * 2467 * <p> 2468 * <b>Definition:</b> 2469 * If this code is not for use as a real concept 2470 * </p> 2471 */ 2472 public BooleanDt getAbstractElement() { 2473 if (myAbstract == null) { 2474 myAbstract = new BooleanDt(); 2475 } 2476 return myAbstract; 2477 } 2478 2479 2480 /** 2481 * Gets the value(s) for <b>abstract</b> (). 2482 * creating it if it does 2483 * not exist. This method may return <code>null</code>. 2484 * 2485 * <p> 2486 * <b>Definition:</b> 2487 * If this code is not for use as a real concept 2488 * </p> 2489 */ 2490 public Boolean getAbstract() { 2491 return getAbstractElement().getValue(); 2492 } 2493 2494 /** 2495 * Sets the value(s) for <b>abstract</b> () 2496 * 2497 * <p> 2498 * <b>Definition:</b> 2499 * If this code is not for use as a real concept 2500 * </p> 2501 */ 2502 public CodeSystemConcept setAbstract(BooleanDt theValue) { 2503 myAbstract = theValue; 2504 return this; 2505 } 2506 2507 2508 2509 /** 2510 * Sets the value for <b>abstract</b> () 2511 * 2512 * <p> 2513 * <b>Definition:</b> 2514 * If this code is not for use as a real concept 2515 * </p> 2516 */ 2517 public CodeSystemConcept setAbstract( boolean theBoolean) { 2518 myAbstract = new BooleanDt(theBoolean); 2519 return this; 2520 } 2521 2522 2523 /** 2524 * Gets the value(s) for <b>display</b> (). 2525 * creating it if it does 2526 * not exist. Will not return <code>null</code>. 2527 * 2528 * <p> 2529 * <b>Definition:</b> 2530 * A human readable string that is the recommended default way to present this concept to a user 2531 * </p> 2532 */ 2533 public StringDt getDisplayElement() { 2534 if (myDisplay == null) { 2535 myDisplay = new StringDt(); 2536 } 2537 return myDisplay; 2538 } 2539 2540 2541 /** 2542 * Gets the value(s) for <b>display</b> (). 2543 * creating it if it does 2544 * not exist. This method may return <code>null</code>. 2545 * 2546 * <p> 2547 * <b>Definition:</b> 2548 * A human readable string that is the recommended default way to present this concept to a user 2549 * </p> 2550 */ 2551 public String getDisplay() { 2552 return getDisplayElement().getValue(); 2553 } 2554 2555 /** 2556 * Sets the value(s) for <b>display</b> () 2557 * 2558 * <p> 2559 * <b>Definition:</b> 2560 * A human readable string that is the recommended default way to present this concept to a user 2561 * </p> 2562 */ 2563 public CodeSystemConcept setDisplay(StringDt theValue) { 2564 myDisplay = theValue; 2565 return this; 2566 } 2567 2568 2569 2570 /** 2571 * Sets the value for <b>display</b> () 2572 * 2573 * <p> 2574 * <b>Definition:</b> 2575 * A human readable string that is the recommended default way to present this concept to a user 2576 * </p> 2577 */ 2578 public CodeSystemConcept setDisplay( String theString) { 2579 myDisplay = new StringDt(theString); 2580 return this; 2581 } 2582 2583 2584 /** 2585 * Gets the value(s) for <b>definition</b> (). 2586 * creating it if it does 2587 * not exist. Will not return <code>null</code>. 2588 * 2589 * <p> 2590 * <b>Definition:</b> 2591 * The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept 2592 * </p> 2593 */ 2594 public StringDt getDefinitionElement() { 2595 if (myDefinition == null) { 2596 myDefinition = new StringDt(); 2597 } 2598 return myDefinition; 2599 } 2600 2601 2602 /** 2603 * Gets the value(s) for <b>definition</b> (). 2604 * creating it if it does 2605 * not exist. This method may return <code>null</code>. 2606 * 2607 * <p> 2608 * <b>Definition:</b> 2609 * The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept 2610 * </p> 2611 */ 2612 public String getDefinition() { 2613 return getDefinitionElement().getValue(); 2614 } 2615 2616 /** 2617 * Sets the value(s) for <b>definition</b> () 2618 * 2619 * <p> 2620 * <b>Definition:</b> 2621 * The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept 2622 * </p> 2623 */ 2624 public CodeSystemConcept setDefinition(StringDt theValue) { 2625 myDefinition = theValue; 2626 return this; 2627 } 2628 2629 2630 2631 /** 2632 * Sets the value for <b>definition</b> () 2633 * 2634 * <p> 2635 * <b>Definition:</b> 2636 * The formal definition of the concept. The value set resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept 2637 * </p> 2638 */ 2639 public CodeSystemConcept setDefinition( String theString) { 2640 myDefinition = new StringDt(theString); 2641 return this; 2642 } 2643 2644 2645 /** 2646 * Gets the value(s) for <b>designation</b> (). 2647 * creating it if it does 2648 * not exist. Will not return <code>null</code>. 2649 * 2650 * <p> 2651 * <b>Definition:</b> 2652 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2653 * </p> 2654 */ 2655 public java.util.List<CodeSystemConceptDesignation> getDesignation() { 2656 if (myDesignation == null) { 2657 myDesignation = new java.util.ArrayList<CodeSystemConceptDesignation>(); 2658 } 2659 return myDesignation; 2660 } 2661 2662 /** 2663 * Sets the value(s) for <b>designation</b> () 2664 * 2665 * <p> 2666 * <b>Definition:</b> 2667 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2668 * </p> 2669 */ 2670 public CodeSystemConcept setDesignation(java.util.List<CodeSystemConceptDesignation> theValue) { 2671 myDesignation = theValue; 2672 return this; 2673 } 2674 2675 2676 2677 /** 2678 * Adds and returns a new value for <b>designation</b> () 2679 * 2680 * <p> 2681 * <b>Definition:</b> 2682 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2683 * </p> 2684 */ 2685 public CodeSystemConceptDesignation addDesignation() { 2686 CodeSystemConceptDesignation newType = new CodeSystemConceptDesignation(); 2687 getDesignation().add(newType); 2688 return newType; 2689 } 2690 2691 /** 2692 * Adds a given new value for <b>designation</b> () 2693 * 2694 * <p> 2695 * <b>Definition:</b> 2696 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2697 * </p> 2698 * @param theValue The designation to add (must not be <code>null</code>) 2699 */ 2700 public CodeSystemConcept addDesignation(CodeSystemConceptDesignation theValue) { 2701 if (theValue == null) { 2702 throw new NullPointerException("theValue must not be null"); 2703 } 2704 getDesignation().add(theValue); 2705 return this; 2706 } 2707 2708 /** 2709 * Gets the first repetition for <b>designation</b> (), 2710 * creating it if it does not already exist. 2711 * 2712 * <p> 2713 * <b>Definition:</b> 2714 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2715 * </p> 2716 */ 2717 public CodeSystemConceptDesignation getDesignationFirstRep() { 2718 if (getDesignation().isEmpty()) { 2719 return addDesignation(); 2720 } 2721 return getDesignation().get(0); 2722 } 2723 2724 /** 2725 * Gets the value(s) for <b>concept</b> (). 2726 * creating it if it does 2727 * not exist. Will not return <code>null</code>. 2728 * 2729 * <p> 2730 * <b>Definition:</b> 2731 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts 2732 * </p> 2733 */ 2734 public java.util.List<CodeSystemConcept> getConcept() { 2735 if (myConcept == null) { 2736 myConcept = new java.util.ArrayList<CodeSystemConcept>(); 2737 } 2738 return myConcept; 2739 } 2740 2741 /** 2742 * Sets the value(s) for <b>concept</b> () 2743 * 2744 * <p> 2745 * <b>Definition:</b> 2746 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts 2747 * </p> 2748 */ 2749 public CodeSystemConcept setConcept(java.util.List<CodeSystemConcept> theValue) { 2750 myConcept = theValue; 2751 return this; 2752 } 2753 2754 2755 2756 /** 2757 * Adds and returns a new value for <b>concept</b> () 2758 * 2759 * <p> 2760 * <b>Definition:</b> 2761 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts 2762 * </p> 2763 */ 2764 public CodeSystemConcept addConcept() { 2765 CodeSystemConcept newType = new CodeSystemConcept(); 2766 getConcept().add(newType); 2767 return newType; 2768 } 2769 2770 /** 2771 * Adds a given new value for <b>concept</b> () 2772 * 2773 * <p> 2774 * <b>Definition:</b> 2775 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts 2776 * </p> 2777 * @param theValue The concept to add (must not be <code>null</code>) 2778 */ 2779 public CodeSystemConcept addConcept(CodeSystemConcept theValue) { 2780 if (theValue == null) { 2781 throw new NullPointerException("theValue must not be null"); 2782 } 2783 getConcept().add(theValue); 2784 return this; 2785 } 2786 2787 /** 2788 * Gets the first repetition for <b>concept</b> (), 2789 * creating it if it does not already exist. 2790 * 2791 * <p> 2792 * <b>Definition:</b> 2793 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) and can only be determined by examining the definitions of the concepts 2794 * </p> 2795 */ 2796 public CodeSystemConcept getConceptFirstRep() { 2797 if (getConcept().isEmpty()) { 2798 return addConcept(); 2799 } 2800 return getConcept().get(0); 2801 } 2802 2803 2804 2805 } 2806 2807 /** 2808 * Block class for child element: <b>ValueSet.codeSystem.concept.designation</b> () 2809 * 2810 * <p> 2811 * <b>Definition:</b> 2812 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 2813 * </p> 2814 */ 2815 @Block() 2816 public static class CodeSystemConceptDesignation 2817 extends BaseIdentifiableElement implements IResourceBlock { 2818 2819 @Child(name="language", type=CodeDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2820 @Description( 2821 shortDefinition="", 2822 formalDefinition="The language this designation is defined for" 2823 ) 2824 private CodeDt myLanguage; 2825 2826 @Child(name="use", type=CodingDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2827 @Description( 2828 shortDefinition="", 2829 formalDefinition="A code that details how this designation would be used" 2830 ) 2831 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-designation-use") 2832 private CodingDt myUse; 2833 2834 @Child(name="value", type=StringDt.class, order=2, min=1, max=1, summary=false, modifier=false) 2835 @Description( 2836 shortDefinition="", 2837 formalDefinition="The text value for this designation" 2838 ) 2839 private StringDt myValue; 2840 2841 2842 @Override 2843 public boolean isEmpty() { 2844 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myLanguage, myUse, myValue); 2845 } 2846 2847 @Override 2848 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2849 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myLanguage, myUse, myValue); 2850 } 2851 2852 /** 2853 * Gets the value(s) for <b>language</b> (). 2854 * creating it if it does 2855 * not exist. Will not return <code>null</code>. 2856 * 2857 * <p> 2858 * <b>Definition:</b> 2859 * The language this designation is defined for 2860 * </p> 2861 */ 2862 public CodeDt getLanguageElement() { 2863 if (myLanguage == null) { 2864 myLanguage = new CodeDt(); 2865 } 2866 return myLanguage; 2867 } 2868 2869 2870 /** 2871 * Gets the value(s) for <b>language</b> (). 2872 * creating it if it does 2873 * not exist. This method may return <code>null</code>. 2874 * 2875 * <p> 2876 * <b>Definition:</b> 2877 * The language this designation is defined for 2878 * </p> 2879 */ 2880 public String getLanguage() { 2881 return getLanguageElement().getValue(); 2882 } 2883 2884 /** 2885 * Sets the value(s) for <b>language</b> () 2886 * 2887 * <p> 2888 * <b>Definition:</b> 2889 * The language this designation is defined for 2890 * </p> 2891 */ 2892 public CodeSystemConceptDesignation setLanguage(CodeDt theValue) { 2893 myLanguage = theValue; 2894 return this; 2895 } 2896 2897 2898 2899 /** 2900 * Sets the value for <b>language</b> () 2901 * 2902 * <p> 2903 * <b>Definition:</b> 2904 * The language this designation is defined for 2905 * </p> 2906 */ 2907 public CodeSystemConceptDesignation setLanguage( String theCode) { 2908 myLanguage = new CodeDt(theCode); 2909 return this; 2910 } 2911 2912 2913 /** 2914 * Gets the value(s) for <b>use</b> (). 2915 * creating it if it does 2916 * not exist. Will not return <code>null</code>. 2917 * 2918 * <p> 2919 * <b>Definition:</b> 2920 * A code that details how this designation would be used 2921 * </p> 2922 */ 2923 public CodingDt getUse() { 2924 if (myUse == null) { 2925 myUse = new CodingDt(); 2926 } 2927 return myUse; 2928 } 2929 2930 /** 2931 * Sets the value(s) for <b>use</b> () 2932 * 2933 * <p> 2934 * <b>Definition:</b> 2935 * A code that details how this designation would be used 2936 * </p> 2937 */ 2938 public CodeSystemConceptDesignation setUse(CodingDt theValue) { 2939 myUse = theValue; 2940 return this; 2941 } 2942 2943 2944 2945 2946 /** 2947 * Gets the value(s) for <b>value</b> (). 2948 * creating it if it does 2949 * not exist. Will not return <code>null</code>. 2950 * 2951 * <p> 2952 * <b>Definition:</b> 2953 * The text value for this designation 2954 * </p> 2955 */ 2956 public StringDt getValueElement() { 2957 if (myValue == null) { 2958 myValue = new StringDt(); 2959 } 2960 return myValue; 2961 } 2962 2963 2964 /** 2965 * Gets the value(s) for <b>value</b> (). 2966 * creating it if it does 2967 * not exist. This method may return <code>null</code>. 2968 * 2969 * <p> 2970 * <b>Definition:</b> 2971 * The text value for this designation 2972 * </p> 2973 */ 2974 public String getValue() { 2975 return getValueElement().getValue(); 2976 } 2977 2978 /** 2979 * Sets the value(s) for <b>value</b> () 2980 * 2981 * <p> 2982 * <b>Definition:</b> 2983 * The text value for this designation 2984 * </p> 2985 */ 2986 public CodeSystemConceptDesignation setValue(StringDt theValue) { 2987 myValue = theValue; 2988 return this; 2989 } 2990 2991 2992 2993 /** 2994 * Sets the value for <b>value</b> () 2995 * 2996 * <p> 2997 * <b>Definition:</b> 2998 * The text value for this designation 2999 * </p> 3000 */ 3001 public CodeSystemConceptDesignation setValue( String theString) { 3002 myValue = new StringDt(theString); 3003 return this; 3004 } 3005 3006 3007 3008 3009 } 3010 3011 3012 3013 3014 /** 3015 * Block class for child element: <b>ValueSet.compose</b> () 3016 * 3017 * <p> 3018 * <b>Definition:</b> 3019 * A set of criteria that provide the content logical definition of the value set by including or excluding codes from outside this value set 3020 * </p> 3021 */ 3022 @Block() 3023 public static class Compose 3024 extends BaseIdentifiableElement implements IResourceBlock { 3025 3026 @Child(name="import", type=UriDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 3027 @Description( 3028 shortDefinition="", 3029 formalDefinition="Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri" 3030 ) 3031 private java.util.List<UriDt> myImport; 3032 3033 @Child(name="include", order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 3034 @Description( 3035 shortDefinition="", 3036 formalDefinition="Include one or more codes from a code system" 3037 ) 3038 private java.util.List<ComposeInclude> myInclude; 3039 3040 @Child(name="exclude", type=ComposeInclude.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3041 @Description( 3042 shortDefinition="", 3043 formalDefinition="Exclude one or more codes from the value set" 3044 ) 3045 private java.util.List<ComposeInclude> myExclude; 3046 3047 3048 @Override 3049 public boolean isEmpty() { 3050 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myImport, myInclude, myExclude); 3051 } 3052 3053 @Override 3054 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3055 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myImport, myInclude, myExclude); 3056 } 3057 3058 /** 3059 * Gets the value(s) for <b>import</b> (). 3060 * creating it if it does 3061 * not exist. Will not return <code>null</code>. 3062 * 3063 * <p> 3064 * <b>Definition:</b> 3065 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3066 * </p> 3067 */ 3068 public java.util.List<UriDt> getImport() { 3069 if (myImport == null) { 3070 myImport = new java.util.ArrayList<UriDt>(); 3071 } 3072 return myImport; 3073 } 3074 3075 /** 3076 * Sets the value(s) for <b>import</b> () 3077 * 3078 * <p> 3079 * <b>Definition:</b> 3080 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3081 * </p> 3082 */ 3083 public Compose setImport(java.util.List<UriDt> theValue) { 3084 myImport = theValue; 3085 return this; 3086 } 3087 3088 3089 3090 /** 3091 * Adds and returns a new value for <b>import</b> () 3092 * 3093 * <p> 3094 * <b>Definition:</b> 3095 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3096 * </p> 3097 */ 3098 public UriDt addImport() { 3099 UriDt newType = new UriDt(); 3100 getImport().add(newType); 3101 return newType; 3102 } 3103 3104 /** 3105 * Adds a given new value for <b>import</b> () 3106 * 3107 * <p> 3108 * <b>Definition:</b> 3109 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3110 * </p> 3111 * @param theValue The import to add (must not be <code>null</code>) 3112 */ 3113 public Compose addImport(UriDt theValue) { 3114 if (theValue == null) { 3115 throw new NullPointerException("theValue must not be null"); 3116 } 3117 getImport().add(theValue); 3118 return this; 3119 } 3120 3121 /** 3122 * Gets the first repetition for <b>import</b> (), 3123 * creating it if it does not already exist. 3124 * 3125 * <p> 3126 * <b>Definition:</b> 3127 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3128 * </p> 3129 */ 3130 public UriDt getImportFirstRep() { 3131 if (getImport().isEmpty()) { 3132 return addImport(); 3133 } 3134 return getImport().get(0); 3135 } 3136 /** 3137 * Adds a new value for <b>import</b> () 3138 * 3139 * <p> 3140 * <b>Definition:</b> 3141 * Includes the contents of the referenced value set as a part of the contents of this value set. This is an absolute URI that is a reference to ValueSet.uri 3142 * </p> 3143 * 3144 * @return Returns a reference to this object, to allow for simple chaining. 3145 */ 3146 public Compose addImport( String theUri) { 3147 if (myImport == null) { 3148 myImport = new java.util.ArrayList<UriDt>(); 3149 } 3150 myImport.add(new UriDt(theUri)); 3151 return this; 3152 } 3153 3154 3155 /** 3156 * Gets the value(s) for <b>include</b> (). 3157 * creating it if it does 3158 * not exist. Will not return <code>null</code>. 3159 * 3160 * <p> 3161 * <b>Definition:</b> 3162 * Include one or more codes from a code system 3163 * </p> 3164 */ 3165 public java.util.List<ComposeInclude> getInclude() { 3166 if (myInclude == null) { 3167 myInclude = new java.util.ArrayList<ComposeInclude>(); 3168 } 3169 return myInclude; 3170 } 3171 3172 /** 3173 * Sets the value(s) for <b>include</b> () 3174 * 3175 * <p> 3176 * <b>Definition:</b> 3177 * Include one or more codes from a code system 3178 * </p> 3179 */ 3180 public Compose setInclude(java.util.List<ComposeInclude> theValue) { 3181 myInclude = theValue; 3182 return this; 3183 } 3184 3185 3186 3187 /** 3188 * Adds and returns a new value for <b>include</b> () 3189 * 3190 * <p> 3191 * <b>Definition:</b> 3192 * Include one or more codes from a code system 3193 * </p> 3194 */ 3195 public ComposeInclude addInclude() { 3196 ComposeInclude newType = new ComposeInclude(); 3197 getInclude().add(newType); 3198 return newType; 3199 } 3200 3201 /** 3202 * Adds a given new value for <b>include</b> () 3203 * 3204 * <p> 3205 * <b>Definition:</b> 3206 * Include one or more codes from a code system 3207 * </p> 3208 * @param theValue The include to add (must not be <code>null</code>) 3209 */ 3210 public Compose addInclude(ComposeInclude theValue) { 3211 if (theValue == null) { 3212 throw new NullPointerException("theValue must not be null"); 3213 } 3214 getInclude().add(theValue); 3215 return this; 3216 } 3217 3218 /** 3219 * Gets the first repetition for <b>include</b> (), 3220 * creating it if it does not already exist. 3221 * 3222 * <p> 3223 * <b>Definition:</b> 3224 * Include one or more codes from a code system 3225 * </p> 3226 */ 3227 public ComposeInclude getIncludeFirstRep() { 3228 if (getInclude().isEmpty()) { 3229 return addInclude(); 3230 } 3231 return getInclude().get(0); 3232 } 3233 3234 /** 3235 * Gets the value(s) for <b>exclude</b> (). 3236 * creating it if it does 3237 * not exist. Will not return <code>null</code>. 3238 * 3239 * <p> 3240 * <b>Definition:</b> 3241 * Exclude one or more codes from the value set 3242 * </p> 3243 */ 3244 public java.util.List<ComposeInclude> getExclude() { 3245 if (myExclude == null) { 3246 myExclude = new java.util.ArrayList<ComposeInclude>(); 3247 } 3248 return myExclude; 3249 } 3250 3251 /** 3252 * Sets the value(s) for <b>exclude</b> () 3253 * 3254 * <p> 3255 * <b>Definition:</b> 3256 * Exclude one or more codes from the value set 3257 * </p> 3258 */ 3259 public Compose setExclude(java.util.List<ComposeInclude> theValue) { 3260 myExclude = theValue; 3261 return this; 3262 } 3263 3264 3265 3266 /** 3267 * Adds and returns a new value for <b>exclude</b> () 3268 * 3269 * <p> 3270 * <b>Definition:</b> 3271 * Exclude one or more codes from the value set 3272 * </p> 3273 */ 3274 public ComposeInclude addExclude() { 3275 ComposeInclude newType = new ComposeInclude(); 3276 getExclude().add(newType); 3277 return newType; 3278 } 3279 3280 /** 3281 * Adds a given new value for <b>exclude</b> () 3282 * 3283 * <p> 3284 * <b>Definition:</b> 3285 * Exclude one or more codes from the value set 3286 * </p> 3287 * @param theValue The exclude to add (must not be <code>null</code>) 3288 */ 3289 public Compose addExclude(ComposeInclude theValue) { 3290 if (theValue == null) { 3291 throw new NullPointerException("theValue must not be null"); 3292 } 3293 getExclude().add(theValue); 3294 return this; 3295 } 3296 3297 /** 3298 * Gets the first repetition for <b>exclude</b> (), 3299 * creating it if it does not already exist. 3300 * 3301 * <p> 3302 * <b>Definition:</b> 3303 * Exclude one or more codes from the value set 3304 * </p> 3305 */ 3306 public ComposeInclude getExcludeFirstRep() { 3307 if (getExclude().isEmpty()) { 3308 return addExclude(); 3309 } 3310 return getExclude().get(0); 3311 } 3312 3313 3314 3315 } 3316 3317 /** 3318 * Block class for child element: <b>ValueSet.compose.include</b> () 3319 * 3320 * <p> 3321 * <b>Definition:</b> 3322 * Include one or more codes from a code system 3323 * </p> 3324 */ 3325 @Block() 3326 public static class ComposeInclude 3327 extends BaseIdentifiableElement implements IResourceBlock { 3328 3329 @Child(name="system", type=UriDt.class, order=0, min=1, max=1, summary=true, modifier=false) 3330 @Description( 3331 shortDefinition="", 3332 formalDefinition="An absolute URI which is the code system from which the selected codes come from" 3333 ) 3334 private UriDt mySystem; 3335 3336 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 3337 @Description( 3338 shortDefinition="", 3339 formalDefinition="The version of the code system that the codes are selected from" 3340 ) 3341 private StringDt myVersion; 3342 3343 @Child(name="concept", order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3344 @Description( 3345 shortDefinition="", 3346 formalDefinition="Specifies a concept to be included or excluded." 3347 ) 3348 private java.util.List<ComposeIncludeConcept> myConcept; 3349 3350 @Child(name="filter", order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3351 @Description( 3352 shortDefinition="", 3353 formalDefinition="Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true." 3354 ) 3355 private java.util.List<ComposeIncludeFilter> myFilter; 3356 3357 3358 @Override 3359 public boolean isEmpty() { 3360 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySystem, myVersion, myConcept, myFilter); 3361 } 3362 3363 @Override 3364 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3365 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySystem, myVersion, myConcept, myFilter); 3366 } 3367 3368 /** 3369 * Gets the value(s) for <b>system</b> (). 3370 * creating it if it does 3371 * not exist. Will not return <code>null</code>. 3372 * 3373 * <p> 3374 * <b>Definition:</b> 3375 * An absolute URI which is the code system from which the selected codes come from 3376 * </p> 3377 */ 3378 public UriDt getSystemElement() { 3379 if (mySystem == null) { 3380 mySystem = new UriDt(); 3381 } 3382 return mySystem; 3383 } 3384 3385 3386 /** 3387 * Gets the value(s) for <b>system</b> (). 3388 * creating it if it does 3389 * not exist. This method may return <code>null</code>. 3390 * 3391 * <p> 3392 * <b>Definition:</b> 3393 * An absolute URI which is the code system from which the selected codes come from 3394 * </p> 3395 */ 3396 public String getSystem() { 3397 return getSystemElement().getValue(); 3398 } 3399 3400 /** 3401 * Sets the value(s) for <b>system</b> () 3402 * 3403 * <p> 3404 * <b>Definition:</b> 3405 * An absolute URI which is the code system from which the selected codes come from 3406 * </p> 3407 */ 3408 public ComposeInclude setSystem(UriDt theValue) { 3409 mySystem = theValue; 3410 return this; 3411 } 3412 3413 3414 3415 /** 3416 * Sets the value for <b>system</b> () 3417 * 3418 * <p> 3419 * <b>Definition:</b> 3420 * An absolute URI which is the code system from which the selected codes come from 3421 * </p> 3422 */ 3423 public ComposeInclude setSystem( String theUri) { 3424 mySystem = new UriDt(theUri); 3425 return this; 3426 } 3427 3428 3429 /** 3430 * Gets the value(s) for <b>version</b> (). 3431 * creating it if it does 3432 * not exist. Will not return <code>null</code>. 3433 * 3434 * <p> 3435 * <b>Definition:</b> 3436 * The version of the code system that the codes are selected from 3437 * </p> 3438 */ 3439 public StringDt getVersionElement() { 3440 if (myVersion == null) { 3441 myVersion = new StringDt(); 3442 } 3443 return myVersion; 3444 } 3445 3446 3447 /** 3448 * Gets the value(s) for <b>version</b> (). 3449 * creating it if it does 3450 * not exist. This method may return <code>null</code>. 3451 * 3452 * <p> 3453 * <b>Definition:</b> 3454 * The version of the code system that the codes are selected from 3455 * </p> 3456 */ 3457 public String getVersion() { 3458 return getVersionElement().getValue(); 3459 } 3460 3461 /** 3462 * Sets the value(s) for <b>version</b> () 3463 * 3464 * <p> 3465 * <b>Definition:</b> 3466 * The version of the code system that the codes are selected from 3467 * </p> 3468 */ 3469 public ComposeInclude setVersion(StringDt theValue) { 3470 myVersion = theValue; 3471 return this; 3472 } 3473 3474 3475 3476 /** 3477 * Sets the value for <b>version</b> () 3478 * 3479 * <p> 3480 * <b>Definition:</b> 3481 * The version of the code system that the codes are selected from 3482 * </p> 3483 */ 3484 public ComposeInclude setVersion( String theString) { 3485 myVersion = new StringDt(theString); 3486 return this; 3487 } 3488 3489 3490 /** 3491 * Gets the value(s) for <b>concept</b> (). 3492 * creating it if it does 3493 * not exist. Will not return <code>null</code>. 3494 * 3495 * <p> 3496 * <b>Definition:</b> 3497 * Specifies a concept to be included or excluded. 3498 * </p> 3499 */ 3500 public java.util.List<ComposeIncludeConcept> getConcept() { 3501 if (myConcept == null) { 3502 myConcept = new java.util.ArrayList<ComposeIncludeConcept>(); 3503 } 3504 return myConcept; 3505 } 3506 3507 /** 3508 * Sets the value(s) for <b>concept</b> () 3509 * 3510 * <p> 3511 * <b>Definition:</b> 3512 * Specifies a concept to be included or excluded. 3513 * </p> 3514 */ 3515 public ComposeInclude setConcept(java.util.List<ComposeIncludeConcept> theValue) { 3516 myConcept = theValue; 3517 return this; 3518 } 3519 3520 3521 3522 /** 3523 * Adds and returns a new value for <b>concept</b> () 3524 * 3525 * <p> 3526 * <b>Definition:</b> 3527 * Specifies a concept to be included or excluded. 3528 * </p> 3529 */ 3530 public ComposeIncludeConcept addConcept() { 3531 ComposeIncludeConcept newType = new ComposeIncludeConcept(); 3532 getConcept().add(newType); 3533 return newType; 3534 } 3535 3536 /** 3537 * Adds a given new value for <b>concept</b> () 3538 * 3539 * <p> 3540 * <b>Definition:</b> 3541 * Specifies a concept to be included or excluded. 3542 * </p> 3543 * @param theValue The concept to add (must not be <code>null</code>) 3544 */ 3545 public ComposeInclude addConcept(ComposeIncludeConcept theValue) { 3546 if (theValue == null) { 3547 throw new NullPointerException("theValue must not be null"); 3548 } 3549 getConcept().add(theValue); 3550 return this; 3551 } 3552 3553 /** 3554 * Gets the first repetition for <b>concept</b> (), 3555 * creating it if it does not already exist. 3556 * 3557 * <p> 3558 * <b>Definition:</b> 3559 * Specifies a concept to be included or excluded. 3560 * </p> 3561 */ 3562 public ComposeIncludeConcept getConceptFirstRep() { 3563 if (getConcept().isEmpty()) { 3564 return addConcept(); 3565 } 3566 return getConcept().get(0); 3567 } 3568 3569 /** 3570 * Gets the value(s) for <b>filter</b> (). 3571 * creating it if it does 3572 * not exist. Will not return <code>null</code>. 3573 * 3574 * <p> 3575 * <b>Definition:</b> 3576 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3577 * </p> 3578 */ 3579 public java.util.List<ComposeIncludeFilter> getFilter() { 3580 if (myFilter == null) { 3581 myFilter = new java.util.ArrayList<ComposeIncludeFilter>(); 3582 } 3583 return myFilter; 3584 } 3585 3586 /** 3587 * Sets the value(s) for <b>filter</b> () 3588 * 3589 * <p> 3590 * <b>Definition:</b> 3591 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3592 * </p> 3593 */ 3594 public ComposeInclude setFilter(java.util.List<ComposeIncludeFilter> theValue) { 3595 myFilter = theValue; 3596 return this; 3597 } 3598 3599 3600 3601 /** 3602 * Adds and returns a new value for <b>filter</b> () 3603 * 3604 * <p> 3605 * <b>Definition:</b> 3606 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3607 * </p> 3608 */ 3609 public ComposeIncludeFilter addFilter() { 3610 ComposeIncludeFilter newType = new ComposeIncludeFilter(); 3611 getFilter().add(newType); 3612 return newType; 3613 } 3614 3615 /** 3616 * Adds a given new value for <b>filter</b> () 3617 * 3618 * <p> 3619 * <b>Definition:</b> 3620 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3621 * </p> 3622 * @param theValue The filter to add (must not be <code>null</code>) 3623 */ 3624 public ComposeInclude addFilter(ComposeIncludeFilter theValue) { 3625 if (theValue == null) { 3626 throw new NullPointerException("theValue must not be null"); 3627 } 3628 getFilter().add(theValue); 3629 return this; 3630 } 3631 3632 /** 3633 * Gets the first repetition for <b>filter</b> (), 3634 * creating it if it does not already exist. 3635 * 3636 * <p> 3637 * <b>Definition:</b> 3638 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3639 * </p> 3640 */ 3641 public ComposeIncludeFilter getFilterFirstRep() { 3642 if (getFilter().isEmpty()) { 3643 return addFilter(); 3644 } 3645 return getFilter().get(0); 3646 } 3647 3648 3649 3650 } 3651 3652 /** 3653 * Block class for child element: <b>ValueSet.compose.include.concept</b> () 3654 * 3655 * <p> 3656 * <b>Definition:</b> 3657 * Specifies a concept to be included or excluded. 3658 * </p> 3659 */ 3660 @Block() 3661 public static class ComposeIncludeConcept 3662 extends BaseIdentifiableElement implements IResourceBlock { 3663 3664 @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 3665 @Description( 3666 shortDefinition="", 3667 formalDefinition="Specifies a code for the concept to be included or excluded" 3668 ) 3669 private CodeDt myCode; 3670 3671 @Child(name="display", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 3672 @Description( 3673 shortDefinition="", 3674 formalDefinition="The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system" 3675 ) 3676 private StringDt myDisplay; 3677 3678 @Child(name="designation", type=CodeSystemConceptDesignation.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3679 @Description( 3680 shortDefinition="", 3681 formalDefinition="Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc." 3682 ) 3683 private java.util.List<CodeSystemConceptDesignation> myDesignation; 3684 3685 3686 @Override 3687 public boolean isEmpty() { 3688 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myDisplay, myDesignation); 3689 } 3690 3691 @Override 3692 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3693 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myDisplay, myDesignation); 3694 } 3695 3696 /** 3697 * Gets the value(s) for <b>code</b> (). 3698 * creating it if it does 3699 * not exist. Will not return <code>null</code>. 3700 * 3701 * <p> 3702 * <b>Definition:</b> 3703 * Specifies a code for the concept to be included or excluded 3704 * </p> 3705 */ 3706 public CodeDt getCodeElement() { 3707 if (myCode == null) { 3708 myCode = new CodeDt(); 3709 } 3710 return myCode; 3711 } 3712 3713 3714 /** 3715 * Gets the value(s) for <b>code</b> (). 3716 * creating it if it does 3717 * not exist. This method may return <code>null</code>. 3718 * 3719 * <p> 3720 * <b>Definition:</b> 3721 * Specifies a code for the concept to be included or excluded 3722 * </p> 3723 */ 3724 public String getCode() { 3725 return getCodeElement().getValue(); 3726 } 3727 3728 /** 3729 * Sets the value(s) for <b>code</b> () 3730 * 3731 * <p> 3732 * <b>Definition:</b> 3733 * Specifies a code for the concept to be included or excluded 3734 * </p> 3735 */ 3736 public ComposeIncludeConcept setCode(CodeDt theValue) { 3737 myCode = theValue; 3738 return this; 3739 } 3740 3741 3742 3743 /** 3744 * Sets the value for <b>code</b> () 3745 * 3746 * <p> 3747 * <b>Definition:</b> 3748 * Specifies a code for the concept to be included or excluded 3749 * </p> 3750 */ 3751 public ComposeIncludeConcept setCode( String theCode) { 3752 myCode = new CodeDt(theCode); 3753 return this; 3754 } 3755 3756 3757 /** 3758 * Gets the value(s) for <b>display</b> (). 3759 * creating it if it does 3760 * not exist. Will not return <code>null</code>. 3761 * 3762 * <p> 3763 * <b>Definition:</b> 3764 * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system 3765 * </p> 3766 */ 3767 public StringDt getDisplayElement() { 3768 if (myDisplay == null) { 3769 myDisplay = new StringDt(); 3770 } 3771 return myDisplay; 3772 } 3773 3774 3775 /** 3776 * Gets the value(s) for <b>display</b> (). 3777 * creating it if it does 3778 * not exist. This method may return <code>null</code>. 3779 * 3780 * <p> 3781 * <b>Definition:</b> 3782 * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system 3783 * </p> 3784 */ 3785 public String getDisplay() { 3786 return getDisplayElement().getValue(); 3787 } 3788 3789 /** 3790 * Sets the value(s) for <b>display</b> () 3791 * 3792 * <p> 3793 * <b>Definition:</b> 3794 * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system 3795 * </p> 3796 */ 3797 public ComposeIncludeConcept setDisplay(StringDt theValue) { 3798 myDisplay = theValue; 3799 return this; 3800 } 3801 3802 3803 3804 /** 3805 * Sets the value for <b>display</b> () 3806 * 3807 * <p> 3808 * <b>Definition:</b> 3809 * The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system 3810 * </p> 3811 */ 3812 public ComposeIncludeConcept setDisplay( String theString) { 3813 myDisplay = new StringDt(theString); 3814 return this; 3815 } 3816 3817 3818 /** 3819 * Gets the value(s) for <b>designation</b> (). 3820 * creating it if it does 3821 * not exist. Will not return <code>null</code>. 3822 * 3823 * <p> 3824 * <b>Definition:</b> 3825 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 3826 * </p> 3827 */ 3828 public java.util.List<CodeSystemConceptDesignation> getDesignation() { 3829 if (myDesignation == null) { 3830 myDesignation = new java.util.ArrayList<CodeSystemConceptDesignation>(); 3831 } 3832 return myDesignation; 3833 } 3834 3835 /** 3836 * Sets the value(s) for <b>designation</b> () 3837 * 3838 * <p> 3839 * <b>Definition:</b> 3840 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 3841 * </p> 3842 */ 3843 public ComposeIncludeConcept setDesignation(java.util.List<CodeSystemConceptDesignation> theValue) { 3844 myDesignation = theValue; 3845 return this; 3846 } 3847 3848 3849 3850 /** 3851 * Adds and returns a new value for <b>designation</b> () 3852 * 3853 * <p> 3854 * <b>Definition:</b> 3855 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 3856 * </p> 3857 */ 3858 public CodeSystemConceptDesignation addDesignation() { 3859 CodeSystemConceptDesignation newType = new CodeSystemConceptDesignation(); 3860 getDesignation().add(newType); 3861 return newType; 3862 } 3863 3864 /** 3865 * Adds a given new value for <b>designation</b> () 3866 * 3867 * <p> 3868 * <b>Definition:</b> 3869 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 3870 * </p> 3871 * @param theValue The designation to add (must not be <code>null</code>) 3872 */ 3873 public ComposeIncludeConcept addDesignation(CodeSystemConceptDesignation theValue) { 3874 if (theValue == null) { 3875 throw new NullPointerException("theValue must not be null"); 3876 } 3877 getDesignation().add(theValue); 3878 return this; 3879 } 3880 3881 /** 3882 * Gets the first repetition for <b>designation</b> (), 3883 * creating it if it does not already exist. 3884 * 3885 * <p> 3886 * <b>Definition:</b> 3887 * Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. 3888 * </p> 3889 */ 3890 public CodeSystemConceptDesignation getDesignationFirstRep() { 3891 if (getDesignation().isEmpty()) { 3892 return addDesignation(); 3893 } 3894 return getDesignation().get(0); 3895 } 3896 3897 3898 3899 } 3900 3901 3902 /** 3903 * Block class for child element: <b>ValueSet.compose.include.filter</b> () 3904 * 3905 * <p> 3906 * <b>Definition:</b> 3907 * Select concepts by specify a matching criteria based on the properties (including relationships) defined by the system. If multiple filters are specified, they SHALL all be true. 3908 * </p> 3909 */ 3910 @Block() 3911 public static class ComposeIncludeFilter 3912 extends BaseIdentifiableElement implements IResourceBlock { 3913 3914 @Child(name="property", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 3915 @Description( 3916 shortDefinition="", 3917 formalDefinition="A code that identifies a property defined in the code system" 3918 ) 3919 private CodeDt myProperty; 3920 3921 @Child(name="op", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=false) 3922 @Description( 3923 shortDefinition="", 3924 formalDefinition="The kind of operation to perform as a part of the filter criteria" 3925 ) 3926 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/filter-operator") 3927 private BoundCodeDt<FilterOperatorEnum> myOp; 3928 3929 @Child(name="value", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) 3930 @Description( 3931 shortDefinition="", 3932 formalDefinition="The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value" 3933 ) 3934 private CodeDt myValue; 3935 3936 3937 @Override 3938 public boolean isEmpty() { 3939 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myProperty, myOp, myValue); 3940 } 3941 3942 @Override 3943 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3944 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myProperty, myOp, myValue); 3945 } 3946 3947 /** 3948 * Gets the value(s) for <b>property</b> (). 3949 * creating it if it does 3950 * not exist. Will not return <code>null</code>. 3951 * 3952 * <p> 3953 * <b>Definition:</b> 3954 * A code that identifies a property defined in the code system 3955 * </p> 3956 */ 3957 public CodeDt getPropertyElement() { 3958 if (myProperty == null) { 3959 myProperty = new CodeDt(); 3960 } 3961 return myProperty; 3962 } 3963 3964 3965 /** 3966 * Gets the value(s) for <b>property</b> (). 3967 * creating it if it does 3968 * not exist. This method may return <code>null</code>. 3969 * 3970 * <p> 3971 * <b>Definition:</b> 3972 * A code that identifies a property defined in the code system 3973 * </p> 3974 */ 3975 public String getProperty() { 3976 return getPropertyElement().getValue(); 3977 } 3978 3979 /** 3980 * Sets the value(s) for <b>property</b> () 3981 * 3982 * <p> 3983 * <b>Definition:</b> 3984 * A code that identifies a property defined in the code system 3985 * </p> 3986 */ 3987 public ComposeIncludeFilter setProperty(CodeDt theValue) { 3988 myProperty = theValue; 3989 return this; 3990 } 3991 3992 3993 3994 /** 3995 * Sets the value for <b>property</b> () 3996 * 3997 * <p> 3998 * <b>Definition:</b> 3999 * A code that identifies a property defined in the code system 4000 * </p> 4001 */ 4002 public ComposeIncludeFilter setProperty( String theCode) { 4003 myProperty = new CodeDt(theCode); 4004 return this; 4005 } 4006 4007 4008 /** 4009 * Gets the value(s) for <b>op</b> (). 4010 * creating it if it does 4011 * not exist. Will not return <code>null</code>. 4012 * 4013 * <p> 4014 * <b>Definition:</b> 4015 * The kind of operation to perform as a part of the filter criteria 4016 * </p> 4017 */ 4018 public BoundCodeDt<FilterOperatorEnum> getOpElement() { 4019 if (myOp == null) { 4020 myOp = new BoundCodeDt<FilterOperatorEnum>(FilterOperatorEnum.VALUESET_BINDER); 4021 } 4022 return myOp; 4023 } 4024 4025 4026 /** 4027 * Gets the value(s) for <b>op</b> (). 4028 * creating it if it does 4029 * not exist. This method may return <code>null</code>. 4030 * 4031 * <p> 4032 * <b>Definition:</b> 4033 * The kind of operation to perform as a part of the filter criteria 4034 * </p> 4035 */ 4036 public String getOp() { 4037 return getOpElement().getValue(); 4038 } 4039 4040 /** 4041 * Sets the value(s) for <b>op</b> () 4042 * 4043 * <p> 4044 * <b>Definition:</b> 4045 * The kind of operation to perform as a part of the filter criteria 4046 * </p> 4047 */ 4048 public ComposeIncludeFilter setOp(BoundCodeDt<FilterOperatorEnum> theValue) { 4049 myOp = theValue; 4050 return this; 4051 } 4052 4053 4054 4055 /** 4056 * Sets the value(s) for <b>op</b> () 4057 * 4058 * <p> 4059 * <b>Definition:</b> 4060 * The kind of operation to perform as a part of the filter criteria 4061 * </p> 4062 */ 4063 public ComposeIncludeFilter setOp(FilterOperatorEnum theValue) { 4064 setOp(new BoundCodeDt<FilterOperatorEnum>(FilterOperatorEnum.VALUESET_BINDER, theValue)); 4065 4066/* 4067 getOpElement().setValueAsEnum(theValue); 4068*/ 4069 return this; 4070 } 4071 4072 4073 /** 4074 * Gets the value(s) for <b>value</b> (). 4075 * creating it if it does 4076 * not exist. Will not return <code>null</code>. 4077 * 4078 * <p> 4079 * <b>Definition:</b> 4080 * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value 4081 * </p> 4082 */ 4083 public CodeDt getValueElement() { 4084 if (myValue == null) { 4085 myValue = new CodeDt(); 4086 } 4087 return myValue; 4088 } 4089 4090 4091 /** 4092 * Gets the value(s) for <b>value</b> (). 4093 * creating it if it does 4094 * not exist. This method may return <code>null</code>. 4095 * 4096 * <p> 4097 * <b>Definition:</b> 4098 * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value 4099 * </p> 4100 */ 4101 public String getValue() { 4102 return getValueElement().getValue(); 4103 } 4104 4105 /** 4106 * Sets the value(s) for <b>value</b> () 4107 * 4108 * <p> 4109 * <b>Definition:</b> 4110 * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value 4111 * </p> 4112 */ 4113 public ComposeIncludeFilter setValue(CodeDt theValue) { 4114 myValue = theValue; 4115 return this; 4116 } 4117 4118 4119 4120 /** 4121 * Sets the value for <b>value</b> () 4122 * 4123 * <p> 4124 * <b>Definition:</b> 4125 * The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value 4126 * </p> 4127 */ 4128 public ComposeIncludeFilter setValue( String theCode) { 4129 myValue = new CodeDt(theCode); 4130 return this; 4131 } 4132 4133 4134 4135 4136 } 4137 4138 4139 4140 4141 /** 4142 * Block class for child element: <b>ValueSet.expansion</b> () 4143 * 4144 * <p> 4145 * <b>Definition:</b> 4146 * A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed 4147 * </p> 4148 */ 4149 @Block() 4150 public static class Expansion 4151 extends BaseIdentifiableElement implements IResourceBlock { 4152 4153 @Child(name="identifier", type=UriDt.class, order=0, min=1, max=1, summary=false, modifier=false) 4154 @Description( 4155 shortDefinition="", 4156 formalDefinition="An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so" 4157 ) 4158 private UriDt myIdentifier; 4159 4160 @Child(name="timestamp", type=DateTimeDt.class, order=1, min=1, max=1, summary=false, modifier=false) 4161 @Description( 4162 shortDefinition="", 4163 formalDefinition="The time at which the expansion was produced by the expanding system." 4164 ) 4165 private DateTimeDt myTimestamp; 4166 4167 @Child(name="total", type=IntegerDt.class, order=2, min=0, max=1, summary=false, modifier=false) 4168 @Description( 4169 shortDefinition="", 4170 formalDefinition="The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter" 4171 ) 4172 private IntegerDt myTotal; 4173 4174 @Child(name="offset", type=IntegerDt.class, order=3, min=0, max=1, summary=false, modifier=false) 4175 @Description( 4176 shortDefinition="", 4177 formalDefinition="If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present" 4178 ) 4179 private IntegerDt myOffset; 4180 4181 @Child(name="parameter", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4182 @Description( 4183 shortDefinition="", 4184 formalDefinition="A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion" 4185 ) 4186 private java.util.List<ExpansionParameter> myParameter; 4187 4188 @Child(name="contains", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4189 @Description( 4190 shortDefinition="", 4191 formalDefinition="The codes that are contained in the value set expansion" 4192 ) 4193 private java.util.List<ExpansionContains> myContains; 4194 4195 4196 @Override 4197 public boolean isEmpty() { 4198 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myTimestamp, myTotal, myOffset, myParameter, myContains); 4199 } 4200 4201 @Override 4202 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4203 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myTimestamp, myTotal, myOffset, myParameter, myContains); 4204 } 4205 4206 /** 4207 * Gets the value(s) for <b>identifier</b> (). 4208 * creating it if it does 4209 * not exist. Will not return <code>null</code>. 4210 * 4211 * <p> 4212 * <b>Definition:</b> 4213 * An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so 4214 * </p> 4215 */ 4216 public UriDt getIdentifierElement() { 4217 if (myIdentifier == null) { 4218 myIdentifier = new UriDt(); 4219 } 4220 return myIdentifier; 4221 } 4222 4223 4224 /** 4225 * Gets the value(s) for <b>identifier</b> (). 4226 * creating it if it does 4227 * not exist. This method may return <code>null</code>. 4228 * 4229 * <p> 4230 * <b>Definition:</b> 4231 * An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so 4232 * </p> 4233 */ 4234 public String getIdentifier() { 4235 return getIdentifierElement().getValue(); 4236 } 4237 4238 /** 4239 * Sets the value(s) for <b>identifier</b> () 4240 * 4241 * <p> 4242 * <b>Definition:</b> 4243 * An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so 4244 * </p> 4245 */ 4246 public Expansion setIdentifier(UriDt theValue) { 4247 myIdentifier = theValue; 4248 return this; 4249 } 4250 4251 4252 4253 /** 4254 * Sets the value for <b>identifier</b> () 4255 * 4256 * <p> 4257 * <b>Definition:</b> 4258 * An identifier that uniquely identifies this expansion of the valueset. Systems may re-use the same identifier as long as the expansion and the definition remain the same, but are not required to do so 4259 * </p> 4260 */ 4261 public Expansion setIdentifier( String theUri) { 4262 myIdentifier = new UriDt(theUri); 4263 return this; 4264 } 4265 4266 4267 /** 4268 * Gets the value(s) for <b>timestamp</b> (). 4269 * creating it if it does 4270 * not exist. Will not return <code>null</code>. 4271 * 4272 * <p> 4273 * <b>Definition:</b> 4274 * The time at which the expansion was produced by the expanding system. 4275 * </p> 4276 */ 4277 public DateTimeDt getTimestampElement() { 4278 if (myTimestamp == null) { 4279 myTimestamp = new DateTimeDt(); 4280 } 4281 return myTimestamp; 4282 } 4283 4284 4285 /** 4286 * Gets the value(s) for <b>timestamp</b> (). 4287 * creating it if it does 4288 * not exist. This method may return <code>null</code>. 4289 * 4290 * <p> 4291 * <b>Definition:</b> 4292 * The time at which the expansion was produced by the expanding system. 4293 * </p> 4294 */ 4295 public Date getTimestamp() { 4296 return getTimestampElement().getValue(); 4297 } 4298 4299 /** 4300 * Sets the value(s) for <b>timestamp</b> () 4301 * 4302 * <p> 4303 * <b>Definition:</b> 4304 * The time at which the expansion was produced by the expanding system. 4305 * </p> 4306 */ 4307 public Expansion setTimestamp(DateTimeDt theValue) { 4308 myTimestamp = theValue; 4309 return this; 4310 } 4311 4312 4313 4314 /** 4315 * Sets the value for <b>timestamp</b> () 4316 * 4317 * <p> 4318 * <b>Definition:</b> 4319 * The time at which the expansion was produced by the expanding system. 4320 * </p> 4321 */ 4322 public Expansion setTimestamp( Date theDate, TemporalPrecisionEnum thePrecision) { 4323 myTimestamp = new DateTimeDt(theDate, thePrecision); 4324 return this; 4325 } 4326 4327 /** 4328 * Sets the value for <b>timestamp</b> () 4329 * 4330 * <p> 4331 * <b>Definition:</b> 4332 * The time at which the expansion was produced by the expanding system. 4333 * </p> 4334 */ 4335 public Expansion setTimestampWithSecondsPrecision( Date theDate) { 4336 myTimestamp = new DateTimeDt(theDate); 4337 return this; 4338 } 4339 4340 4341 /** 4342 * Gets the value(s) for <b>total</b> (). 4343 * creating it if it does 4344 * not exist. Will not return <code>null</code>. 4345 * 4346 * <p> 4347 * <b>Definition:</b> 4348 * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter 4349 * </p> 4350 */ 4351 public IntegerDt getTotalElement() { 4352 if (myTotal == null) { 4353 myTotal = new IntegerDt(); 4354 } 4355 return myTotal; 4356 } 4357 4358 4359 /** 4360 * Gets the value(s) for <b>total</b> (). 4361 * creating it if it does 4362 * not exist. This method may return <code>null</code>. 4363 * 4364 * <p> 4365 * <b>Definition:</b> 4366 * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter 4367 * </p> 4368 */ 4369 public Integer getTotal() { 4370 return getTotalElement().getValue(); 4371 } 4372 4373 /** 4374 * Sets the value(s) for <b>total</b> () 4375 * 4376 * <p> 4377 * <b>Definition:</b> 4378 * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter 4379 * </p> 4380 */ 4381 public Expansion setTotal(IntegerDt theValue) { 4382 myTotal = theValue; 4383 return this; 4384 } 4385 4386 4387 4388 /** 4389 * Sets the value for <b>total</b> () 4390 * 4391 * <p> 4392 * <b>Definition:</b> 4393 * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter 4394 * </p> 4395 */ 4396 public Expansion setTotal( int theInteger) { 4397 myTotal = new IntegerDt(theInteger); 4398 return this; 4399 } 4400 4401 4402 /** 4403 * Gets the value(s) for <b>offset</b> (). 4404 * creating it if it does 4405 * not exist. Will not return <code>null</code>. 4406 * 4407 * <p> 4408 * <b>Definition:</b> 4409 * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present 4410 * </p> 4411 */ 4412 public IntegerDt getOffsetElement() { 4413 if (myOffset == null) { 4414 myOffset = new IntegerDt(); 4415 } 4416 return myOffset; 4417 } 4418 4419 4420 /** 4421 * Gets the value(s) for <b>offset</b> (). 4422 * creating it if it does 4423 * not exist. This method may return <code>null</code>. 4424 * 4425 * <p> 4426 * <b>Definition:</b> 4427 * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present 4428 * </p> 4429 */ 4430 public Integer getOffset() { 4431 return getOffsetElement().getValue(); 4432 } 4433 4434 /** 4435 * Sets the value(s) for <b>offset</b> () 4436 * 4437 * <p> 4438 * <b>Definition:</b> 4439 * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present 4440 * </p> 4441 */ 4442 public Expansion setOffset(IntegerDt theValue) { 4443 myOffset = theValue; 4444 return this; 4445 } 4446 4447 4448 4449 /** 4450 * Sets the value for <b>offset</b> () 4451 * 4452 * <p> 4453 * <b>Definition:</b> 4454 * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL not be present 4455 * </p> 4456 */ 4457 public Expansion setOffset( int theInteger) { 4458 myOffset = new IntegerDt(theInteger); 4459 return this; 4460 } 4461 4462 4463 /** 4464 * Gets the value(s) for <b>parameter</b> (). 4465 * creating it if it does 4466 * not exist. Will not return <code>null</code>. 4467 * 4468 * <p> 4469 * <b>Definition:</b> 4470 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4471 * </p> 4472 */ 4473 public java.util.List<ExpansionParameter> getParameter() { 4474 if (myParameter == null) { 4475 myParameter = new java.util.ArrayList<ExpansionParameter>(); 4476 } 4477 return myParameter; 4478 } 4479 4480 /** 4481 * Sets the value(s) for <b>parameter</b> () 4482 * 4483 * <p> 4484 * <b>Definition:</b> 4485 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4486 * </p> 4487 */ 4488 public Expansion setParameter(java.util.List<ExpansionParameter> theValue) { 4489 myParameter = theValue; 4490 return this; 4491 } 4492 4493 4494 4495 /** 4496 * Adds and returns a new value for <b>parameter</b> () 4497 * 4498 * <p> 4499 * <b>Definition:</b> 4500 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4501 * </p> 4502 */ 4503 public ExpansionParameter addParameter() { 4504 ExpansionParameter newType = new ExpansionParameter(); 4505 getParameter().add(newType); 4506 return newType; 4507 } 4508 4509 /** 4510 * Adds a given new value for <b>parameter</b> () 4511 * 4512 * <p> 4513 * <b>Definition:</b> 4514 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4515 * </p> 4516 * @param theValue The parameter to add (must not be <code>null</code>) 4517 */ 4518 public Expansion addParameter(ExpansionParameter theValue) { 4519 if (theValue == null) { 4520 throw new NullPointerException("theValue must not be null"); 4521 } 4522 getParameter().add(theValue); 4523 return this; 4524 } 4525 4526 /** 4527 * Gets the first repetition for <b>parameter</b> (), 4528 * creating it if it does not already exist. 4529 * 4530 * <p> 4531 * <b>Definition:</b> 4532 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4533 * </p> 4534 */ 4535 public ExpansionParameter getParameterFirstRep() { 4536 if (getParameter().isEmpty()) { 4537 return addParameter(); 4538 } 4539 return getParameter().get(0); 4540 } 4541 4542 /** 4543 * Gets the value(s) for <b>contains</b> (). 4544 * creating it if it does 4545 * not exist. Will not return <code>null</code>. 4546 * 4547 * <p> 4548 * <b>Definition:</b> 4549 * The codes that are contained in the value set expansion 4550 * </p> 4551 */ 4552 public java.util.List<ExpansionContains> getContains() { 4553 if (myContains == null) { 4554 myContains = new java.util.ArrayList<ExpansionContains>(); 4555 } 4556 return myContains; 4557 } 4558 4559 /** 4560 * Sets the value(s) for <b>contains</b> () 4561 * 4562 * <p> 4563 * <b>Definition:</b> 4564 * The codes that are contained in the value set expansion 4565 * </p> 4566 */ 4567 public Expansion setContains(java.util.List<ExpansionContains> theValue) { 4568 myContains = theValue; 4569 return this; 4570 } 4571 4572 4573 4574 /** 4575 * Adds and returns a new value for <b>contains</b> () 4576 * 4577 * <p> 4578 * <b>Definition:</b> 4579 * The codes that are contained in the value set expansion 4580 * </p> 4581 */ 4582 public ExpansionContains addContains() { 4583 ExpansionContains newType = new ExpansionContains(); 4584 getContains().add(newType); 4585 return newType; 4586 } 4587 4588 /** 4589 * Adds a given new value for <b>contains</b> () 4590 * 4591 * <p> 4592 * <b>Definition:</b> 4593 * The codes that are contained in the value set expansion 4594 * </p> 4595 * @param theValue The contains to add (must not be <code>null</code>) 4596 */ 4597 public Expansion addContains(ExpansionContains theValue) { 4598 if (theValue == null) { 4599 throw new NullPointerException("theValue must not be null"); 4600 } 4601 getContains().add(theValue); 4602 return this; 4603 } 4604 4605 /** 4606 * Gets the first repetition for <b>contains</b> (), 4607 * creating it if it does not already exist. 4608 * 4609 * <p> 4610 * <b>Definition:</b> 4611 * The codes that are contained in the value set expansion 4612 * </p> 4613 */ 4614 public ExpansionContains getContainsFirstRep() { 4615 if (getContains().isEmpty()) { 4616 return addContains(); 4617 } 4618 return getContains().get(0); 4619 } 4620 4621 4622 4623 } 4624 4625 /** 4626 * Block class for child element: <b>ValueSet.expansion.parameter</b> () 4627 * 4628 * <p> 4629 * <b>Definition:</b> 4630 * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion 4631 * </p> 4632 */ 4633 @Block() 4634 public static class ExpansionParameter 4635 extends BaseIdentifiableElement implements IResourceBlock { 4636 4637 @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) 4638 @Description( 4639 shortDefinition="", 4640 formalDefinition="The name of the parameter" 4641 ) 4642 private StringDt myName; 4643 4644 @Child(name="value", order=1, min=0, max=1, summary=false, modifier=false, type={ 4645 StringDt.class, BooleanDt.class, IntegerDt.class, DecimalDt.class, UriDt.class, CodeDt.class }) 4646 @Description( 4647 shortDefinition="", 4648 formalDefinition="The value of the parameter" 4649 ) 4650 private IDatatype myValue; 4651 4652 4653 @Override 4654 public boolean isEmpty() { 4655 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myValue); 4656 } 4657 4658 @Override 4659 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4660 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myValue); 4661 } 4662 4663 /** 4664 * Gets the value(s) for <b>name</b> (). 4665 * creating it if it does 4666 * not exist. Will not return <code>null</code>. 4667 * 4668 * <p> 4669 * <b>Definition:</b> 4670 * The name of the parameter 4671 * </p> 4672 */ 4673 public StringDt getNameElement() { 4674 if (myName == null) { 4675 myName = new StringDt(); 4676 } 4677 return myName; 4678 } 4679 4680 4681 /** 4682 * Gets the value(s) for <b>name</b> (). 4683 * creating it if it does 4684 * not exist. This method may return <code>null</code>. 4685 * 4686 * <p> 4687 * <b>Definition:</b> 4688 * The name of the parameter 4689 * </p> 4690 */ 4691 public String getName() { 4692 return getNameElement().getValue(); 4693 } 4694 4695 /** 4696 * Sets the value(s) for <b>name</b> () 4697 * 4698 * <p> 4699 * <b>Definition:</b> 4700 * The name of the parameter 4701 * </p> 4702 */ 4703 public ExpansionParameter setName(StringDt theValue) { 4704 myName = theValue; 4705 return this; 4706 } 4707 4708 4709 4710 /** 4711 * Sets the value for <b>name</b> () 4712 * 4713 * <p> 4714 * <b>Definition:</b> 4715 * The name of the parameter 4716 * </p> 4717 */ 4718 public ExpansionParameter setName( String theString) { 4719 myName = new StringDt(theString); 4720 return this; 4721 } 4722 4723 4724 /** 4725 * Gets the value(s) for <b>value[x]</b> (). 4726 * creating it if it does 4727 * not exist. Will not return <code>null</code>. 4728 * 4729 * <p> 4730 * <b>Definition:</b> 4731 * The value of the parameter 4732 * </p> 4733 */ 4734 public IDatatype getValue() { 4735 return myValue; 4736 } 4737 4738 /** 4739 * Sets the value(s) for <b>value[x]</b> () 4740 * 4741 * <p> 4742 * <b>Definition:</b> 4743 * The value of the parameter 4744 * </p> 4745 */ 4746 public ExpansionParameter setValue(IDatatype theValue) { 4747 myValue = theValue; 4748 return this; 4749 } 4750 4751 4752 4753 4754 4755 4756 } 4757 4758 4759 /** 4760 * Block class for child element: <b>ValueSet.expansion.contains</b> () 4761 * 4762 * <p> 4763 * <b>Definition:</b> 4764 * The codes that are contained in the value set expansion 4765 * </p> 4766 */ 4767 @Block() 4768 public static class ExpansionContains 4769 extends BaseIdentifiableElement implements IResourceBlock { 4770 4771 @Child(name="system", type=UriDt.class, order=0, min=0, max=1, summary=false, modifier=false) 4772 @Description( 4773 shortDefinition="", 4774 formalDefinition="An absolute URI which is the code system in which the code for this item in the expansion is defined" 4775 ) 4776 private UriDt mySystem; 4777 4778 @Child(name="abstract", type=BooleanDt.class, order=1, min=0, max=1, summary=false, modifier=false) 4779 @Description( 4780 shortDefinition="", 4781 formalDefinition="If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value" 4782 ) 4783 private BooleanDt myAbstract; 4784 4785 @Child(name="version", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 4786 @Description( 4787 shortDefinition="", 4788 formalDefinition="The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence" 4789 ) 4790 private StringDt myVersion; 4791 4792 @Child(name="code", type=CodeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 4793 @Description( 4794 shortDefinition="", 4795 formalDefinition="The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set" 4796 ) 4797 private CodeDt myCode; 4798 4799 @Child(name="display", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 4800 @Description( 4801 shortDefinition="", 4802 formalDefinition="The recommended display for this item in the expansion" 4803 ) 4804 private StringDt myDisplay; 4805 4806 @Child(name="contains", type=ExpansionContains.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4807 @Description( 4808 shortDefinition="", 4809 formalDefinition="Other codes and entries contained under this entry in the hierarchy" 4810 ) 4811 private java.util.List<ExpansionContains> myContains; 4812 4813 4814 @Override 4815 public boolean isEmpty() { 4816 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySystem, myAbstract, myVersion, myCode, myDisplay, myContains); 4817 } 4818 4819 @Override 4820 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4821 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySystem, myAbstract, myVersion, myCode, myDisplay, myContains); 4822 } 4823 4824 /** 4825 * Gets the value(s) for <b>system</b> (). 4826 * creating it if it does 4827 * not exist. Will not return <code>null</code>. 4828 * 4829 * <p> 4830 * <b>Definition:</b> 4831 * An absolute URI which is the code system in which the code for this item in the expansion is defined 4832 * </p> 4833 */ 4834 public UriDt getSystemElement() { 4835 if (mySystem == null) { 4836 mySystem = new UriDt(); 4837 } 4838 return mySystem; 4839 } 4840 4841 4842 /** 4843 * Gets the value(s) for <b>system</b> (). 4844 * creating it if it does 4845 * not exist. This method may return <code>null</code>. 4846 * 4847 * <p> 4848 * <b>Definition:</b> 4849 * An absolute URI which is the code system in which the code for this item in the expansion is defined 4850 * </p> 4851 */ 4852 public String getSystem() { 4853 return getSystemElement().getValue(); 4854 } 4855 4856 /** 4857 * Sets the value(s) for <b>system</b> () 4858 * 4859 * <p> 4860 * <b>Definition:</b> 4861 * An absolute URI which is the code system in which the code for this item in the expansion is defined 4862 * </p> 4863 */ 4864 public ExpansionContains setSystem(UriDt theValue) { 4865 mySystem = theValue; 4866 return this; 4867 } 4868 4869 4870 4871 /** 4872 * Sets the value for <b>system</b> () 4873 * 4874 * <p> 4875 * <b>Definition:</b> 4876 * An absolute URI which is the code system in which the code for this item in the expansion is defined 4877 * </p> 4878 */ 4879 public ExpansionContains setSystem( String theUri) { 4880 mySystem = new UriDt(theUri); 4881 return this; 4882 } 4883 4884 4885 /** 4886 * Gets the value(s) for <b>abstract</b> (). 4887 * creating it if it does 4888 * not exist. Will not return <code>null</code>. 4889 * 4890 * <p> 4891 * <b>Definition:</b> 4892 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value 4893 * </p> 4894 */ 4895 public BooleanDt getAbstractElement() { 4896 if (myAbstract == null) { 4897 myAbstract = new BooleanDt(); 4898 } 4899 return myAbstract; 4900 } 4901 4902 4903 /** 4904 * Gets the value(s) for <b>abstract</b> (). 4905 * creating it if it does 4906 * not exist. This method may return <code>null</code>. 4907 * 4908 * <p> 4909 * <b>Definition:</b> 4910 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value 4911 * </p> 4912 */ 4913 public Boolean getAbstract() { 4914 return getAbstractElement().getValue(); 4915 } 4916 4917 /** 4918 * Sets the value(s) for <b>abstract</b> () 4919 * 4920 * <p> 4921 * <b>Definition:</b> 4922 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value 4923 * </p> 4924 */ 4925 public ExpansionContains setAbstract(BooleanDt theValue) { 4926 myAbstract = theValue; 4927 return this; 4928 } 4929 4930 4931 4932 /** 4933 * Sets the value for <b>abstract</b> () 4934 * 4935 * <p> 4936 * <b>Definition:</b> 4937 * If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value 4938 * </p> 4939 */ 4940 public ExpansionContains setAbstract( boolean theBoolean) { 4941 myAbstract = new BooleanDt(theBoolean); 4942 return this; 4943 } 4944 4945 4946 /** 4947 * Gets the value(s) for <b>version</b> (). 4948 * creating it if it does 4949 * not exist. Will not return <code>null</code>. 4950 * 4951 * <p> 4952 * <b>Definition:</b> 4953 * The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence 4954 * </p> 4955 */ 4956 public StringDt getVersionElement() { 4957 if (myVersion == null) { 4958 myVersion = new StringDt(); 4959 } 4960 return myVersion; 4961 } 4962 4963 4964 /** 4965 * Gets the value(s) for <b>version</b> (). 4966 * creating it if it does 4967 * not exist. This method may return <code>null</code>. 4968 * 4969 * <p> 4970 * <b>Definition:</b> 4971 * The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence 4972 * </p> 4973 */ 4974 public String getVersion() { 4975 return getVersionElement().getValue(); 4976 } 4977 4978 /** 4979 * Sets the value(s) for <b>version</b> () 4980 * 4981 * <p> 4982 * <b>Definition:</b> 4983 * The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence 4984 * </p> 4985 */ 4986 public ExpansionContains setVersion(StringDt theValue) { 4987 myVersion = theValue; 4988 return this; 4989 } 4990 4991 4992 4993 /** 4994 * Sets the value for <b>version</b> () 4995 * 4996 * <p> 4997 * <b>Definition:</b> 4998 * The version of this code system that defined this code and/or display. This should only be used with code systems that do not enforce concept permanence 4999 * </p> 5000 */ 5001 public ExpansionContains setVersion( String theString) { 5002 myVersion = new StringDt(theString); 5003 return this; 5004 } 5005 5006 5007 /** 5008 * Gets the value(s) for <b>code</b> (). 5009 * creating it if it does 5010 * not exist. Will not return <code>null</code>. 5011 * 5012 * <p> 5013 * <b>Definition:</b> 5014 * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set 5015 * </p> 5016 */ 5017 public CodeDt getCodeElement() { 5018 if (myCode == null) { 5019 myCode = new CodeDt(); 5020 } 5021 return myCode; 5022 } 5023 5024 5025 /** 5026 * Gets the value(s) for <b>code</b> (). 5027 * creating it if it does 5028 * not exist. This method may return <code>null</code>. 5029 * 5030 * <p> 5031 * <b>Definition:</b> 5032 * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set 5033 * </p> 5034 */ 5035 public String getCode() { 5036 return getCodeElement().getValue(); 5037 } 5038 5039 /** 5040 * Sets the value(s) for <b>code</b> () 5041 * 5042 * <p> 5043 * <b>Definition:</b> 5044 * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set 5045 * </p> 5046 */ 5047 public ExpansionContains setCode(CodeDt theValue) { 5048 myCode = theValue; 5049 return this; 5050 } 5051 5052 5053 5054 /** 5055 * Sets the value for <b>code</b> () 5056 * 5057 * <p> 5058 * <b>Definition:</b> 5059 * The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set 5060 * </p> 5061 */ 5062 public ExpansionContains setCode( String theCode) { 5063 myCode = new CodeDt(theCode); 5064 return this; 5065 } 5066 5067 5068 /** 5069 * Gets the value(s) for <b>display</b> (). 5070 * creating it if it does 5071 * not exist. Will not return <code>null</code>. 5072 * 5073 * <p> 5074 * <b>Definition:</b> 5075 * The recommended display for this item in the expansion 5076 * </p> 5077 */ 5078 public StringDt getDisplayElement() { 5079 if (myDisplay == null) { 5080 myDisplay = new StringDt(); 5081 } 5082 return myDisplay; 5083 } 5084 5085 5086 /** 5087 * Gets the value(s) for <b>display</b> (). 5088 * creating it if it does 5089 * not exist. This method may return <code>null</code>. 5090 * 5091 * <p> 5092 * <b>Definition:</b> 5093 * The recommended display for this item in the expansion 5094 * </p> 5095 */ 5096 public String getDisplay() { 5097 return getDisplayElement().getValue(); 5098 } 5099 5100 /** 5101 * Sets the value(s) for <b>display</b> () 5102 * 5103 * <p> 5104 * <b>Definition:</b> 5105 * The recommended display for this item in the expansion 5106 * </p> 5107 */ 5108 public ExpansionContains setDisplay(StringDt theValue) { 5109 myDisplay = theValue; 5110 return this; 5111 } 5112 5113 5114 5115 /** 5116 * Sets the value for <b>display</b> () 5117 * 5118 * <p> 5119 * <b>Definition:</b> 5120 * The recommended display for this item in the expansion 5121 * </p> 5122 */ 5123 public ExpansionContains setDisplay( String theString) { 5124 myDisplay = new StringDt(theString); 5125 return this; 5126 } 5127 5128 5129 /** 5130 * Gets the value(s) for <b>contains</b> (). 5131 * creating it if it does 5132 * not exist. Will not return <code>null</code>. 5133 * 5134 * <p> 5135 * <b>Definition:</b> 5136 * Other codes and entries contained under this entry in the hierarchy 5137 * </p> 5138 */ 5139 public java.util.List<ExpansionContains> getContains() { 5140 if (myContains == null) { 5141 myContains = new java.util.ArrayList<ExpansionContains>(); 5142 } 5143 return myContains; 5144 } 5145 5146 /** 5147 * Sets the value(s) for <b>contains</b> () 5148 * 5149 * <p> 5150 * <b>Definition:</b> 5151 * Other codes and entries contained under this entry in the hierarchy 5152 * </p> 5153 */ 5154 public ExpansionContains setContains(java.util.List<ExpansionContains> theValue) { 5155 myContains = theValue; 5156 return this; 5157 } 5158 5159 5160 5161 /** 5162 * Adds and returns a new value for <b>contains</b> () 5163 * 5164 * <p> 5165 * <b>Definition:</b> 5166 * Other codes and entries contained under this entry in the hierarchy 5167 * </p> 5168 */ 5169 public ExpansionContains addContains() { 5170 ExpansionContains newType = new ExpansionContains(); 5171 getContains().add(newType); 5172 return newType; 5173 } 5174 5175 /** 5176 * Adds a given new value for <b>contains</b> () 5177 * 5178 * <p> 5179 * <b>Definition:</b> 5180 * Other codes and entries contained under this entry in the hierarchy 5181 * </p> 5182 * @param theValue The contains to add (must not be <code>null</code>) 5183 */ 5184 public ExpansionContains addContains(ExpansionContains theValue) { 5185 if (theValue == null) { 5186 throw new NullPointerException("theValue must not be null"); 5187 } 5188 getContains().add(theValue); 5189 return this; 5190 } 5191 5192 /** 5193 * Gets the first repetition for <b>contains</b> (), 5194 * creating it if it does not already exist. 5195 * 5196 * <p> 5197 * <b>Definition:</b> 5198 * Other codes and entries contained under this entry in the hierarchy 5199 * </p> 5200 */ 5201 public ExpansionContains getContainsFirstRep() { 5202 if (getContains().isEmpty()) { 5203 return addContains(); 5204 } 5205 return getContains().get(0); 5206 } 5207 5208 5209 5210 } 5211 5212 5213 5214 5215 5216 @Override 5217 public String getResourceName() { 5218 return "ValueSet"; 5219 } 5220 5221 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 5222 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 5223 } 5224 5225 5226}