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>SearchParameter</b> Resource 282 * (conformance.behavior) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A search parameter that defines a named search item that can be used to search/filter on a resource. 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/SearchParameter">http://hl7.org/fhir/profiles/SearchParameter</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="SearchParameter", profile="http://hl7.org/fhir/profiles/SearchParameter", id="searchparameter") 301public class SearchParameter extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>url</b> 307 * <p> 308 * Description: <b></b><br> 309 * Type: <b>uri</b><br> 310 * Path: <b>SearchParameter.url</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="url", path="SearchParameter.url", description="", type="uri" 314 ) 315 public static final String SP_URL = "url"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>url</b> 319 * <p> 320 * Description: <b></b><br> 321 * Type: <b>uri</b><br> 322 * Path: <b>SearchParameter.url</b><br> 323 * </p> 324 */ 325 public static final UriClientParam URL = new UriClientParam(SP_URL); 326 327 /** 328 * Search parameter constant for <b>name</b> 329 * <p> 330 * Description: <b></b><br> 331 * Type: <b>string</b><br> 332 * Path: <b>SearchParameter.name</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="name", path="SearchParameter.name", description="", type="string" 336 ) 337 public static final String SP_NAME = "name"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>name</b> 341 * <p> 342 * Description: <b></b><br> 343 * Type: <b>string</b><br> 344 * Path: <b>SearchParameter.name</b><br> 345 * </p> 346 */ 347 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 348 349 /** 350 * Search parameter constant for <b>base</b> 351 * <p> 352 * Description: <b></b><br> 353 * Type: <b>token</b><br> 354 * Path: <b>SearchParameter.base</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="base", path="SearchParameter.base", description="", type="token" 358 ) 359 public static final String SP_BASE = "base"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>base</b> 363 * <p> 364 * Description: <b></b><br> 365 * Type: <b>token</b><br> 366 * Path: <b>SearchParameter.base</b><br> 367 * </p> 368 */ 369 public static final TokenClientParam BASE = new TokenClientParam(SP_BASE); 370 371 /** 372 * Search parameter constant for <b>type</b> 373 * <p> 374 * Description: <b></b><br> 375 * Type: <b>token</b><br> 376 * Path: <b>SearchParameter.type</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="type", path="SearchParameter.type", description="", type="token" 380 ) 381 public static final String SP_TYPE = "type"; 382 383 /** 384 * <b>Fluent Client</b> search parameter constant for <b>type</b> 385 * <p> 386 * Description: <b></b><br> 387 * Type: <b>token</b><br> 388 * Path: <b>SearchParameter.type</b><br> 389 * </p> 390 */ 391 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 392 393 /** 394 * Search parameter constant for <b>description</b> 395 * <p> 396 * Description: <b></b><br> 397 * Type: <b>string</b><br> 398 * Path: <b>SearchParameter.description</b><br> 399 * </p> 400 */ 401 @SearchParamDefinition(name="description", path="SearchParameter.description", description="", type="string" 402 ) 403 public static final String SP_DESCRIPTION = "description"; 404 405 /** 406 * <b>Fluent Client</b> search parameter constant for <b>description</b> 407 * <p> 408 * Description: <b></b><br> 409 * Type: <b>string</b><br> 410 * Path: <b>SearchParameter.description</b><br> 411 * </p> 412 */ 413 public static final StringClientParam DESCRIPTION = new StringClientParam(SP_DESCRIPTION); 414 415 /** 416 * Search parameter constant for <b>target</b> 417 * <p> 418 * Description: <b></b><br> 419 * Type: <b>token</b><br> 420 * Path: <b>SearchParameter.target</b><br> 421 * </p> 422 */ 423 @SearchParamDefinition(name="target", path="SearchParameter.target", description="", type="token" 424 ) 425 public static final String SP_TARGET = "target"; 426 427 /** 428 * <b>Fluent Client</b> search parameter constant for <b>target</b> 429 * <p> 430 * Description: <b></b><br> 431 * Type: <b>token</b><br> 432 * Path: <b>SearchParameter.target</b><br> 433 * </p> 434 */ 435 public static final TokenClientParam TARGET = new TokenClientParam(SP_TARGET); 436 437 /** 438 * Search parameter constant for <b>code</b> 439 * <p> 440 * Description: <b></b><br> 441 * Type: <b>token</b><br> 442 * Path: <b>SearchParameter.code</b><br> 443 * </p> 444 */ 445 @SearchParamDefinition(name="code", path="SearchParameter.code", description="", type="token" 446 ) 447 public static final String SP_CODE = "code"; 448 449 /** 450 * <b>Fluent Client</b> search parameter constant for <b>code</b> 451 * <p> 452 * Description: <b></b><br> 453 * Type: <b>token</b><br> 454 * Path: <b>SearchParameter.code</b><br> 455 * </p> 456 */ 457 public static final TokenClientParam CODE = new TokenClientParam(SP_CODE); 458 459 460 461 @Child(name="url", type=UriDt.class, order=0, min=1, max=1, summary=true, modifier=false) 462 @Description( 463 shortDefinition="id", 464 formalDefinition="An absolute URL that is used to identify this search parameter 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 search parameter is (or will be) published" 465 ) 466 private UriDt myUrl; 467 468 @Child(name="name", type=StringDt.class, order=1, min=1, max=1, summary=true, modifier=false) 469 @Description( 470 shortDefinition="", 471 formalDefinition="A free text natural language name identifying the search parameter" 472 ) 473 private StringDt myName; 474 475 @Child(name="status", type=CodeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 476 @Description( 477 shortDefinition="status", 478 formalDefinition="The status of this search parameter definition" 479 ) 480 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conformance-resource-status") 481 private BoundCodeDt<ConformanceResourceStatusEnum> myStatus; 482 483 @Child(name="experimental", type=BooleanDt.class, order=3, min=0, max=1, summary=true, modifier=false) 484 @Description( 485 shortDefinition="class", 486 formalDefinition="A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" 487 ) 488 private BooleanDt myExperimental; 489 490 @Child(name="publisher", type=StringDt.class, order=4, min=0, max=1, summary=true, modifier=false) 491 @Description( 492 shortDefinition="who.witness", 493 formalDefinition="The name of the individual or organization that published the search parameter" 494 ) 495 private StringDt myPublisher; 496 497 @Child(name="contact", order=5, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 498 @Description( 499 shortDefinition="", 500 formalDefinition="Contacts to assist a user in finding and communicating with the publisher" 501 ) 502 private java.util.List<Contact> myContact; 503 504 @Child(name="date", type=DateTimeDt.class, order=6, min=0, max=1, summary=true, modifier=false) 505 @Description( 506 shortDefinition="when.recorded", 507 formalDefinition="The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes" 508 ) 509 private DateTimeDt myDate; 510 511 @Child(name="requirements", type=StringDt.class, order=7, min=0, max=1, summary=false, modifier=false) 512 @Description( 513 shortDefinition="why", 514 formalDefinition="The Scope and Usage that this search parameter was created to meet" 515 ) 516 private StringDt myRequirements; 517 518 @Child(name="code", type=CodeDt.class, order=8, min=1, max=1, summary=true, modifier=false) 519 @Description( 520 shortDefinition="", 521 formalDefinition="The code used in the URL or the parameter name in a parameters resource for this search parameter" 522 ) 523 private CodeDt myCode; 524 525 @Child(name="base", type=CodeDt.class, order=9, min=1, max=1, summary=true, modifier=false) 526 @Description( 527 shortDefinition="", 528 formalDefinition="The base resource type that this search parameter refers to" 529 ) 530 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 531 private BoundCodeDt<ResourceTypeEnum> myBase; 532 533 @Child(name="type", type=CodeDt.class, order=10, min=1, max=1, summary=true, modifier=false) 534 @Description( 535 shortDefinition="", 536 formalDefinition="The type of value a search parameter refers to, and how the content is interpreted" 537 ) 538 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/search-param-type") 539 private BoundCodeDt<SearchParamTypeEnum> myType; 540 541 @Child(name="description", type=StringDt.class, order=11, min=1, max=1, summary=true, modifier=false) 542 @Description( 543 shortDefinition="", 544 formalDefinition="A description of the search parameters and how it used" 545 ) 546 private StringDt myDescription; 547 548 @Child(name="xpath", type=StringDt.class, order=12, min=0, max=1, summary=false, modifier=false) 549 @Description( 550 shortDefinition="", 551 formalDefinition="An XPath expression that returns a set of elements for the search parameter" 552 ) 553 private StringDt myXpath; 554 555 @Child(name="xpathUsage", type=CodeDt.class, order=13, min=0, max=1, summary=false, modifier=false) 556 @Description( 557 shortDefinition="", 558 formalDefinition="How the search parameter relates to the set of elements returned by evaluating the xpath query" 559 ) 560 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/search-xpath-usage") 561 private BoundCodeDt<XPathUsageTypeEnum> myXpathUsage; 562 563 @Child(name="target", type=CodeDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 564 @Description( 565 shortDefinition="", 566 formalDefinition="Types of resource (if a resource is referenced)" 567 ) 568 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 569 private java.util.List<BoundCodeDt<ResourceTypeEnum>> myTarget; 570 571 572 @Override 573 public boolean isEmpty() { 574 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myUrl, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myRequirements, myCode, myBase, myType, myDescription, myXpath, myXpathUsage, myTarget); 575 } 576 577 @Override 578 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 579 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUrl, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myRequirements, myCode, myBase, myType, myDescription, myXpath, myXpathUsage, myTarget); 580 } 581 582 /** 583 * Gets the value(s) for <b>url</b> (id). 584 * creating it if it does 585 * not exist. Will not return <code>null</code>. 586 * 587 * <p> 588 * <b>Definition:</b> 589 * An absolute URL that is used to identify this search parameter 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 search parameter is (or will be) published 590 * </p> 591 */ 592 public UriDt getUrlElement() { 593 if (myUrl == null) { 594 myUrl = new UriDt(); 595 } 596 return myUrl; 597 } 598 599 600 /** 601 * Gets the value(s) for <b>url</b> (id). 602 * creating it if it does 603 * not exist. This method may return <code>null</code>. 604 * 605 * <p> 606 * <b>Definition:</b> 607 * An absolute URL that is used to identify this search parameter 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 search parameter is (or will be) published 608 * </p> 609 */ 610 public String getUrl() { 611 return getUrlElement().getValue(); 612 } 613 614 /** 615 * Sets the value(s) for <b>url</b> (id) 616 * 617 * <p> 618 * <b>Definition:</b> 619 * An absolute URL that is used to identify this search parameter 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 search parameter is (or will be) published 620 * </p> 621 */ 622 public SearchParameter setUrl(UriDt theValue) { 623 myUrl = theValue; 624 return this; 625 } 626 627 628 629 /** 630 * Sets the value for <b>url</b> (id) 631 * 632 * <p> 633 * <b>Definition:</b> 634 * An absolute URL that is used to identify this search parameter 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 search parameter is (or will be) published 635 * </p> 636 */ 637 public SearchParameter setUrl( String theUri) { 638 myUrl = new UriDt(theUri); 639 return this; 640 } 641 642 643 /** 644 * Gets the value(s) for <b>name</b> (). 645 * creating it if it does 646 * not exist. Will not return <code>null</code>. 647 * 648 * <p> 649 * <b>Definition:</b> 650 * A free text natural language name identifying the search parameter 651 * </p> 652 */ 653 public StringDt getNameElement() { 654 if (myName == null) { 655 myName = new StringDt(); 656 } 657 return myName; 658 } 659 660 661 /** 662 * Gets the value(s) for <b>name</b> (). 663 * creating it if it does 664 * not exist. This method may return <code>null</code>. 665 * 666 * <p> 667 * <b>Definition:</b> 668 * A free text natural language name identifying the search parameter 669 * </p> 670 */ 671 public String getName() { 672 return getNameElement().getValue(); 673 } 674 675 /** 676 * Sets the value(s) for <b>name</b> () 677 * 678 * <p> 679 * <b>Definition:</b> 680 * A free text natural language name identifying the search parameter 681 * </p> 682 */ 683 public SearchParameter setName(StringDt theValue) { 684 myName = theValue; 685 return this; 686 } 687 688 689 690 /** 691 * Sets the value for <b>name</b> () 692 * 693 * <p> 694 * <b>Definition:</b> 695 * A free text natural language name identifying the search parameter 696 * </p> 697 */ 698 public SearchParameter setName( String theString) { 699 myName = new StringDt(theString); 700 return this; 701 } 702 703 704 /** 705 * Gets the value(s) for <b>status</b> (status). 706 * creating it if it does 707 * not exist. Will not return <code>null</code>. 708 * 709 * <p> 710 * <b>Definition:</b> 711 * The status of this search parameter definition 712 * </p> 713 */ 714 public BoundCodeDt<ConformanceResourceStatusEnum> getStatusElement() { 715 if (myStatus == null) { 716 myStatus = new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER); 717 } 718 return myStatus; 719 } 720 721 722 /** 723 * Gets the value(s) for <b>status</b> (status). 724 * creating it if it does 725 * not exist. This method may return <code>null</code>. 726 * 727 * <p> 728 * <b>Definition:</b> 729 * The status of this search parameter definition 730 * </p> 731 */ 732 public String getStatus() { 733 return getStatusElement().getValue(); 734 } 735 736 /** 737 * Sets the value(s) for <b>status</b> (status) 738 * 739 * <p> 740 * <b>Definition:</b> 741 * The status of this search parameter definition 742 * </p> 743 */ 744 public SearchParameter setStatus(BoundCodeDt<ConformanceResourceStatusEnum> theValue) { 745 myStatus = theValue; 746 return this; 747 } 748 749 750 751 /** 752 * Sets the value(s) for <b>status</b> (status) 753 * 754 * <p> 755 * <b>Definition:</b> 756 * The status of this search parameter definition 757 * </p> 758 */ 759 public SearchParameter setStatus(ConformanceResourceStatusEnum theValue) { 760 setStatus(new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER, theValue)); 761 762/* 763 getStatusElement().setValueAsEnum(theValue); 764*/ 765 return this; 766 } 767 768 769 /** 770 * Gets the value(s) for <b>experimental</b> (class). 771 * creating it if it does 772 * not exist. Will not return <code>null</code>. 773 * 774 * <p> 775 * <b>Definition:</b> 776 * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 777 * </p> 778 */ 779 public BooleanDt getExperimentalElement() { 780 if (myExperimental == null) { 781 myExperimental = new BooleanDt(); 782 } 783 return myExperimental; 784 } 785 786 787 /** 788 * Gets the value(s) for <b>experimental</b> (class). 789 * creating it if it does 790 * not exist. This method may return <code>null</code>. 791 * 792 * <p> 793 * <b>Definition:</b> 794 * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 795 * </p> 796 */ 797 public Boolean getExperimental() { 798 return getExperimentalElement().getValue(); 799 } 800 801 /** 802 * Sets the value(s) for <b>experimental</b> (class) 803 * 804 * <p> 805 * <b>Definition:</b> 806 * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 807 * </p> 808 */ 809 public SearchParameter setExperimental(BooleanDt theValue) { 810 myExperimental = theValue; 811 return this; 812 } 813 814 815 816 /** 817 * Sets the value for <b>experimental</b> (class) 818 * 819 * <p> 820 * <b>Definition:</b> 821 * A flag to indicate that this search parameter definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 822 * </p> 823 */ 824 public SearchParameter setExperimental( boolean theBoolean) { 825 myExperimental = new BooleanDt(theBoolean); 826 return this; 827 } 828 829 830 /** 831 * Gets the value(s) for <b>publisher</b> (who.witness). 832 * creating it if it does 833 * not exist. Will not return <code>null</code>. 834 * 835 * <p> 836 * <b>Definition:</b> 837 * The name of the individual or organization that published the search parameter 838 * </p> 839 */ 840 public StringDt getPublisherElement() { 841 if (myPublisher == null) { 842 myPublisher = new StringDt(); 843 } 844 return myPublisher; 845 } 846 847 848 /** 849 * Gets the value(s) for <b>publisher</b> (who.witness). 850 * creating it if it does 851 * not exist. This method may return <code>null</code>. 852 * 853 * <p> 854 * <b>Definition:</b> 855 * The name of the individual or organization that published the search parameter 856 * </p> 857 */ 858 public String getPublisher() { 859 return getPublisherElement().getValue(); 860 } 861 862 /** 863 * Sets the value(s) for <b>publisher</b> (who.witness) 864 * 865 * <p> 866 * <b>Definition:</b> 867 * The name of the individual or organization that published the search parameter 868 * </p> 869 */ 870 public SearchParameter setPublisher(StringDt theValue) { 871 myPublisher = theValue; 872 return this; 873 } 874 875 876 877 /** 878 * Sets the value for <b>publisher</b> (who.witness) 879 * 880 * <p> 881 * <b>Definition:</b> 882 * The name of the individual or organization that published the search parameter 883 * </p> 884 */ 885 public SearchParameter setPublisher( String theString) { 886 myPublisher = new StringDt(theString); 887 return this; 888 } 889 890 891 /** 892 * Gets the value(s) for <b>contact</b> (). 893 * creating it if it does 894 * not exist. Will not return <code>null</code>. 895 * 896 * <p> 897 * <b>Definition:</b> 898 * Contacts to assist a user in finding and communicating with the publisher 899 * </p> 900 */ 901 public java.util.List<Contact> getContact() { 902 if (myContact == null) { 903 myContact = new java.util.ArrayList<Contact>(); 904 } 905 return myContact; 906 } 907 908 /** 909 * Sets the value(s) for <b>contact</b> () 910 * 911 * <p> 912 * <b>Definition:</b> 913 * Contacts to assist a user in finding and communicating with the publisher 914 * </p> 915 */ 916 public SearchParameter setContact(java.util.List<Contact> theValue) { 917 myContact = theValue; 918 return this; 919 } 920 921 922 923 /** 924 * Adds and returns a new value for <b>contact</b> () 925 * 926 * <p> 927 * <b>Definition:</b> 928 * Contacts to assist a user in finding and communicating with the publisher 929 * </p> 930 */ 931 public Contact addContact() { 932 Contact newType = new Contact(); 933 getContact().add(newType); 934 return newType; 935 } 936 937 /** 938 * Adds a given new value for <b>contact</b> () 939 * 940 * <p> 941 * <b>Definition:</b> 942 * Contacts to assist a user in finding and communicating with the publisher 943 * </p> 944 * @param theValue The contact to add (must not be <code>null</code>) 945 */ 946 public SearchParameter addContact(Contact theValue) { 947 if (theValue == null) { 948 throw new NullPointerException("theValue must not be null"); 949 } 950 getContact().add(theValue); 951 return this; 952 } 953 954 /** 955 * Gets the first repetition for <b>contact</b> (), 956 * creating it if it does not already exist. 957 * 958 * <p> 959 * <b>Definition:</b> 960 * Contacts to assist a user in finding and communicating with the publisher 961 * </p> 962 */ 963 public Contact getContactFirstRep() { 964 if (getContact().isEmpty()) { 965 return addContact(); 966 } 967 return getContact().get(0); 968 } 969 970 /** 971 * Gets the value(s) for <b>date</b> (when.recorded). 972 * creating it if it does 973 * not exist. Will not return <code>null</code>. 974 * 975 * <p> 976 * <b>Definition:</b> 977 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes 978 * </p> 979 */ 980 public DateTimeDt getDateElement() { 981 if (myDate == null) { 982 myDate = new DateTimeDt(); 983 } 984 return myDate; 985 } 986 987 988 /** 989 * Gets the value(s) for <b>date</b> (when.recorded). 990 * creating it if it does 991 * not exist. This method may return <code>null</code>. 992 * 993 * <p> 994 * <b>Definition:</b> 995 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes 996 * </p> 997 */ 998 public Date getDate() { 999 return getDateElement().getValue(); 1000 } 1001 1002 /** 1003 * Sets the value(s) for <b>date</b> (when.recorded) 1004 * 1005 * <p> 1006 * <b>Definition:</b> 1007 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes 1008 * </p> 1009 */ 1010 public SearchParameter setDate(DateTimeDt theValue) { 1011 myDate = theValue; 1012 return this; 1013 } 1014 1015 1016 1017 /** 1018 * Sets the value for <b>date</b> (when.recorded) 1019 * 1020 * <p> 1021 * <b>Definition:</b> 1022 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes 1023 * </p> 1024 */ 1025 public SearchParameter setDateWithSecondsPrecision( Date theDate) { 1026 myDate = new DateTimeDt(theDate); 1027 return this; 1028 } 1029 1030 /** 1031 * Sets the value for <b>date</b> (when.recorded) 1032 * 1033 * <p> 1034 * <b>Definition:</b> 1035 * The date (and optionally time) when the search parameter definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes 1036 * </p> 1037 */ 1038 public SearchParameter setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1039 myDate = new DateTimeDt(theDate, thePrecision); 1040 return this; 1041 } 1042 1043 1044 /** 1045 * Gets the value(s) for <b>requirements</b> (why). 1046 * creating it if it does 1047 * not exist. Will not return <code>null</code>. 1048 * 1049 * <p> 1050 * <b>Definition:</b> 1051 * The Scope and Usage that this search parameter was created to meet 1052 * </p> 1053 */ 1054 public StringDt getRequirementsElement() { 1055 if (myRequirements == null) { 1056 myRequirements = new StringDt(); 1057 } 1058 return myRequirements; 1059 } 1060 1061 1062 /** 1063 * Gets the value(s) for <b>requirements</b> (why). 1064 * creating it if it does 1065 * not exist. This method may return <code>null</code>. 1066 * 1067 * <p> 1068 * <b>Definition:</b> 1069 * The Scope and Usage that this search parameter was created to meet 1070 * </p> 1071 */ 1072 public String getRequirements() { 1073 return getRequirementsElement().getValue(); 1074 } 1075 1076 /** 1077 * Sets the value(s) for <b>requirements</b> (why) 1078 * 1079 * <p> 1080 * <b>Definition:</b> 1081 * The Scope and Usage that this search parameter was created to meet 1082 * </p> 1083 */ 1084 public SearchParameter setRequirements(StringDt theValue) { 1085 myRequirements = theValue; 1086 return this; 1087 } 1088 1089 1090 1091 /** 1092 * Sets the value for <b>requirements</b> (why) 1093 * 1094 * <p> 1095 * <b>Definition:</b> 1096 * The Scope and Usage that this search parameter was created to meet 1097 * </p> 1098 */ 1099 public SearchParameter setRequirements( String theString) { 1100 myRequirements = new StringDt(theString); 1101 return this; 1102 } 1103 1104 1105 /** 1106 * Gets the value(s) for <b>code</b> (). 1107 * creating it if it does 1108 * not exist. Will not return <code>null</code>. 1109 * 1110 * <p> 1111 * <b>Definition:</b> 1112 * The code used in the URL or the parameter name in a parameters resource for this search parameter 1113 * </p> 1114 */ 1115 public CodeDt getCodeElement() { 1116 if (myCode == null) { 1117 myCode = new CodeDt(); 1118 } 1119 return myCode; 1120 } 1121 1122 1123 /** 1124 * Gets the value(s) for <b>code</b> (). 1125 * creating it if it does 1126 * not exist. This method may return <code>null</code>. 1127 * 1128 * <p> 1129 * <b>Definition:</b> 1130 * The code used in the URL or the parameter name in a parameters resource for this search parameter 1131 * </p> 1132 */ 1133 public String getCode() { 1134 return getCodeElement().getValue(); 1135 } 1136 1137 /** 1138 * Sets the value(s) for <b>code</b> () 1139 * 1140 * <p> 1141 * <b>Definition:</b> 1142 * The code used in the URL or the parameter name in a parameters resource for this search parameter 1143 * </p> 1144 */ 1145 public SearchParameter setCode(CodeDt theValue) { 1146 myCode = theValue; 1147 return this; 1148 } 1149 1150 1151 1152 /** 1153 * Sets the value for <b>code</b> () 1154 * 1155 * <p> 1156 * <b>Definition:</b> 1157 * The code used in the URL or the parameter name in a parameters resource for this search parameter 1158 * </p> 1159 */ 1160 public SearchParameter setCode( String theCode) { 1161 myCode = new CodeDt(theCode); 1162 return this; 1163 } 1164 1165 1166 /** 1167 * Gets the value(s) for <b>base</b> (). 1168 * creating it if it does 1169 * not exist. Will not return <code>null</code>. 1170 * 1171 * <p> 1172 * <b>Definition:</b> 1173 * The base resource type that this search parameter refers to 1174 * </p> 1175 */ 1176 public BoundCodeDt<ResourceTypeEnum> getBaseElement() { 1177 if (myBase == null) { 1178 myBase = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 1179 } 1180 return myBase; 1181 } 1182 1183 1184 /** 1185 * Gets the value(s) for <b>base</b> (). 1186 * creating it if it does 1187 * not exist. This method may return <code>null</code>. 1188 * 1189 * <p> 1190 * <b>Definition:</b> 1191 * The base resource type that this search parameter refers to 1192 * </p> 1193 */ 1194 public String getBase() { 1195 return getBaseElement().getValue(); 1196 } 1197 1198 /** 1199 * Sets the value(s) for <b>base</b> () 1200 * 1201 * <p> 1202 * <b>Definition:</b> 1203 * The base resource type that this search parameter refers to 1204 * </p> 1205 */ 1206 public SearchParameter setBase(BoundCodeDt<ResourceTypeEnum> theValue) { 1207 myBase = theValue; 1208 return this; 1209 } 1210 1211 1212 1213 /** 1214 * Sets the value(s) for <b>base</b> () 1215 * 1216 * <p> 1217 * <b>Definition:</b> 1218 * The base resource type that this search parameter refers to 1219 * </p> 1220 */ 1221 public SearchParameter setBase(ResourceTypeEnum theValue) { 1222 setBase(new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue)); 1223 1224/* 1225 getBaseElement().setValueAsEnum(theValue); 1226*/ 1227 return this; 1228 } 1229 1230 1231 /** 1232 * Gets the value(s) for <b>type</b> (). 1233 * creating it if it does 1234 * not exist. Will not return <code>null</code>. 1235 * 1236 * <p> 1237 * <b>Definition:</b> 1238 * The type of value a search parameter refers to, and how the content is interpreted 1239 * </p> 1240 */ 1241 public BoundCodeDt<SearchParamTypeEnum> getTypeElement() { 1242 if (myType == null) { 1243 myType = new BoundCodeDt<SearchParamTypeEnum>(SearchParamTypeEnum.VALUESET_BINDER); 1244 } 1245 return myType; 1246 } 1247 1248 1249 /** 1250 * Gets the value(s) for <b>type</b> (). 1251 * creating it if it does 1252 * not exist. This method may return <code>null</code>. 1253 * 1254 * <p> 1255 * <b>Definition:</b> 1256 * The type of value a search parameter refers to, and how the content is interpreted 1257 * </p> 1258 */ 1259 public String getType() { 1260 return getTypeElement().getValue(); 1261 } 1262 1263 /** 1264 * Sets the value(s) for <b>type</b> () 1265 * 1266 * <p> 1267 * <b>Definition:</b> 1268 * The type of value a search parameter refers to, and how the content is interpreted 1269 * </p> 1270 */ 1271 public SearchParameter setType(BoundCodeDt<SearchParamTypeEnum> theValue) { 1272 myType = theValue; 1273 return this; 1274 } 1275 1276 1277 1278 /** 1279 * Sets the value(s) for <b>type</b> () 1280 * 1281 * <p> 1282 * <b>Definition:</b> 1283 * The type of value a search parameter refers to, and how the content is interpreted 1284 * </p> 1285 */ 1286 public SearchParameter setType(SearchParamTypeEnum theValue) { 1287 setType(new BoundCodeDt<SearchParamTypeEnum>(SearchParamTypeEnum.VALUESET_BINDER, theValue)); 1288 1289/* 1290 getTypeElement().setValueAsEnum(theValue); 1291*/ 1292 return this; 1293 } 1294 1295 1296 /** 1297 * Gets the value(s) for <b>description</b> (). 1298 * creating it if it does 1299 * not exist. Will not return <code>null</code>. 1300 * 1301 * <p> 1302 * <b>Definition:</b> 1303 * A description of the search parameters and how it used 1304 * </p> 1305 */ 1306 public StringDt getDescriptionElement() { 1307 if (myDescription == null) { 1308 myDescription = new StringDt(); 1309 } 1310 return myDescription; 1311 } 1312 1313 1314 /** 1315 * Gets the value(s) for <b>description</b> (). 1316 * creating it if it does 1317 * not exist. This method may return <code>null</code>. 1318 * 1319 * <p> 1320 * <b>Definition:</b> 1321 * A description of the search parameters and how it used 1322 * </p> 1323 */ 1324 public String getDescription() { 1325 return getDescriptionElement().getValue(); 1326 } 1327 1328 /** 1329 * Sets the value(s) for <b>description</b> () 1330 * 1331 * <p> 1332 * <b>Definition:</b> 1333 * A description of the search parameters and how it used 1334 * </p> 1335 */ 1336 public SearchParameter setDescription(StringDt theValue) { 1337 myDescription = theValue; 1338 return this; 1339 } 1340 1341 1342 1343 /** 1344 * Sets the value for <b>description</b> () 1345 * 1346 * <p> 1347 * <b>Definition:</b> 1348 * A description of the search parameters and how it used 1349 * </p> 1350 */ 1351 public SearchParameter setDescription( String theString) { 1352 myDescription = new StringDt(theString); 1353 return this; 1354 } 1355 1356 1357 /** 1358 * Gets the value(s) for <b>xpath</b> (). 1359 * creating it if it does 1360 * not exist. Will not return <code>null</code>. 1361 * 1362 * <p> 1363 * <b>Definition:</b> 1364 * An XPath expression that returns a set of elements for the search parameter 1365 * </p> 1366 */ 1367 public StringDt getXpathElement() { 1368 if (myXpath == null) { 1369 myXpath = new StringDt(); 1370 } 1371 return myXpath; 1372 } 1373 1374 1375 /** 1376 * Gets the value(s) for <b>xpath</b> (). 1377 * creating it if it does 1378 * not exist. This method may return <code>null</code>. 1379 * 1380 * <p> 1381 * <b>Definition:</b> 1382 * An XPath expression that returns a set of elements for the search parameter 1383 * </p> 1384 */ 1385 public String getXpath() { 1386 return getXpathElement().getValue(); 1387 } 1388 1389 /** 1390 * Sets the value(s) for <b>xpath</b> () 1391 * 1392 * <p> 1393 * <b>Definition:</b> 1394 * An XPath expression that returns a set of elements for the search parameter 1395 * </p> 1396 */ 1397 public SearchParameter setXpath(StringDt theValue) { 1398 myXpath = theValue; 1399 return this; 1400 } 1401 1402 1403 1404 /** 1405 * Sets the value for <b>xpath</b> () 1406 * 1407 * <p> 1408 * <b>Definition:</b> 1409 * An XPath expression that returns a set of elements for the search parameter 1410 * </p> 1411 */ 1412 public SearchParameter setXpath( String theString) { 1413 myXpath = new StringDt(theString); 1414 return this; 1415 } 1416 1417 1418 /** 1419 * Gets the value(s) for <b>xpathUsage</b> (). 1420 * creating it if it does 1421 * not exist. Will not return <code>null</code>. 1422 * 1423 * <p> 1424 * <b>Definition:</b> 1425 * How the search parameter relates to the set of elements returned by evaluating the xpath query 1426 * </p> 1427 */ 1428 public BoundCodeDt<XPathUsageTypeEnum> getXpathUsageElement() { 1429 if (myXpathUsage == null) { 1430 myXpathUsage = new BoundCodeDt<XPathUsageTypeEnum>(XPathUsageTypeEnum.VALUESET_BINDER); 1431 } 1432 return myXpathUsage; 1433 } 1434 1435 1436 /** 1437 * Gets the value(s) for <b>xpathUsage</b> (). 1438 * creating it if it does 1439 * not exist. This method may return <code>null</code>. 1440 * 1441 * <p> 1442 * <b>Definition:</b> 1443 * How the search parameter relates to the set of elements returned by evaluating the xpath query 1444 * </p> 1445 */ 1446 public String getXpathUsage() { 1447 return getXpathUsageElement().getValue(); 1448 } 1449 1450 /** 1451 * Sets the value(s) for <b>xpathUsage</b> () 1452 * 1453 * <p> 1454 * <b>Definition:</b> 1455 * How the search parameter relates to the set of elements returned by evaluating the xpath query 1456 * </p> 1457 */ 1458 public SearchParameter setXpathUsage(BoundCodeDt<XPathUsageTypeEnum> theValue) { 1459 myXpathUsage = theValue; 1460 return this; 1461 } 1462 1463 1464 1465 /** 1466 * Sets the value(s) for <b>xpathUsage</b> () 1467 * 1468 * <p> 1469 * <b>Definition:</b> 1470 * How the search parameter relates to the set of elements returned by evaluating the xpath query 1471 * </p> 1472 */ 1473 public SearchParameter setXpathUsage(XPathUsageTypeEnum theValue) { 1474 setXpathUsage(new BoundCodeDt<XPathUsageTypeEnum>(XPathUsageTypeEnum.VALUESET_BINDER, theValue)); 1475 1476/* 1477 getXpathUsageElement().setValueAsEnum(theValue); 1478*/ 1479 return this; 1480 } 1481 1482 1483 /** 1484 * Gets the value(s) for <b>target</b> (). 1485 * creating it if it does 1486 * not exist. Will not return <code>null</code>. 1487 * 1488 * <p> 1489 * <b>Definition:</b> 1490 * Types of resource (if a resource is referenced) 1491 * </p> 1492 */ 1493 public java.util.List<BoundCodeDt<ResourceTypeEnum>> getTarget() { 1494 if (myTarget == null) { 1495 myTarget = new java.util.ArrayList<BoundCodeDt<ResourceTypeEnum>>(); 1496 } 1497 return myTarget; 1498 } 1499 1500 /** 1501 * Sets the value(s) for <b>target</b> () 1502 * 1503 * <p> 1504 * <b>Definition:</b> 1505 * Types of resource (if a resource is referenced) 1506 * </p> 1507 */ 1508 public SearchParameter setTarget(java.util.List<BoundCodeDt<ResourceTypeEnum>> theValue) { 1509 myTarget = theValue; 1510 return this; 1511 } 1512 1513 1514 1515 /** 1516 * Add a value for <b>target</b> () using an enumerated type. This 1517 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1518 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1519 * you may also use the {@link #addTarget()} method. 1520 * 1521 * <p> 1522 * <b>Definition:</b> 1523 * Types of resource (if a resource is referenced) 1524 * </p> 1525 */ 1526 public BoundCodeDt<ResourceTypeEnum> addTarget(ResourceTypeEnum theValue) { 1527 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue); 1528 getTarget().add(retVal); 1529 return retVal; 1530 } 1531 1532 /** 1533 * Gets the first repetition for <b>target</b> (), 1534 * creating it if it does not already exist. 1535 * 1536 * <p> 1537 * <b>Definition:</b> 1538 * Types of resource (if a resource is referenced) 1539 * </p> 1540 */ 1541 public BoundCodeDt<ResourceTypeEnum> getTargetFirstRep() { 1542 if (getTarget().size() == 0) { 1543 addTarget(); 1544 } 1545 return getTarget().get(0); 1546 } 1547 1548 /** 1549 * Add a value for <b>target</b> () 1550 * 1551 * <p> 1552 * <b>Definition:</b> 1553 * Types of resource (if a resource is referenced) 1554 * </p> 1555 */ 1556 public BoundCodeDt<ResourceTypeEnum> addTarget() { 1557 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 1558 getTarget().add(retVal); 1559 return retVal; 1560 } 1561 1562 /** 1563 * Sets the value(s), and clears any existing value(s) for <b>target</b> () 1564 * 1565 * <p> 1566 * <b>Definition:</b> 1567 * Types of resource (if a resource is referenced) 1568 * </p> 1569 */ 1570 public SearchParameter setTarget(ResourceTypeEnum theValue) { 1571 getTarget().clear(); 1572 addTarget(theValue); 1573 return this; 1574 } 1575 1576 1577 /** 1578 * Block class for child element: <b>SearchParameter.contact</b> () 1579 * 1580 * <p> 1581 * <b>Definition:</b> 1582 * Contacts to assist a user in finding and communicating with the publisher 1583 * </p> 1584 */ 1585 @Block() 1586 public static class Contact 1587 extends BaseIdentifiableElement 1588 implements IResourceBlock { 1589 1590 @Child(name="name", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) 1591 @Description( 1592 shortDefinition="", 1593 formalDefinition="The name of an individual to contact regarding the search parameter" 1594 ) 1595 private StringDt myName; 1596 1597 @Child(name="telecom", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1598 @Description( 1599 shortDefinition="", 1600 formalDefinition="Contact details for individual (if a name was provided) or the publisher" 1601 ) 1602 private java.util.List<ContactPointDt> myTelecom; 1603 1604 1605 @Override 1606 public boolean isEmpty() { 1607 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myTelecom); 1608 } 1609 1610 @Override 1611 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1612 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myTelecom); 1613 } 1614 1615 /** 1616 * Gets the value(s) for <b>name</b> (). 1617 * creating it if it does 1618 * not exist. Will not return <code>null</code>. 1619 * 1620 * <p> 1621 * <b>Definition:</b> 1622 * The name of an individual to contact regarding the search parameter 1623 * </p> 1624 */ 1625 public StringDt getNameElement() { 1626 if (myName == null) { 1627 myName = new StringDt(); 1628 } 1629 return myName; 1630 } 1631 1632 1633 /** 1634 * Gets the value(s) for <b>name</b> (). 1635 * creating it if it does 1636 * not exist. This method may return <code>null</code>. 1637 * 1638 * <p> 1639 * <b>Definition:</b> 1640 * The name of an individual to contact regarding the search parameter 1641 * </p> 1642 */ 1643 public String getName() { 1644 return getNameElement().getValue(); 1645 } 1646 1647 /** 1648 * Sets the value(s) for <b>name</b> () 1649 * 1650 * <p> 1651 * <b>Definition:</b> 1652 * The name of an individual to contact regarding the search parameter 1653 * </p> 1654 */ 1655 public Contact setName(StringDt theValue) { 1656 myName = theValue; 1657 return this; 1658 } 1659 1660 1661 1662 /** 1663 * Sets the value for <b>name</b> () 1664 * 1665 * <p> 1666 * <b>Definition:</b> 1667 * The name of an individual to contact regarding the search parameter 1668 * </p> 1669 */ 1670 public Contact setName( String theString) { 1671 myName = new StringDt(theString); 1672 return this; 1673 } 1674 1675 1676 /** 1677 * Gets the value(s) for <b>telecom</b> (). 1678 * creating it if it does 1679 * not exist. Will not return <code>null</code>. 1680 * 1681 * <p> 1682 * <b>Definition:</b> 1683 * Contact details for individual (if a name was provided) or the publisher 1684 * </p> 1685 */ 1686 public java.util.List<ContactPointDt> getTelecom() { 1687 if (myTelecom == null) { 1688 myTelecom = new java.util.ArrayList<ContactPointDt>(); 1689 } 1690 return myTelecom; 1691 } 1692 1693 /** 1694 * Sets the value(s) for <b>telecom</b> () 1695 * 1696 * <p> 1697 * <b>Definition:</b> 1698 * Contact details for individual (if a name was provided) or the publisher 1699 * </p> 1700 */ 1701 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 1702 myTelecom = theValue; 1703 return this; 1704 } 1705 1706 1707 1708 /** 1709 * Adds and returns a new value for <b>telecom</b> () 1710 * 1711 * <p> 1712 * <b>Definition:</b> 1713 * Contact details for individual (if a name was provided) or the publisher 1714 * </p> 1715 */ 1716 public ContactPointDt addTelecom() { 1717 ContactPointDt newType = new ContactPointDt(); 1718 getTelecom().add(newType); 1719 return newType; 1720 } 1721 1722 /** 1723 * Adds a given new value for <b>telecom</b> () 1724 * 1725 * <p> 1726 * <b>Definition:</b> 1727 * Contact details for individual (if a name was provided) or the publisher 1728 * </p> 1729 * @param theValue The telecom to add (must not be <code>null</code>) 1730 */ 1731 public Contact addTelecom(ContactPointDt theValue) { 1732 if (theValue == null) { 1733 throw new NullPointerException("theValue must not be null"); 1734 } 1735 getTelecom().add(theValue); 1736 return this; 1737 } 1738 1739 /** 1740 * Gets the first repetition for <b>telecom</b> (), 1741 * creating it if it does not already exist. 1742 * 1743 * <p> 1744 * <b>Definition:</b> 1745 * Contact details for individual (if a name was provided) or the publisher 1746 * </p> 1747 */ 1748 public ContactPointDt getTelecomFirstRep() { 1749 if (getTelecom().isEmpty()) { 1750 return addTelecom(); 1751 } 1752 return getTelecom().get(0); 1753 } 1754 1755 1756 1757 } 1758 1759 1760 1761 1762 @Override 1763 public String getResourceName() { 1764 return "SearchParameter"; 1765 } 1766 1767 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1768 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1769 } 1770 1771 1772}