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