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>Conformance</b> Resource 282 * () 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 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/Conformance">http://hl7.org/fhir/profiles/Conformance</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Conformance", profile="http://hl7.org/fhir/profiles/Conformance", id="conformance") 301public class Conformance extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements ca.uhn.fhir.model.base.resource.BaseConformance { 303 304 /** 305 * Search parameter constant for <b>url</b> 306 * <p> 307 * Description: <b>The uri that identifies the conformance statement</b><br> 308 * Type: <b>uri</b><br> 309 * Path: <b>Conformance.url</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="url", path="Conformance.url", description="The uri that identifies the conformance statement", 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 uri that identifies the conformance statement</b><br> 319 * Type: <b>uri</b><br> 320 * Path: <b>Conformance.url</b><br> 321 * </p> 322 */ 323 public static final UriClientParam URL = new UriClientParam(SP_URL); 324 325 /** 326 * Search parameter constant for <b>version</b> 327 * <p> 328 * Description: <b>The version identifier of the conformance statement</b><br> 329 * Type: <b>token</b><br> 330 * Path: <b>Conformance.version</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="version", path="Conformance.version", description="The version identifier of the conformance statement", type="token" ) 334 public static final String SP_VERSION = "version"; 335 336 /** 337 * <b>Fluent Client</b> search parameter constant for <b>version</b> 338 * <p> 339 * Description: <b>The version identifier of the conformance statement</b><br> 340 * Type: <b>token</b><br> 341 * Path: <b>Conformance.version</b><br> 342 * </p> 343 */ 344 public static final TokenClientParam VERSION = new TokenClientParam(SP_VERSION); 345 346 /** 347 * Search parameter constant for <b>name</b> 348 * <p> 349 * Description: <b>Name of the conformance statement</b><br> 350 * Type: <b>string</b><br> 351 * Path: <b>Conformance.name</b><br> 352 * </p> 353 */ 354 @SearchParamDefinition(name="name", path="Conformance.name", description="Name of the conformance statement", type="string" ) 355 public static final String SP_NAME = "name"; 356 357 /** 358 * <b>Fluent Client</b> search parameter constant for <b>name</b> 359 * <p> 360 * Description: <b>Name of the conformance statement</b><br> 361 * Type: <b>string</b><br> 362 * Path: <b>Conformance.name</b><br> 363 * </p> 364 */ 365 public static final StringClientParam NAME = new StringClientParam(SP_NAME); 366 367 /** 368 * Search parameter constant for <b>publisher</b> 369 * <p> 370 * Description: <b>Name of the publisher of the conformance statement</b><br> 371 * Type: <b>string</b><br> 372 * Path: <b>Conformance.publisher</b><br> 373 * </p> 374 */ 375 @SearchParamDefinition(name="publisher", path="Conformance.publisher", description="Name of the publisher of the conformance statement", type="string" ) 376 public static final String SP_PUBLISHER = "publisher"; 377 378 /** 379 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 380 * <p> 381 * Description: <b>Name of the publisher of the conformance statement</b><br> 382 * Type: <b>string</b><br> 383 * Path: <b>Conformance.publisher</b><br> 384 * </p> 385 */ 386 public static final StringClientParam PUBLISHER = new StringClientParam(SP_PUBLISHER); 387 388 /** 389 * Search parameter constant for <b>description</b> 390 * <p> 391 * Description: <b>Text search in the description of the conformance statement</b><br> 392 * Type: <b>string</b><br> 393 * Path: <b>Conformance.description</b><br> 394 * </p> 395 */ 396 @SearchParamDefinition(name="description", path="Conformance.description", description="Text search in the description of the conformance statement", type="string" ) 397 public static final String SP_DESCRIPTION = "description"; 398 399 /** 400 * <b>Fluent Client</b> search parameter constant for <b>description</b> 401 * <p> 402 * Description: <b>Text search in the description of the conformance statement</b><br> 403 * Type: <b>string</b><br> 404 * Path: <b>Conformance.description</b><br> 405 * </p> 406 */ 407 public static final StringClientParam DESCRIPTION = new StringClientParam(SP_DESCRIPTION); 408 409 /** 410 * Search parameter constant for <b>status</b> 411 * <p> 412 * Description: <b>The current status of the conformance statement</b><br> 413 * Type: <b>token</b><br> 414 * Path: <b>Conformance.status</b><br> 415 * </p> 416 */ 417 @SearchParamDefinition(name="status", path="Conformance.status", description="The current status of the conformance statement", type="token" ) 418 public static final String SP_STATUS = "status"; 419 420 /** 421 * <b>Fluent Client</b> search parameter constant for <b>status</b> 422 * <p> 423 * Description: <b>The current status of the conformance statement</b><br> 424 * Type: <b>token</b><br> 425 * Path: <b>Conformance.status</b><br> 426 * </p> 427 */ 428 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 429 430 /** 431 * Search parameter constant for <b>date</b> 432 * <p> 433 * Description: <b>The conformance statement publication date</b><br> 434 * Type: <b>date</b><br> 435 * Path: <b>Conformance.date</b><br> 436 * </p> 437 */ 438 @SearchParamDefinition(name="date", path="Conformance.date", description="The conformance statement publication date", type="date" ) 439 public static final String SP_DATE = "date"; 440 441 /** 442 * <b>Fluent Client</b> search parameter constant for <b>date</b> 443 * <p> 444 * Description: <b>The conformance statement publication date</b><br> 445 * Type: <b>date</b><br> 446 * Path: <b>Conformance.date</b><br> 447 * </p> 448 */ 449 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 450 451 /** 452 * Search parameter constant for <b>software</b> 453 * <p> 454 * Description: <b>Part of a the name of a software application</b><br> 455 * Type: <b>string</b><br> 456 * Path: <b>Conformance.software.name</b><br> 457 * </p> 458 */ 459 @SearchParamDefinition(name="software", path="Conformance.software.name", description="Part of a the name of a software application", type="string" ) 460 public static final String SP_SOFTWARE = "software"; 461 462 /** 463 * <b>Fluent Client</b> search parameter constant for <b>software</b> 464 * <p> 465 * Description: <b>Part of a the name of a software application</b><br> 466 * Type: <b>string</b><br> 467 * Path: <b>Conformance.software.name</b><br> 468 * </p> 469 */ 470 public static final StringClientParam SOFTWARE = new StringClientParam(SP_SOFTWARE); 471 472 /** 473 * Search parameter constant for <b>fhirversion</b> 474 * <p> 475 * Description: <b>The version of FHIR</b><br> 476 * Type: <b>token</b><br> 477 * Path: <b>Conformance.version</b><br> 478 * </p> 479 */ 480 @SearchParamDefinition(name="fhirversion", path="Conformance.version", description="The version of FHIR", type="token" ) 481 public static final String SP_FHIRVERSION = "fhirversion"; 482 483 /** 484 * <b>Fluent Client</b> search parameter constant for <b>fhirversion</b> 485 * <p> 486 * Description: <b>The version of FHIR</b><br> 487 * Type: <b>token</b><br> 488 * Path: <b>Conformance.version</b><br> 489 * </p> 490 */ 491 public static final TokenClientParam FHIRVERSION = new TokenClientParam(SP_FHIRVERSION); 492 493 /** 494 * Search parameter constant for <b>resource</b> 495 * <p> 496 * Description: <b>Name of a resource mentioned in a conformance statement</b><br> 497 * Type: <b>token</b><br> 498 * Path: <b>Conformance.rest.resource.type</b><br> 499 * </p> 500 */ 501 @SearchParamDefinition(name="resource", path="Conformance.rest.resource.type", description="Name of a resource mentioned in a conformance statement", type="token" ) 502 public static final String SP_RESOURCE = "resource"; 503 504 /** 505 * <b>Fluent Client</b> search parameter constant for <b>resource</b> 506 * <p> 507 * Description: <b>Name of a resource mentioned in a conformance statement</b><br> 508 * Type: <b>token</b><br> 509 * Path: <b>Conformance.rest.resource.type</b><br> 510 * </p> 511 */ 512 public static final TokenClientParam RESOURCE = new TokenClientParam(SP_RESOURCE); 513 514 /** 515 * Search parameter constant for <b>event</b> 516 * <p> 517 * Description: <b>Event code in a conformance statement</b><br> 518 * Type: <b>token</b><br> 519 * Path: <b>Conformance.messaging.event.code</b><br> 520 * </p> 521 */ 522 @SearchParamDefinition(name="event", path="Conformance.messaging.event.code", description="Event code in a conformance statement", type="token" ) 523 public static final String SP_EVENT = "event"; 524 525 /** 526 * <b>Fluent Client</b> search parameter constant for <b>event</b> 527 * <p> 528 * Description: <b>Event code in a conformance statement</b><br> 529 * Type: <b>token</b><br> 530 * Path: <b>Conformance.messaging.event.code</b><br> 531 * </p> 532 */ 533 public static final TokenClientParam EVENT = new TokenClientParam(SP_EVENT); 534 535 /** 536 * Search parameter constant for <b>mode</b> 537 * <p> 538 * Description: <b>Mode - restful (server/client) or messaging (sender/receiver)</b><br> 539 * Type: <b>token</b><br> 540 * Path: <b>Conformance.rest.mode</b><br> 541 * </p> 542 */ 543 @SearchParamDefinition(name="mode", path="Conformance.rest.mode", description="Mode - restful (server/client) or messaging (sender/receiver)", type="token" ) 544 public static final String SP_MODE = "mode"; 545 546 /** 547 * <b>Fluent Client</b> search parameter constant for <b>mode</b> 548 * <p> 549 * Description: <b>Mode - restful (server/client) or messaging (sender/receiver)</b><br> 550 * Type: <b>token</b><br> 551 * Path: <b>Conformance.rest.mode</b><br> 552 * </p> 553 */ 554 public static final TokenClientParam MODE = new TokenClientParam(SP_MODE); 555 556 /** 557 * Search parameter constant for <b>profile</b> 558 * <p> 559 * Description: <b>A profile id invoked in a conformance statement</b><br> 560 * Type: <b>reference</b><br> 561 * Path: <b>Conformance.rest.resource.profile</b><br> 562 * </p> 563 */ 564 @SearchParamDefinition(name="profile", path="Conformance.rest.resource.profile", description="A profile id invoked in a conformance statement", type="reference" ) 565 public static final String SP_PROFILE = "profile"; 566 567 /** 568 * <b>Fluent Client</b> search parameter constant for <b>profile</b> 569 * <p> 570 * Description: <b>A profile id invoked in a conformance statement</b><br> 571 * Type: <b>reference</b><br> 572 * Path: <b>Conformance.rest.resource.profile</b><br> 573 * </p> 574 */ 575 public static final ReferenceClientParam PROFILE = new ReferenceClientParam(SP_PROFILE); 576 577 /** 578 * Search parameter constant for <b>format</b> 579 * <p> 580 * Description: <b></b><br> 581 * Type: <b>token</b><br> 582 * Path: <b>Conformance.format</b><br> 583 * </p> 584 */ 585 @SearchParamDefinition(name="format", path="Conformance.format", description="", type="token" ) 586 public static final String SP_FORMAT = "format"; 587 588 /** 589 * <b>Fluent Client</b> search parameter constant for <b>format</b> 590 * <p> 591 * Description: <b></b><br> 592 * Type: <b>token</b><br> 593 * Path: <b>Conformance.format</b><br> 594 * </p> 595 */ 596 public static final TokenClientParam FORMAT = new TokenClientParam(SP_FORMAT); 597 598 /** 599 * Search parameter constant for <b>security</b> 600 * <p> 601 * Description: <b></b><br> 602 * Type: <b>token</b><br> 603 * Path: <b>Conformance.rest.security.service</b><br> 604 * </p> 605 */ 606 @SearchParamDefinition(name="security", path="Conformance.rest.security.service", description="", type="token" ) 607 public static final String SP_SECURITY = "security"; 608 609 /** 610 * <b>Fluent Client</b> search parameter constant for <b>security</b> 611 * <p> 612 * Description: <b></b><br> 613 * Type: <b>token</b><br> 614 * Path: <b>Conformance.rest.security.service</b><br> 615 * </p> 616 */ 617 public static final TokenClientParam SECURITY = new TokenClientParam(SP_SECURITY); 618 619 /** 620 * Search parameter constant for <b>supported-profile</b> 621 * <p> 622 * Description: <b></b><br> 623 * Type: <b>reference</b><br> 624 * Path: <b>Conformance.profile</b><br> 625 * </p> 626 */ 627 @SearchParamDefinition(name="supported-profile", path="Conformance.profile", description="", type="reference" ) 628 public static final String SP_SUPPORTED_PROFILE = "supported-profile"; 629 630 /** 631 * <b>Fluent Client</b> search parameter constant for <b>supported-profile</b> 632 * <p> 633 * Description: <b></b><br> 634 * Type: <b>reference</b><br> 635 * Path: <b>Conformance.profile</b><br> 636 * </p> 637 */ 638 public static final ReferenceClientParam SUPPORTED_PROFILE = new ReferenceClientParam(SP_SUPPORTED_PROFILE); 639 640 641 /** 642 * Constant for fluent queries to be used to add include statements. Specifies 643 * the path value of "<b>Conformance:profile</b>". 644 */ 645 public static final Include INCLUDE_PROFILE = new Include("Conformance:profile"); 646 647 /** 648 * Constant for fluent queries to be used to add include statements. Specifies 649 * the path value of "<b>Conformance:supported-profile</b>". 650 */ 651 public static final Include INCLUDE_SUPPORTED_PROFILE = new Include("Conformance:supported-profile"); 652 653 654 @Child(name="url", type=UriDt.class, order=0, min=0, max=1, summary=true, modifier=false) 655 @Description( 656 shortDefinition="", 657 formalDefinition="An absolute URL that is used to identify this conformance statement 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 conformance statement is (or will be) published" 658 ) 659 private UriDt myUrl; 660 661 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 662 @Description( 663 shortDefinition="", 664 formalDefinition="The identifier that is used to identify this version of the conformance statement 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" 665 ) 666 private StringDt myVersion; 667 668 @Child(name="name", type=StringDt.class, order=2, min=0, max=1, summary=true, modifier=false) 669 @Description( 670 shortDefinition="", 671 formalDefinition="A free text natural language name identifying the conformance statement" 672 ) 673 private StringDt myName; 674 675 @Child(name="status", type=CodeDt.class, order=3, min=0, max=1, summary=true, modifier=false) 676 @Description( 677 shortDefinition="", 678 formalDefinition="The status of this conformance statement" 679 ) 680 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conformance-resource-status") 681 private BoundCodeDt<ConformanceResourceStatusEnum> myStatus; 682 683 @Child(name="experimental", type=BooleanDt.class, order=4, min=0, max=1, summary=true, modifier=false) 684 @Description( 685 shortDefinition="", 686 formalDefinition="A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage" 687 ) 688 private BooleanDt myExperimental; 689 690 @Child(name="publisher", type=StringDt.class, order=5, min=0, max=1, summary=true, modifier=false) 691 @Description( 692 shortDefinition="", 693 formalDefinition="The name of the individual or organization that published the conformance" 694 ) 695 private StringDt myPublisher; 696 697 @Child(name="contact", order=6, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 698 @Description( 699 shortDefinition="", 700 formalDefinition="Contacts to assist a user in finding and communicating with the publisher" 701 ) 702 private java.util.List<Contact> myContact; 703 704 @Child(name="date", type=DateTimeDt.class, order=7, min=1, max=1, summary=true, modifier=false) 705 @Description( 706 shortDefinition="", 707 formalDefinition="The date (and optionally time) when the conformance statement 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 conformance statement changes" 708 ) 709 private DateTimeDt myDate; 710 711 @Child(name="description", type=StringDt.class, order=8, min=0, max=1, summary=true, modifier=false) 712 @Description( 713 shortDefinition="", 714 formalDefinition="A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP" 715 ) 716 private StringDt myDescription; 717 718 @Child(name="requirements", type=StringDt.class, order=9, min=0, max=1, summary=false, modifier=false) 719 @Description( 720 shortDefinition="", 721 formalDefinition="Explains why this conformance statement is needed and why it's been constrained as it has" 722 ) 723 private StringDt myRequirements; 724 725 @Child(name="copyright", type=StringDt.class, order=10, min=0, max=1, summary=false, modifier=false) 726 @Description( 727 shortDefinition="", 728 formalDefinition="A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement" 729 ) 730 private StringDt myCopyright; 731 732 @Child(name="kind", type=CodeDt.class, order=11, min=1, max=1, summary=true, modifier=false) 733 @Description( 734 shortDefinition="", 735 formalDefinition="The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase)" 736 ) 737 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conformance-statement-kind") 738 private BoundCodeDt<ConformanceStatementKindEnum> myKind; 739 740 @Child(name="software", order=12, min=0, max=1, summary=true, modifier=false) 741 @Description( 742 shortDefinition="", 743 formalDefinition="Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation." 744 ) 745 private Software mySoftware; 746 747 @Child(name="implementation", order=13, min=0, max=1, summary=true, modifier=false) 748 @Description( 749 shortDefinition="", 750 formalDefinition="Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program" 751 ) 752 private Implementation myImplementation; 753 754 @Child(name="fhirVersion", type=IdDt.class, order=14, min=1, max=1, summary=true, modifier=false) 755 @Description( 756 shortDefinition="", 757 formalDefinition="The version of the FHIR specification on which this conformance statement is based" 758 ) 759 private IdDt myFhirVersion; 760 761 @Child(name="acceptUnknown", type=CodeDt.class, order=15, min=1, max=1, summary=true, modifier=false) 762 @Description( 763 shortDefinition="", 764 formalDefinition="A code that indicates whether the application accepts unknown elements or extensions when reading resources" 765 ) 766 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/unknown-content-code") 767 private BoundCodeDt<UnknownContentCodeEnum> myAcceptUnknown; 768 769 @Child(name="format", type=CodeDt.class, order=16, min=1, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 770 @Description( 771 shortDefinition="", 772 formalDefinition="A list of the formats supported by this implementation using their content types" 773 ) 774 private java.util.List<CodeDt> myFormat; 775 776 @Child(name="profile", order=17, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 777 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 778 @Description( 779 shortDefinition="", 780 formalDefinition="A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles]{profiling.html#profile-uses}" 781 ) 782 private java.util.List<ResourceReferenceDt> myProfile; 783 784 @Child(name="rest", order=18, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 785 @Description( 786 shortDefinition="", 787 formalDefinition="A definition of the restful capabilities of the solution, if any" 788 ) 789 private java.util.List<Rest> myRest; 790 791 @Child(name="messaging", order=19, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 792 @Description( 793 shortDefinition="", 794 formalDefinition="A description of the messaging capabilities of the solution" 795 ) 796 private java.util.List<Messaging> myMessaging; 797 798 @Child(name="document", order=20, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 799 @Description( 800 shortDefinition="", 801 formalDefinition="A document definition" 802 ) 803 private java.util.List<Document> myDocument; 804 805 806 @Override 807 public boolean isEmpty() { 808 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myUrl, myVersion, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myDescription, myRequirements, myCopyright, myKind, mySoftware, myImplementation, myFhirVersion, myAcceptUnknown, myFormat, myProfile, myRest, myMessaging, myDocument); 809 } 810 811 @Override 812 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 813 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUrl, myVersion, myName, myStatus, myExperimental, myPublisher, myContact, myDate, myDescription, myRequirements, myCopyright, myKind, mySoftware, myImplementation, myFhirVersion, myAcceptUnknown, myFormat, myProfile, myRest, myMessaging, myDocument); 814 } 815 816 /** 817 * Gets the value(s) for <b>url</b> (). 818 * creating it if it does 819 * not exist. Will not return <code>null</code>. 820 * 821 * <p> 822 * <b>Definition:</b> 823 * An absolute URL that is used to identify this conformance statement 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 conformance statement is (or will be) published 824 * </p> 825 */ 826 public UriDt getUrlElement() { 827 if (myUrl == null) { 828 myUrl = new UriDt(); 829 } 830 return myUrl; 831 } 832 833 834 /** 835 * Gets the value(s) for <b>url</b> (). 836 * creating it if it does 837 * not exist. This method may return <code>null</code>. 838 * 839 * <p> 840 * <b>Definition:</b> 841 * An absolute URL that is used to identify this conformance statement 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 conformance statement is (or will be) published 842 * </p> 843 */ 844 public String getUrl() { 845 return getUrlElement().getValue(); 846 } 847 848 /** 849 * Sets the value(s) for <b>url</b> () 850 * 851 * <p> 852 * <b>Definition:</b> 853 * An absolute URL that is used to identify this conformance statement 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 conformance statement is (or will be) published 854 * </p> 855 */ 856 public Conformance setUrl(UriDt theValue) { 857 myUrl = theValue; 858 return this; 859 } 860 861 862 863 /** 864 * Sets the value for <b>url</b> () 865 * 866 * <p> 867 * <b>Definition:</b> 868 * An absolute URL that is used to identify this conformance statement 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 conformance statement is (or will be) published 869 * </p> 870 */ 871 public Conformance setUrl( String theUri) { 872 myUrl = new UriDt(theUri); 873 return this; 874 } 875 876 877 /** 878 * Gets the value(s) for <b>version</b> (). 879 * creating it if it does 880 * not exist. Will not return <code>null</code>. 881 * 882 * <p> 883 * <b>Definition:</b> 884 * The identifier that is used to identify this version of the conformance statement 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 885 * </p> 886 */ 887 public StringDt getVersionElement() { 888 if (myVersion == null) { 889 myVersion = new StringDt(); 890 } 891 return myVersion; 892 } 893 894 895 /** 896 * Gets the value(s) for <b>version</b> (). 897 * creating it if it does 898 * not exist. This method may return <code>null</code>. 899 * 900 * <p> 901 * <b>Definition:</b> 902 * The identifier that is used to identify this version of the conformance statement 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 903 * </p> 904 */ 905 public String getVersion() { 906 return getVersionElement().getValue(); 907 } 908 909 /** 910 * Sets the value(s) for <b>version</b> () 911 * 912 * <p> 913 * <b>Definition:</b> 914 * The identifier that is used to identify this version of the conformance statement 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 915 * </p> 916 */ 917 public Conformance setVersion(StringDt theValue) { 918 myVersion = theValue; 919 return this; 920 } 921 922 923 924 /** 925 * Sets the value for <b>version</b> () 926 * 927 * <p> 928 * <b>Definition:</b> 929 * The identifier that is used to identify this version of the conformance statement 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 930 * </p> 931 */ 932 public Conformance setVersion( String theString) { 933 myVersion = new StringDt(theString); 934 return this; 935 } 936 937 938 /** 939 * Gets the value(s) for <b>name</b> (). 940 * creating it if it does 941 * not exist. Will not return <code>null</code>. 942 * 943 * <p> 944 * <b>Definition:</b> 945 * A free text natural language name identifying the conformance statement 946 * </p> 947 */ 948 public StringDt getNameElement() { 949 if (myName == null) { 950 myName = new StringDt(); 951 } 952 return myName; 953 } 954 955 956 /** 957 * Gets the value(s) for <b>name</b> (). 958 * creating it if it does 959 * not exist. This method may return <code>null</code>. 960 * 961 * <p> 962 * <b>Definition:</b> 963 * A free text natural language name identifying the conformance statement 964 * </p> 965 */ 966 public String getName() { 967 return getNameElement().getValue(); 968 } 969 970 /** 971 * Sets the value(s) for <b>name</b> () 972 * 973 * <p> 974 * <b>Definition:</b> 975 * A free text natural language name identifying the conformance statement 976 * </p> 977 */ 978 public Conformance setName(StringDt theValue) { 979 myName = theValue; 980 return this; 981 } 982 983 984 985 /** 986 * Sets the value for <b>name</b> () 987 * 988 * <p> 989 * <b>Definition:</b> 990 * A free text natural language name identifying the conformance statement 991 * </p> 992 */ 993 public Conformance setName( String theString) { 994 myName = new StringDt(theString); 995 return this; 996 } 997 998 999 /** 1000 * Gets the value(s) for <b>status</b> (). 1001 * creating it if it does 1002 * not exist. Will not return <code>null</code>. 1003 * 1004 * <p> 1005 * <b>Definition:</b> 1006 * The status of this conformance statement 1007 * </p> 1008 */ 1009 public BoundCodeDt<ConformanceResourceStatusEnum> getStatusElement() { 1010 if (myStatus == null) { 1011 myStatus = new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER); 1012 } 1013 return myStatus; 1014 } 1015 1016 1017 /** 1018 * Gets the value(s) for <b>status</b> (). 1019 * creating it if it does 1020 * not exist. This method may return <code>null</code>. 1021 * 1022 * <p> 1023 * <b>Definition:</b> 1024 * The status of this conformance statement 1025 * </p> 1026 */ 1027 public String getStatus() { 1028 return getStatusElement().getValue(); 1029 } 1030 1031 /** 1032 * Sets the value(s) for <b>status</b> () 1033 * 1034 * <p> 1035 * <b>Definition:</b> 1036 * The status of this conformance statement 1037 * </p> 1038 */ 1039 public Conformance setStatus(BoundCodeDt<ConformanceResourceStatusEnum> theValue) { 1040 myStatus = theValue; 1041 return this; 1042 } 1043 1044 1045 1046 /** 1047 * Sets the value(s) for <b>status</b> () 1048 * 1049 * <p> 1050 * <b>Definition:</b> 1051 * The status of this conformance statement 1052 * </p> 1053 */ 1054 public Conformance setStatus(ConformanceResourceStatusEnum theValue) { 1055 setStatus(new BoundCodeDt<ConformanceResourceStatusEnum>(ConformanceResourceStatusEnum.VALUESET_BINDER, theValue)); 1056 1057/* 1058 getStatusElement().setValueAsEnum(theValue); 1059*/ 1060 return this; 1061 } 1062 1063 1064 /** 1065 * Gets the value(s) for <b>experimental</b> (). 1066 * creating it if it does 1067 * not exist. Will not return <code>null</code>. 1068 * 1069 * <p> 1070 * <b>Definition:</b> 1071 * A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1072 * </p> 1073 */ 1074 public BooleanDt getExperimentalElement() { 1075 if (myExperimental == null) { 1076 myExperimental = new BooleanDt(); 1077 } 1078 return myExperimental; 1079 } 1080 1081 1082 /** 1083 * Gets the value(s) for <b>experimental</b> (). 1084 * creating it if it does 1085 * not exist. This method may return <code>null</code>. 1086 * 1087 * <p> 1088 * <b>Definition:</b> 1089 * A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1090 * </p> 1091 */ 1092 public Boolean getExperimental() { 1093 return getExperimentalElement().getValue(); 1094 } 1095 1096 /** 1097 * Sets the value(s) for <b>experimental</b> () 1098 * 1099 * <p> 1100 * <b>Definition:</b> 1101 * A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1102 * </p> 1103 */ 1104 public Conformance setExperimental(BooleanDt theValue) { 1105 myExperimental = theValue; 1106 return this; 1107 } 1108 1109 1110 1111 /** 1112 * Sets the value for <b>experimental</b> () 1113 * 1114 * <p> 1115 * <b>Definition:</b> 1116 * A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage 1117 * </p> 1118 */ 1119 public Conformance setExperimental( boolean theBoolean) { 1120 myExperimental = new BooleanDt(theBoolean); 1121 return this; 1122 } 1123 1124 1125 /** 1126 * Gets the value(s) for <b>publisher</b> (). 1127 * creating it if it does 1128 * not exist. Will not return <code>null</code>. 1129 * 1130 * <p> 1131 * <b>Definition:</b> 1132 * The name of the individual or organization that published the conformance 1133 * </p> 1134 */ 1135 public StringDt getPublisherElement() { 1136 if (myPublisher == null) { 1137 myPublisher = new StringDt(); 1138 } 1139 return myPublisher; 1140 } 1141 1142 1143 /** 1144 * Gets the value(s) for <b>publisher</b> (). 1145 * creating it if it does 1146 * not exist. This method may return <code>null</code>. 1147 * 1148 * <p> 1149 * <b>Definition:</b> 1150 * The name of the individual or organization that published the conformance 1151 * </p> 1152 */ 1153 public String getPublisher() { 1154 return getPublisherElement().getValue(); 1155 } 1156 1157 /** 1158 * Sets the value(s) for <b>publisher</b> () 1159 * 1160 * <p> 1161 * <b>Definition:</b> 1162 * The name of the individual or organization that published the conformance 1163 * </p> 1164 */ 1165 public Conformance setPublisher(StringDt theValue) { 1166 myPublisher = theValue; 1167 return this; 1168 } 1169 1170 1171 1172 /** 1173 * Sets the value for <b>publisher</b> () 1174 * 1175 * <p> 1176 * <b>Definition:</b> 1177 * The name of the individual or organization that published the conformance 1178 * </p> 1179 */ 1180 public Conformance setPublisher( String theString) { 1181 myPublisher = new StringDt(theString); 1182 return this; 1183 } 1184 1185 1186 /** 1187 * Gets the value(s) for <b>contact</b> (). 1188 * creating it if it does 1189 * not exist. Will not return <code>null</code>. 1190 * 1191 * <p> 1192 * <b>Definition:</b> 1193 * Contacts to assist a user in finding and communicating with the publisher 1194 * </p> 1195 */ 1196 public java.util.List<Contact> getContact() { 1197 if (myContact == null) { 1198 myContact = new java.util.ArrayList<Contact>(); 1199 } 1200 return myContact; 1201 } 1202 1203 /** 1204 * Sets the value(s) for <b>contact</b> () 1205 * 1206 * <p> 1207 * <b>Definition:</b> 1208 * Contacts to assist a user in finding and communicating with the publisher 1209 * </p> 1210 */ 1211 public Conformance setContact(java.util.List<Contact> theValue) { 1212 myContact = theValue; 1213 return this; 1214 } 1215 1216 1217 1218 /** 1219 * Adds and returns a new value for <b>contact</b> () 1220 * 1221 * <p> 1222 * <b>Definition:</b> 1223 * Contacts to assist a user in finding and communicating with the publisher 1224 * </p> 1225 */ 1226 public Contact addContact() { 1227 Contact newType = new Contact(); 1228 getContact().add(newType); 1229 return newType; 1230 } 1231 1232 /** 1233 * Adds a given new value for <b>contact</b> () 1234 * 1235 * <p> 1236 * <b>Definition:</b> 1237 * Contacts to assist a user in finding and communicating with the publisher 1238 * </p> 1239 * @param theValue The contact to add (must not be <code>null</code>) 1240 */ 1241 public Conformance addContact(Contact theValue) { 1242 if (theValue == null) { 1243 throw new NullPointerException("theValue must not be null"); 1244 } 1245 getContact().add(theValue); 1246 return this; 1247 } 1248 1249 /** 1250 * Gets the first repetition for <b>contact</b> (), 1251 * creating it if it does not already exist. 1252 * 1253 * <p> 1254 * <b>Definition:</b> 1255 * Contacts to assist a user in finding and communicating with the publisher 1256 * </p> 1257 */ 1258 public Contact getContactFirstRep() { 1259 if (getContact().isEmpty()) { 1260 return addContact(); 1261 } 1262 return getContact().get(0); 1263 } 1264 1265 /** 1266 * Gets the value(s) for <b>date</b> (). 1267 * creating it if it does 1268 * not exist. Will not return <code>null</code>. 1269 * 1270 * <p> 1271 * <b>Definition:</b> 1272 * The date (and optionally time) when the conformance statement 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 conformance statement changes 1273 * </p> 1274 */ 1275 public DateTimeDt getDateElement() { 1276 if (myDate == null) { 1277 myDate = new DateTimeDt(); 1278 } 1279 return myDate; 1280 } 1281 1282 1283 /** 1284 * Gets the value(s) for <b>date</b> (). 1285 * creating it if it does 1286 * not exist. This method may return <code>null</code>. 1287 * 1288 * <p> 1289 * <b>Definition:</b> 1290 * The date (and optionally time) when the conformance statement 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 conformance statement changes 1291 * </p> 1292 */ 1293 public Date getDate() { 1294 return getDateElement().getValue(); 1295 } 1296 1297 /** 1298 * Sets the value(s) for <b>date</b> () 1299 * 1300 * <p> 1301 * <b>Definition:</b> 1302 * The date (and optionally time) when the conformance statement 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 conformance statement changes 1303 * </p> 1304 */ 1305 public Conformance setDate(DateTimeDt theValue) { 1306 myDate = theValue; 1307 return this; 1308 } 1309 1310 1311 1312 /** 1313 * Sets the value for <b>date</b> () 1314 * 1315 * <p> 1316 * <b>Definition:</b> 1317 * The date (and optionally time) when the conformance statement 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 conformance statement changes 1318 * </p> 1319 */ 1320 public Conformance setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 1321 myDate = new DateTimeDt(theDate, thePrecision); 1322 return this; 1323 } 1324 1325 /** 1326 * Sets the value for <b>date</b> () 1327 * 1328 * <p> 1329 * <b>Definition:</b> 1330 * The date (and optionally time) when the conformance statement 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 conformance statement changes 1331 * </p> 1332 */ 1333 public Conformance setDateWithSecondsPrecision( Date theDate) { 1334 myDate = new DateTimeDt(theDate); 1335 return this; 1336 } 1337 1338 1339 /** 1340 * Gets the value(s) for <b>description</b> (). 1341 * creating it if it does 1342 * not exist. Will not return <code>null</code>. 1343 * 1344 * <p> 1345 * <b>Definition:</b> 1346 * A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP 1347 * </p> 1348 */ 1349 public StringDt getDescriptionElement() { 1350 if (myDescription == null) { 1351 myDescription = new StringDt(); 1352 } 1353 return myDescription; 1354 } 1355 1356 1357 /** 1358 * Gets the value(s) for <b>description</b> (). 1359 * creating it if it does 1360 * not exist. This method may return <code>null</code>. 1361 * 1362 * <p> 1363 * <b>Definition:</b> 1364 * A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP 1365 * </p> 1366 */ 1367 public String getDescription() { 1368 return getDescriptionElement().getValue(); 1369 } 1370 1371 /** 1372 * Sets the value(s) for <b>description</b> () 1373 * 1374 * <p> 1375 * <b>Definition:</b> 1376 * A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP 1377 * </p> 1378 */ 1379 public Conformance setDescription(StringDt theValue) { 1380 myDescription = theValue; 1381 return this; 1382 } 1383 1384 1385 1386 /** 1387 * Sets the value for <b>description</b> () 1388 * 1389 * <p> 1390 * <b>Definition:</b> 1391 * A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP 1392 * </p> 1393 */ 1394 public Conformance setDescription( String theString) { 1395 myDescription = new StringDt(theString); 1396 return this; 1397 } 1398 1399 1400 /** 1401 * Gets the value(s) for <b>requirements</b> (). 1402 * creating it if it does 1403 * not exist. Will not return <code>null</code>. 1404 * 1405 * <p> 1406 * <b>Definition:</b> 1407 * Explains why this conformance statement is needed and why it's been constrained as it has 1408 * </p> 1409 */ 1410 public StringDt getRequirementsElement() { 1411 if (myRequirements == null) { 1412 myRequirements = new StringDt(); 1413 } 1414 return myRequirements; 1415 } 1416 1417 1418 /** 1419 * Gets the value(s) for <b>requirements</b> (). 1420 * creating it if it does 1421 * not exist. This method may return <code>null</code>. 1422 * 1423 * <p> 1424 * <b>Definition:</b> 1425 * Explains why this conformance statement is needed and why it's been constrained as it has 1426 * </p> 1427 */ 1428 public String getRequirements() { 1429 return getRequirementsElement().getValue(); 1430 } 1431 1432 /** 1433 * Sets the value(s) for <b>requirements</b> () 1434 * 1435 * <p> 1436 * <b>Definition:</b> 1437 * Explains why this conformance statement is needed and why it's been constrained as it has 1438 * </p> 1439 */ 1440 public Conformance setRequirements(StringDt theValue) { 1441 myRequirements = theValue; 1442 return this; 1443 } 1444 1445 1446 1447 /** 1448 * Sets the value for <b>requirements</b> () 1449 * 1450 * <p> 1451 * <b>Definition:</b> 1452 * Explains why this conformance statement is needed and why it's been constrained as it has 1453 * </p> 1454 */ 1455 public Conformance setRequirements( String theString) { 1456 myRequirements = new StringDt(theString); 1457 return this; 1458 } 1459 1460 1461 /** 1462 * Gets the value(s) for <b>copyright</b> (). 1463 * creating it if it does 1464 * not exist. Will not return <code>null</code>. 1465 * 1466 * <p> 1467 * <b>Definition:</b> 1468 * A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement 1469 * </p> 1470 */ 1471 public StringDt getCopyrightElement() { 1472 if (myCopyright == null) { 1473 myCopyright = new StringDt(); 1474 } 1475 return myCopyright; 1476 } 1477 1478 1479 /** 1480 * Gets the value(s) for <b>copyright</b> (). 1481 * creating it if it does 1482 * not exist. This method may return <code>null</code>. 1483 * 1484 * <p> 1485 * <b>Definition:</b> 1486 * A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement 1487 * </p> 1488 */ 1489 public String getCopyright() { 1490 return getCopyrightElement().getValue(); 1491 } 1492 1493 /** 1494 * Sets the value(s) for <b>copyright</b> () 1495 * 1496 * <p> 1497 * <b>Definition:</b> 1498 * A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement 1499 * </p> 1500 */ 1501 public Conformance setCopyright(StringDt theValue) { 1502 myCopyright = theValue; 1503 return this; 1504 } 1505 1506 1507 1508 /** 1509 * Sets the value for <b>copyright</b> () 1510 * 1511 * <p> 1512 * <b>Definition:</b> 1513 * A copyright statement relating to the conformance statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement 1514 * </p> 1515 */ 1516 public Conformance setCopyright( String theString) { 1517 myCopyright = new StringDt(theString); 1518 return this; 1519 } 1520 1521 1522 /** 1523 * Gets the value(s) for <b>kind</b> (). 1524 * creating it if it does 1525 * not exist. Will not return <code>null</code>. 1526 * 1527 * <p> 1528 * <b>Definition:</b> 1529 * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) 1530 * </p> 1531 */ 1532 public BoundCodeDt<ConformanceStatementKindEnum> getKindElement() { 1533 if (myKind == null) { 1534 myKind = new BoundCodeDt<ConformanceStatementKindEnum>(ConformanceStatementKindEnum.VALUESET_BINDER); 1535 } 1536 return myKind; 1537 } 1538 1539 1540 /** 1541 * Gets the value(s) for <b>kind</b> (). 1542 * creating it if it does 1543 * not exist. This method may return <code>null</code>. 1544 * 1545 * <p> 1546 * <b>Definition:</b> 1547 * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) 1548 * </p> 1549 */ 1550 public String getKind() { 1551 return getKindElement().getValue(); 1552 } 1553 1554 /** 1555 * Sets the value(s) for <b>kind</b> () 1556 * 1557 * <p> 1558 * <b>Definition:</b> 1559 * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) 1560 * </p> 1561 */ 1562 public Conformance setKind(BoundCodeDt<ConformanceStatementKindEnum> theValue) { 1563 myKind = theValue; 1564 return this; 1565 } 1566 1567 1568 1569 /** 1570 * Sets the value(s) for <b>kind</b> () 1571 * 1572 * <p> 1573 * <b>Definition:</b> 1574 * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) 1575 * </p> 1576 */ 1577 public Conformance setKind(ConformanceStatementKindEnum theValue) { 1578 setKind(new BoundCodeDt<ConformanceStatementKindEnum>(ConformanceStatementKindEnum.VALUESET_BINDER, theValue)); 1579 1580/* 1581 getKindElement().setValueAsEnum(theValue); 1582*/ 1583 return this; 1584 } 1585 1586 1587 /** 1588 * Gets the value(s) for <b>software</b> (). 1589 * creating it if it does 1590 * not exist. Will not return <code>null</code>. 1591 * 1592 * <p> 1593 * <b>Definition:</b> 1594 * Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation. 1595 * </p> 1596 */ 1597 public Software getSoftware() { 1598 if (mySoftware == null) { 1599 mySoftware = new Software(); 1600 } 1601 return mySoftware; 1602 } 1603 1604 /** 1605 * Sets the value(s) for <b>software</b> () 1606 * 1607 * <p> 1608 * <b>Definition:</b> 1609 * Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation. 1610 * </p> 1611 */ 1612 public Conformance setSoftware(Software theValue) { 1613 mySoftware = theValue; 1614 return this; 1615 } 1616 1617 1618 1619 1620 /** 1621 * Gets the value(s) for <b>implementation</b> (). 1622 * creating it if it does 1623 * not exist. Will not return <code>null</code>. 1624 * 1625 * <p> 1626 * <b>Definition:</b> 1627 * Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program 1628 * </p> 1629 */ 1630 public Implementation getImplementation() { 1631 if (myImplementation == null) { 1632 myImplementation = new Implementation(); 1633 } 1634 return myImplementation; 1635 } 1636 1637 /** 1638 * Sets the value(s) for <b>implementation</b> () 1639 * 1640 * <p> 1641 * <b>Definition:</b> 1642 * Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program 1643 * </p> 1644 */ 1645 public Conformance setImplementation(Implementation theValue) { 1646 myImplementation = theValue; 1647 return this; 1648 } 1649 1650 1651 1652 1653 /** 1654 * Gets the value(s) for <b>fhirVersion</b> (). 1655 * creating it if it does 1656 * not exist. Will not return <code>null</code>. 1657 * 1658 * <p> 1659 * <b>Definition:</b> 1660 * The version of the FHIR specification on which this conformance statement is based 1661 * </p> 1662 */ 1663 public IdDt getFhirVersionElement() { 1664 if (myFhirVersion == null) { 1665 myFhirVersion = new IdDt(); 1666 } 1667 return myFhirVersion; 1668 } 1669 1670 1671 /** 1672 * Gets the value(s) for <b>fhirVersion</b> (). 1673 * creating it if it does 1674 * not exist. This method may return <code>null</code>. 1675 * 1676 * <p> 1677 * <b>Definition:</b> 1678 * The version of the FHIR specification on which this conformance statement is based 1679 * </p> 1680 */ 1681 public String getFhirVersion() { 1682 return getFhirVersionElement().getValue(); 1683 } 1684 1685 /** 1686 * Sets the value(s) for <b>fhirVersion</b> () 1687 * 1688 * <p> 1689 * <b>Definition:</b> 1690 * The version of the FHIR specification on which this conformance statement is based 1691 * </p> 1692 */ 1693 public Conformance setFhirVersion(IdDt theValue) { 1694 myFhirVersion = theValue; 1695 return this; 1696 } 1697 1698 1699 1700 /** 1701 * Sets the value for <b>fhirVersion</b> () 1702 * 1703 * <p> 1704 * <b>Definition:</b> 1705 * The version of the FHIR specification on which this conformance statement is based 1706 * </p> 1707 */ 1708 public Conformance setFhirVersion( String theId) { 1709 myFhirVersion = new IdDt(theId); 1710 return this; 1711 } 1712 1713 1714 /** 1715 * Gets the value(s) for <b>acceptUnknown</b> (). 1716 * creating it if it does 1717 * not exist. Will not return <code>null</code>. 1718 * 1719 * <p> 1720 * <b>Definition:</b> 1721 * A code that indicates whether the application accepts unknown elements or extensions when reading resources 1722 * </p> 1723 */ 1724 public BoundCodeDt<UnknownContentCodeEnum> getAcceptUnknownElement() { 1725 if (myAcceptUnknown == null) { 1726 myAcceptUnknown = new BoundCodeDt<UnknownContentCodeEnum>(UnknownContentCodeEnum.VALUESET_BINDER); 1727 } 1728 return myAcceptUnknown; 1729 } 1730 1731 1732 /** 1733 * Gets the value(s) for <b>acceptUnknown</b> (). 1734 * creating it if it does 1735 * not exist. This method may return <code>null</code>. 1736 * 1737 * <p> 1738 * <b>Definition:</b> 1739 * A code that indicates whether the application accepts unknown elements or extensions when reading resources 1740 * </p> 1741 */ 1742 public String getAcceptUnknown() { 1743 return getAcceptUnknownElement().getValue(); 1744 } 1745 1746 /** 1747 * Sets the value(s) for <b>acceptUnknown</b> () 1748 * 1749 * <p> 1750 * <b>Definition:</b> 1751 * A code that indicates whether the application accepts unknown elements or extensions when reading resources 1752 * </p> 1753 */ 1754 public Conformance setAcceptUnknown(BoundCodeDt<UnknownContentCodeEnum> theValue) { 1755 myAcceptUnknown = theValue; 1756 return this; 1757 } 1758 1759 1760 1761 /** 1762 * Sets the value(s) for <b>acceptUnknown</b> () 1763 * 1764 * <p> 1765 * <b>Definition:</b> 1766 * A code that indicates whether the application accepts unknown elements or extensions when reading resources 1767 * </p> 1768 */ 1769 public Conformance setAcceptUnknown(UnknownContentCodeEnum theValue) { 1770 setAcceptUnknown(new BoundCodeDt<UnknownContentCodeEnum>(UnknownContentCodeEnum.VALUESET_BINDER, theValue)); 1771 1772/* 1773 getAcceptUnknownElement().setValueAsEnum(theValue); 1774*/ 1775 return this; 1776 } 1777 1778 1779 /** 1780 * Gets the value(s) for <b>format</b> (). 1781 * creating it if it does 1782 * not exist. Will not return <code>null</code>. 1783 * 1784 * <p> 1785 * <b>Definition:</b> 1786 * A list of the formats supported by this implementation using their content types 1787 * </p> 1788 */ 1789 public java.util.List<CodeDt> getFormat() { 1790 if (myFormat == null) { 1791 myFormat = new java.util.ArrayList<CodeDt>(); 1792 } 1793 return myFormat; 1794 } 1795 1796 /** 1797 * Sets the value(s) for <b>format</b> () 1798 * 1799 * <p> 1800 * <b>Definition:</b> 1801 * A list of the formats supported by this implementation using their content types 1802 * </p> 1803 */ 1804 public Conformance setFormat(java.util.List<CodeDt> theValue) { 1805 myFormat = theValue; 1806 return this; 1807 } 1808 1809 1810 1811 /** 1812 * Adds and returns a new value for <b>format</b> () 1813 * 1814 * <p> 1815 * <b>Definition:</b> 1816 * A list of the formats supported by this implementation using their content types 1817 * </p> 1818 */ 1819 public CodeDt addFormat() { 1820 CodeDt newType = new CodeDt(); 1821 getFormat().add(newType); 1822 return newType; 1823 } 1824 1825 /** 1826 * Adds a given new value for <b>format</b> () 1827 * 1828 * <p> 1829 * <b>Definition:</b> 1830 * A list of the formats supported by this implementation using their content types 1831 * </p> 1832 * @param theValue The format to add (must not be <code>null</code>) 1833 */ 1834 public Conformance addFormat(CodeDt theValue) { 1835 if (theValue == null) { 1836 throw new NullPointerException("theValue must not be null"); 1837 } 1838 getFormat().add(theValue); 1839 return this; 1840 } 1841 1842 /** 1843 * Gets the first repetition for <b>format</b> (), 1844 * creating it if it does not already exist. 1845 * 1846 * <p> 1847 * <b>Definition:</b> 1848 * A list of the formats supported by this implementation using their content types 1849 * </p> 1850 */ 1851 public CodeDt getFormatFirstRep() { 1852 if (getFormat().isEmpty()) { 1853 return addFormat(); 1854 } 1855 return getFormat().get(0); 1856 } 1857 /** 1858 * Adds a new value for <b>format</b> () 1859 * 1860 * <p> 1861 * <b>Definition:</b> 1862 * A list of the formats supported by this implementation using their content types 1863 * </p> 1864 * 1865 * @return Returns a reference to this object, to allow for simple chaining. 1866 */ 1867 public Conformance addFormat( String theCode) { 1868 if (myFormat == null) { 1869 myFormat = new java.util.ArrayList<CodeDt>(); 1870 } 1871 myFormat.add(new CodeDt(theCode)); 1872 return this; 1873 } 1874 1875 1876 /** 1877 * Gets the value(s) for <b>profile</b> (). 1878 * creating it if it does 1879 * not exist. Will not return <code>null</code>. 1880 * 1881 * <p> 1882 * <b>Definition:</b> 1883 * A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles]{profiling.html#profile-uses} 1884 * </p> 1885 */ 1886 public java.util.List<ResourceReferenceDt> getProfile() { 1887 if (myProfile == null) { 1888 myProfile = new java.util.ArrayList<ResourceReferenceDt>(); 1889 } 1890 return myProfile; 1891 } 1892 1893 /** 1894 * Sets the value(s) for <b>profile</b> () 1895 * 1896 * <p> 1897 * <b>Definition:</b> 1898 * A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles]{profiling.html#profile-uses} 1899 * </p> 1900 */ 1901 public Conformance setProfile(java.util.List<ResourceReferenceDt> theValue) { 1902 myProfile = theValue; 1903 return this; 1904 } 1905 1906 1907 1908 /** 1909 * Adds and returns a new value for <b>profile</b> () 1910 * 1911 * <p> 1912 * <b>Definition:</b> 1913 * A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles]{profiling.html#profile-uses} 1914 * </p> 1915 */ 1916 public ResourceReferenceDt addProfile() { 1917 ResourceReferenceDt newType = new ResourceReferenceDt(); 1918 getProfile().add(newType); 1919 return newType; 1920 } 1921 1922 /** 1923 * Gets the value(s) for <b>rest</b> (). 1924 * creating it if it does 1925 * not exist. Will not return <code>null</code>. 1926 * 1927 * <p> 1928 * <b>Definition:</b> 1929 * A definition of the restful capabilities of the solution, if any 1930 * </p> 1931 */ 1932 public java.util.List<Rest> getRest() { 1933 if (myRest == null) { 1934 myRest = new java.util.ArrayList<Rest>(); 1935 } 1936 return myRest; 1937 } 1938 1939 /** 1940 * Sets the value(s) for <b>rest</b> () 1941 * 1942 * <p> 1943 * <b>Definition:</b> 1944 * A definition of the restful capabilities of the solution, if any 1945 * </p> 1946 */ 1947 public Conformance setRest(java.util.List<Rest> theValue) { 1948 myRest = theValue; 1949 return this; 1950 } 1951 1952 1953 1954 /** 1955 * Adds and returns a new value for <b>rest</b> () 1956 * 1957 * <p> 1958 * <b>Definition:</b> 1959 * A definition of the restful capabilities of the solution, if any 1960 * </p> 1961 */ 1962 public Rest addRest() { 1963 Rest newType = new Rest(); 1964 getRest().add(newType); 1965 return newType; 1966 } 1967 1968 /** 1969 * Adds a given new value for <b>rest</b> () 1970 * 1971 * <p> 1972 * <b>Definition:</b> 1973 * A definition of the restful capabilities of the solution, if any 1974 * </p> 1975 * @param theValue The rest to add (must not be <code>null</code>) 1976 */ 1977 public Conformance addRest(Rest theValue) { 1978 if (theValue == null) { 1979 throw new NullPointerException("theValue must not be null"); 1980 } 1981 getRest().add(theValue); 1982 return this; 1983 } 1984 1985 /** 1986 * Gets the first repetition for <b>rest</b> (), 1987 * creating it if it does not already exist. 1988 * 1989 * <p> 1990 * <b>Definition:</b> 1991 * A definition of the restful capabilities of the solution, if any 1992 * </p> 1993 */ 1994 public Rest getRestFirstRep() { 1995 if (getRest().isEmpty()) { 1996 return addRest(); 1997 } 1998 return getRest().get(0); 1999 } 2000 2001 /** 2002 * Gets the value(s) for <b>messaging</b> (). 2003 * creating it if it does 2004 * not exist. Will not return <code>null</code>. 2005 * 2006 * <p> 2007 * <b>Definition:</b> 2008 * A description of the messaging capabilities of the solution 2009 * </p> 2010 */ 2011 public java.util.List<Messaging> getMessaging() { 2012 if (myMessaging == null) { 2013 myMessaging = new java.util.ArrayList<Messaging>(); 2014 } 2015 return myMessaging; 2016 } 2017 2018 /** 2019 * Sets the value(s) for <b>messaging</b> () 2020 * 2021 * <p> 2022 * <b>Definition:</b> 2023 * A description of the messaging capabilities of the solution 2024 * </p> 2025 */ 2026 public Conformance setMessaging(java.util.List<Messaging> theValue) { 2027 myMessaging = theValue; 2028 return this; 2029 } 2030 2031 2032 2033 /** 2034 * Adds and returns a new value for <b>messaging</b> () 2035 * 2036 * <p> 2037 * <b>Definition:</b> 2038 * A description of the messaging capabilities of the solution 2039 * </p> 2040 */ 2041 public Messaging addMessaging() { 2042 Messaging newType = new Messaging(); 2043 getMessaging().add(newType); 2044 return newType; 2045 } 2046 2047 /** 2048 * Adds a given new value for <b>messaging</b> () 2049 * 2050 * <p> 2051 * <b>Definition:</b> 2052 * A description of the messaging capabilities of the solution 2053 * </p> 2054 * @param theValue The messaging to add (must not be <code>null</code>) 2055 */ 2056 public Conformance addMessaging(Messaging theValue) { 2057 if (theValue == null) { 2058 throw new NullPointerException("theValue must not be null"); 2059 } 2060 getMessaging().add(theValue); 2061 return this; 2062 } 2063 2064 /** 2065 * Gets the first repetition for <b>messaging</b> (), 2066 * creating it if it does not already exist. 2067 * 2068 * <p> 2069 * <b>Definition:</b> 2070 * A description of the messaging capabilities of the solution 2071 * </p> 2072 */ 2073 public Messaging getMessagingFirstRep() { 2074 if (getMessaging().isEmpty()) { 2075 return addMessaging(); 2076 } 2077 return getMessaging().get(0); 2078 } 2079 2080 /** 2081 * Gets the value(s) for <b>document</b> (). 2082 * creating it if it does 2083 * not exist. Will not return <code>null</code>. 2084 * 2085 * <p> 2086 * <b>Definition:</b> 2087 * A document definition 2088 * </p> 2089 */ 2090 public java.util.List<Document> getDocument() { 2091 if (myDocument == null) { 2092 myDocument = new java.util.ArrayList<Document>(); 2093 } 2094 return myDocument; 2095 } 2096 2097 /** 2098 * Sets the value(s) for <b>document</b> () 2099 * 2100 * <p> 2101 * <b>Definition:</b> 2102 * A document definition 2103 * </p> 2104 */ 2105 public Conformance setDocument(java.util.List<Document> theValue) { 2106 myDocument = theValue; 2107 return this; 2108 } 2109 2110 2111 2112 /** 2113 * Adds and returns a new value for <b>document</b> () 2114 * 2115 * <p> 2116 * <b>Definition:</b> 2117 * A document definition 2118 * </p> 2119 */ 2120 public Document addDocument() { 2121 Document newType = new Document(); 2122 getDocument().add(newType); 2123 return newType; 2124 } 2125 2126 /** 2127 * Adds a given new value for <b>document</b> () 2128 * 2129 * <p> 2130 * <b>Definition:</b> 2131 * A document definition 2132 * </p> 2133 * @param theValue The document to add (must not be <code>null</code>) 2134 */ 2135 public Conformance addDocument(Document theValue) { 2136 if (theValue == null) { 2137 throw new NullPointerException("theValue must not be null"); 2138 } 2139 getDocument().add(theValue); 2140 return this; 2141 } 2142 2143 /** 2144 * Gets the first repetition for <b>document</b> (), 2145 * creating it if it does not already exist. 2146 * 2147 * <p> 2148 * <b>Definition:</b> 2149 * A document definition 2150 * </p> 2151 */ 2152 public Document getDocumentFirstRep() { 2153 if (getDocument().isEmpty()) { 2154 return addDocument(); 2155 } 2156 return getDocument().get(0); 2157 } 2158 2159 /** 2160 * Block class for child element: <b>Conformance.contact</b> () 2161 * 2162 * <p> 2163 * <b>Definition:</b> 2164 * Contacts to assist a user in finding and communicating with the publisher 2165 * </p> 2166 */ 2167 @Block() 2168 public static class Contact 2169 extends BaseIdentifiableElement implements IResourceBlock { 2170 2171 @Child(name="name", type=StringDt.class, order=0, min=0, max=1, summary=true, modifier=false) 2172 @Description( 2173 shortDefinition="", 2174 formalDefinition="The name of an individual to contact regarding the conformance" 2175 ) 2176 private StringDt myName; 2177 2178 @Child(name="telecom", type=ContactPointDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2179 @Description( 2180 shortDefinition="", 2181 formalDefinition="Contact details for individual (if a name was provided) or the publisher" 2182 ) 2183 private java.util.List<ContactPointDt> myTelecom; 2184 2185 2186 @Override 2187 public boolean isEmpty() { 2188 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myTelecom); 2189 } 2190 2191 @Override 2192 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2193 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myTelecom); 2194 } 2195 2196 /** 2197 * Gets the value(s) for <b>name</b> (). 2198 * creating it if it does 2199 * not exist. Will not return <code>null</code>. 2200 * 2201 * <p> 2202 * <b>Definition:</b> 2203 * The name of an individual to contact regarding the conformance 2204 * </p> 2205 */ 2206 public StringDt getNameElement() { 2207 if (myName == null) { 2208 myName = new StringDt(); 2209 } 2210 return myName; 2211 } 2212 2213 2214 /** 2215 * Gets the value(s) for <b>name</b> (). 2216 * creating it if it does 2217 * not exist. This method may return <code>null</code>. 2218 * 2219 * <p> 2220 * <b>Definition:</b> 2221 * The name of an individual to contact regarding the conformance 2222 * </p> 2223 */ 2224 public String getName() { 2225 return getNameElement().getValue(); 2226 } 2227 2228 /** 2229 * Sets the value(s) for <b>name</b> () 2230 * 2231 * <p> 2232 * <b>Definition:</b> 2233 * The name of an individual to contact regarding the conformance 2234 * </p> 2235 */ 2236 public Contact setName(StringDt theValue) { 2237 myName = theValue; 2238 return this; 2239 } 2240 2241 2242 2243 /** 2244 * Sets the value for <b>name</b> () 2245 * 2246 * <p> 2247 * <b>Definition:</b> 2248 * The name of an individual to contact regarding the conformance 2249 * </p> 2250 */ 2251 public Contact setName( String theString) { 2252 myName = new StringDt(theString); 2253 return this; 2254 } 2255 2256 2257 /** 2258 * Gets the value(s) for <b>telecom</b> (). 2259 * creating it if it does 2260 * not exist. Will not return <code>null</code>. 2261 * 2262 * <p> 2263 * <b>Definition:</b> 2264 * Contact details for individual (if a name was provided) or the publisher 2265 * </p> 2266 */ 2267 public java.util.List<ContactPointDt> getTelecom() { 2268 if (myTelecom == null) { 2269 myTelecom = new java.util.ArrayList<ContactPointDt>(); 2270 } 2271 return myTelecom; 2272 } 2273 2274 /** 2275 * Sets the value(s) for <b>telecom</b> () 2276 * 2277 * <p> 2278 * <b>Definition:</b> 2279 * Contact details for individual (if a name was provided) or the publisher 2280 * </p> 2281 */ 2282 public Contact setTelecom(java.util.List<ContactPointDt> theValue) { 2283 myTelecom = theValue; 2284 return this; 2285 } 2286 2287 2288 2289 /** 2290 * Adds and returns a new value for <b>telecom</b> () 2291 * 2292 * <p> 2293 * <b>Definition:</b> 2294 * Contact details for individual (if a name was provided) or the publisher 2295 * </p> 2296 */ 2297 public ContactPointDt addTelecom() { 2298 ContactPointDt newType = new ContactPointDt(); 2299 getTelecom().add(newType); 2300 return newType; 2301 } 2302 2303 /** 2304 * Adds a given new value for <b>telecom</b> () 2305 * 2306 * <p> 2307 * <b>Definition:</b> 2308 * Contact details for individual (if a name was provided) or the publisher 2309 * </p> 2310 * @param theValue The telecom to add (must not be <code>null</code>) 2311 */ 2312 public Contact addTelecom(ContactPointDt theValue) { 2313 if (theValue == null) { 2314 throw new NullPointerException("theValue must not be null"); 2315 } 2316 getTelecom().add(theValue); 2317 return this; 2318 } 2319 2320 /** 2321 * Gets the first repetition for <b>telecom</b> (), 2322 * creating it if it does not already exist. 2323 * 2324 * <p> 2325 * <b>Definition:</b> 2326 * Contact details for individual (if a name was provided) or the publisher 2327 * </p> 2328 */ 2329 public ContactPointDt getTelecomFirstRep() { 2330 if (getTelecom().isEmpty()) { 2331 return addTelecom(); 2332 } 2333 return getTelecom().get(0); 2334 } 2335 2336 2337 2338 } 2339 2340 2341 /** 2342 * Block class for child element: <b>Conformance.software</b> () 2343 * 2344 * <p> 2345 * <b>Definition:</b> 2346 * Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation. 2347 * </p> 2348 */ 2349 @Block() 2350 public static class Software 2351 extends BaseIdentifiableElement implements IResourceBlock { 2352 2353 @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2354 @Description( 2355 shortDefinition="", 2356 formalDefinition="Name software is known by" 2357 ) 2358 private StringDt myName; 2359 2360 @Child(name="version", type=StringDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2361 @Description( 2362 shortDefinition="", 2363 formalDefinition="The version identifier for the software covered by this statement" 2364 ) 2365 private StringDt myVersion; 2366 2367 @Child(name="releaseDate", type=DateTimeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 2368 @Description( 2369 shortDefinition="", 2370 formalDefinition="Date this version of the software released" 2371 ) 2372 private DateTimeDt myReleaseDate; 2373 2374 2375 @Override 2376 public boolean isEmpty() { 2377 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myVersion, myReleaseDate); 2378 } 2379 2380 @Override 2381 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2382 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myVersion, myReleaseDate); 2383 } 2384 2385 /** 2386 * Gets the value(s) for <b>name</b> (). 2387 * creating it if it does 2388 * not exist. Will not return <code>null</code>. 2389 * 2390 * <p> 2391 * <b>Definition:</b> 2392 * Name software is known by 2393 * </p> 2394 */ 2395 public StringDt getNameElement() { 2396 if (myName == null) { 2397 myName = new StringDt(); 2398 } 2399 return myName; 2400 } 2401 2402 2403 /** 2404 * Gets the value(s) for <b>name</b> (). 2405 * creating it if it does 2406 * not exist. This method may return <code>null</code>. 2407 * 2408 * <p> 2409 * <b>Definition:</b> 2410 * Name software is known by 2411 * </p> 2412 */ 2413 public String getName() { 2414 return getNameElement().getValue(); 2415 } 2416 2417 /** 2418 * Sets the value(s) for <b>name</b> () 2419 * 2420 * <p> 2421 * <b>Definition:</b> 2422 * Name software is known by 2423 * </p> 2424 */ 2425 public Software setName(StringDt theValue) { 2426 myName = theValue; 2427 return this; 2428 } 2429 2430 2431 2432 /** 2433 * Sets the value for <b>name</b> () 2434 * 2435 * <p> 2436 * <b>Definition:</b> 2437 * Name software is known by 2438 * </p> 2439 */ 2440 public Software setName( String theString) { 2441 myName = new StringDt(theString); 2442 return this; 2443 } 2444 2445 2446 /** 2447 * Gets the value(s) for <b>version</b> (). 2448 * creating it if it does 2449 * not exist. Will not return <code>null</code>. 2450 * 2451 * <p> 2452 * <b>Definition:</b> 2453 * The version identifier for the software covered by this statement 2454 * </p> 2455 */ 2456 public StringDt getVersionElement() { 2457 if (myVersion == null) { 2458 myVersion = new StringDt(); 2459 } 2460 return myVersion; 2461 } 2462 2463 2464 /** 2465 * Gets the value(s) for <b>version</b> (). 2466 * creating it if it does 2467 * not exist. This method may return <code>null</code>. 2468 * 2469 * <p> 2470 * <b>Definition:</b> 2471 * The version identifier for the software covered by this statement 2472 * </p> 2473 */ 2474 public String getVersion() { 2475 return getVersionElement().getValue(); 2476 } 2477 2478 /** 2479 * Sets the value(s) for <b>version</b> () 2480 * 2481 * <p> 2482 * <b>Definition:</b> 2483 * The version identifier for the software covered by this statement 2484 * </p> 2485 */ 2486 public Software setVersion(StringDt theValue) { 2487 myVersion = theValue; 2488 return this; 2489 } 2490 2491 2492 2493 /** 2494 * Sets the value for <b>version</b> () 2495 * 2496 * <p> 2497 * <b>Definition:</b> 2498 * The version identifier for the software covered by this statement 2499 * </p> 2500 */ 2501 public Software setVersion( String theString) { 2502 myVersion = new StringDt(theString); 2503 return this; 2504 } 2505 2506 2507 /** 2508 * Gets the value(s) for <b>releaseDate</b> (). 2509 * creating it if it does 2510 * not exist. Will not return <code>null</code>. 2511 * 2512 * <p> 2513 * <b>Definition:</b> 2514 * Date this version of the software released 2515 * </p> 2516 */ 2517 public DateTimeDt getReleaseDateElement() { 2518 if (myReleaseDate == null) { 2519 myReleaseDate = new DateTimeDt(); 2520 } 2521 return myReleaseDate; 2522 } 2523 2524 2525 /** 2526 * Gets the value(s) for <b>releaseDate</b> (). 2527 * creating it if it does 2528 * not exist. This method may return <code>null</code>. 2529 * 2530 * <p> 2531 * <b>Definition:</b> 2532 * Date this version of the software released 2533 * </p> 2534 */ 2535 public Date getReleaseDate() { 2536 return getReleaseDateElement().getValue(); 2537 } 2538 2539 /** 2540 * Sets the value(s) for <b>releaseDate</b> () 2541 * 2542 * <p> 2543 * <b>Definition:</b> 2544 * Date this version of the software released 2545 * </p> 2546 */ 2547 public Software setReleaseDate(DateTimeDt theValue) { 2548 myReleaseDate = theValue; 2549 return this; 2550 } 2551 2552 2553 2554 /** 2555 * Sets the value for <b>releaseDate</b> () 2556 * 2557 * <p> 2558 * <b>Definition:</b> 2559 * Date this version of the software released 2560 * </p> 2561 */ 2562 public Software setReleaseDate( Date theDate, TemporalPrecisionEnum thePrecision) { 2563 myReleaseDate = new DateTimeDt(theDate, thePrecision); 2564 return this; 2565 } 2566 2567 /** 2568 * Sets the value for <b>releaseDate</b> () 2569 * 2570 * <p> 2571 * <b>Definition:</b> 2572 * Date this version of the software released 2573 * </p> 2574 */ 2575 public Software setReleaseDateWithSecondsPrecision( Date theDate) { 2576 myReleaseDate = new DateTimeDt(theDate); 2577 return this; 2578 } 2579 2580 2581 2582 2583 } 2584 2585 2586 /** 2587 * Block class for child element: <b>Conformance.implementation</b> () 2588 * 2589 * <p> 2590 * <b>Definition:</b> 2591 * Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program 2592 * </p> 2593 */ 2594 @Block() 2595 public static class Implementation 2596 extends BaseIdentifiableElement implements IResourceBlock { 2597 2598 @Child(name="description", type=StringDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2599 @Description( 2600 shortDefinition="", 2601 formalDefinition="Information about the specific installation that this conformance statement relates to" 2602 ) 2603 private StringDt myDescription; 2604 2605 @Child(name="url", type=UriDt.class, order=1, min=0, max=1, summary=true, modifier=false) 2606 @Description( 2607 shortDefinition="", 2608 formalDefinition="An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces." 2609 ) 2610 private UriDt myUrl; 2611 2612 2613 @Override 2614 public boolean isEmpty() { 2615 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myDescription, myUrl); 2616 } 2617 2618 @Override 2619 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2620 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myDescription, myUrl); 2621 } 2622 2623 /** 2624 * Gets the value(s) for <b>description</b> (). 2625 * creating it if it does 2626 * not exist. Will not return <code>null</code>. 2627 * 2628 * <p> 2629 * <b>Definition:</b> 2630 * Information about the specific installation that this conformance statement relates to 2631 * </p> 2632 */ 2633 public StringDt getDescriptionElement() { 2634 if (myDescription == null) { 2635 myDescription = new StringDt(); 2636 } 2637 return myDescription; 2638 } 2639 2640 2641 /** 2642 * Gets the value(s) for <b>description</b> (). 2643 * creating it if it does 2644 * not exist. This method may return <code>null</code>. 2645 * 2646 * <p> 2647 * <b>Definition:</b> 2648 * Information about the specific installation that this conformance statement relates to 2649 * </p> 2650 */ 2651 public String getDescription() { 2652 return getDescriptionElement().getValue(); 2653 } 2654 2655 /** 2656 * Sets the value(s) for <b>description</b> () 2657 * 2658 * <p> 2659 * <b>Definition:</b> 2660 * Information about the specific installation that this conformance statement relates to 2661 * </p> 2662 */ 2663 public Implementation setDescription(StringDt theValue) { 2664 myDescription = theValue; 2665 return this; 2666 } 2667 2668 2669 2670 /** 2671 * Sets the value for <b>description</b> () 2672 * 2673 * <p> 2674 * <b>Definition:</b> 2675 * Information about the specific installation that this conformance statement relates to 2676 * </p> 2677 */ 2678 public Implementation setDescription( String theString) { 2679 myDescription = new StringDt(theString); 2680 return this; 2681 } 2682 2683 2684 /** 2685 * Gets the value(s) for <b>url</b> (). 2686 * creating it if it does 2687 * not exist. Will not return <code>null</code>. 2688 * 2689 * <p> 2690 * <b>Definition:</b> 2691 * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. 2692 * </p> 2693 */ 2694 public UriDt getUrlElement() { 2695 if (myUrl == null) { 2696 myUrl = new UriDt(); 2697 } 2698 return myUrl; 2699 } 2700 2701 2702 /** 2703 * Gets the value(s) for <b>url</b> (). 2704 * creating it if it does 2705 * not exist. This method may return <code>null</code>. 2706 * 2707 * <p> 2708 * <b>Definition:</b> 2709 * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. 2710 * </p> 2711 */ 2712 public String getUrl() { 2713 return getUrlElement().getValue(); 2714 } 2715 2716 /** 2717 * Sets the value(s) for <b>url</b> () 2718 * 2719 * <p> 2720 * <b>Definition:</b> 2721 * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. 2722 * </p> 2723 */ 2724 public Implementation setUrl(UriDt theValue) { 2725 myUrl = theValue; 2726 return this; 2727 } 2728 2729 2730 2731 /** 2732 * Sets the value for <b>url</b> () 2733 * 2734 * <p> 2735 * <b>Definition:</b> 2736 * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. 2737 * </p> 2738 */ 2739 public Implementation setUrl( String theUri) { 2740 myUrl = new UriDt(theUri); 2741 return this; 2742 } 2743 2744 2745 2746 2747 } 2748 2749 2750 /** 2751 * Block class for child element: <b>Conformance.rest</b> () 2752 * 2753 * <p> 2754 * <b>Definition:</b> 2755 * A definition of the restful capabilities of the solution, if any 2756 * </p> 2757 */ 2758 @Block() 2759 public static class Rest 2760 extends BaseIdentifiableElement implements IResourceBlock { 2761 2762 @Child(name="mode", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false) 2763 @Description( 2764 shortDefinition="", 2765 formalDefinition="Identifies whether this portion of the statement is describing ability to initiate or receive restful operations" 2766 ) 2767 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/restful-conformance-mode") 2768 private BoundCodeDt<RestfulConformanceModeEnum> myMode; 2769 2770 @Child(name="documentation", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2771 @Description( 2772 shortDefinition="", 2773 formalDefinition="Information about the system's restful capabilities that apply across all applications, such as security" 2774 ) 2775 private StringDt myDocumentation; 2776 2777 @Child(name="security", order=2, min=0, max=1, summary=false, modifier=false) 2778 @Description( 2779 shortDefinition="", 2780 formalDefinition="Information about security implementation from an interface perspective - what a client needs to know" 2781 ) 2782 private RestSecurity mySecurity; 2783 2784 @Child(name="resource", order=3, min=1, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 2785 @Description( 2786 shortDefinition="", 2787 formalDefinition="A specification of the restful capabilities of the solution for a specific resource type" 2788 ) 2789 private java.util.List<RestResource> myResource; 2790 2791 @Child(name="interaction", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2792 @Description( 2793 shortDefinition="", 2794 formalDefinition="A specification of restful operations supported by the system" 2795 ) 2796 private java.util.List<RestInteraction> myInteraction; 2797 2798 @Child(name="transactionMode", type=CodeDt.class, order=5, min=0, max=1, summary=false, modifier=false) 2799 @Description( 2800 shortDefinition="", 2801 formalDefinition="A code that indicates how transactions are supported" 2802 ) 2803 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/transaction-mode") 2804 private BoundCodeDt<TransactionModeEnum> myTransactionMode; 2805 2806 @Child(name="searchParam", type=RestResourceSearchParam.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2807 @Description( 2808 shortDefinition="", 2809 formalDefinition="Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation" 2810 ) 2811 private java.util.List<RestResourceSearchParam> mySearchParam; 2812 2813 @Child(name="operation", order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2814 @Description( 2815 shortDefinition="", 2816 formalDefinition="Definition of an operation or a named query and with its parameters and their meaning and type" 2817 ) 2818 private java.util.List<RestOperation> myOperation; 2819 2820 @Child(name="compartment", type=UriDt.class, order=8, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2821 @Description( 2822 shortDefinition="", 2823 formalDefinition="An absolute URI which is a reference to the definition of a compartment hosted by the system" 2824 ) 2825 private java.util.List<UriDt> myCompartment; 2826 2827 2828 @Override 2829 public boolean isEmpty() { 2830 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myMode, myDocumentation, mySecurity, myResource, myInteraction, myTransactionMode, mySearchParam, myOperation, myCompartment); 2831 } 2832 2833 @Override 2834 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2835 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myMode, myDocumentation, mySecurity, myResource, myInteraction, myTransactionMode, mySearchParam, myOperation, myCompartment); 2836 } 2837 2838 /** 2839 * Gets the value(s) for <b>mode</b> (). 2840 * creating it if it does 2841 * not exist. Will not return <code>null</code>. 2842 * 2843 * <p> 2844 * <b>Definition:</b> 2845 * Identifies whether this portion of the statement is describing ability to initiate or receive restful operations 2846 * </p> 2847 */ 2848 public BoundCodeDt<RestfulConformanceModeEnum> getModeElement() { 2849 if (myMode == null) { 2850 myMode = new BoundCodeDt<RestfulConformanceModeEnum>(RestfulConformanceModeEnum.VALUESET_BINDER); 2851 } 2852 return myMode; 2853 } 2854 2855 2856 /** 2857 * Gets the value(s) for <b>mode</b> (). 2858 * creating it if it does 2859 * not exist. This method may return <code>null</code>. 2860 * 2861 * <p> 2862 * <b>Definition:</b> 2863 * Identifies whether this portion of the statement is describing ability to initiate or receive restful operations 2864 * </p> 2865 */ 2866 public String getMode() { 2867 return getModeElement().getValue(); 2868 } 2869 2870 /** 2871 * Sets the value(s) for <b>mode</b> () 2872 * 2873 * <p> 2874 * <b>Definition:</b> 2875 * Identifies whether this portion of the statement is describing ability to initiate or receive restful operations 2876 * </p> 2877 */ 2878 public Rest setMode(BoundCodeDt<RestfulConformanceModeEnum> theValue) { 2879 myMode = theValue; 2880 return this; 2881 } 2882 2883 2884 2885 /** 2886 * Sets the value(s) for <b>mode</b> () 2887 * 2888 * <p> 2889 * <b>Definition:</b> 2890 * Identifies whether this portion of the statement is describing ability to initiate or receive restful operations 2891 * </p> 2892 */ 2893 public Rest setMode(RestfulConformanceModeEnum theValue) { 2894 setMode(new BoundCodeDt<RestfulConformanceModeEnum>(RestfulConformanceModeEnum.VALUESET_BINDER, theValue)); 2895 2896/* 2897 getModeElement().setValueAsEnum(theValue); 2898*/ 2899 return this; 2900 } 2901 2902 2903 /** 2904 * Gets the value(s) for <b>documentation</b> (). 2905 * creating it if it does 2906 * not exist. Will not return <code>null</code>. 2907 * 2908 * <p> 2909 * <b>Definition:</b> 2910 * Information about the system's restful capabilities that apply across all applications, such as security 2911 * </p> 2912 */ 2913 public StringDt getDocumentationElement() { 2914 if (myDocumentation == null) { 2915 myDocumentation = new StringDt(); 2916 } 2917 return myDocumentation; 2918 } 2919 2920 2921 /** 2922 * Gets the value(s) for <b>documentation</b> (). 2923 * creating it if it does 2924 * not exist. This method may return <code>null</code>. 2925 * 2926 * <p> 2927 * <b>Definition:</b> 2928 * Information about the system's restful capabilities that apply across all applications, such as security 2929 * </p> 2930 */ 2931 public String getDocumentation() { 2932 return getDocumentationElement().getValue(); 2933 } 2934 2935 /** 2936 * Sets the value(s) for <b>documentation</b> () 2937 * 2938 * <p> 2939 * <b>Definition:</b> 2940 * Information about the system's restful capabilities that apply across all applications, such as security 2941 * </p> 2942 */ 2943 public Rest setDocumentation(StringDt theValue) { 2944 myDocumentation = theValue; 2945 return this; 2946 } 2947 2948 2949 2950 /** 2951 * Sets the value for <b>documentation</b> () 2952 * 2953 * <p> 2954 * <b>Definition:</b> 2955 * Information about the system's restful capabilities that apply across all applications, such as security 2956 * </p> 2957 */ 2958 public Rest setDocumentation( String theString) { 2959 myDocumentation = new StringDt(theString); 2960 return this; 2961 } 2962 2963 2964 /** 2965 * Gets the value(s) for <b>security</b> (). 2966 * creating it if it does 2967 * not exist. Will not return <code>null</code>. 2968 * 2969 * <p> 2970 * <b>Definition:</b> 2971 * Information about security implementation from an interface perspective - what a client needs to know 2972 * </p> 2973 */ 2974 public RestSecurity getSecurity() { 2975 if (mySecurity == null) { 2976 mySecurity = new RestSecurity(); 2977 } 2978 return mySecurity; 2979 } 2980 2981 /** 2982 * Sets the value(s) for <b>security</b> () 2983 * 2984 * <p> 2985 * <b>Definition:</b> 2986 * Information about security implementation from an interface perspective - what a client needs to know 2987 * </p> 2988 */ 2989 public Rest setSecurity(RestSecurity theValue) { 2990 mySecurity = theValue; 2991 return this; 2992 } 2993 2994 2995 2996 2997 /** 2998 * Gets the value(s) for <b>resource</b> (). 2999 * creating it if it does 3000 * not exist. Will not return <code>null</code>. 3001 * 3002 * <p> 3003 * <b>Definition:</b> 3004 * A specification of the restful capabilities of the solution for a specific resource type 3005 * </p> 3006 */ 3007 public java.util.List<RestResource> getResource() { 3008 if (myResource == null) { 3009 myResource = new java.util.ArrayList<RestResource>(); 3010 } 3011 return myResource; 3012 } 3013 3014 /** 3015 * Sets the value(s) for <b>resource</b> () 3016 * 3017 * <p> 3018 * <b>Definition:</b> 3019 * A specification of the restful capabilities of the solution for a specific resource type 3020 * </p> 3021 */ 3022 public Rest setResource(java.util.List<RestResource> theValue) { 3023 myResource = theValue; 3024 return this; 3025 } 3026 3027 3028 3029 /** 3030 * Adds and returns a new value for <b>resource</b> () 3031 * 3032 * <p> 3033 * <b>Definition:</b> 3034 * A specification of the restful capabilities of the solution for a specific resource type 3035 * </p> 3036 */ 3037 public RestResource addResource() { 3038 RestResource newType = new RestResource(); 3039 getResource().add(newType); 3040 return newType; 3041 } 3042 3043 /** 3044 * Adds a given new value for <b>resource</b> () 3045 * 3046 * <p> 3047 * <b>Definition:</b> 3048 * A specification of the restful capabilities of the solution for a specific resource type 3049 * </p> 3050 * @param theValue The resource to add (must not be <code>null</code>) 3051 */ 3052 public Rest addResource(RestResource theValue) { 3053 if (theValue == null) { 3054 throw new NullPointerException("theValue must not be null"); 3055 } 3056 getResource().add(theValue); 3057 return this; 3058 } 3059 3060 /** 3061 * Gets the first repetition for <b>resource</b> (), 3062 * creating it if it does not already exist. 3063 * 3064 * <p> 3065 * <b>Definition:</b> 3066 * A specification of the restful capabilities of the solution for a specific resource type 3067 * </p> 3068 */ 3069 public RestResource getResourceFirstRep() { 3070 if (getResource().isEmpty()) { 3071 return addResource(); 3072 } 3073 return getResource().get(0); 3074 } 3075 3076 /** 3077 * Gets the value(s) for <b>interaction</b> (). 3078 * creating it if it does 3079 * not exist. Will not return <code>null</code>. 3080 * 3081 * <p> 3082 * <b>Definition:</b> 3083 * A specification of restful operations supported by the system 3084 * </p> 3085 */ 3086 public java.util.List<RestInteraction> getInteraction() { 3087 if (myInteraction == null) { 3088 myInteraction = new java.util.ArrayList<RestInteraction>(); 3089 } 3090 return myInteraction; 3091 } 3092 3093 /** 3094 * Sets the value(s) for <b>interaction</b> () 3095 * 3096 * <p> 3097 * <b>Definition:</b> 3098 * A specification of restful operations supported by the system 3099 * </p> 3100 */ 3101 public Rest setInteraction(java.util.List<RestInteraction> theValue) { 3102 myInteraction = theValue; 3103 return this; 3104 } 3105 3106 3107 3108 /** 3109 * Adds and returns a new value for <b>interaction</b> () 3110 * 3111 * <p> 3112 * <b>Definition:</b> 3113 * A specification of restful operations supported by the system 3114 * </p> 3115 */ 3116 public RestInteraction addInteraction() { 3117 RestInteraction newType = new RestInteraction(); 3118 getInteraction().add(newType); 3119 return newType; 3120 } 3121 3122 /** 3123 * Adds a given new value for <b>interaction</b> () 3124 * 3125 * <p> 3126 * <b>Definition:</b> 3127 * A specification of restful operations supported by the system 3128 * </p> 3129 * @param theValue The interaction to add (must not be <code>null</code>) 3130 */ 3131 public Rest addInteraction(RestInteraction theValue) { 3132 if (theValue == null) { 3133 throw new NullPointerException("theValue must not be null"); 3134 } 3135 getInteraction().add(theValue); 3136 return this; 3137 } 3138 3139 /** 3140 * Gets the first repetition for <b>interaction</b> (), 3141 * creating it if it does not already exist. 3142 * 3143 * <p> 3144 * <b>Definition:</b> 3145 * A specification of restful operations supported by the system 3146 * </p> 3147 */ 3148 public RestInteraction getInteractionFirstRep() { 3149 if (getInteraction().isEmpty()) { 3150 return addInteraction(); 3151 } 3152 return getInteraction().get(0); 3153 } 3154 3155 /** 3156 * Gets the value(s) for <b>transactionMode</b> (). 3157 * creating it if it does 3158 * not exist. Will not return <code>null</code>. 3159 * 3160 * <p> 3161 * <b>Definition:</b> 3162 * A code that indicates how transactions are supported 3163 * </p> 3164 */ 3165 public BoundCodeDt<TransactionModeEnum> getTransactionModeElement() { 3166 if (myTransactionMode == null) { 3167 myTransactionMode = new BoundCodeDt<TransactionModeEnum>(TransactionModeEnum.VALUESET_BINDER); 3168 } 3169 return myTransactionMode; 3170 } 3171 3172 3173 /** 3174 * Gets the value(s) for <b>transactionMode</b> (). 3175 * creating it if it does 3176 * not exist. This method may return <code>null</code>. 3177 * 3178 * <p> 3179 * <b>Definition:</b> 3180 * A code that indicates how transactions are supported 3181 * </p> 3182 */ 3183 public String getTransactionMode() { 3184 return getTransactionModeElement().getValue(); 3185 } 3186 3187 /** 3188 * Sets the value(s) for <b>transactionMode</b> () 3189 * 3190 * <p> 3191 * <b>Definition:</b> 3192 * A code that indicates how transactions are supported 3193 * </p> 3194 */ 3195 public Rest setTransactionMode(BoundCodeDt<TransactionModeEnum> theValue) { 3196 myTransactionMode = theValue; 3197 return this; 3198 } 3199 3200 3201 3202 /** 3203 * Sets the value(s) for <b>transactionMode</b> () 3204 * 3205 * <p> 3206 * <b>Definition:</b> 3207 * A code that indicates how transactions are supported 3208 * </p> 3209 */ 3210 public Rest setTransactionMode(TransactionModeEnum theValue) { 3211 setTransactionMode(new BoundCodeDt<TransactionModeEnum>(TransactionModeEnum.VALUESET_BINDER, theValue)); 3212 3213/* 3214 getTransactionModeElement().setValueAsEnum(theValue); 3215*/ 3216 return this; 3217 } 3218 3219 3220 /** 3221 * Gets the value(s) for <b>searchParam</b> (). 3222 * creating it if it does 3223 * not exist. Will not return <code>null</code>. 3224 * 3225 * <p> 3226 * <b>Definition:</b> 3227 * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 3228 * </p> 3229 */ 3230 public java.util.List<RestResourceSearchParam> getSearchParam() { 3231 if (mySearchParam == null) { 3232 mySearchParam = new java.util.ArrayList<RestResourceSearchParam>(); 3233 } 3234 return mySearchParam; 3235 } 3236 3237 /** 3238 * Sets the value(s) for <b>searchParam</b> () 3239 * 3240 * <p> 3241 * <b>Definition:</b> 3242 * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 3243 * </p> 3244 */ 3245 public Rest setSearchParam(java.util.List<RestResourceSearchParam> theValue) { 3246 mySearchParam = theValue; 3247 return this; 3248 } 3249 3250 3251 3252 /** 3253 * Adds and returns a new value for <b>searchParam</b> () 3254 * 3255 * <p> 3256 * <b>Definition:</b> 3257 * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 3258 * </p> 3259 */ 3260 public RestResourceSearchParam addSearchParam() { 3261 RestResourceSearchParam newType = new RestResourceSearchParam(); 3262 getSearchParam().add(newType); 3263 return newType; 3264 } 3265 3266 /** 3267 * Adds a given new value for <b>searchParam</b> () 3268 * 3269 * <p> 3270 * <b>Definition:</b> 3271 * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 3272 * </p> 3273 * @param theValue The searchParam to add (must not be <code>null</code>) 3274 */ 3275 public Rest addSearchParam(RestResourceSearchParam theValue) { 3276 if (theValue == null) { 3277 throw new NullPointerException("theValue must not be null"); 3278 } 3279 getSearchParam().add(theValue); 3280 return this; 3281 } 3282 3283 /** 3284 * Gets the first repetition for <b>searchParam</b> (), 3285 * creating it if it does not already exist. 3286 * 3287 * <p> 3288 * <b>Definition:</b> 3289 * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 3290 * </p> 3291 */ 3292 public RestResourceSearchParam getSearchParamFirstRep() { 3293 if (getSearchParam().isEmpty()) { 3294 return addSearchParam(); 3295 } 3296 return getSearchParam().get(0); 3297 } 3298 3299 /** 3300 * Gets the value(s) for <b>operation</b> (). 3301 * creating it if it does 3302 * not exist. Will not return <code>null</code>. 3303 * 3304 * <p> 3305 * <b>Definition:</b> 3306 * Definition of an operation or a named query and with its parameters and their meaning and type 3307 * </p> 3308 */ 3309 public java.util.List<RestOperation> getOperation() { 3310 if (myOperation == null) { 3311 myOperation = new java.util.ArrayList<RestOperation>(); 3312 } 3313 return myOperation; 3314 } 3315 3316 /** 3317 * Sets the value(s) for <b>operation</b> () 3318 * 3319 * <p> 3320 * <b>Definition:</b> 3321 * Definition of an operation or a named query and with its parameters and their meaning and type 3322 * </p> 3323 */ 3324 public Rest setOperation(java.util.List<RestOperation> theValue) { 3325 myOperation = theValue; 3326 return this; 3327 } 3328 3329 3330 3331 /** 3332 * Adds and returns a new value for <b>operation</b> () 3333 * 3334 * <p> 3335 * <b>Definition:</b> 3336 * Definition of an operation or a named query and with its parameters and their meaning and type 3337 * </p> 3338 */ 3339 public RestOperation addOperation() { 3340 RestOperation newType = new RestOperation(); 3341 getOperation().add(newType); 3342 return newType; 3343 } 3344 3345 /** 3346 * Adds a given new value for <b>operation</b> () 3347 * 3348 * <p> 3349 * <b>Definition:</b> 3350 * Definition of an operation or a named query and with its parameters and their meaning and type 3351 * </p> 3352 * @param theValue The operation to add (must not be <code>null</code>) 3353 */ 3354 public Rest addOperation(RestOperation theValue) { 3355 if (theValue == null) { 3356 throw new NullPointerException("theValue must not be null"); 3357 } 3358 getOperation().add(theValue); 3359 return this; 3360 } 3361 3362 /** 3363 * Gets the first repetition for <b>operation</b> (), 3364 * creating it if it does not already exist. 3365 * 3366 * <p> 3367 * <b>Definition:</b> 3368 * Definition of an operation or a named query and with its parameters and their meaning and type 3369 * </p> 3370 */ 3371 public RestOperation getOperationFirstRep() { 3372 if (getOperation().isEmpty()) { 3373 return addOperation(); 3374 } 3375 return getOperation().get(0); 3376 } 3377 3378 /** 3379 * Gets the value(s) for <b>compartment</b> (). 3380 * creating it if it does 3381 * not exist. Will not return <code>null</code>. 3382 * 3383 * <p> 3384 * <b>Definition:</b> 3385 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3386 * </p> 3387 */ 3388 public java.util.List<UriDt> getCompartment() { 3389 if (myCompartment == null) { 3390 myCompartment = new java.util.ArrayList<UriDt>(); 3391 } 3392 return myCompartment; 3393 } 3394 3395 /** 3396 * Sets the value(s) for <b>compartment</b> () 3397 * 3398 * <p> 3399 * <b>Definition:</b> 3400 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3401 * </p> 3402 */ 3403 public Rest setCompartment(java.util.List<UriDt> theValue) { 3404 myCompartment = theValue; 3405 return this; 3406 } 3407 3408 3409 3410 /** 3411 * Adds and returns a new value for <b>compartment</b> () 3412 * 3413 * <p> 3414 * <b>Definition:</b> 3415 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3416 * </p> 3417 */ 3418 public UriDt addCompartment() { 3419 UriDt newType = new UriDt(); 3420 getCompartment().add(newType); 3421 return newType; 3422 } 3423 3424 /** 3425 * Adds a given new value for <b>compartment</b> () 3426 * 3427 * <p> 3428 * <b>Definition:</b> 3429 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3430 * </p> 3431 * @param theValue The compartment to add (must not be <code>null</code>) 3432 */ 3433 public Rest addCompartment(UriDt theValue) { 3434 if (theValue == null) { 3435 throw new NullPointerException("theValue must not be null"); 3436 } 3437 getCompartment().add(theValue); 3438 return this; 3439 } 3440 3441 /** 3442 * Gets the first repetition for <b>compartment</b> (), 3443 * creating it if it does not already exist. 3444 * 3445 * <p> 3446 * <b>Definition:</b> 3447 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3448 * </p> 3449 */ 3450 public UriDt getCompartmentFirstRep() { 3451 if (getCompartment().isEmpty()) { 3452 return addCompartment(); 3453 } 3454 return getCompartment().get(0); 3455 } 3456 /** 3457 * Adds a new value for <b>compartment</b> () 3458 * 3459 * <p> 3460 * <b>Definition:</b> 3461 * An absolute URI which is a reference to the definition of a compartment hosted by the system 3462 * </p> 3463 * 3464 * @return Returns a reference to this object, to allow for simple chaining. 3465 */ 3466 public Rest addCompartment( String theUri) { 3467 if (myCompartment == null) { 3468 myCompartment = new java.util.ArrayList<UriDt>(); 3469 } 3470 myCompartment.add(new UriDt(theUri)); 3471 return this; 3472 } 3473 3474 3475 3476 3477 } 3478 3479 /** 3480 * Block class for child element: <b>Conformance.rest.security</b> () 3481 * 3482 * <p> 3483 * <b>Definition:</b> 3484 * Information about security implementation from an interface perspective - what a client needs to know 3485 * </p> 3486 */ 3487 @Block() 3488 public static class RestSecurity 3489 extends BaseIdentifiableElement implements IResourceBlock { 3490 3491 @Child(name="cors", type=BooleanDt.class, order=0, min=0, max=1, summary=false, modifier=false) 3492 @Description( 3493 shortDefinition="", 3494 formalDefinition="Server adds CORS headers when responding to requests - this enables javascript applications to use the server" 3495 ) 3496 private BooleanDt myCors; 3497 3498 @Child(name="service", type=CodeableConceptDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3499 @Description( 3500 shortDefinition="", 3501 formalDefinition="Types of security services are supported/required by the system" 3502 ) 3503 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/restful-security-service") 3504 private java.util.List<BoundCodeableConceptDt<RestfulSecurityServiceEnum>> myService; 3505 3506 @Child(name="description", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 3507 @Description( 3508 shortDefinition="", 3509 formalDefinition="General description of how security works" 3510 ) 3511 private StringDt myDescription; 3512 3513 @Child(name="certificate", order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3514 @Description( 3515 shortDefinition="", 3516 formalDefinition="Certificates associated with security profiles" 3517 ) 3518 private java.util.List<RestSecurityCertificate> myCertificate; 3519 3520 3521 @Override 3522 public boolean isEmpty() { 3523 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCors, myService, myDescription, myCertificate); 3524 } 3525 3526 @Override 3527 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3528 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCors, myService, myDescription, myCertificate); 3529 } 3530 3531 /** 3532 * Gets the value(s) for <b>cors</b> (). 3533 * creating it if it does 3534 * not exist. Will not return <code>null</code>. 3535 * 3536 * <p> 3537 * <b>Definition:</b> 3538 * Server adds CORS headers when responding to requests - this enables javascript applications to use the server 3539 * </p> 3540 */ 3541 public BooleanDt getCorsElement() { 3542 if (myCors == null) { 3543 myCors = new BooleanDt(); 3544 } 3545 return myCors; 3546 } 3547 3548 3549 /** 3550 * Gets the value(s) for <b>cors</b> (). 3551 * creating it if it does 3552 * not exist. This method may return <code>null</code>. 3553 * 3554 * <p> 3555 * <b>Definition:</b> 3556 * Server adds CORS headers when responding to requests - this enables javascript applications to use the server 3557 * </p> 3558 */ 3559 public Boolean getCors() { 3560 return getCorsElement().getValue(); 3561 } 3562 3563 /** 3564 * Sets the value(s) for <b>cors</b> () 3565 * 3566 * <p> 3567 * <b>Definition:</b> 3568 * Server adds CORS headers when responding to requests - this enables javascript applications to use the server 3569 * </p> 3570 */ 3571 public RestSecurity setCors(BooleanDt theValue) { 3572 myCors = theValue; 3573 return this; 3574 } 3575 3576 3577 3578 /** 3579 * Sets the value for <b>cors</b> () 3580 * 3581 * <p> 3582 * <b>Definition:</b> 3583 * Server adds CORS headers when responding to requests - this enables javascript applications to use the server 3584 * </p> 3585 */ 3586 public RestSecurity setCors( boolean theBoolean) { 3587 myCors = new BooleanDt(theBoolean); 3588 return this; 3589 } 3590 3591 3592 /** 3593 * Gets the value(s) for <b>service</b> (). 3594 * creating it if it does 3595 * not exist. Will not return <code>null</code>. 3596 * 3597 * <p> 3598 * <b>Definition:</b> 3599 * Types of security services are supported/required by the system 3600 * </p> 3601 */ 3602 public java.util.List<BoundCodeableConceptDt<RestfulSecurityServiceEnum>> getService() { 3603 if (myService == null) { 3604 myService = new java.util.ArrayList<BoundCodeableConceptDt<RestfulSecurityServiceEnum>>(); 3605 } 3606 return myService; 3607 } 3608 3609 /** 3610 * Sets the value(s) for <b>service</b> () 3611 * 3612 * <p> 3613 * <b>Definition:</b> 3614 * Types of security services are supported/required by the system 3615 * </p> 3616 */ 3617 public RestSecurity setService(java.util.List<BoundCodeableConceptDt<RestfulSecurityServiceEnum>> theValue) { 3618 myService = theValue; 3619 return this; 3620 } 3621 3622 3623 3624 /** 3625 * Add a value for <b>service</b> () using an enumerated type. This 3626 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 3627 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 3628 * you may also use the {@link #addService()} method. 3629 * 3630 * <p> 3631 * <b>Definition:</b> 3632 * Types of security services are supported/required by the system 3633 * </p> 3634 */ 3635 public BoundCodeableConceptDt<RestfulSecurityServiceEnum> addService(RestfulSecurityServiceEnum theValue) { 3636 BoundCodeableConceptDt<RestfulSecurityServiceEnum> retVal = new BoundCodeableConceptDt<RestfulSecurityServiceEnum>(RestfulSecurityServiceEnum.VALUESET_BINDER, theValue); 3637 getService().add(retVal); 3638 return retVal; 3639 } 3640 3641 /** 3642 * Gets the first repetition for <b>service</b> (), 3643 * creating it if it does not already exist. 3644 * 3645 * <p> 3646 * <b>Definition:</b> 3647 * Types of security services are supported/required by the system 3648 * </p> 3649 */ 3650 public BoundCodeableConceptDt<RestfulSecurityServiceEnum> getServiceFirstRep() { 3651 if (getService().size() == 0) { 3652 addService(); 3653 } 3654 return getService().get(0); 3655 } 3656 3657 /** 3658 * Add a value for <b>service</b> () 3659 * 3660 * <p> 3661 * <b>Definition:</b> 3662 * Types of security services are supported/required by the system 3663 * </p> 3664 */ 3665 public BoundCodeableConceptDt<RestfulSecurityServiceEnum> addService() { 3666 BoundCodeableConceptDt<RestfulSecurityServiceEnum> retVal = new BoundCodeableConceptDt<RestfulSecurityServiceEnum>(RestfulSecurityServiceEnum.VALUESET_BINDER); 3667 getService().add(retVal); 3668 return retVal; 3669 } 3670 3671 /** 3672 * Sets the value(s), and clears any existing value(s) for <b>service</b> () 3673 * 3674 * <p> 3675 * <b>Definition:</b> 3676 * Types of security services are supported/required by the system 3677 * </p> 3678 */ 3679 public RestSecurity setService(RestfulSecurityServiceEnum theValue) { 3680 getService().clear(); 3681 addService(theValue); 3682 return this; 3683 } 3684 3685 3686 /** 3687 * Gets the value(s) for <b>description</b> (). 3688 * creating it if it does 3689 * not exist. Will not return <code>null</code>. 3690 * 3691 * <p> 3692 * <b>Definition:</b> 3693 * General description of how security works 3694 * </p> 3695 */ 3696 public StringDt getDescriptionElement() { 3697 if (myDescription == null) { 3698 myDescription = new StringDt(); 3699 } 3700 return myDescription; 3701 } 3702 3703 3704 /** 3705 * Gets the value(s) for <b>description</b> (). 3706 * creating it if it does 3707 * not exist. This method may return <code>null</code>. 3708 * 3709 * <p> 3710 * <b>Definition:</b> 3711 * General description of how security works 3712 * </p> 3713 */ 3714 public String getDescription() { 3715 return getDescriptionElement().getValue(); 3716 } 3717 3718 /** 3719 * Sets the value(s) for <b>description</b> () 3720 * 3721 * <p> 3722 * <b>Definition:</b> 3723 * General description of how security works 3724 * </p> 3725 */ 3726 public RestSecurity setDescription(StringDt theValue) { 3727 myDescription = theValue; 3728 return this; 3729 } 3730 3731 3732 3733 /** 3734 * Sets the value for <b>description</b> () 3735 * 3736 * <p> 3737 * <b>Definition:</b> 3738 * General description of how security works 3739 * </p> 3740 */ 3741 public RestSecurity setDescription( String theString) { 3742 myDescription = new StringDt(theString); 3743 return this; 3744 } 3745 3746 3747 /** 3748 * Gets the value(s) for <b>certificate</b> (). 3749 * creating it if it does 3750 * not exist. Will not return <code>null</code>. 3751 * 3752 * <p> 3753 * <b>Definition:</b> 3754 * Certificates associated with security profiles 3755 * </p> 3756 */ 3757 public java.util.List<RestSecurityCertificate> getCertificate() { 3758 if (myCertificate == null) { 3759 myCertificate = new java.util.ArrayList<RestSecurityCertificate>(); 3760 } 3761 return myCertificate; 3762 } 3763 3764 /** 3765 * Sets the value(s) for <b>certificate</b> () 3766 * 3767 * <p> 3768 * <b>Definition:</b> 3769 * Certificates associated with security profiles 3770 * </p> 3771 */ 3772 public RestSecurity setCertificate(java.util.List<RestSecurityCertificate> theValue) { 3773 myCertificate = theValue; 3774 return this; 3775 } 3776 3777 3778 3779 /** 3780 * Adds and returns a new value for <b>certificate</b> () 3781 * 3782 * <p> 3783 * <b>Definition:</b> 3784 * Certificates associated with security profiles 3785 * </p> 3786 */ 3787 public RestSecurityCertificate addCertificate() { 3788 RestSecurityCertificate newType = new RestSecurityCertificate(); 3789 getCertificate().add(newType); 3790 return newType; 3791 } 3792 3793 /** 3794 * Adds a given new value for <b>certificate</b> () 3795 * 3796 * <p> 3797 * <b>Definition:</b> 3798 * Certificates associated with security profiles 3799 * </p> 3800 * @param theValue The certificate to add (must not be <code>null</code>) 3801 */ 3802 public RestSecurity addCertificate(RestSecurityCertificate theValue) { 3803 if (theValue == null) { 3804 throw new NullPointerException("theValue must not be null"); 3805 } 3806 getCertificate().add(theValue); 3807 return this; 3808 } 3809 3810 /** 3811 * Gets the first repetition for <b>certificate</b> (), 3812 * creating it if it does not already exist. 3813 * 3814 * <p> 3815 * <b>Definition:</b> 3816 * Certificates associated with security profiles 3817 * </p> 3818 */ 3819 public RestSecurityCertificate getCertificateFirstRep() { 3820 if (getCertificate().isEmpty()) { 3821 return addCertificate(); 3822 } 3823 return getCertificate().get(0); 3824 } 3825 3826 3827 3828 } 3829 3830 /** 3831 * Block class for child element: <b>Conformance.rest.security.certificate</b> () 3832 * 3833 * <p> 3834 * <b>Definition:</b> 3835 * Certificates associated with security profiles 3836 * </p> 3837 */ 3838 @Block() 3839 public static class RestSecurityCertificate 3840 extends BaseIdentifiableElement implements IResourceBlock { 3841 3842 @Child(name="type", type=CodeDt.class, order=0, min=0, max=1, summary=false, modifier=false) 3843 @Description( 3844 shortDefinition="", 3845 formalDefinition="Mime type for certificate" 3846 ) 3847 private CodeDt myType; 3848 3849 @Child(name="blob", type=Base64BinaryDt.class, order=1, min=0, max=1, summary=false, modifier=false) 3850 @Description( 3851 shortDefinition="", 3852 formalDefinition="Actual certificate" 3853 ) 3854 private Base64BinaryDt myBlob; 3855 3856 3857 @Override 3858 public boolean isEmpty() { 3859 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myBlob); 3860 } 3861 3862 @Override 3863 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3864 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myBlob); 3865 } 3866 3867 /** 3868 * Gets the value(s) for <b>type</b> (). 3869 * creating it if it does 3870 * not exist. Will not return <code>null</code>. 3871 * 3872 * <p> 3873 * <b>Definition:</b> 3874 * Mime type for certificate 3875 * </p> 3876 */ 3877 public CodeDt getTypeElement() { 3878 if (myType == null) { 3879 myType = new CodeDt(); 3880 } 3881 return myType; 3882 } 3883 3884 3885 /** 3886 * Gets the value(s) for <b>type</b> (). 3887 * creating it if it does 3888 * not exist. This method may return <code>null</code>. 3889 * 3890 * <p> 3891 * <b>Definition:</b> 3892 * Mime type for certificate 3893 * </p> 3894 */ 3895 public String getType() { 3896 return getTypeElement().getValue(); 3897 } 3898 3899 /** 3900 * Sets the value(s) for <b>type</b> () 3901 * 3902 * <p> 3903 * <b>Definition:</b> 3904 * Mime type for certificate 3905 * </p> 3906 */ 3907 public RestSecurityCertificate setType(CodeDt theValue) { 3908 myType = theValue; 3909 return this; 3910 } 3911 3912 3913 3914 /** 3915 * Sets the value for <b>type</b> () 3916 * 3917 * <p> 3918 * <b>Definition:</b> 3919 * Mime type for certificate 3920 * </p> 3921 */ 3922 public RestSecurityCertificate setType( String theCode) { 3923 myType = new CodeDt(theCode); 3924 return this; 3925 } 3926 3927 3928 /** 3929 * Gets the value(s) for <b>blob</b> (). 3930 * creating it if it does 3931 * not exist. Will not return <code>null</code>. 3932 * 3933 * <p> 3934 * <b>Definition:</b> 3935 * Actual certificate 3936 * </p> 3937 */ 3938 public Base64BinaryDt getBlobElement() { 3939 if (myBlob == null) { 3940 myBlob = new Base64BinaryDt(); 3941 } 3942 return myBlob; 3943 } 3944 3945 3946 /** 3947 * Gets the value(s) for <b>blob</b> (). 3948 * creating it if it does 3949 * not exist. This method may return <code>null</code>. 3950 * 3951 * <p> 3952 * <b>Definition:</b> 3953 * Actual certificate 3954 * </p> 3955 */ 3956 public byte[] getBlob() { 3957 return getBlobElement().getValue(); 3958 } 3959 3960 /** 3961 * Sets the value(s) for <b>blob</b> () 3962 * 3963 * <p> 3964 * <b>Definition:</b> 3965 * Actual certificate 3966 * </p> 3967 */ 3968 public RestSecurityCertificate setBlob(Base64BinaryDt theValue) { 3969 myBlob = theValue; 3970 return this; 3971 } 3972 3973 3974 3975 /** 3976 * Sets the value for <b>blob</b> () 3977 * 3978 * <p> 3979 * <b>Definition:</b> 3980 * Actual certificate 3981 * </p> 3982 */ 3983 public RestSecurityCertificate setBlob( byte[] theBytes) { 3984 myBlob = new Base64BinaryDt(theBytes); 3985 return this; 3986 } 3987 3988 3989 3990 3991 } 3992 3993 3994 3995 /** 3996 * Block class for child element: <b>Conformance.rest.resource</b> () 3997 * 3998 * <p> 3999 * <b>Definition:</b> 4000 * A specification of the restful capabilities of the solution for a specific resource type 4001 * </p> 4002 */ 4003 @Block() 4004 public static class RestResource 4005 extends BaseIdentifiableElement implements IResourceBlock { 4006 4007 @Child(name="type", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false) 4008 @Description( 4009 shortDefinition="", 4010 formalDefinition="A type of resource exposed via the restful interface" 4011 ) 4012 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 4013 private BoundCodeDt<ResourceTypeEnum> myType; 4014 4015 @Child(name="profile", order=1, min=0, max=1, summary=false, modifier=false, type={ 4016 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 4017 @Description( 4018 shortDefinition="", 4019 formalDefinition="A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses}" 4020 ) 4021 private ResourceReferenceDt myProfile; 4022 4023 @Child(name="interaction", order=2, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4024 @Description( 4025 shortDefinition="", 4026 formalDefinition="Identifies a restful operation supported by the solution" 4027 ) 4028 private java.util.List<RestResourceInteraction> myInteraction; 4029 4030 @Child(name="versioning", type=CodeDt.class, order=3, min=0, max=1, summary=false, modifier=false) 4031 @Description( 4032 shortDefinition="", 4033 formalDefinition="This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API" 4034 ) 4035 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/versioning-policy") 4036 private BoundCodeDt<ResourceVersionPolicyEnum> myVersioning; 4037 4038 @Child(name="readHistory", type=BooleanDt.class, order=4, min=0, max=1, summary=false, modifier=false) 4039 @Description( 4040 shortDefinition="", 4041 formalDefinition="A flag for whether the server is able to return past versions as part of the vRead operation" 4042 ) 4043 private BooleanDt myReadHistory; 4044 4045 @Child(name="updateCreate", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=false) 4046 @Description( 4047 shortDefinition="", 4048 formalDefinition="A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server" 4049 ) 4050 private BooleanDt myUpdateCreate; 4051 4052 @Child(name="conditionalCreate", type=BooleanDt.class, order=6, min=0, max=1, summary=false, modifier=false) 4053 @Description( 4054 shortDefinition="", 4055 formalDefinition="A flag that indicates that the server supports conditional create" 4056 ) 4057 private BooleanDt myConditionalCreate; 4058 4059 @Child(name="conditionalUpdate", type=BooleanDt.class, order=7, min=0, max=1, summary=false, modifier=false) 4060 @Description( 4061 shortDefinition="", 4062 formalDefinition="A flag that indicates that the server supports conditional update" 4063 ) 4064 private BooleanDt myConditionalUpdate; 4065 4066 @Child(name="conditionalDelete", type=CodeDt.class, order=8, min=0, max=1, summary=false, modifier=false) 4067 @Description( 4068 shortDefinition="", 4069 formalDefinition="A code that indicates how the server supports conditional delete" 4070 ) 4071 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/conditional-delete-status") 4072 private BoundCodeDt<ConditionalDeleteStatusEnum> myConditionalDelete; 4073 4074 @Child(name="searchInclude", type=StringDt.class, order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4075 @Description( 4076 shortDefinition="", 4077 formalDefinition="A list of _include values supported by the server" 4078 ) 4079 private java.util.List<StringDt> mySearchInclude; 4080 4081 @Child(name="searchRevInclude", type=StringDt.class, order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4082 @Description( 4083 shortDefinition="", 4084 formalDefinition="A list of _revinclude (reverse include) values supported by the server" 4085 ) 4086 private java.util.List<StringDt> mySearchRevInclude; 4087 4088 @Child(name="searchParam", order=11, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4089 @Description( 4090 shortDefinition="", 4091 formalDefinition="Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation" 4092 ) 4093 private java.util.List<RestResourceSearchParam> mySearchParam; 4094 4095 4096 @Override 4097 public boolean isEmpty() { 4098 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myProfile, myInteraction, myVersioning, myReadHistory, myUpdateCreate, myConditionalCreate, myConditionalUpdate, myConditionalDelete, mySearchInclude, mySearchRevInclude, mySearchParam); 4099 } 4100 4101 @Override 4102 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4103 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myProfile, myInteraction, myVersioning, myReadHistory, myUpdateCreate, myConditionalCreate, myConditionalUpdate, myConditionalDelete, mySearchInclude, mySearchRevInclude, mySearchParam); 4104 } 4105 4106 /** 4107 * Gets the value(s) for <b>type</b> (). 4108 * creating it if it does 4109 * not exist. Will not return <code>null</code>. 4110 * 4111 * <p> 4112 * <b>Definition:</b> 4113 * A type of resource exposed via the restful interface 4114 * </p> 4115 */ 4116 public BoundCodeDt<ResourceTypeEnum> getTypeElement() { 4117 if (myType == null) { 4118 myType = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 4119 } 4120 return myType; 4121 } 4122 4123 4124 /** 4125 * Gets the value(s) for <b>type</b> (). 4126 * creating it if it does 4127 * not exist. This method may return <code>null</code>. 4128 * 4129 * <p> 4130 * <b>Definition:</b> 4131 * A type of resource exposed via the restful interface 4132 * </p> 4133 */ 4134 public String getType() { 4135 return getTypeElement().getValue(); 4136 } 4137 4138 /** 4139 * Sets the value(s) for <b>type</b> () 4140 * 4141 * <p> 4142 * <b>Definition:</b> 4143 * A type of resource exposed via the restful interface 4144 * </p> 4145 */ 4146 public RestResource setType(BoundCodeDt<ResourceTypeEnum> theValue) { 4147 myType = theValue; 4148 return this; 4149 } 4150 4151 4152 4153 /** 4154 * Sets the value(s) for <b>type</b> () 4155 * 4156 * <p> 4157 * <b>Definition:</b> 4158 * A type of resource exposed via the restful interface 4159 * </p> 4160 */ 4161 public RestResource setType(ResourceTypeEnum theValue) { 4162 setType(new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue)); 4163 4164/* 4165 getTypeElement().setValueAsEnum(theValue); 4166*/ 4167 return this; 4168 } 4169 4170 4171 /** 4172 * Gets the value(s) for <b>profile</b> (). 4173 * creating it if it does 4174 * not exist. Will not return <code>null</code>. 4175 * 4176 * <p> 4177 * <b>Definition:</b> 4178 * A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} 4179 * </p> 4180 */ 4181 public ResourceReferenceDt getProfile() { 4182 if (myProfile == null) { 4183 myProfile = new ResourceReferenceDt(); 4184 } 4185 return myProfile; 4186 } 4187 4188 /** 4189 * Sets the value(s) for <b>profile</b> () 4190 * 4191 * <p> 4192 * <b>Definition:</b> 4193 * A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} 4194 * </p> 4195 */ 4196 public RestResource setProfile(ResourceReferenceDt theValue) { 4197 myProfile = theValue; 4198 return this; 4199 } 4200 4201 4202 4203 4204 /** 4205 * Gets the value(s) for <b>interaction</b> (). 4206 * creating it if it does 4207 * not exist. Will not return <code>null</code>. 4208 * 4209 * <p> 4210 * <b>Definition:</b> 4211 * Identifies a restful operation supported by the solution 4212 * </p> 4213 */ 4214 public java.util.List<RestResourceInteraction> getInteraction() { 4215 if (myInteraction == null) { 4216 myInteraction = new java.util.ArrayList<RestResourceInteraction>(); 4217 } 4218 return myInteraction; 4219 } 4220 4221 /** 4222 * Sets the value(s) for <b>interaction</b> () 4223 * 4224 * <p> 4225 * <b>Definition:</b> 4226 * Identifies a restful operation supported by the solution 4227 * </p> 4228 */ 4229 public RestResource setInteraction(java.util.List<RestResourceInteraction> theValue) { 4230 myInteraction = theValue; 4231 return this; 4232 } 4233 4234 4235 4236 /** 4237 * Adds and returns a new value for <b>interaction</b> () 4238 * 4239 * <p> 4240 * <b>Definition:</b> 4241 * Identifies a restful operation supported by the solution 4242 * </p> 4243 */ 4244 public RestResourceInteraction addInteraction() { 4245 RestResourceInteraction newType = new RestResourceInteraction(); 4246 getInteraction().add(newType); 4247 return newType; 4248 } 4249 4250 /** 4251 * Adds a given new value for <b>interaction</b> () 4252 * 4253 * <p> 4254 * <b>Definition:</b> 4255 * Identifies a restful operation supported by the solution 4256 * </p> 4257 * @param theValue The interaction to add (must not be <code>null</code>) 4258 */ 4259 public RestResource addInteraction(RestResourceInteraction theValue) { 4260 if (theValue == null) { 4261 throw new NullPointerException("theValue must not be null"); 4262 } 4263 getInteraction().add(theValue); 4264 return this; 4265 } 4266 4267 /** 4268 * Gets the first repetition for <b>interaction</b> (), 4269 * creating it if it does not already exist. 4270 * 4271 * <p> 4272 * <b>Definition:</b> 4273 * Identifies a restful operation supported by the solution 4274 * </p> 4275 */ 4276 public RestResourceInteraction getInteractionFirstRep() { 4277 if (getInteraction().isEmpty()) { 4278 return addInteraction(); 4279 } 4280 return getInteraction().get(0); 4281 } 4282 4283 /** 4284 * Gets the value(s) for <b>versioning</b> (). 4285 * creating it if it does 4286 * not exist. Will not return <code>null</code>. 4287 * 4288 * <p> 4289 * <b>Definition:</b> 4290 * This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API 4291 * </p> 4292 */ 4293 public BoundCodeDt<ResourceVersionPolicyEnum> getVersioningElement() { 4294 if (myVersioning == null) { 4295 myVersioning = new BoundCodeDt<ResourceVersionPolicyEnum>(ResourceVersionPolicyEnum.VALUESET_BINDER); 4296 } 4297 return myVersioning; 4298 } 4299 4300 4301 /** 4302 * Gets the value(s) for <b>versioning</b> (). 4303 * creating it if it does 4304 * not exist. This method may return <code>null</code>. 4305 * 4306 * <p> 4307 * <b>Definition:</b> 4308 * This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API 4309 * </p> 4310 */ 4311 public String getVersioning() { 4312 return getVersioningElement().getValue(); 4313 } 4314 4315 /** 4316 * Sets the value(s) for <b>versioning</b> () 4317 * 4318 * <p> 4319 * <b>Definition:</b> 4320 * This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API 4321 * </p> 4322 */ 4323 public RestResource setVersioning(BoundCodeDt<ResourceVersionPolicyEnum> theValue) { 4324 myVersioning = theValue; 4325 return this; 4326 } 4327 4328 4329 4330 /** 4331 * Sets the value(s) for <b>versioning</b> () 4332 * 4333 * <p> 4334 * <b>Definition:</b> 4335 * This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API 4336 * </p> 4337 */ 4338 public RestResource setVersioning(ResourceVersionPolicyEnum theValue) { 4339 setVersioning(new BoundCodeDt<ResourceVersionPolicyEnum>(ResourceVersionPolicyEnum.VALUESET_BINDER, theValue)); 4340 4341/* 4342 getVersioningElement().setValueAsEnum(theValue); 4343*/ 4344 return this; 4345 } 4346 4347 4348 /** 4349 * Gets the value(s) for <b>readHistory</b> (). 4350 * creating it if it does 4351 * not exist. Will not return <code>null</code>. 4352 * 4353 * <p> 4354 * <b>Definition:</b> 4355 * A flag for whether the server is able to return past versions as part of the vRead operation 4356 * </p> 4357 */ 4358 public BooleanDt getReadHistoryElement() { 4359 if (myReadHistory == null) { 4360 myReadHistory = new BooleanDt(); 4361 } 4362 return myReadHistory; 4363 } 4364 4365 4366 /** 4367 * Gets the value(s) for <b>readHistory</b> (). 4368 * creating it if it does 4369 * not exist. This method may return <code>null</code>. 4370 * 4371 * <p> 4372 * <b>Definition:</b> 4373 * A flag for whether the server is able to return past versions as part of the vRead operation 4374 * </p> 4375 */ 4376 public Boolean getReadHistory() { 4377 return getReadHistoryElement().getValue(); 4378 } 4379 4380 /** 4381 * Sets the value(s) for <b>readHistory</b> () 4382 * 4383 * <p> 4384 * <b>Definition:</b> 4385 * A flag for whether the server is able to return past versions as part of the vRead operation 4386 * </p> 4387 */ 4388 public RestResource setReadHistory(BooleanDt theValue) { 4389 myReadHistory = theValue; 4390 return this; 4391 } 4392 4393 4394 4395 /** 4396 * Sets the value for <b>readHistory</b> () 4397 * 4398 * <p> 4399 * <b>Definition:</b> 4400 * A flag for whether the server is able to return past versions as part of the vRead operation 4401 * </p> 4402 */ 4403 public RestResource setReadHistory( boolean theBoolean) { 4404 myReadHistory = new BooleanDt(theBoolean); 4405 return this; 4406 } 4407 4408 4409 /** 4410 * Gets the value(s) for <b>updateCreate</b> (). 4411 * creating it if it does 4412 * not exist. Will not return <code>null</code>. 4413 * 4414 * <p> 4415 * <b>Definition:</b> 4416 * A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server 4417 * </p> 4418 */ 4419 public BooleanDt getUpdateCreateElement() { 4420 if (myUpdateCreate == null) { 4421 myUpdateCreate = new BooleanDt(); 4422 } 4423 return myUpdateCreate; 4424 } 4425 4426 4427 /** 4428 * Gets the value(s) for <b>updateCreate</b> (). 4429 * creating it if it does 4430 * not exist. This method may return <code>null</code>. 4431 * 4432 * <p> 4433 * <b>Definition:</b> 4434 * A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server 4435 * </p> 4436 */ 4437 public Boolean getUpdateCreate() { 4438 return getUpdateCreateElement().getValue(); 4439 } 4440 4441 /** 4442 * Sets the value(s) for <b>updateCreate</b> () 4443 * 4444 * <p> 4445 * <b>Definition:</b> 4446 * A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server 4447 * </p> 4448 */ 4449 public RestResource setUpdateCreate(BooleanDt theValue) { 4450 myUpdateCreate = theValue; 4451 return this; 4452 } 4453 4454 4455 4456 /** 4457 * Sets the value for <b>updateCreate</b> () 4458 * 4459 * <p> 4460 * <b>Definition:</b> 4461 * A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server 4462 * </p> 4463 */ 4464 public RestResource setUpdateCreate( boolean theBoolean) { 4465 myUpdateCreate = new BooleanDt(theBoolean); 4466 return this; 4467 } 4468 4469 4470 /** 4471 * Gets the value(s) for <b>conditionalCreate</b> (). 4472 * creating it if it does 4473 * not exist. Will not return <code>null</code>. 4474 * 4475 * <p> 4476 * <b>Definition:</b> 4477 * A flag that indicates that the server supports conditional create 4478 * </p> 4479 */ 4480 public BooleanDt getConditionalCreateElement() { 4481 if (myConditionalCreate == null) { 4482 myConditionalCreate = new BooleanDt(); 4483 } 4484 return myConditionalCreate; 4485 } 4486 4487 4488 /** 4489 * Gets the value(s) for <b>conditionalCreate</b> (). 4490 * creating it if it does 4491 * not exist. This method may return <code>null</code>. 4492 * 4493 * <p> 4494 * <b>Definition:</b> 4495 * A flag that indicates that the server supports conditional create 4496 * </p> 4497 */ 4498 public Boolean getConditionalCreate() { 4499 return getConditionalCreateElement().getValue(); 4500 } 4501 4502 /** 4503 * Sets the value(s) for <b>conditionalCreate</b> () 4504 * 4505 * <p> 4506 * <b>Definition:</b> 4507 * A flag that indicates that the server supports conditional create 4508 * </p> 4509 */ 4510 public RestResource setConditionalCreate(BooleanDt theValue) { 4511 myConditionalCreate = theValue; 4512 return this; 4513 } 4514 4515 4516 4517 /** 4518 * Sets the value for <b>conditionalCreate</b> () 4519 * 4520 * <p> 4521 * <b>Definition:</b> 4522 * A flag that indicates that the server supports conditional create 4523 * </p> 4524 */ 4525 public RestResource setConditionalCreate( boolean theBoolean) { 4526 myConditionalCreate = new BooleanDt(theBoolean); 4527 return this; 4528 } 4529 4530 4531 /** 4532 * Gets the value(s) for <b>conditionalUpdate</b> (). 4533 * creating it if it does 4534 * not exist. Will not return <code>null</code>. 4535 * 4536 * <p> 4537 * <b>Definition:</b> 4538 * A flag that indicates that the server supports conditional update 4539 * </p> 4540 */ 4541 public BooleanDt getConditionalUpdateElement() { 4542 if (myConditionalUpdate == null) { 4543 myConditionalUpdate = new BooleanDt(); 4544 } 4545 return myConditionalUpdate; 4546 } 4547 4548 4549 /** 4550 * Gets the value(s) for <b>conditionalUpdate</b> (). 4551 * creating it if it does 4552 * not exist. This method may return <code>null</code>. 4553 * 4554 * <p> 4555 * <b>Definition:</b> 4556 * A flag that indicates that the server supports conditional update 4557 * </p> 4558 */ 4559 public Boolean getConditionalUpdate() { 4560 return getConditionalUpdateElement().getValue(); 4561 } 4562 4563 /** 4564 * Sets the value(s) for <b>conditionalUpdate</b> () 4565 * 4566 * <p> 4567 * <b>Definition:</b> 4568 * A flag that indicates that the server supports conditional update 4569 * </p> 4570 */ 4571 public RestResource setConditionalUpdate(BooleanDt theValue) { 4572 myConditionalUpdate = theValue; 4573 return this; 4574 } 4575 4576 4577 4578 /** 4579 * Sets the value for <b>conditionalUpdate</b> () 4580 * 4581 * <p> 4582 * <b>Definition:</b> 4583 * A flag that indicates that the server supports conditional update 4584 * </p> 4585 */ 4586 public RestResource setConditionalUpdate( boolean theBoolean) { 4587 myConditionalUpdate = new BooleanDt(theBoolean); 4588 return this; 4589 } 4590 4591 4592 /** 4593 * Gets the value(s) for <b>conditionalDelete</b> (). 4594 * creating it if it does 4595 * not exist. Will not return <code>null</code>. 4596 * 4597 * <p> 4598 * <b>Definition:</b> 4599 * A code that indicates how the server supports conditional delete 4600 * </p> 4601 */ 4602 public BoundCodeDt<ConditionalDeleteStatusEnum> getConditionalDeleteElement() { 4603 if (myConditionalDelete == null) { 4604 myConditionalDelete = new BoundCodeDt<ConditionalDeleteStatusEnum>(ConditionalDeleteStatusEnum.VALUESET_BINDER); 4605 } 4606 return myConditionalDelete; 4607 } 4608 4609 4610 /** 4611 * Gets the value(s) for <b>conditionalDelete</b> (). 4612 * creating it if it does 4613 * not exist. This method may return <code>null</code>. 4614 * 4615 * <p> 4616 * <b>Definition:</b> 4617 * A code that indicates how the server supports conditional delete 4618 * </p> 4619 */ 4620 public String getConditionalDelete() { 4621 return getConditionalDeleteElement().getValue(); 4622 } 4623 4624 /** 4625 * Sets the value(s) for <b>conditionalDelete</b> () 4626 * 4627 * <p> 4628 * <b>Definition:</b> 4629 * A code that indicates how the server supports conditional delete 4630 * </p> 4631 */ 4632 public RestResource setConditionalDelete(BoundCodeDt<ConditionalDeleteStatusEnum> theValue) { 4633 myConditionalDelete = theValue; 4634 return this; 4635 } 4636 4637 4638 4639 /** 4640 * Sets the value(s) for <b>conditionalDelete</b> () 4641 * 4642 * <p> 4643 * <b>Definition:</b> 4644 * A code that indicates how the server supports conditional delete 4645 * </p> 4646 */ 4647 public RestResource setConditionalDelete(ConditionalDeleteStatusEnum theValue) { 4648 setConditionalDelete(new BoundCodeDt<ConditionalDeleteStatusEnum>(ConditionalDeleteStatusEnum.VALUESET_BINDER, theValue)); 4649 4650/* 4651 getConditionalDeleteElement().setValueAsEnum(theValue); 4652*/ 4653 return this; 4654 } 4655 4656 4657 /** 4658 * Gets the value(s) for <b>searchInclude</b> (). 4659 * creating it if it does 4660 * not exist. Will not return <code>null</code>. 4661 * 4662 * <p> 4663 * <b>Definition:</b> 4664 * A list of _include values supported by the server 4665 * </p> 4666 */ 4667 public java.util.List<StringDt> getSearchInclude() { 4668 if (mySearchInclude == null) { 4669 mySearchInclude = new java.util.ArrayList<StringDt>(); 4670 } 4671 return mySearchInclude; 4672 } 4673 4674 /** 4675 * Sets the value(s) for <b>searchInclude</b> () 4676 * 4677 * <p> 4678 * <b>Definition:</b> 4679 * A list of _include values supported by the server 4680 * </p> 4681 */ 4682 public RestResource setSearchInclude(java.util.List<StringDt> theValue) { 4683 mySearchInclude = theValue; 4684 return this; 4685 } 4686 4687 4688 4689 /** 4690 * Adds and returns a new value for <b>searchInclude</b> () 4691 * 4692 * <p> 4693 * <b>Definition:</b> 4694 * A list of _include values supported by the server 4695 * </p> 4696 */ 4697 public StringDt addSearchInclude() { 4698 StringDt newType = new StringDt(); 4699 getSearchInclude().add(newType); 4700 return newType; 4701 } 4702 4703 /** 4704 * Adds a given new value for <b>searchInclude</b> () 4705 * 4706 * <p> 4707 * <b>Definition:</b> 4708 * A list of _include values supported by the server 4709 * </p> 4710 * @param theValue The searchInclude to add (must not be <code>null</code>) 4711 */ 4712 public RestResource addSearchInclude(StringDt theValue) { 4713 if (theValue == null) { 4714 throw new NullPointerException("theValue must not be null"); 4715 } 4716 getSearchInclude().add(theValue); 4717 return this; 4718 } 4719 4720 /** 4721 * Gets the first repetition for <b>searchInclude</b> (), 4722 * creating it if it does not already exist. 4723 * 4724 * <p> 4725 * <b>Definition:</b> 4726 * A list of _include values supported by the server 4727 * </p> 4728 */ 4729 public StringDt getSearchIncludeFirstRep() { 4730 if (getSearchInclude().isEmpty()) { 4731 return addSearchInclude(); 4732 } 4733 return getSearchInclude().get(0); 4734 } 4735 /** 4736 * Adds a new value for <b>searchInclude</b> () 4737 * 4738 * <p> 4739 * <b>Definition:</b> 4740 * A list of _include values supported by the server 4741 * </p> 4742 * 4743 * @return Returns a reference to this object, to allow for simple chaining. 4744 */ 4745 public RestResource addSearchInclude( String theString) { 4746 if (mySearchInclude == null) { 4747 mySearchInclude = new java.util.ArrayList<StringDt>(); 4748 } 4749 mySearchInclude.add(new StringDt(theString)); 4750 return this; 4751 } 4752 4753 4754 /** 4755 * Gets the value(s) for <b>searchRevInclude</b> (). 4756 * creating it if it does 4757 * not exist. Will not return <code>null</code>. 4758 * 4759 * <p> 4760 * <b>Definition:</b> 4761 * A list of _revinclude (reverse include) values supported by the server 4762 * </p> 4763 */ 4764 public java.util.List<StringDt> getSearchRevInclude() { 4765 if (mySearchRevInclude == null) { 4766 mySearchRevInclude = new java.util.ArrayList<StringDt>(); 4767 } 4768 return mySearchRevInclude; 4769 } 4770 4771 /** 4772 * Sets the value(s) for <b>searchRevInclude</b> () 4773 * 4774 * <p> 4775 * <b>Definition:</b> 4776 * A list of _revinclude (reverse include) values supported by the server 4777 * </p> 4778 */ 4779 public RestResource setSearchRevInclude(java.util.List<StringDt> theValue) { 4780 mySearchRevInclude = theValue; 4781 return this; 4782 } 4783 4784 4785 4786 /** 4787 * Adds and returns a new value for <b>searchRevInclude</b> () 4788 * 4789 * <p> 4790 * <b>Definition:</b> 4791 * A list of _revinclude (reverse include) values supported by the server 4792 * </p> 4793 */ 4794 public StringDt addSearchRevInclude() { 4795 StringDt newType = new StringDt(); 4796 getSearchRevInclude().add(newType); 4797 return newType; 4798 } 4799 4800 /** 4801 * Adds a given new value for <b>searchRevInclude</b> () 4802 * 4803 * <p> 4804 * <b>Definition:</b> 4805 * A list of _revinclude (reverse include) values supported by the server 4806 * </p> 4807 * @param theValue The searchRevInclude to add (must not be <code>null</code>) 4808 */ 4809 public RestResource addSearchRevInclude(StringDt theValue) { 4810 if (theValue == null) { 4811 throw new NullPointerException("theValue must not be null"); 4812 } 4813 getSearchRevInclude().add(theValue); 4814 return this; 4815 } 4816 4817 /** 4818 * Gets the first repetition for <b>searchRevInclude</b> (), 4819 * creating it if it does not already exist. 4820 * 4821 * <p> 4822 * <b>Definition:</b> 4823 * A list of _revinclude (reverse include) values supported by the server 4824 * </p> 4825 */ 4826 public StringDt getSearchRevIncludeFirstRep() { 4827 if (getSearchRevInclude().isEmpty()) { 4828 return addSearchRevInclude(); 4829 } 4830 return getSearchRevInclude().get(0); 4831 } 4832 /** 4833 * Adds a new value for <b>searchRevInclude</b> () 4834 * 4835 * <p> 4836 * <b>Definition:</b> 4837 * A list of _revinclude (reverse include) values supported by the server 4838 * </p> 4839 * 4840 * @return Returns a reference to this object, to allow for simple chaining. 4841 */ 4842 public RestResource addSearchRevInclude( String theString) { 4843 if (mySearchRevInclude == null) { 4844 mySearchRevInclude = new java.util.ArrayList<StringDt>(); 4845 } 4846 mySearchRevInclude.add(new StringDt(theString)); 4847 return this; 4848 } 4849 4850 4851 /** 4852 * Gets the value(s) for <b>searchParam</b> (). 4853 * creating it if it does 4854 * not exist. Will not return <code>null</code>. 4855 * 4856 * <p> 4857 * <b>Definition:</b> 4858 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 4859 * </p> 4860 */ 4861 public java.util.List<RestResourceSearchParam> getSearchParam() { 4862 if (mySearchParam == null) { 4863 mySearchParam = new java.util.ArrayList<RestResourceSearchParam>(); 4864 } 4865 return mySearchParam; 4866 } 4867 4868 /** 4869 * Sets the value(s) for <b>searchParam</b> () 4870 * 4871 * <p> 4872 * <b>Definition:</b> 4873 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 4874 * </p> 4875 */ 4876 public RestResource setSearchParam(java.util.List<RestResourceSearchParam> theValue) { 4877 mySearchParam = theValue; 4878 return this; 4879 } 4880 4881 4882 4883 /** 4884 * Adds and returns a new value for <b>searchParam</b> () 4885 * 4886 * <p> 4887 * <b>Definition:</b> 4888 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 4889 * </p> 4890 */ 4891 public RestResourceSearchParam addSearchParam() { 4892 RestResourceSearchParam newType = new RestResourceSearchParam(); 4893 getSearchParam().add(newType); 4894 return newType; 4895 } 4896 4897 /** 4898 * Adds a given new value for <b>searchParam</b> () 4899 * 4900 * <p> 4901 * <b>Definition:</b> 4902 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 4903 * </p> 4904 * @param theValue The searchParam to add (must not be <code>null</code>) 4905 */ 4906 public RestResource addSearchParam(RestResourceSearchParam theValue) { 4907 if (theValue == null) { 4908 throw new NullPointerException("theValue must not be null"); 4909 } 4910 getSearchParam().add(theValue); 4911 return this; 4912 } 4913 4914 /** 4915 * Gets the first repetition for <b>searchParam</b> (), 4916 * creating it if it does not already exist. 4917 * 4918 * <p> 4919 * <b>Definition:</b> 4920 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 4921 * </p> 4922 */ 4923 public RestResourceSearchParam getSearchParamFirstRep() { 4924 if (getSearchParam().isEmpty()) { 4925 return addSearchParam(); 4926 } 4927 return getSearchParam().get(0); 4928 } 4929 4930 4931 4932 } 4933 4934 /** 4935 * Block class for child element: <b>Conformance.rest.resource.interaction</b> () 4936 * 4937 * <p> 4938 * <b>Definition:</b> 4939 * Identifies a restful operation supported by the solution 4940 * </p> 4941 */ 4942 @Block() 4943 public static class RestResourceInteraction 4944 extends BaseIdentifiableElement implements IResourceBlock { 4945 4946 @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 4947 @Description( 4948 shortDefinition="", 4949 formalDefinition="Coded identifier of the operation, supported by the system resource" 4950 ) 4951 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/type-restful-interaction") 4952 private BoundCodeDt<TypeRestfulInteractionEnum> myCode; 4953 4954 @Child(name="documentation", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 4955 @Description( 4956 shortDefinition="", 4957 formalDefinition="Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'" 4958 ) 4959 private StringDt myDocumentation; 4960 4961 4962 @Override 4963 public boolean isEmpty() { 4964 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myDocumentation); 4965 } 4966 4967 @Override 4968 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4969 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myDocumentation); 4970 } 4971 4972 /** 4973 * Gets the value(s) for <b>code</b> (). 4974 * creating it if it does 4975 * not exist. Will not return <code>null</code>. 4976 * 4977 * <p> 4978 * <b>Definition:</b> 4979 * Coded identifier of the operation, supported by the system resource 4980 * </p> 4981 */ 4982 public BoundCodeDt<TypeRestfulInteractionEnum> getCodeElement() { 4983 if (myCode == null) { 4984 myCode = new BoundCodeDt<TypeRestfulInteractionEnum>(TypeRestfulInteractionEnum.VALUESET_BINDER); 4985 } 4986 return myCode; 4987 } 4988 4989 4990 /** 4991 * Gets the value(s) for <b>code</b> (). 4992 * creating it if it does 4993 * not exist. This method may return <code>null</code>. 4994 * 4995 * <p> 4996 * <b>Definition:</b> 4997 * Coded identifier of the operation, supported by the system resource 4998 * </p> 4999 */ 5000 public String getCode() { 5001 return getCodeElement().getValue(); 5002 } 5003 5004 /** 5005 * Sets the value(s) for <b>code</b> () 5006 * 5007 * <p> 5008 * <b>Definition:</b> 5009 * Coded identifier of the operation, supported by the system resource 5010 * </p> 5011 */ 5012 public RestResourceInteraction setCode(BoundCodeDt<TypeRestfulInteractionEnum> theValue) { 5013 myCode = theValue; 5014 return this; 5015 } 5016 5017 5018 5019 /** 5020 * Sets the value(s) for <b>code</b> () 5021 * 5022 * <p> 5023 * <b>Definition:</b> 5024 * Coded identifier of the operation, supported by the system resource 5025 * </p> 5026 */ 5027 public RestResourceInteraction setCode(TypeRestfulInteractionEnum theValue) { 5028 setCode(new BoundCodeDt<TypeRestfulInteractionEnum>(TypeRestfulInteractionEnum.VALUESET_BINDER, theValue)); 5029 5030/* 5031 getCodeElement().setValueAsEnum(theValue); 5032*/ 5033 return this; 5034 } 5035 5036 5037 /** 5038 * Gets the value(s) for <b>documentation</b> (). 5039 * creating it if it does 5040 * not exist. Will not return <code>null</code>. 5041 * 5042 * <p> 5043 * <b>Definition:</b> 5044 * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only' 5045 * </p> 5046 */ 5047 public StringDt getDocumentationElement() { 5048 if (myDocumentation == null) { 5049 myDocumentation = new StringDt(); 5050 } 5051 return myDocumentation; 5052 } 5053 5054 5055 /** 5056 * Gets the value(s) for <b>documentation</b> (). 5057 * creating it if it does 5058 * not exist. This method may return <code>null</code>. 5059 * 5060 * <p> 5061 * <b>Definition:</b> 5062 * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only' 5063 * </p> 5064 */ 5065 public String getDocumentation() { 5066 return getDocumentationElement().getValue(); 5067 } 5068 5069 /** 5070 * Sets the value(s) for <b>documentation</b> () 5071 * 5072 * <p> 5073 * <b>Definition:</b> 5074 * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only' 5075 * </p> 5076 */ 5077 public RestResourceInteraction setDocumentation(StringDt theValue) { 5078 myDocumentation = theValue; 5079 return this; 5080 } 5081 5082 5083 5084 /** 5085 * Sets the value for <b>documentation</b> () 5086 * 5087 * <p> 5088 * <b>Definition:</b> 5089 * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only' 5090 * </p> 5091 */ 5092 public RestResourceInteraction setDocumentation( String theString) { 5093 myDocumentation = new StringDt(theString); 5094 return this; 5095 } 5096 5097 5098 5099 5100 } 5101 5102 5103 /** 5104 * Block class for child element: <b>Conformance.rest.resource.searchParam</b> () 5105 * 5106 * <p> 5107 * <b>Definition:</b> 5108 * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation 5109 * </p> 5110 */ 5111 @Block() 5112 public static class RestResourceSearchParam 5113 extends BaseIdentifiableElement implements IResourceBlock { 5114 5115 @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) 5116 @Description( 5117 shortDefinition="", 5118 formalDefinition="The name of the search parameter used in the interface" 5119 ) 5120 private StringDt myName; 5121 5122 @Child(name="definition", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false) 5123 @Description( 5124 shortDefinition="", 5125 formalDefinition="An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]])" 5126 ) 5127 private UriDt myDefinition; 5128 5129 @Child(name="type", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) 5130 @Description( 5131 shortDefinition="", 5132 formalDefinition="The type of value a search parameter refers to, and how the content is interpreted" 5133 ) 5134 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/search-param-type") 5135 private BoundCodeDt<SearchParamTypeEnum> myType; 5136 5137 @Child(name="documentation", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) 5138 @Description( 5139 shortDefinition="", 5140 formalDefinition="This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms." 5141 ) 5142 private StringDt myDocumentation; 5143 5144 @Child(name="target", type=CodeDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 5145 @Description( 5146 shortDefinition="", 5147 formalDefinition="Types of resource (if a resource is referenced)" 5148 ) 5149 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 5150 private java.util.List<BoundCodeDt<ResourceTypeEnum>> myTarget; 5151 5152 @Child(name="modifier", type=CodeDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 5153 @Description( 5154 shortDefinition="", 5155 formalDefinition="A modifier supported for the search parameter" 5156 ) 5157 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/search-modifier-code") 5158 private java.util.List<BoundCodeDt<SearchModifierCodeEnum>> myModifier; 5159 5160 @Child(name="chain", type=StringDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 5161 @Description( 5162 shortDefinition="", 5163 formalDefinition="Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type" 5164 ) 5165 private java.util.List<StringDt> myChain; 5166 5167 5168 @Override 5169 public boolean isEmpty() { 5170 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myDefinition, myType, myDocumentation, myTarget, myModifier, myChain); 5171 } 5172 5173 @Override 5174 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 5175 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myDefinition, myType, myDocumentation, myTarget, myModifier, myChain); 5176 } 5177 5178 /** 5179 * Gets the value(s) for <b>name</b> (). 5180 * creating it if it does 5181 * not exist. Will not return <code>null</code>. 5182 * 5183 * <p> 5184 * <b>Definition:</b> 5185 * The name of the search parameter used in the interface 5186 * </p> 5187 */ 5188 public StringDt getNameElement() { 5189 if (myName == null) { 5190 myName = new StringDt(); 5191 } 5192 return myName; 5193 } 5194 5195 5196 /** 5197 * Gets the value(s) for <b>name</b> (). 5198 * creating it if it does 5199 * not exist. This method may return <code>null</code>. 5200 * 5201 * <p> 5202 * <b>Definition:</b> 5203 * The name of the search parameter used in the interface 5204 * </p> 5205 */ 5206 public String getName() { 5207 return getNameElement().getValue(); 5208 } 5209 5210 /** 5211 * Sets the value(s) for <b>name</b> () 5212 * 5213 * <p> 5214 * <b>Definition:</b> 5215 * The name of the search parameter used in the interface 5216 * </p> 5217 */ 5218 public RestResourceSearchParam setName(StringDt theValue) { 5219 myName = theValue; 5220 return this; 5221 } 5222 5223 5224 5225 /** 5226 * Sets the value for <b>name</b> () 5227 * 5228 * <p> 5229 * <b>Definition:</b> 5230 * The name of the search parameter used in the interface 5231 * </p> 5232 */ 5233 public RestResourceSearchParam setName( String theString) { 5234 myName = new StringDt(theString); 5235 return this; 5236 } 5237 5238 5239 /** 5240 * Gets the value(s) for <b>definition</b> (). 5241 * creating it if it does 5242 * not exist. Will not return <code>null</code>. 5243 * 5244 * <p> 5245 * <b>Definition:</b> 5246 * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) 5247 * </p> 5248 */ 5249 public UriDt getDefinitionElement() { 5250 if (myDefinition == null) { 5251 myDefinition = new UriDt(); 5252 } 5253 return myDefinition; 5254 } 5255 5256 5257 /** 5258 * Gets the value(s) for <b>definition</b> (). 5259 * creating it if it does 5260 * not exist. This method may return <code>null</code>. 5261 * 5262 * <p> 5263 * <b>Definition:</b> 5264 * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) 5265 * </p> 5266 */ 5267 public String getDefinition() { 5268 return getDefinitionElement().getValue(); 5269 } 5270 5271 /** 5272 * Sets the value(s) for <b>definition</b> () 5273 * 5274 * <p> 5275 * <b>Definition:</b> 5276 * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) 5277 * </p> 5278 */ 5279 public RestResourceSearchParam setDefinition(UriDt theValue) { 5280 myDefinition = theValue; 5281 return this; 5282 } 5283 5284 5285 5286 /** 5287 * Sets the value for <b>definition</b> () 5288 * 5289 * <p> 5290 * <b>Definition:</b> 5291 * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) 5292 * </p> 5293 */ 5294 public RestResourceSearchParam setDefinition( String theUri) { 5295 myDefinition = new UriDt(theUri); 5296 return this; 5297 } 5298 5299 5300 /** 5301 * Gets the value(s) for <b>type</b> (). 5302 * creating it if it does 5303 * not exist. Will not return <code>null</code>. 5304 * 5305 * <p> 5306 * <b>Definition:</b> 5307 * The type of value a search parameter refers to, and how the content is interpreted 5308 * </p> 5309 */ 5310 public BoundCodeDt<SearchParamTypeEnum> getTypeElement() { 5311 if (myType == null) { 5312 myType = new BoundCodeDt<SearchParamTypeEnum>(SearchParamTypeEnum.VALUESET_BINDER); 5313 } 5314 return myType; 5315 } 5316 5317 5318 /** 5319 * Gets the value(s) for <b>type</b> (). 5320 * creating it if it does 5321 * not exist. This method may return <code>null</code>. 5322 * 5323 * <p> 5324 * <b>Definition:</b> 5325 * The type of value a search parameter refers to, and how the content is interpreted 5326 * </p> 5327 */ 5328 public String getType() { 5329 return getTypeElement().getValue(); 5330 } 5331 5332 /** 5333 * Sets the value(s) for <b>type</b> () 5334 * 5335 * <p> 5336 * <b>Definition:</b> 5337 * The type of value a search parameter refers to, and how the content is interpreted 5338 * </p> 5339 */ 5340 public RestResourceSearchParam setType(BoundCodeDt<SearchParamTypeEnum> theValue) { 5341 myType = theValue; 5342 return this; 5343 } 5344 5345 5346 5347 /** 5348 * Sets the value(s) for <b>type</b> () 5349 * 5350 * <p> 5351 * <b>Definition:</b> 5352 * The type of value a search parameter refers to, and how the content is interpreted 5353 * </p> 5354 */ 5355 public RestResourceSearchParam setType(SearchParamTypeEnum theValue) { 5356 setType(new BoundCodeDt<SearchParamTypeEnum>(SearchParamTypeEnum.VALUESET_BINDER, theValue)); 5357 5358/* 5359 getTypeElement().setValueAsEnum(theValue); 5360*/ 5361 return this; 5362 } 5363 5364 5365 /** 5366 * Gets the value(s) for <b>documentation</b> (). 5367 * creating it if it does 5368 * not exist. Will not return <code>null</code>. 5369 * 5370 * <p> 5371 * <b>Definition:</b> 5372 * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. 5373 * </p> 5374 */ 5375 public StringDt getDocumentationElement() { 5376 if (myDocumentation == null) { 5377 myDocumentation = new StringDt(); 5378 } 5379 return myDocumentation; 5380 } 5381 5382 5383 /** 5384 * Gets the value(s) for <b>documentation</b> (). 5385 * creating it if it does 5386 * not exist. This method may return <code>null</code>. 5387 * 5388 * <p> 5389 * <b>Definition:</b> 5390 * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. 5391 * </p> 5392 */ 5393 public String getDocumentation() { 5394 return getDocumentationElement().getValue(); 5395 } 5396 5397 /** 5398 * Sets the value(s) for <b>documentation</b> () 5399 * 5400 * <p> 5401 * <b>Definition:</b> 5402 * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. 5403 * </p> 5404 */ 5405 public RestResourceSearchParam setDocumentation(StringDt theValue) { 5406 myDocumentation = theValue; 5407 return this; 5408 } 5409 5410 5411 5412 /** 5413 * Sets the value for <b>documentation</b> () 5414 * 5415 * <p> 5416 * <b>Definition:</b> 5417 * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. 5418 * </p> 5419 */ 5420 public RestResourceSearchParam setDocumentation( String theString) { 5421 myDocumentation = new StringDt(theString); 5422 return this; 5423 } 5424 5425 5426 /** 5427 * Gets the value(s) for <b>target</b> (). 5428 * creating it if it does 5429 * not exist. Will not return <code>null</code>. 5430 * 5431 * <p> 5432 * <b>Definition:</b> 5433 * Types of resource (if a resource is referenced) 5434 * </p> 5435 */ 5436 public java.util.List<BoundCodeDt<ResourceTypeEnum>> getTarget() { 5437 if (myTarget == null) { 5438 myTarget = new java.util.ArrayList<BoundCodeDt<ResourceTypeEnum>>(); 5439 } 5440 return myTarget; 5441 } 5442 5443 /** 5444 * Sets the value(s) for <b>target</b> () 5445 * 5446 * <p> 5447 * <b>Definition:</b> 5448 * Types of resource (if a resource is referenced) 5449 * </p> 5450 */ 5451 public RestResourceSearchParam setTarget(java.util.List<BoundCodeDt<ResourceTypeEnum>> theValue) { 5452 myTarget = theValue; 5453 return this; 5454 } 5455 5456 5457 5458 /** 5459 * Add a value for <b>target</b> () using an enumerated type. This 5460 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 5461 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 5462 * you may also use the {@link #addTarget()} method. 5463 * 5464 * <p> 5465 * <b>Definition:</b> 5466 * Types of resource (if a resource is referenced) 5467 * </p> 5468 */ 5469 public BoundCodeDt<ResourceTypeEnum> addTarget(ResourceTypeEnum theValue) { 5470 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue); 5471 getTarget().add(retVal); 5472 return retVal; 5473 } 5474 5475 /** 5476 * Gets the first repetition for <b>target</b> (), 5477 * creating it if it does not already exist. 5478 * 5479 * <p> 5480 * <b>Definition:</b> 5481 * Types of resource (if a resource is referenced) 5482 * </p> 5483 */ 5484 public BoundCodeDt<ResourceTypeEnum> getTargetFirstRep() { 5485 if (getTarget().size() == 0) { 5486 addTarget(); 5487 } 5488 return getTarget().get(0); 5489 } 5490 5491 /** 5492 * Add a value for <b>target</b> () 5493 * 5494 * <p> 5495 * <b>Definition:</b> 5496 * Types of resource (if a resource is referenced) 5497 * </p> 5498 */ 5499 public BoundCodeDt<ResourceTypeEnum> addTarget() { 5500 BoundCodeDt<ResourceTypeEnum> retVal = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 5501 getTarget().add(retVal); 5502 return retVal; 5503 } 5504 5505 /** 5506 * Sets the value(s), and clears any existing value(s) for <b>target</b> () 5507 * 5508 * <p> 5509 * <b>Definition:</b> 5510 * Types of resource (if a resource is referenced) 5511 * </p> 5512 */ 5513 public RestResourceSearchParam setTarget(ResourceTypeEnum theValue) { 5514 getTarget().clear(); 5515 addTarget(theValue); 5516 return this; 5517 } 5518 5519 5520 /** 5521 * Gets the value(s) for <b>modifier</b> (). 5522 * creating it if it does 5523 * not exist. Will not return <code>null</code>. 5524 * 5525 * <p> 5526 * <b>Definition:</b> 5527 * A modifier supported for the search parameter 5528 * </p> 5529 */ 5530 public java.util.List<BoundCodeDt<SearchModifierCodeEnum>> getModifier() { 5531 if (myModifier == null) { 5532 myModifier = new java.util.ArrayList<BoundCodeDt<SearchModifierCodeEnum>>(); 5533 } 5534 return myModifier; 5535 } 5536 5537 /** 5538 * Sets the value(s) for <b>modifier</b> () 5539 * 5540 * <p> 5541 * <b>Definition:</b> 5542 * A modifier supported for the search parameter 5543 * </p> 5544 */ 5545 public RestResourceSearchParam setModifier(java.util.List<BoundCodeDt<SearchModifierCodeEnum>> theValue) { 5546 myModifier = theValue; 5547 return this; 5548 } 5549 5550 5551 5552 /** 5553 * Add a value for <b>modifier</b> () using an enumerated type. This 5554 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 5555 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 5556 * you may also use the {@link #addModifier()} method. 5557 * 5558 * <p> 5559 * <b>Definition:</b> 5560 * A modifier supported for the search parameter 5561 * </p> 5562 */ 5563 public BoundCodeDt<SearchModifierCodeEnum> addModifier(SearchModifierCodeEnum theValue) { 5564 BoundCodeDt<SearchModifierCodeEnum> retVal = new BoundCodeDt<SearchModifierCodeEnum>(SearchModifierCodeEnum.VALUESET_BINDER, theValue); 5565 getModifier().add(retVal); 5566 return retVal; 5567 } 5568 5569 /** 5570 * Gets the first repetition for <b>modifier</b> (), 5571 * creating it if it does not already exist. 5572 * 5573 * <p> 5574 * <b>Definition:</b> 5575 * A modifier supported for the search parameter 5576 * </p> 5577 */ 5578 public BoundCodeDt<SearchModifierCodeEnum> getModifierFirstRep() { 5579 if (getModifier().size() == 0) { 5580 addModifier(); 5581 } 5582 return getModifier().get(0); 5583 } 5584 5585 /** 5586 * Add a value for <b>modifier</b> () 5587 * 5588 * <p> 5589 * <b>Definition:</b> 5590 * A modifier supported for the search parameter 5591 * </p> 5592 */ 5593 public BoundCodeDt<SearchModifierCodeEnum> addModifier() { 5594 BoundCodeDt<SearchModifierCodeEnum> retVal = new BoundCodeDt<SearchModifierCodeEnum>(SearchModifierCodeEnum.VALUESET_BINDER); 5595 getModifier().add(retVal); 5596 return retVal; 5597 } 5598 5599 /** 5600 * Sets the value(s), and clears any existing value(s) for <b>modifier</b> () 5601 * 5602 * <p> 5603 * <b>Definition:</b> 5604 * A modifier supported for the search parameter 5605 * </p> 5606 */ 5607 public RestResourceSearchParam setModifier(SearchModifierCodeEnum theValue) { 5608 getModifier().clear(); 5609 addModifier(theValue); 5610 return this; 5611 } 5612 5613 5614 /** 5615 * Gets the value(s) for <b>chain</b> (). 5616 * creating it if it does 5617 * not exist. Will not return <code>null</code>. 5618 * 5619 * <p> 5620 * <b>Definition:</b> 5621 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5622 * </p> 5623 */ 5624 public java.util.List<StringDt> getChain() { 5625 if (myChain == null) { 5626 myChain = new java.util.ArrayList<StringDt>(); 5627 } 5628 return myChain; 5629 } 5630 5631 /** 5632 * Sets the value(s) for <b>chain</b> () 5633 * 5634 * <p> 5635 * <b>Definition:</b> 5636 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5637 * </p> 5638 */ 5639 public RestResourceSearchParam setChain(java.util.List<StringDt> theValue) { 5640 myChain = theValue; 5641 return this; 5642 } 5643 5644 5645 5646 /** 5647 * Adds and returns a new value for <b>chain</b> () 5648 * 5649 * <p> 5650 * <b>Definition:</b> 5651 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5652 * </p> 5653 */ 5654 public StringDt addChain() { 5655 StringDt newType = new StringDt(); 5656 getChain().add(newType); 5657 return newType; 5658 } 5659 5660 /** 5661 * Adds a given new value for <b>chain</b> () 5662 * 5663 * <p> 5664 * <b>Definition:</b> 5665 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5666 * </p> 5667 * @param theValue The chain to add (must not be <code>null</code>) 5668 */ 5669 public RestResourceSearchParam addChain(StringDt theValue) { 5670 if (theValue == null) { 5671 throw new NullPointerException("theValue must not be null"); 5672 } 5673 getChain().add(theValue); 5674 return this; 5675 } 5676 5677 /** 5678 * Gets the first repetition for <b>chain</b> (), 5679 * creating it if it does not already exist. 5680 * 5681 * <p> 5682 * <b>Definition:</b> 5683 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5684 * </p> 5685 */ 5686 public StringDt getChainFirstRep() { 5687 if (getChain().isEmpty()) { 5688 return addChain(); 5689 } 5690 return getChain().get(0); 5691 } 5692 /** 5693 * Adds a new value for <b>chain</b> () 5694 * 5695 * <p> 5696 * <b>Definition:</b> 5697 * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type 5698 * </p> 5699 * 5700 * @return Returns a reference to this object, to allow for simple chaining. 5701 */ 5702 public RestResourceSearchParam addChain( String theString) { 5703 if (myChain == null) { 5704 myChain = new java.util.ArrayList<StringDt>(); 5705 } 5706 myChain.add(new StringDt(theString)); 5707 return this; 5708 } 5709 5710 5711 5712 5713 } 5714 5715 5716 5717 /** 5718 * Block class for child element: <b>Conformance.rest.interaction</b> () 5719 * 5720 * <p> 5721 * <b>Definition:</b> 5722 * A specification of restful operations supported by the system 5723 * </p> 5724 */ 5725 @Block() 5726 public static class RestInteraction 5727 extends BaseIdentifiableElement implements IResourceBlock { 5728 5729 @Child(name="code", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 5730 @Description( 5731 shortDefinition="", 5732 formalDefinition="A coded identifier of the operation, supported by the system" 5733 ) 5734 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/system-restful-interaction") 5735 private BoundCodeDt<SystemRestfulInteractionEnum> myCode; 5736 5737 @Child(name="documentation", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 5738 @Description( 5739 shortDefinition="", 5740 formalDefinition="Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented" 5741 ) 5742 private StringDt myDocumentation; 5743 5744 5745 @Override 5746 public boolean isEmpty() { 5747 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myDocumentation); 5748 } 5749 5750 @Override 5751 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 5752 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myDocumentation); 5753 } 5754 5755 /** 5756 * Gets the value(s) for <b>code</b> (). 5757 * creating it if it does 5758 * not exist. Will not return <code>null</code>. 5759 * 5760 * <p> 5761 * <b>Definition:</b> 5762 * A coded identifier of the operation, supported by the system 5763 * </p> 5764 */ 5765 public BoundCodeDt<SystemRestfulInteractionEnum> getCodeElement() { 5766 if (myCode == null) { 5767 myCode = new BoundCodeDt<SystemRestfulInteractionEnum>(SystemRestfulInteractionEnum.VALUESET_BINDER); 5768 } 5769 return myCode; 5770 } 5771 5772 5773 /** 5774 * Gets the value(s) for <b>code</b> (). 5775 * creating it if it does 5776 * not exist. This method may return <code>null</code>. 5777 * 5778 * <p> 5779 * <b>Definition:</b> 5780 * A coded identifier of the operation, supported by the system 5781 * </p> 5782 */ 5783 public String getCode() { 5784 return getCodeElement().getValue(); 5785 } 5786 5787 /** 5788 * Sets the value(s) for <b>code</b> () 5789 * 5790 * <p> 5791 * <b>Definition:</b> 5792 * A coded identifier of the operation, supported by the system 5793 * </p> 5794 */ 5795 public RestInteraction setCode(BoundCodeDt<SystemRestfulInteractionEnum> theValue) { 5796 myCode = theValue; 5797 return this; 5798 } 5799 5800 5801 5802 /** 5803 * Sets the value(s) for <b>code</b> () 5804 * 5805 * <p> 5806 * <b>Definition:</b> 5807 * A coded identifier of the operation, supported by the system 5808 * </p> 5809 */ 5810 public RestInteraction setCode(SystemRestfulInteractionEnum theValue) { 5811 setCode(new BoundCodeDt<SystemRestfulInteractionEnum>(SystemRestfulInteractionEnum.VALUESET_BINDER, theValue)); 5812 5813/* 5814 getCodeElement().setValueAsEnum(theValue); 5815*/ 5816 return this; 5817 } 5818 5819 5820 /** 5821 * Gets the value(s) for <b>documentation</b> (). 5822 * creating it if it does 5823 * not exist. Will not return <code>null</code>. 5824 * 5825 * <p> 5826 * <b>Definition:</b> 5827 * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented 5828 * </p> 5829 */ 5830 public StringDt getDocumentationElement() { 5831 if (myDocumentation == null) { 5832 myDocumentation = new StringDt(); 5833 } 5834 return myDocumentation; 5835 } 5836 5837 5838 /** 5839 * Gets the value(s) for <b>documentation</b> (). 5840 * creating it if it does 5841 * not exist. This method may return <code>null</code>. 5842 * 5843 * <p> 5844 * <b>Definition:</b> 5845 * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented 5846 * </p> 5847 */ 5848 public String getDocumentation() { 5849 return getDocumentationElement().getValue(); 5850 } 5851 5852 /** 5853 * Sets the value(s) for <b>documentation</b> () 5854 * 5855 * <p> 5856 * <b>Definition:</b> 5857 * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented 5858 * </p> 5859 */ 5860 public RestInteraction setDocumentation(StringDt theValue) { 5861 myDocumentation = theValue; 5862 return this; 5863 } 5864 5865 5866 5867 /** 5868 * Sets the value for <b>documentation</b> () 5869 * 5870 * <p> 5871 * <b>Definition:</b> 5872 * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented 5873 * </p> 5874 */ 5875 public RestInteraction setDocumentation( String theString) { 5876 myDocumentation = new StringDt(theString); 5877 return this; 5878 } 5879 5880 5881 5882 5883 } 5884 5885 5886 /** 5887 * Block class for child element: <b>Conformance.rest.operation</b> () 5888 * 5889 * <p> 5890 * <b>Definition:</b> 5891 * Definition of an operation or a named query and with its parameters and their meaning and type 5892 * </p> 5893 */ 5894 @Block() 5895 public static class RestOperation 5896 extends BaseIdentifiableElement implements IResourceBlock { 5897 5898 @Child(name="name", type=StringDt.class, order=0, min=1, max=1, summary=false, modifier=false) 5899 @Description( 5900 shortDefinition="", 5901 formalDefinition="The name of a query, which is used in the _query parameter when the query is called" 5902 ) 5903 private StringDt myName; 5904 5905 @Child(name="definition", order=1, min=1, max=1, summary=false, modifier=false, type={ 5906 ca.uhn.fhir.model.dstu2.resource.OperationDefinition.class }) 5907 @Description( 5908 shortDefinition="", 5909 formalDefinition="Where the formal definition can be found" 5910 ) 5911 private ResourceReferenceDt myDefinition; 5912 5913 5914 @Override 5915 public boolean isEmpty() { 5916 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myName, myDefinition); 5917 } 5918 5919 @Override 5920 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 5921 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myDefinition); 5922 } 5923 5924 /** 5925 * Gets the value(s) for <b>name</b> (). 5926 * creating it if it does 5927 * not exist. Will not return <code>null</code>. 5928 * 5929 * <p> 5930 * <b>Definition:</b> 5931 * The name of a query, which is used in the _query parameter when the query is called 5932 * </p> 5933 */ 5934 public StringDt getNameElement() { 5935 if (myName == null) { 5936 myName = new StringDt(); 5937 } 5938 return myName; 5939 } 5940 5941 5942 /** 5943 * Gets the value(s) for <b>name</b> (). 5944 * creating it if it does 5945 * not exist. This method may return <code>null</code>. 5946 * 5947 * <p> 5948 * <b>Definition:</b> 5949 * The name of a query, which is used in the _query parameter when the query is called 5950 * </p> 5951 */ 5952 public String getName() { 5953 return getNameElement().getValue(); 5954 } 5955 5956 /** 5957 * Sets the value(s) for <b>name</b> () 5958 * 5959 * <p> 5960 * <b>Definition:</b> 5961 * The name of a query, which is used in the _query parameter when the query is called 5962 * </p> 5963 */ 5964 public RestOperation setName(StringDt theValue) { 5965 myName = theValue; 5966 return this; 5967 } 5968 5969 5970 5971 /** 5972 * Sets the value for <b>name</b> () 5973 * 5974 * <p> 5975 * <b>Definition:</b> 5976 * The name of a query, which is used in the _query parameter when the query is called 5977 * </p> 5978 */ 5979 public RestOperation setName( String theString) { 5980 myName = new StringDt(theString); 5981 return this; 5982 } 5983 5984 5985 /** 5986 * Gets the value(s) for <b>definition</b> (). 5987 * creating it if it does 5988 * not exist. Will not return <code>null</code>. 5989 * 5990 * <p> 5991 * <b>Definition:</b> 5992 * Where the formal definition can be found 5993 * </p> 5994 */ 5995 public ResourceReferenceDt getDefinition() { 5996 if (myDefinition == null) { 5997 myDefinition = new ResourceReferenceDt(); 5998 } 5999 return myDefinition; 6000 } 6001 6002 /** 6003 * Sets the value(s) for <b>definition</b> () 6004 * 6005 * <p> 6006 * <b>Definition:</b> 6007 * Where the formal definition can be found 6008 * </p> 6009 */ 6010 public RestOperation setDefinition(ResourceReferenceDt theValue) { 6011 myDefinition = theValue; 6012 return this; 6013 } 6014 6015 6016 6017 6018 6019 6020 } 6021 6022 6023 6024 /** 6025 * Block class for child element: <b>Conformance.messaging</b> () 6026 * 6027 * <p> 6028 * <b>Definition:</b> 6029 * A description of the messaging capabilities of the solution 6030 * </p> 6031 */ 6032 @Block() 6033 public static class Messaging 6034 extends BaseIdentifiableElement implements IResourceBlock { 6035 6036 @Child(name="endpoint", order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 6037 @Description( 6038 shortDefinition="", 6039 formalDefinition="An endpoint (network accessible address) to which messages and/or replies are to be sent." 6040 ) 6041 private java.util.List<MessagingEndpoint> myEndpoint; 6042 6043 @Child(name="reliableCache", type=UnsignedIntDt.class, order=1, min=0, max=1, summary=false, modifier=false) 6044 @Description( 6045 shortDefinition="", 6046 formalDefinition="Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender)" 6047 ) 6048 private UnsignedIntDt myReliableCache; 6049 6050 @Child(name="documentation", type=StringDt.class, order=2, min=0, max=1, summary=false, modifier=false) 6051 @Description( 6052 shortDefinition="", 6053 formalDefinition="Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner." 6054 ) 6055 private StringDt myDocumentation; 6056 6057 @Child(name="event", order=3, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 6058 @Description( 6059 shortDefinition="", 6060 formalDefinition="A description of the solution's support for an event at this end-point." 6061 ) 6062 private java.util.List<MessagingEvent> myEvent; 6063 6064 6065 @Override 6066 public boolean isEmpty() { 6067 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myEndpoint, myReliableCache, myDocumentation, myEvent); 6068 } 6069 6070 @Override 6071 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 6072 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myEndpoint, myReliableCache, myDocumentation, myEvent); 6073 } 6074 6075 /** 6076 * Gets the value(s) for <b>endpoint</b> (). 6077 * creating it if it does 6078 * not exist. Will not return <code>null</code>. 6079 * 6080 * <p> 6081 * <b>Definition:</b> 6082 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6083 * </p> 6084 */ 6085 public java.util.List<MessagingEndpoint> getEndpoint() { 6086 if (myEndpoint == null) { 6087 myEndpoint = new java.util.ArrayList<MessagingEndpoint>(); 6088 } 6089 return myEndpoint; 6090 } 6091 6092 /** 6093 * Sets the value(s) for <b>endpoint</b> () 6094 * 6095 * <p> 6096 * <b>Definition:</b> 6097 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6098 * </p> 6099 */ 6100 public Messaging setEndpoint(java.util.List<MessagingEndpoint> theValue) { 6101 myEndpoint = theValue; 6102 return this; 6103 } 6104 6105 6106 6107 /** 6108 * Adds and returns a new value for <b>endpoint</b> () 6109 * 6110 * <p> 6111 * <b>Definition:</b> 6112 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6113 * </p> 6114 */ 6115 public MessagingEndpoint addEndpoint() { 6116 MessagingEndpoint newType = new MessagingEndpoint(); 6117 getEndpoint().add(newType); 6118 return newType; 6119 } 6120 6121 /** 6122 * Adds a given new value for <b>endpoint</b> () 6123 * 6124 * <p> 6125 * <b>Definition:</b> 6126 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6127 * </p> 6128 * @param theValue The endpoint to add (must not be <code>null</code>) 6129 */ 6130 public Messaging addEndpoint(MessagingEndpoint theValue) { 6131 if (theValue == null) { 6132 throw new NullPointerException("theValue must not be null"); 6133 } 6134 getEndpoint().add(theValue); 6135 return this; 6136 } 6137 6138 /** 6139 * Gets the first repetition for <b>endpoint</b> (), 6140 * creating it if it does not already exist. 6141 * 6142 * <p> 6143 * <b>Definition:</b> 6144 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6145 * </p> 6146 */ 6147 public MessagingEndpoint getEndpointFirstRep() { 6148 if (getEndpoint().isEmpty()) { 6149 return addEndpoint(); 6150 } 6151 return getEndpoint().get(0); 6152 } 6153 6154 /** 6155 * Gets the value(s) for <b>reliableCache</b> (). 6156 * creating it if it does 6157 * not exist. Will not return <code>null</code>. 6158 * 6159 * <p> 6160 * <b>Definition:</b> 6161 * Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender) 6162 * </p> 6163 */ 6164 public UnsignedIntDt getReliableCacheElement() { 6165 if (myReliableCache == null) { 6166 myReliableCache = new UnsignedIntDt(); 6167 } 6168 return myReliableCache; 6169 } 6170 6171 6172 /** 6173 * Gets the value(s) for <b>reliableCache</b> (). 6174 * creating it if it does 6175 * not exist. This method may return <code>null</code>. 6176 * 6177 * <p> 6178 * <b>Definition:</b> 6179 * Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender) 6180 * </p> 6181 */ 6182 public Integer getReliableCache() { 6183 return getReliableCacheElement().getValue(); 6184 } 6185 6186 /** 6187 * Sets the value(s) for <b>reliableCache</b> () 6188 * 6189 * <p> 6190 * <b>Definition:</b> 6191 * Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender) 6192 * </p> 6193 */ 6194 public Messaging setReliableCache(UnsignedIntDt theValue) { 6195 myReliableCache = theValue; 6196 return this; 6197 } 6198 6199 6200 6201 /** 6202 * Sets the value for <b>reliableCache</b> () 6203 * 6204 * <p> 6205 * <b>Definition:</b> 6206 * Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender) 6207 * </p> 6208 */ 6209 public Messaging setReliableCache( int theInteger) { 6210 myReliableCache = new UnsignedIntDt(theInteger); 6211 return this; 6212 } 6213 6214 6215 /** 6216 * Gets the value(s) for <b>documentation</b> (). 6217 * creating it if it does 6218 * not exist. Will not return <code>null</code>. 6219 * 6220 * <p> 6221 * <b>Definition:</b> 6222 * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. 6223 * </p> 6224 */ 6225 public StringDt getDocumentationElement() { 6226 if (myDocumentation == null) { 6227 myDocumentation = new StringDt(); 6228 } 6229 return myDocumentation; 6230 } 6231 6232 6233 /** 6234 * Gets the value(s) for <b>documentation</b> (). 6235 * creating it if it does 6236 * not exist. This method may return <code>null</code>. 6237 * 6238 * <p> 6239 * <b>Definition:</b> 6240 * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. 6241 * </p> 6242 */ 6243 public String getDocumentation() { 6244 return getDocumentationElement().getValue(); 6245 } 6246 6247 /** 6248 * Sets the value(s) for <b>documentation</b> () 6249 * 6250 * <p> 6251 * <b>Definition:</b> 6252 * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. 6253 * </p> 6254 */ 6255 public Messaging setDocumentation(StringDt theValue) { 6256 myDocumentation = theValue; 6257 return this; 6258 } 6259 6260 6261 6262 /** 6263 * Sets the value for <b>documentation</b> () 6264 * 6265 * <p> 6266 * <b>Definition:</b> 6267 * Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. 6268 * </p> 6269 */ 6270 public Messaging setDocumentation( String theString) { 6271 myDocumentation = new StringDt(theString); 6272 return this; 6273 } 6274 6275 6276 /** 6277 * Gets the value(s) for <b>event</b> (). 6278 * creating it if it does 6279 * not exist. Will not return <code>null</code>. 6280 * 6281 * <p> 6282 * <b>Definition:</b> 6283 * A description of the solution's support for an event at this end-point. 6284 * </p> 6285 */ 6286 public java.util.List<MessagingEvent> getEvent() { 6287 if (myEvent == null) { 6288 myEvent = new java.util.ArrayList<MessagingEvent>(); 6289 } 6290 return myEvent; 6291 } 6292 6293 /** 6294 * Sets the value(s) for <b>event</b> () 6295 * 6296 * <p> 6297 * <b>Definition:</b> 6298 * A description of the solution's support for an event at this end-point. 6299 * </p> 6300 */ 6301 public Messaging setEvent(java.util.List<MessagingEvent> theValue) { 6302 myEvent = theValue; 6303 return this; 6304 } 6305 6306 6307 6308 /** 6309 * Adds and returns a new value for <b>event</b> () 6310 * 6311 * <p> 6312 * <b>Definition:</b> 6313 * A description of the solution's support for an event at this end-point. 6314 * </p> 6315 */ 6316 public MessagingEvent addEvent() { 6317 MessagingEvent newType = new MessagingEvent(); 6318 getEvent().add(newType); 6319 return newType; 6320 } 6321 6322 /** 6323 * Adds a given new value for <b>event</b> () 6324 * 6325 * <p> 6326 * <b>Definition:</b> 6327 * A description of the solution's support for an event at this end-point. 6328 * </p> 6329 * @param theValue The event to add (must not be <code>null</code>) 6330 */ 6331 public Messaging addEvent(MessagingEvent theValue) { 6332 if (theValue == null) { 6333 throw new NullPointerException("theValue must not be null"); 6334 } 6335 getEvent().add(theValue); 6336 return this; 6337 } 6338 6339 /** 6340 * Gets the first repetition for <b>event</b> (), 6341 * creating it if it does not already exist. 6342 * 6343 * <p> 6344 * <b>Definition:</b> 6345 * A description of the solution's support for an event at this end-point. 6346 * </p> 6347 */ 6348 public MessagingEvent getEventFirstRep() { 6349 if (getEvent().isEmpty()) { 6350 return addEvent(); 6351 } 6352 return getEvent().get(0); 6353 } 6354 6355 6356 6357 } 6358 6359 /** 6360 * Block class for child element: <b>Conformance.messaging.endpoint</b> () 6361 * 6362 * <p> 6363 * <b>Definition:</b> 6364 * An endpoint (network accessible address) to which messages and/or replies are to be sent. 6365 * </p> 6366 */ 6367 @Block() 6368 public static class MessagingEndpoint 6369 extends BaseIdentifiableElement implements IResourceBlock { 6370 6371 @Child(name="protocol", type=CodingDt.class, order=0, min=1, max=1, summary=false, modifier=false) 6372 @Description( 6373 shortDefinition="", 6374 formalDefinition="A list of the messaging transport protocol(s) identifiers, supported by this endpoint" 6375 ) 6376 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-transport") 6377 private CodingDt myProtocol; 6378 6379 @Child(name="address", type=UriDt.class, order=1, min=1, max=1, summary=false, modifier=false) 6380 @Description( 6381 shortDefinition="", 6382 formalDefinition="The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier" 6383 ) 6384 private UriDt myAddress; 6385 6386 6387 @Override 6388 public boolean isEmpty() { 6389 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myProtocol, myAddress); 6390 } 6391 6392 @Override 6393 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 6394 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myProtocol, myAddress); 6395 } 6396 6397 /** 6398 * Gets the value(s) for <b>protocol</b> (). 6399 * creating it if it does 6400 * not exist. Will not return <code>null</code>. 6401 * 6402 * <p> 6403 * <b>Definition:</b> 6404 * A list of the messaging transport protocol(s) identifiers, supported by this endpoint 6405 * </p> 6406 */ 6407 public CodingDt getProtocol() { 6408 if (myProtocol == null) { 6409 myProtocol = new CodingDt(); 6410 } 6411 return myProtocol; 6412 } 6413 6414 /** 6415 * Sets the value(s) for <b>protocol</b> () 6416 * 6417 * <p> 6418 * <b>Definition:</b> 6419 * A list of the messaging transport protocol(s) identifiers, supported by this endpoint 6420 * </p> 6421 */ 6422 public MessagingEndpoint setProtocol(CodingDt theValue) { 6423 myProtocol = theValue; 6424 return this; 6425 } 6426 6427 6428 6429 6430 /** 6431 * Gets the value(s) for <b>address</b> (). 6432 * creating it if it does 6433 * not exist. Will not return <code>null</code>. 6434 * 6435 * <p> 6436 * <b>Definition:</b> 6437 * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier 6438 * </p> 6439 */ 6440 public UriDt getAddressElement() { 6441 if (myAddress == null) { 6442 myAddress = new UriDt(); 6443 } 6444 return myAddress; 6445 } 6446 6447 6448 /** 6449 * Gets the value(s) for <b>address</b> (). 6450 * creating it if it does 6451 * not exist. This method may return <code>null</code>. 6452 * 6453 * <p> 6454 * <b>Definition:</b> 6455 * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier 6456 * </p> 6457 */ 6458 public String getAddress() { 6459 return getAddressElement().getValue(); 6460 } 6461 6462 /** 6463 * Sets the value(s) for <b>address</b> () 6464 * 6465 * <p> 6466 * <b>Definition:</b> 6467 * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier 6468 * </p> 6469 */ 6470 public MessagingEndpoint setAddress(UriDt theValue) { 6471 myAddress = theValue; 6472 return this; 6473 } 6474 6475 6476 6477 /** 6478 * Sets the value for <b>address</b> () 6479 * 6480 * <p> 6481 * <b>Definition:</b> 6482 * The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier 6483 * </p> 6484 */ 6485 public MessagingEndpoint setAddress( String theUri) { 6486 myAddress = new UriDt(theUri); 6487 return this; 6488 } 6489 6490 6491 6492 6493 } 6494 6495 6496 /** 6497 * Block class for child element: <b>Conformance.messaging.event</b> () 6498 * 6499 * <p> 6500 * <b>Definition:</b> 6501 * A description of the solution's support for an event at this end-point. 6502 * </p> 6503 */ 6504 @Block() 6505 public static class MessagingEvent 6506 extends BaseIdentifiableElement implements IResourceBlock { 6507 6508 @Child(name="code", type=CodingDt.class, order=0, min=1, max=1, summary=false, modifier=false) 6509 @Description( 6510 shortDefinition="", 6511 formalDefinition="A coded identifier of a supported messaging event" 6512 ) 6513 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-events") 6514 private CodingDt myCode; 6515 6516 @Child(name="category", type=CodeDt.class, order=1, min=0, max=1, summary=false, modifier=false) 6517 @Description( 6518 shortDefinition="", 6519 formalDefinition="The impact of the content of the message" 6520 ) 6521 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-significance-category") 6522 private BoundCodeDt<MessageSignificanceCategoryEnum> myCategory; 6523 6524 @Child(name="mode", type=CodeDt.class, order=2, min=1, max=1, summary=false, modifier=false) 6525 @Description( 6526 shortDefinition="", 6527 formalDefinition="The mode of this event declaration - whether application is sender or receiver" 6528 ) 6529 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-conformance-event-mode") 6530 private BoundCodeDt<ConformanceEventModeEnum> myMode; 6531 6532 @Child(name="focus", type=CodeDt.class, order=3, min=1, max=1, summary=false, modifier=false) 6533 @Description( 6534 shortDefinition="", 6535 formalDefinition="A resource associated with the event. This is the resource that defines the event." 6536 ) 6537 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 6538 private BoundCodeDt<ResourceTypeEnum> myFocus; 6539 6540 @Child(name="request", order=4, min=1, max=1, summary=false, modifier=false, type={ 6541 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 6542 @Description( 6543 shortDefinition="", 6544 formalDefinition="Information about the request for this event" 6545 ) 6546 private ResourceReferenceDt myRequest; 6547 6548 @Child(name="response", order=5, min=1, max=1, summary=false, modifier=false, type={ 6549 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 6550 @Description( 6551 shortDefinition="", 6552 formalDefinition="Information about the response for this event" 6553 ) 6554 private ResourceReferenceDt myResponse; 6555 6556 @Child(name="documentation", type=StringDt.class, order=6, min=0, max=1, summary=false, modifier=false) 6557 @Description( 6558 shortDefinition="", 6559 formalDefinition="Guidance on how this event is handled, such as internal system trigger points, business rules, etc." 6560 ) 6561 private StringDt myDocumentation; 6562 6563 6564 @Override 6565 public boolean isEmpty() { 6566 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myCategory, myMode, myFocus, myRequest, myResponse, myDocumentation); 6567 } 6568 6569 @Override 6570 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 6571 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myCategory, myMode, myFocus, myRequest, myResponse, myDocumentation); 6572 } 6573 6574 /** 6575 * Gets the value(s) for <b>code</b> (). 6576 * creating it if it does 6577 * not exist. Will not return <code>null</code>. 6578 * 6579 * <p> 6580 * <b>Definition:</b> 6581 * A coded identifier of a supported messaging event 6582 * </p> 6583 */ 6584 public CodingDt getCode() { 6585 if (myCode == null) { 6586 myCode = new CodingDt(); 6587 } 6588 return myCode; 6589 } 6590 6591 /** 6592 * Sets the value(s) for <b>code</b> () 6593 * 6594 * <p> 6595 * <b>Definition:</b> 6596 * A coded identifier of a supported messaging event 6597 * </p> 6598 */ 6599 public MessagingEvent setCode(CodingDt theValue) { 6600 myCode = theValue; 6601 return this; 6602 } 6603 6604 6605 6606 6607 /** 6608 * Gets the value(s) for <b>category</b> (). 6609 * creating it if it does 6610 * not exist. Will not return <code>null</code>. 6611 * 6612 * <p> 6613 * <b>Definition:</b> 6614 * The impact of the content of the message 6615 * </p> 6616 */ 6617 public BoundCodeDt<MessageSignificanceCategoryEnum> getCategoryElement() { 6618 if (myCategory == null) { 6619 myCategory = new BoundCodeDt<MessageSignificanceCategoryEnum>(MessageSignificanceCategoryEnum.VALUESET_BINDER); 6620 } 6621 return myCategory; 6622 } 6623 6624 6625 /** 6626 * Gets the value(s) for <b>category</b> (). 6627 * creating it if it does 6628 * not exist. This method may return <code>null</code>. 6629 * 6630 * <p> 6631 * <b>Definition:</b> 6632 * The impact of the content of the message 6633 * </p> 6634 */ 6635 public String getCategory() { 6636 return getCategoryElement().getValue(); 6637 } 6638 6639 /** 6640 * Sets the value(s) for <b>category</b> () 6641 * 6642 * <p> 6643 * <b>Definition:</b> 6644 * The impact of the content of the message 6645 * </p> 6646 */ 6647 public MessagingEvent setCategory(BoundCodeDt<MessageSignificanceCategoryEnum> theValue) { 6648 myCategory = theValue; 6649 return this; 6650 } 6651 6652 6653 6654 /** 6655 * Sets the value(s) for <b>category</b> () 6656 * 6657 * <p> 6658 * <b>Definition:</b> 6659 * The impact of the content of the message 6660 * </p> 6661 */ 6662 public MessagingEvent setCategory(MessageSignificanceCategoryEnum theValue) { 6663 setCategory(new BoundCodeDt<MessageSignificanceCategoryEnum>(MessageSignificanceCategoryEnum.VALUESET_BINDER, theValue)); 6664 6665/* 6666 getCategoryElement().setValueAsEnum(theValue); 6667*/ 6668 return this; 6669 } 6670 6671 6672 /** 6673 * Gets the value(s) for <b>mode</b> (). 6674 * creating it if it does 6675 * not exist. Will not return <code>null</code>. 6676 * 6677 * <p> 6678 * <b>Definition:</b> 6679 * The mode of this event declaration - whether application is sender or receiver 6680 * </p> 6681 */ 6682 public BoundCodeDt<ConformanceEventModeEnum> getModeElement() { 6683 if (myMode == null) { 6684 myMode = new BoundCodeDt<ConformanceEventModeEnum>(ConformanceEventModeEnum.VALUESET_BINDER); 6685 } 6686 return myMode; 6687 } 6688 6689 6690 /** 6691 * Gets the value(s) for <b>mode</b> (). 6692 * creating it if it does 6693 * not exist. This method may return <code>null</code>. 6694 * 6695 * <p> 6696 * <b>Definition:</b> 6697 * The mode of this event declaration - whether application is sender or receiver 6698 * </p> 6699 */ 6700 public String getMode() { 6701 return getModeElement().getValue(); 6702 } 6703 6704 /** 6705 * Sets the value(s) for <b>mode</b> () 6706 * 6707 * <p> 6708 * <b>Definition:</b> 6709 * The mode of this event declaration - whether application is sender or receiver 6710 * </p> 6711 */ 6712 public MessagingEvent setMode(BoundCodeDt<ConformanceEventModeEnum> theValue) { 6713 myMode = theValue; 6714 return this; 6715 } 6716 6717 6718 6719 /** 6720 * Sets the value(s) for <b>mode</b> () 6721 * 6722 * <p> 6723 * <b>Definition:</b> 6724 * The mode of this event declaration - whether application is sender or receiver 6725 * </p> 6726 */ 6727 public MessagingEvent setMode(ConformanceEventModeEnum theValue) { 6728 setMode(new BoundCodeDt<ConformanceEventModeEnum>(ConformanceEventModeEnum.VALUESET_BINDER, theValue)); 6729 6730/* 6731 getModeElement().setValueAsEnum(theValue); 6732*/ 6733 return this; 6734 } 6735 6736 6737 /** 6738 * Gets the value(s) for <b>focus</b> (). 6739 * creating it if it does 6740 * not exist. Will not return <code>null</code>. 6741 * 6742 * <p> 6743 * <b>Definition:</b> 6744 * A resource associated with the event. This is the resource that defines the event. 6745 * </p> 6746 */ 6747 public BoundCodeDt<ResourceTypeEnum> getFocusElement() { 6748 if (myFocus == null) { 6749 myFocus = new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER); 6750 } 6751 return myFocus; 6752 } 6753 6754 6755 /** 6756 * Gets the value(s) for <b>focus</b> (). 6757 * creating it if it does 6758 * not exist. This method may return <code>null</code>. 6759 * 6760 * <p> 6761 * <b>Definition:</b> 6762 * A resource associated with the event. This is the resource that defines the event. 6763 * </p> 6764 */ 6765 public String getFocus() { 6766 return getFocusElement().getValue(); 6767 } 6768 6769 /** 6770 * Sets the value(s) for <b>focus</b> () 6771 * 6772 * <p> 6773 * <b>Definition:</b> 6774 * A resource associated with the event. This is the resource that defines the event. 6775 * </p> 6776 */ 6777 public MessagingEvent setFocus(BoundCodeDt<ResourceTypeEnum> theValue) { 6778 myFocus = theValue; 6779 return this; 6780 } 6781 6782 6783 6784 /** 6785 * Sets the value(s) for <b>focus</b> () 6786 * 6787 * <p> 6788 * <b>Definition:</b> 6789 * A resource associated with the event. This is the resource that defines the event. 6790 * </p> 6791 */ 6792 public MessagingEvent setFocus(ResourceTypeEnum theValue) { 6793 setFocus(new BoundCodeDt<ResourceTypeEnum>(ResourceTypeEnum.VALUESET_BINDER, theValue)); 6794 6795/* 6796 getFocusElement().setValueAsEnum(theValue); 6797*/ 6798 return this; 6799 } 6800 6801 6802 /** 6803 * Gets the value(s) for <b>request</b> (). 6804 * creating it if it does 6805 * not exist. Will not return <code>null</code>. 6806 * 6807 * <p> 6808 * <b>Definition:</b> 6809 * Information about the request for this event 6810 * </p> 6811 */ 6812 public ResourceReferenceDt getRequest() { 6813 if (myRequest == null) { 6814 myRequest = new ResourceReferenceDt(); 6815 } 6816 return myRequest; 6817 } 6818 6819 /** 6820 * Sets the value(s) for <b>request</b> () 6821 * 6822 * <p> 6823 * <b>Definition:</b> 6824 * Information about the request for this event 6825 * </p> 6826 */ 6827 public MessagingEvent setRequest(ResourceReferenceDt theValue) { 6828 myRequest = theValue; 6829 return this; 6830 } 6831 6832 6833 6834 6835 /** 6836 * Gets the value(s) for <b>response</b> (). 6837 * creating it if it does 6838 * not exist. Will not return <code>null</code>. 6839 * 6840 * <p> 6841 * <b>Definition:</b> 6842 * Information about the response for this event 6843 * </p> 6844 */ 6845 public ResourceReferenceDt getResponse() { 6846 if (myResponse == null) { 6847 myResponse = new ResourceReferenceDt(); 6848 } 6849 return myResponse; 6850 } 6851 6852 /** 6853 * Sets the value(s) for <b>response</b> () 6854 * 6855 * <p> 6856 * <b>Definition:</b> 6857 * Information about the response for this event 6858 * </p> 6859 */ 6860 public MessagingEvent setResponse(ResourceReferenceDt theValue) { 6861 myResponse = theValue; 6862 return this; 6863 } 6864 6865 6866 6867 6868 /** 6869 * Gets the value(s) for <b>documentation</b> (). 6870 * creating it if it does 6871 * not exist. Will not return <code>null</code>. 6872 * 6873 * <p> 6874 * <b>Definition:</b> 6875 * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. 6876 * </p> 6877 */ 6878 public StringDt getDocumentationElement() { 6879 if (myDocumentation == null) { 6880 myDocumentation = new StringDt(); 6881 } 6882 return myDocumentation; 6883 } 6884 6885 6886 /** 6887 * Gets the value(s) for <b>documentation</b> (). 6888 * creating it if it does 6889 * not exist. This method may return <code>null</code>. 6890 * 6891 * <p> 6892 * <b>Definition:</b> 6893 * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. 6894 * </p> 6895 */ 6896 public String getDocumentation() { 6897 return getDocumentationElement().getValue(); 6898 } 6899 6900 /** 6901 * Sets the value(s) for <b>documentation</b> () 6902 * 6903 * <p> 6904 * <b>Definition:</b> 6905 * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. 6906 * </p> 6907 */ 6908 public MessagingEvent setDocumentation(StringDt theValue) { 6909 myDocumentation = theValue; 6910 return this; 6911 } 6912 6913 6914 6915 /** 6916 * Sets the value for <b>documentation</b> () 6917 * 6918 * <p> 6919 * <b>Definition:</b> 6920 * Guidance on how this event is handled, such as internal system trigger points, business rules, etc. 6921 * </p> 6922 */ 6923 public MessagingEvent setDocumentation( String theString) { 6924 myDocumentation = new StringDt(theString); 6925 return this; 6926 } 6927 6928 6929 6930 6931 } 6932 6933 6934 6935 /** 6936 * Block class for child element: <b>Conformance.document</b> () 6937 * 6938 * <p> 6939 * <b>Definition:</b> 6940 * A document definition 6941 * </p> 6942 */ 6943 @Block() 6944 public static class Document 6945 extends BaseIdentifiableElement implements IResourceBlock { 6946 6947 @Child(name="mode", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 6948 @Description( 6949 shortDefinition="", 6950 formalDefinition="Mode of this document declaration - whether application is producer or consumer" 6951 ) 6952 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/document-mode") 6953 private BoundCodeDt<DocumentModeEnum> myMode; 6954 6955 @Child(name="documentation", type=StringDt.class, order=1, min=0, max=1, summary=false, modifier=false) 6956 @Description( 6957 shortDefinition="", 6958 formalDefinition="A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc." 6959 ) 6960 private StringDt myDocumentation; 6961 6962 @Child(name="profile", order=2, min=1, max=1, summary=false, modifier=false, type={ 6963 ca.uhn.fhir.model.dstu2.resource.StructureDefinition.class }) 6964 @Description( 6965 shortDefinition="", 6966 formalDefinition="A constraint on a resource used in the document" 6967 ) 6968 private ResourceReferenceDt myProfile; 6969 6970 6971 @Override 6972 public boolean isEmpty() { 6973 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myMode, myDocumentation, myProfile); 6974 } 6975 6976 @Override 6977 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 6978 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myMode, myDocumentation, myProfile); 6979 } 6980 6981 /** 6982 * Gets the value(s) for <b>mode</b> (). 6983 * creating it if it does 6984 * not exist. Will not return <code>null</code>. 6985 * 6986 * <p> 6987 * <b>Definition:</b> 6988 * Mode of this document declaration - whether application is producer or consumer 6989 * </p> 6990 */ 6991 public BoundCodeDt<DocumentModeEnum> getModeElement() { 6992 if (myMode == null) { 6993 myMode = new BoundCodeDt<DocumentModeEnum>(DocumentModeEnum.VALUESET_BINDER); 6994 } 6995 return myMode; 6996 } 6997 6998 6999 /** 7000 * Gets the value(s) for <b>mode</b> (). 7001 * creating it if it does 7002 * not exist. This method may return <code>null</code>. 7003 * 7004 * <p> 7005 * <b>Definition:</b> 7006 * Mode of this document declaration - whether application is producer or consumer 7007 * </p> 7008 */ 7009 public String getMode() { 7010 return getModeElement().getValue(); 7011 } 7012 7013 /** 7014 * Sets the value(s) for <b>mode</b> () 7015 * 7016 * <p> 7017 * <b>Definition:</b> 7018 * Mode of this document declaration - whether application is producer or consumer 7019 * </p> 7020 */ 7021 public Document setMode(BoundCodeDt<DocumentModeEnum> theValue) { 7022 myMode = theValue; 7023 return this; 7024 } 7025 7026 7027 7028 /** 7029 * Sets the value(s) for <b>mode</b> () 7030 * 7031 * <p> 7032 * <b>Definition:</b> 7033 * Mode of this document declaration - whether application is producer or consumer 7034 * </p> 7035 */ 7036 public Document setMode(DocumentModeEnum theValue) { 7037 setMode(new BoundCodeDt<DocumentModeEnum>(DocumentModeEnum.VALUESET_BINDER, theValue)); 7038 7039/* 7040 getModeElement().setValueAsEnum(theValue); 7041*/ 7042 return this; 7043 } 7044 7045 7046 /** 7047 * Gets the value(s) for <b>documentation</b> (). 7048 * creating it if it does 7049 * not exist. Will not return <code>null</code>. 7050 * 7051 * <p> 7052 * <b>Definition:</b> 7053 * A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. 7054 * </p> 7055 */ 7056 public StringDt getDocumentationElement() { 7057 if (myDocumentation == null) { 7058 myDocumentation = new StringDt(); 7059 } 7060 return myDocumentation; 7061 } 7062 7063 7064 /** 7065 * Gets the value(s) for <b>documentation</b> (). 7066 * creating it if it does 7067 * not exist. This method may return <code>null</code>. 7068 * 7069 * <p> 7070 * <b>Definition:</b> 7071 * A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. 7072 * </p> 7073 */ 7074 public String getDocumentation() { 7075 return getDocumentationElement().getValue(); 7076 } 7077 7078 /** 7079 * Sets the value(s) for <b>documentation</b> () 7080 * 7081 * <p> 7082 * <b>Definition:</b> 7083 * A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. 7084 * </p> 7085 */ 7086 public Document setDocumentation(StringDt theValue) { 7087 myDocumentation = theValue; 7088 return this; 7089 } 7090 7091 7092 7093 /** 7094 * Sets the value for <b>documentation</b> () 7095 * 7096 * <p> 7097 * <b>Definition:</b> 7098 * A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. 7099 * </p> 7100 */ 7101 public Document setDocumentation( String theString) { 7102 myDocumentation = new StringDt(theString); 7103 return this; 7104 } 7105 7106 7107 /** 7108 * Gets the value(s) for <b>profile</b> (). 7109 * creating it if it does 7110 * not exist. Will not return <code>null</code>. 7111 * 7112 * <p> 7113 * <b>Definition:</b> 7114 * A constraint on a resource used in the document 7115 * </p> 7116 */ 7117 public ResourceReferenceDt getProfile() { 7118 if (myProfile == null) { 7119 myProfile = new ResourceReferenceDt(); 7120 } 7121 return myProfile; 7122 } 7123 7124 /** 7125 * Sets the value(s) for <b>profile</b> () 7126 * 7127 * <p> 7128 * <b>Definition:</b> 7129 * A constraint on a resource used in the document 7130 * </p> 7131 */ 7132 public Document setProfile(ResourceReferenceDt theValue) { 7133 myProfile = theValue; 7134 return this; 7135 } 7136 7137 7138 7139 7140 7141 7142 } 7143 7144 7145 7146 7147 @Override 7148 public String getResourceName() { 7149 return "Conformance"; 7150 } 7151 7152 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 7153 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 7154 } 7155 7156 7157}