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>Composition</b> Resource 282 * () 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained 287 * </p> 288 * 289 * <p> 290 * <b>Requirements:</b> 291 * To support documents, and also to capture the EN13606 notion of an attested commit to the patient EHR, and to allow a set of disparate resources at the information/engineering level to be gathered into a clinical statement 292 * </p> 293 * 294 * <p> 295 * <b>Profile Definition:</b> 296 * <a href="http://hl7.org/fhir/profiles/Composition">http://hl7.org/fhir/profiles/Composition</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Composition", profile="http://hl7.org/fhir/profiles/Composition", id="composition") 301public class Composition extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource 303 { 304 305 /** 306 * Search parameter constant for <b>type</b> 307 * <p> 308 * Description: <b></b><br> 309 * Type: <b>token</b><br> 310 * Path: <b>Composition.type</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="type", path="Composition.type", description="", type="token" 314 ) 315 public static final String SP_TYPE = "type"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>type</b> 319 * <p> 320 * Description: <b></b><br> 321 * Type: <b>token</b><br> 322 * Path: <b>Composition.type</b><br> 323 * </p> 324 */ 325 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 326 327 /** 328 * Search parameter constant for <b>class</b> 329 * <p> 330 * Description: <b></b><br> 331 * Type: <b>token</b><br> 332 * Path: <b>Composition.class</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="class", path="Composition.class", description="", type="token" 336 ) 337 public static final String SP_CLASS = "class"; 338 339 /** 340 * <b>Fluent Client</b> search parameter constant for <b>class</b> 341 * <p> 342 * Description: <b></b><br> 343 * Type: <b>token</b><br> 344 * Path: <b>Composition.class</b><br> 345 * </p> 346 */ 347 public static final TokenClientParam CLASS = new TokenClientParam(SP_CLASS); 348 349 /** 350 * Search parameter constant for <b>date</b> 351 * <p> 352 * Description: <b></b><br> 353 * Type: <b>date</b><br> 354 * Path: <b>Composition.date</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="date", path="Composition.date", description="", type="date" 358 ) 359 public static final String SP_DATE = "date"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>date</b> 363 * <p> 364 * Description: <b></b><br> 365 * Type: <b>date</b><br> 366 * Path: <b>Composition.date</b><br> 367 * </p> 368 */ 369 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 370 371 /** 372 * Search parameter constant for <b>subject</b> 373 * <p> 374 * Description: <b></b><br> 375 * Type: <b>reference</b><br> 376 * Path: <b>Composition.subject</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="subject", path="Composition.subject", description="", type="reference" 380, providesMembershipIn={ 381 @Compartment(name="Patient") , @Compartment(name="Practitioner") } 382 ) 383 public static final String SP_SUBJECT = "subject"; 384 385 /** 386 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 387 * <p> 388 * Description: <b></b><br> 389 * Type: <b>reference</b><br> 390 * Path: <b>Composition.subject</b><br> 391 * </p> 392 */ 393 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 394 395 /** 396 * Search parameter constant for <b>author</b> 397 * <p> 398 * Description: <b></b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>Composition.author</b><br> 401 * </p> 402 */ 403 @SearchParamDefinition(name="author", path="Composition.author", description="", type="reference" 404, providesMembershipIn={ 405 @Compartment(name="Patient") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") , @Compartment(name="Device") } 406 ) 407 public static final String SP_AUTHOR = "author"; 408 409 /** 410 * <b>Fluent Client</b> search parameter constant for <b>author</b> 411 * <p> 412 * Description: <b></b><br> 413 * Type: <b>reference</b><br> 414 * Path: <b>Composition.author</b><br> 415 * </p> 416 */ 417 public static final ReferenceClientParam AUTHOR = new ReferenceClientParam(SP_AUTHOR); 418 419 /** 420 * Search parameter constant for <b>attester</b> 421 * <p> 422 * Description: <b></b><br> 423 * Type: <b>reference</b><br> 424 * Path: <b>Composition.attester.party</b><br> 425 * </p> 426 */ 427 @SearchParamDefinition(name="attester", path="Composition.attester.party", description="", type="reference" 428, providesMembershipIn={ 429 @Compartment(name="Patient") , @Compartment(name="Practitioner") } 430 ) 431 public static final String SP_ATTESTER = "attester"; 432 433 /** 434 * <b>Fluent Client</b> search parameter constant for <b>attester</b> 435 * <p> 436 * Description: <b></b><br> 437 * Type: <b>reference</b><br> 438 * Path: <b>Composition.attester.party</b><br> 439 * </p> 440 */ 441 public static final ReferenceClientParam ATTESTER = new ReferenceClientParam(SP_ATTESTER); 442 443 /** 444 * Search parameter constant for <b>context</b> 445 * <p> 446 * Description: <b></b><br> 447 * Type: <b>token</b><br> 448 * Path: <b>Composition.event.code</b><br> 449 * </p> 450 */ 451 @SearchParamDefinition(name="context", path="Composition.event.code", description="", type="token" 452 ) 453 public static final String SP_CONTEXT = "context"; 454 455 /** 456 * <b>Fluent Client</b> search parameter constant for <b>context</b> 457 * <p> 458 * Description: <b></b><br> 459 * Type: <b>token</b><br> 460 * Path: <b>Composition.event.code</b><br> 461 * </p> 462 */ 463 public static final TokenClientParam CONTEXT = new TokenClientParam(SP_CONTEXT); 464 465 /** 466 * Search parameter constant for <b>section</b> 467 * <p> 468 * Description: <b></b><br> 469 * Type: <b>token</b><br> 470 * Path: <b>Composition.section.code</b><br> 471 * </p> 472 */ 473 @SearchParamDefinition(name="section", path="Composition.section.code", description="", type="token" 474 ) 475 public static final String SP_SECTION = "section"; 476 477 /** 478 * <b>Fluent Client</b> search parameter constant for <b>section</b> 479 * <p> 480 * Description: <b></b><br> 481 * Type: <b>token</b><br> 482 * Path: <b>Composition.section.code</b><br> 483 * </p> 484 */ 485 public static final TokenClientParam SECTION = new TokenClientParam(SP_SECTION); 486 487 /** 488 * Search parameter constant for <b>entry</b> 489 * <p> 490 * Description: <b></b><br> 491 * Type: <b>reference</b><br> 492 * Path: <b>Composition.section.entry</b><br> 493 * </p> 494 */ 495 @SearchParamDefinition(name="entry", path="Composition.section.entry", description="", type="reference" 496 ) 497 public static final String SP_ENTRY = "entry"; 498 499 /** 500 * <b>Fluent Client</b> search parameter constant for <b>entry</b> 501 * <p> 502 * Description: <b></b><br> 503 * Type: <b>reference</b><br> 504 * Path: <b>Composition.section.entry</b><br> 505 * </p> 506 */ 507 public static final ReferenceClientParam ENTRY = new ReferenceClientParam(SP_ENTRY); 508 509 /** 510 * Search parameter constant for <b>identifier</b> 511 * <p> 512 * Description: <b></b><br> 513 * Type: <b>token</b><br> 514 * Path: <b>Composition.identifier</b><br> 515 * </p> 516 */ 517 @SearchParamDefinition(name="identifier", path="Composition.identifier", description="", type="token" 518 ) 519 public static final String SP_IDENTIFIER = "identifier"; 520 521 /** 522 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 523 * <p> 524 * Description: <b></b><br> 525 * Type: <b>token</b><br> 526 * Path: <b>Composition.identifier</b><br> 527 * </p> 528 */ 529 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 530 531 /** 532 * Search parameter constant for <b>title</b> 533 * <p> 534 * Description: <b></b><br> 535 * Type: <b>string</b><br> 536 * Path: <b>Composition.title</b><br> 537 * </p> 538 */ 539 @SearchParamDefinition(name="title", path="Composition.title", description="", type="string" 540 ) 541 public static final String SP_TITLE = "title"; 542 543 /** 544 * <b>Fluent Client</b> search parameter constant for <b>title</b> 545 * <p> 546 * Description: <b></b><br> 547 * Type: <b>string</b><br> 548 * Path: <b>Composition.title</b><br> 549 * </p> 550 */ 551 public static final StringClientParam TITLE = new StringClientParam(SP_TITLE); 552 553 /** 554 * Search parameter constant for <b>status</b> 555 * <p> 556 * Description: <b></b><br> 557 * Type: <b>token</b><br> 558 * Path: <b>Composition.status</b><br> 559 * </p> 560 */ 561 @SearchParamDefinition(name="status", path="Composition.status", description="", type="token" 562 ) 563 public static final String SP_STATUS = "status"; 564 565 /** 566 * <b>Fluent Client</b> search parameter constant for <b>status</b> 567 * <p> 568 * Description: <b></b><br> 569 * Type: <b>token</b><br> 570 * Path: <b>Composition.status</b><br> 571 * </p> 572 */ 573 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 574 575 /** 576 * Search parameter constant for <b>confidentiality</b> 577 * <p> 578 * Description: <b></b><br> 579 * Type: <b>token</b><br> 580 * Path: <b>Composition.confidentiality</b><br> 581 * </p> 582 */ 583 @SearchParamDefinition(name="confidentiality", path="Composition.confidentiality", description="", type="token" 584 ) 585 public static final String SP_CONFIDENTIALITY = "confidentiality"; 586 587 /** 588 * <b>Fluent Client</b> search parameter constant for <b>confidentiality</b> 589 * <p> 590 * Description: <b></b><br> 591 * Type: <b>token</b><br> 592 * Path: <b>Composition.confidentiality</b><br> 593 * </p> 594 */ 595 public static final TokenClientParam CONFIDENTIALITY = new TokenClientParam(SP_CONFIDENTIALITY); 596 597 /** 598 * Search parameter constant for <b>period</b> 599 * <p> 600 * Description: <b></b><br> 601 * Type: <b>date</b><br> 602 * Path: <b>Composition.event.period</b><br> 603 * </p> 604 */ 605 @SearchParamDefinition(name="period", path="Composition.event.period", description="", type="date" 606 ) 607 public static final String SP_PERIOD = "period"; 608 609 /** 610 * <b>Fluent Client</b> search parameter constant for <b>period</b> 611 * <p> 612 * Description: <b></b><br> 613 * Type: <b>date</b><br> 614 * Path: <b>Composition.event.period</b><br> 615 * </p> 616 */ 617 public static final DateClientParam PERIOD = new DateClientParam(SP_PERIOD); 618 619 /** 620 * Search parameter constant for <b>patient</b> 621 * <p> 622 * Description: <b></b><br> 623 * Type: <b>reference</b><br> 624 * Path: <b>Composition.subject</b><br> 625 * </p> 626 */ 627 @SearchParamDefinition(name="patient", path="Composition.subject", description="", type="reference" 628, target={ 629 ca.uhn.fhir.model.dstu2.resource.Patient.class } 630 ) 631 public static final String SP_PATIENT = "patient"; 632 633 /** 634 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 635 * <p> 636 * Description: <b></b><br> 637 * Type: <b>reference</b><br> 638 * Path: <b>Composition.subject</b><br> 639 * </p> 640 */ 641 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 642 643 /** 644 * Search parameter constant for <b>encounter</b> 645 * <p> 646 * Description: <b></b><br> 647 * Type: <b>reference</b><br> 648 * Path: <b>Composition.encounter</b><br> 649 * </p> 650 */ 651 @SearchParamDefinition(name="encounter", path="Composition.encounter", description="", type="reference" 652, providesMembershipIn={ 653 @Compartment(name="Encounter") } 654 ) 655 public static final String SP_ENCOUNTER = "encounter"; 656 657 /** 658 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 659 * <p> 660 * Description: <b></b><br> 661 * Type: <b>reference</b><br> 662 * Path: <b>Composition.encounter</b><br> 663 * </p> 664 */ 665 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 666 667 668 /** 669 * Constant for fluent queries to be used to add include statements. Specifies 670 * the path value of "<b>Composition:attester</b>". 671 */ 672 public static final Include INCLUDE_ATTESTER = new Include("Composition:attester"); 673 674 /** 675 * Constant for fluent queries to be used to add include statements. Specifies 676 * the path value of "<b>Composition:author</b>". 677 */ 678 public static final Include INCLUDE_AUTHOR = new Include("Composition:author"); 679 680 /** 681 * Constant for fluent queries to be used to add include statements. Specifies 682 * the path value of "<b>Composition:encounter</b>". 683 */ 684 public static final Include INCLUDE_ENCOUNTER = new Include("Composition:encounter"); 685 686 /** 687 * Constant for fluent queries to be used to add include statements. Specifies 688 * the path value of "<b>Composition:entry</b>". 689 */ 690 public static final Include INCLUDE_ENTRY = new Include("Composition:entry"); 691 692 /** 693 * Constant for fluent queries to be used to add include statements. Specifies 694 * the path value of "<b>Composition:patient</b>". 695 */ 696 public static final Include INCLUDE_PATIENT = new Include("Composition:patient"); 697 698 /** 699 * Constant for fluent queries to be used to add include statements. Specifies 700 * the path value of "<b>Composition:subject</b>". 701 */ 702 public static final Include INCLUDE_SUBJECT = new Include("Composition:subject"); 703 704 705 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=1, summary=true, modifier=false) 706 @Description( 707 shortDefinition="", 708 formalDefinition="Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time" 709 ) 710 private IdentifierDt myIdentifier; 711 712 @Child(name="date", type=DateTimeDt.class, order=1, min=1, max=1, summary=true, modifier=false) 713 @Description( 714 shortDefinition="", 715 formalDefinition="The composition editing time, when the composition was last logically changed by the author" 716 ) 717 private DateTimeDt myDate; 718 719 @Child(name="type", type=CodeableConceptDt.class, order=2, min=1, max=1, summary=true, modifier=false) 720 @Description( 721 shortDefinition="", 722 formalDefinition="Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition" 723 ) 724 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-doc-typecodes") 725 private CodeableConceptDt myType; 726 727 @Child(name="class", type=CodeableConceptDt.class, order=3, min=0, max=1, summary=true, modifier=false) 728 @Description( 729 shortDefinition="", 730 formalDefinition="A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type" 731 ) 732 private CodeableConceptDt myClassElement; 733 734 @Child(name="title", type=StringDt.class, order=4, min=1, max=1, summary=true, modifier=false) 735 @Description( 736 shortDefinition="", 737 formalDefinition="Official human-readable label for the composition" 738 ) 739 private StringDt myTitle; 740 741 @Child(name="status", type=CodeDt.class, order=5, min=1, max=1, summary=true, modifier=true) 742 @Description( 743 shortDefinition="", 744 formalDefinition="The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document" 745 ) 746 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/composition-status") 747 private BoundCodeDt<CompositionStatusEnum> myStatus; 748 749 @Child(name="confidentiality", type=CodeDt.class, order=6, min=0, max=1, summary=true, modifier=true) 750 @Description( 751 shortDefinition="", 752 formalDefinition="The code specifying the level of confidentiality of the Composition" 753 ) 754 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/v3-Confidentiality") 755 private CodeDt myConfidentiality; 756 757 @Child(name="subject", order=7, min=1, max=1, summary=true, modifier=false, type={ 758 IResource.class 759 }) 760 @Description( 761 shortDefinition="", 762 formalDefinition="Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure)" 763 ) 764 private ResourceReferenceDt mySubject; 765 766 @Child(name="author", order=8, min=1, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={ 767 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 768 ca.uhn.fhir.model.dstu2.resource.Device.class, 769 ca.uhn.fhir.model.dstu2.resource.Patient.class, 770 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class 771 }) 772 @Description( 773 shortDefinition="", 774 formalDefinition="Identifies who is responsible for the information in the composition, not necessarily who typed it in." 775 ) 776 private java.util.List<ResourceReferenceDt> myAuthor; 777 778 @Child(name="attester", order=9, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 779 @Description( 780 shortDefinition="", 781 formalDefinition="A participant who has attested to the accuracy of the composition/document" 782 ) 783 private java.util.List<Attester> myAttester; 784 785 @Child(name="custodian", order=10, min=0, max=1, summary=true, modifier=false, type={ 786 ca.uhn.fhir.model.dstu2.resource.Organization.class 787 }) 788 @Description( 789 shortDefinition="", 790 formalDefinition="Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information" 791 ) 792 private ResourceReferenceDt myCustodian; 793 794 @Child(name="event", order=11, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 795 @Description( 796 shortDefinition="", 797 formalDefinition="The clinical service, such as a colonoscopy or an appendectomy, being documented" 798 ) 799 private java.util.List<Event> myEvent; 800 801 @Child(name="encounter", order=12, min=0, max=1, summary=true, modifier=false, type={ 802 ca.uhn.fhir.model.dstu2.resource.Encounter.class 803 }) 804 @Description( 805 shortDefinition="", 806 formalDefinition="Describes the clinical encounter or type of care this documentation is associated with." 807 ) 808 private ResourceReferenceDt myEncounter; 809 810 @Child(name="section", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 811 @Description( 812 shortDefinition="", 813 formalDefinition="The root of the sections that make up the composition" 814 ) 815 private java.util.List<Section> mySection; 816 817 818 @Override 819 public boolean isEmpty() { 820 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myDate, myType, myClassElement, myTitle, myStatus, myConfidentiality, mySubject, myAuthor, myAttester, myCustodian, myEvent, myEncounter, mySection); 821 } 822 823 @Override 824 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 825 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myDate, myType, myClassElement, myTitle, myStatus, myConfidentiality, mySubject, myAuthor, myAttester, myCustodian, myEvent, myEncounter, mySection); 826 } 827 828 /** 829 * Gets the value(s) for <b>identifier</b> (). 830 * creating it if it does 831 * not exist. Will not return <code>null</code>. 832 * 833 * <p> 834 * <b>Definition:</b> 835 * Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time 836 * </p> 837 */ 838 public IdentifierDt getIdentifier() { 839 if (myIdentifier == null) { 840 myIdentifier = new IdentifierDt(); 841 } 842 return myIdentifier; 843 } 844 845 /** 846 * Sets the value(s) for <b>identifier</b> () 847 * 848 * <p> 849 * <b>Definition:</b> 850 * Logical identifier for the composition, assigned when created. This identifier stays constant as the composition is changed over time 851 * </p> 852 */ 853 public Composition setIdentifier(IdentifierDt theValue) { 854 myIdentifier = theValue; 855 return this; 856 } 857 858 859 860 861 /** 862 * Gets the value(s) for <b>date</b> (). 863 * creating it if it does 864 * not exist. Will not return <code>null</code>. 865 * 866 * <p> 867 * <b>Definition:</b> 868 * The composition editing time, when the composition was last logically changed by the author 869 * </p> 870 */ 871 public DateTimeDt getDateElement() { 872 if (myDate == null) { 873 myDate = new DateTimeDt(); 874 } 875 return myDate; 876 } 877 878 879 /** 880 * Gets the value(s) for <b>date</b> (). 881 * creating it if it does 882 * not exist. This method may return <code>null</code>. 883 * 884 * <p> 885 * <b>Definition:</b> 886 * The composition editing time, when the composition was last logically changed by the author 887 * </p> 888 */ 889 public Date getDate() { 890 return getDateElement().getValue(); 891 } 892 893 /** 894 * Sets the value(s) for <b>date</b> () 895 * 896 * <p> 897 * <b>Definition:</b> 898 * The composition editing time, when the composition was last logically changed by the author 899 * </p> 900 */ 901 public Composition setDate(DateTimeDt theValue) { 902 myDate = theValue; 903 return this; 904 } 905 906 907 908 /** 909 * Sets the value for <b>date</b> () 910 * 911 * <p> 912 * <b>Definition:</b> 913 * The composition editing time, when the composition was last logically changed by the author 914 * </p> 915 */ 916 public Composition setDateWithSecondsPrecision( Date theDate) { 917 myDate = new DateTimeDt(theDate); 918 return this; 919 } 920 921 /** 922 * Sets the value for <b>date</b> () 923 * 924 * <p> 925 * <b>Definition:</b> 926 * The composition editing time, when the composition was last logically changed by the author 927 * </p> 928 */ 929 public Composition setDate( Date theDate, TemporalPrecisionEnum thePrecision) { 930 myDate = new DateTimeDt(theDate, thePrecision); 931 return this; 932 } 933 934 935 /** 936 * Gets the value(s) for <b>type</b> (). 937 * creating it if it does 938 * not exist. Will not return <code>null</code>. 939 * 940 * <p> 941 * <b>Definition:</b> 942 * Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition 943 * </p> 944 */ 945 public CodeableConceptDt getType() { 946 if (myType == null) { 947 myType = new CodeableConceptDt(); 948 } 949 return myType; 950 } 951 952 /** 953 * Sets the value(s) for <b>type</b> () 954 * 955 * <p> 956 * <b>Definition:</b> 957 * Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition 958 * </p> 959 */ 960 public Composition setType(CodeableConceptDt theValue) { 961 myType = theValue; 962 return this; 963 } 964 965 966 967 968 /** 969 * Gets the value(s) for <b>class</b> (). 970 * creating it if it does 971 * not exist. Will not return <code>null</code>. 972 * 973 * <p> 974 * <b>Definition:</b> 975 * A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type 976 * </p> 977 */ 978 public CodeableConceptDt getClassElement() { 979 if (myClassElement == null) { 980 myClassElement = new CodeableConceptDt(); 981 } 982 return myClassElement; 983 } 984 985 /** 986 * Sets the value(s) for <b>class</b> () 987 * 988 * <p> 989 * <b>Definition:</b> 990 * A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type 991 * </p> 992 */ 993 public Composition setClassElement(CodeableConceptDt theValue) { 994 myClassElement = theValue; 995 return this; 996 } 997 998 999 1000 1001 /** 1002 * Gets the value(s) for <b>title</b> (). 1003 * creating it if it does 1004 * not exist. Will not return <code>null</code>. 1005 * 1006 * <p> 1007 * <b>Definition:</b> 1008 * Official human-readable label for the composition 1009 * </p> 1010 */ 1011 public StringDt getTitleElement() { 1012 if (myTitle == null) { 1013 myTitle = new StringDt(); 1014 } 1015 return myTitle; 1016 } 1017 1018 1019 /** 1020 * Gets the value(s) for <b>title</b> (). 1021 * creating it if it does 1022 * not exist. This method may return <code>null</code>. 1023 * 1024 * <p> 1025 * <b>Definition:</b> 1026 * Official human-readable label for the composition 1027 * </p> 1028 */ 1029 public String getTitle() { 1030 return getTitleElement().getValue(); 1031 } 1032 1033 /** 1034 * Sets the value(s) for <b>title</b> () 1035 * 1036 * <p> 1037 * <b>Definition:</b> 1038 * Official human-readable label for the composition 1039 * </p> 1040 */ 1041 public Composition setTitle(StringDt theValue) { 1042 myTitle = theValue; 1043 return this; 1044 } 1045 1046 1047 1048 /** 1049 * Sets the value for <b>title</b> () 1050 * 1051 * <p> 1052 * <b>Definition:</b> 1053 * Official human-readable label for the composition 1054 * </p> 1055 */ 1056 public Composition setTitle( String theString) { 1057 myTitle = new StringDt(theString); 1058 return this; 1059 } 1060 1061 1062 /** 1063 * Gets the value(s) for <b>status</b> (). 1064 * creating it if it does 1065 * not exist. Will not return <code>null</code>. 1066 * 1067 * <p> 1068 * <b>Definition:</b> 1069 * The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document 1070 * </p> 1071 */ 1072 public BoundCodeDt<CompositionStatusEnum> getStatusElement() { 1073 if (myStatus == null) { 1074 myStatus = new BoundCodeDt<CompositionStatusEnum>(CompositionStatusEnum.VALUESET_BINDER); 1075 } 1076 return myStatus; 1077 } 1078 1079 1080 /** 1081 * Gets the value(s) for <b>status</b> (). 1082 * creating it if it does 1083 * not exist. This method may return <code>null</code>. 1084 * 1085 * <p> 1086 * <b>Definition:</b> 1087 * The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document 1088 * </p> 1089 */ 1090 public String getStatus() { 1091 return getStatusElement().getValue(); 1092 } 1093 1094 /** 1095 * Sets the value(s) for <b>status</b> () 1096 * 1097 * <p> 1098 * <b>Definition:</b> 1099 * The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document 1100 * </p> 1101 */ 1102 public Composition setStatus(BoundCodeDt<CompositionStatusEnum> theValue) { 1103 myStatus = theValue; 1104 return this; 1105 } 1106 1107 1108 1109 /** 1110 * Sets the value(s) for <b>status</b> () 1111 * 1112 * <p> 1113 * <b>Definition:</b> 1114 * The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document 1115 * </p> 1116 */ 1117 public Composition setStatus(CompositionStatusEnum theValue) { 1118 setStatus(new BoundCodeDt<CompositionStatusEnum>(CompositionStatusEnum.VALUESET_BINDER, theValue)); 1119 1120/* 1121 getStatusElement().setValueAsEnum(theValue); 1122*/ 1123 return this; 1124 } 1125 1126 1127 /** 1128 * Gets the value(s) for <b>confidentiality</b> (). 1129 * creating it if it does 1130 * not exist. Will not return <code>null</code>. 1131 * 1132 * <p> 1133 * <b>Definition:</b> 1134 * The code specifying the level of confidentiality of the Composition 1135 * </p> 1136 */ 1137 public CodeDt getConfidentialityElement() { 1138 if (myConfidentiality == null) { 1139 myConfidentiality = new CodeDt(); 1140 } 1141 return myConfidentiality; 1142 } 1143 1144 1145 /** 1146 * Gets the value(s) for <b>confidentiality</b> (). 1147 * creating it if it does 1148 * not exist. This method may return <code>null</code>. 1149 * 1150 * <p> 1151 * <b>Definition:</b> 1152 * The code specifying the level of confidentiality of the Composition 1153 * </p> 1154 */ 1155 public String getConfidentiality() { 1156 return getConfidentialityElement().getValue(); 1157 } 1158 1159 /** 1160 * Sets the value(s) for <b>confidentiality</b> () 1161 * 1162 * <p> 1163 * <b>Definition:</b> 1164 * The code specifying the level of confidentiality of the Composition 1165 * </p> 1166 */ 1167 public Composition setConfidentiality(CodeDt theValue) { 1168 myConfidentiality = theValue; 1169 return this; 1170 } 1171 1172 1173 1174 /** 1175 * Sets the value for <b>confidentiality</b> () 1176 * 1177 * <p> 1178 * <b>Definition:</b> 1179 * The code specifying the level of confidentiality of the Composition 1180 * </p> 1181 */ 1182 public Composition setConfidentiality( String theCode) { 1183 myConfidentiality = new CodeDt(theCode); 1184 return this; 1185 } 1186 1187 1188 /** 1189 * Gets the value(s) for <b>subject</b> (). 1190 * creating it if it does 1191 * not exist. Will not return <code>null</code>. 1192 * 1193 * <p> 1194 * <b>Definition:</b> 1195 * Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure) 1196 * </p> 1197 */ 1198 public ResourceReferenceDt getSubject() { 1199 if (mySubject == null) { 1200 mySubject = new ResourceReferenceDt(); 1201 } 1202 return mySubject; 1203 } 1204 1205 /** 1206 * Sets the value(s) for <b>subject</b> () 1207 * 1208 * <p> 1209 * <b>Definition:</b> 1210 * Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure) 1211 * </p> 1212 */ 1213 public Composition setSubject(ResourceReferenceDt theValue) { 1214 mySubject = theValue; 1215 return this; 1216 } 1217 1218 1219 1220 1221 /** 1222 * Gets the value(s) for <b>author</b> (). 1223 * creating it if it does 1224 * not exist. Will not return <code>null</code>. 1225 * 1226 * <p> 1227 * <b>Definition:</b> 1228 * Identifies who is responsible for the information in the composition, not necessarily who typed it in. 1229 * </p> 1230 */ 1231 public java.util.List<ResourceReferenceDt> getAuthor() { 1232 if (myAuthor == null) { 1233 myAuthor = new java.util.ArrayList<ResourceReferenceDt>(); 1234 } 1235 return myAuthor; 1236 } 1237 1238 /** 1239 * Sets the value(s) for <b>author</b> () 1240 * 1241 * <p> 1242 * <b>Definition:</b> 1243 * Identifies who is responsible for the information in the composition, not necessarily who typed it in. 1244 * </p> 1245 */ 1246 public Composition setAuthor(java.util.List<ResourceReferenceDt> theValue) { 1247 myAuthor = theValue; 1248 return this; 1249 } 1250 1251 1252 1253 /** 1254 * Adds and returns a new value for <b>author</b> () 1255 * 1256 * <p> 1257 * <b>Definition:</b> 1258 * Identifies who is responsible for the information in the composition, not necessarily who typed it in. 1259 * </p> 1260 */ 1261 public ResourceReferenceDt addAuthor() { 1262 ResourceReferenceDt newType = new ResourceReferenceDt(); 1263 getAuthor().add(newType); 1264 return newType; 1265 } 1266 1267 /** 1268 * Gets the value(s) for <b>attester</b> (). 1269 * creating it if it does 1270 * not exist. Will not return <code>null</code>. 1271 * 1272 * <p> 1273 * <b>Definition:</b> 1274 * A participant who has attested to the accuracy of the composition/document 1275 * </p> 1276 */ 1277 public java.util.List<Attester> getAttester() { 1278 if (myAttester == null) { 1279 myAttester = new java.util.ArrayList<Attester>(); 1280 } 1281 return myAttester; 1282 } 1283 1284 /** 1285 * Sets the value(s) for <b>attester</b> () 1286 * 1287 * <p> 1288 * <b>Definition:</b> 1289 * A participant who has attested to the accuracy of the composition/document 1290 * </p> 1291 */ 1292 public Composition setAttester(java.util.List<Attester> theValue) { 1293 myAttester = theValue; 1294 return this; 1295 } 1296 1297 1298 1299 /** 1300 * Adds and returns a new value for <b>attester</b> () 1301 * 1302 * <p> 1303 * <b>Definition:</b> 1304 * A participant who has attested to the accuracy of the composition/document 1305 * </p> 1306 */ 1307 public Attester addAttester() { 1308 Attester newType = new Attester(); 1309 getAttester().add(newType); 1310 return newType; 1311 } 1312 1313 /** 1314 * Adds a given new value for <b>attester</b> () 1315 * 1316 * <p> 1317 * <b>Definition:</b> 1318 * A participant who has attested to the accuracy of the composition/document 1319 * </p> 1320 * @param theValue The attester to add (must not be <code>null</code>) 1321 */ 1322 public Composition addAttester(Attester theValue) { 1323 if (theValue == null) { 1324 throw new NullPointerException("theValue must not be null"); 1325 } 1326 getAttester().add(theValue); 1327 return this; 1328 } 1329 1330 /** 1331 * Gets the first repetition for <b>attester</b> (), 1332 * creating it if it does not already exist. 1333 * 1334 * <p> 1335 * <b>Definition:</b> 1336 * A participant who has attested to the accuracy of the composition/document 1337 * </p> 1338 */ 1339 public Attester getAttesterFirstRep() { 1340 if (getAttester().isEmpty()) { 1341 return addAttester(); 1342 } 1343 return getAttester().get(0); 1344 } 1345 1346 /** 1347 * Gets the value(s) for <b>custodian</b> (). 1348 * creating it if it does 1349 * not exist. Will not return <code>null</code>. 1350 * 1351 * <p> 1352 * <b>Definition:</b> 1353 * Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information 1354 * </p> 1355 */ 1356 public ResourceReferenceDt getCustodian() { 1357 if (myCustodian == null) { 1358 myCustodian = new ResourceReferenceDt(); 1359 } 1360 return myCustodian; 1361 } 1362 1363 /** 1364 * Sets the value(s) for <b>custodian</b> () 1365 * 1366 * <p> 1367 * <b>Definition:</b> 1368 * Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information 1369 * </p> 1370 */ 1371 public Composition setCustodian(ResourceReferenceDt theValue) { 1372 myCustodian = theValue; 1373 return this; 1374 } 1375 1376 1377 1378 1379 /** 1380 * Gets the value(s) for <b>event</b> (). 1381 * creating it if it does 1382 * not exist. Will not return <code>null</code>. 1383 * 1384 * <p> 1385 * <b>Definition:</b> 1386 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1387 * </p> 1388 */ 1389 public java.util.List<Event> getEvent() { 1390 if (myEvent == null) { 1391 myEvent = new java.util.ArrayList<Event>(); 1392 } 1393 return myEvent; 1394 } 1395 1396 /** 1397 * Sets the value(s) for <b>event</b> () 1398 * 1399 * <p> 1400 * <b>Definition:</b> 1401 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1402 * </p> 1403 */ 1404 public Composition setEvent(java.util.List<Event> theValue) { 1405 myEvent = theValue; 1406 return this; 1407 } 1408 1409 1410 1411 /** 1412 * Adds and returns a new value for <b>event</b> () 1413 * 1414 * <p> 1415 * <b>Definition:</b> 1416 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1417 * </p> 1418 */ 1419 public Event addEvent() { 1420 Event newType = new Event(); 1421 getEvent().add(newType); 1422 return newType; 1423 } 1424 1425 /** 1426 * Adds a given new value for <b>event</b> () 1427 * 1428 * <p> 1429 * <b>Definition:</b> 1430 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1431 * </p> 1432 * @param theValue The event to add (must not be <code>null</code>) 1433 */ 1434 public Composition addEvent(Event theValue) { 1435 if (theValue == null) { 1436 throw new NullPointerException("theValue must not be null"); 1437 } 1438 getEvent().add(theValue); 1439 return this; 1440 } 1441 1442 /** 1443 * Gets the first repetition for <b>event</b> (), 1444 * creating it if it does not already exist. 1445 * 1446 * <p> 1447 * <b>Definition:</b> 1448 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1449 * </p> 1450 */ 1451 public Event getEventFirstRep() { 1452 if (getEvent().isEmpty()) { 1453 return addEvent(); 1454 } 1455 return getEvent().get(0); 1456 } 1457 1458 /** 1459 * Gets the value(s) for <b>encounter</b> (). 1460 * creating it if it does 1461 * not exist. Will not return <code>null</code>. 1462 * 1463 * <p> 1464 * <b>Definition:</b> 1465 * Describes the clinical encounter or type of care this documentation is associated with. 1466 * </p> 1467 */ 1468 public ResourceReferenceDt getEncounter() { 1469 if (myEncounter == null) { 1470 myEncounter = new ResourceReferenceDt(); 1471 } 1472 return myEncounter; 1473 } 1474 1475 /** 1476 * Sets the value(s) for <b>encounter</b> () 1477 * 1478 * <p> 1479 * <b>Definition:</b> 1480 * Describes the clinical encounter or type of care this documentation is associated with. 1481 * </p> 1482 */ 1483 public Composition setEncounter(ResourceReferenceDt theValue) { 1484 myEncounter = theValue; 1485 return this; 1486 } 1487 1488 1489 1490 1491 /** 1492 * Gets the value(s) for <b>section</b> (). 1493 * creating it if it does 1494 * not exist. Will not return <code>null</code>. 1495 * 1496 * <p> 1497 * <b>Definition:</b> 1498 * The root of the sections that make up the composition 1499 * </p> 1500 */ 1501 public java.util.List<Section> getSection() { 1502 if (mySection == null) { 1503 mySection = new java.util.ArrayList<Section>(); 1504 } 1505 return mySection; 1506 } 1507 1508 /** 1509 * Sets the value(s) for <b>section</b> () 1510 * 1511 * <p> 1512 * <b>Definition:</b> 1513 * The root of the sections that make up the composition 1514 * </p> 1515 */ 1516 public Composition setSection(java.util.List<Section> theValue) { 1517 mySection = theValue; 1518 return this; 1519 } 1520 1521 1522 1523 /** 1524 * Adds and returns a new value for <b>section</b> () 1525 * 1526 * <p> 1527 * <b>Definition:</b> 1528 * The root of the sections that make up the composition 1529 * </p> 1530 */ 1531 public Section addSection() { 1532 Section newType = new Section(); 1533 getSection().add(newType); 1534 return newType; 1535 } 1536 1537 /** 1538 * Adds a given new value for <b>section</b> () 1539 * 1540 * <p> 1541 * <b>Definition:</b> 1542 * The root of the sections that make up the composition 1543 * </p> 1544 * @param theValue The section to add (must not be <code>null</code>) 1545 */ 1546 public Composition addSection(Section theValue) { 1547 if (theValue == null) { 1548 throw new NullPointerException("theValue must not be null"); 1549 } 1550 getSection().add(theValue); 1551 return this; 1552 } 1553 1554 /** 1555 * Gets the first repetition for <b>section</b> (), 1556 * creating it if it does not already exist. 1557 * 1558 * <p> 1559 * <b>Definition:</b> 1560 * The root of the sections that make up the composition 1561 * </p> 1562 */ 1563 public Section getSectionFirstRep() { 1564 if (getSection().isEmpty()) { 1565 return addSection(); 1566 } 1567 return getSection().get(0); 1568 } 1569 1570 /** 1571 * Block class for child element: <b>Composition.attester</b> () 1572 * 1573 * <p> 1574 * <b>Definition:</b> 1575 * A participant who has attested to the accuracy of the composition/document 1576 * </p> 1577 */ 1578 @Block() 1579 public static class Attester 1580 extends BaseIdentifiableElement 1581 implements IResourceBlock { 1582 1583 @Child(name="mode", type=CodeDt.class, order=0, min=1, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1584 @Description( 1585 shortDefinition="", 1586 formalDefinition="The type of attestation the authenticator offers" 1587 ) 1588 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/composition-attestation-mode") 1589 private java.util.List<BoundCodeDt<CompositionAttestationModeEnum>> myMode; 1590 1591 @Child(name="time", type=DateTimeDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1592 @Description( 1593 shortDefinition="", 1594 formalDefinition="When composition was attested by the party" 1595 ) 1596 private DateTimeDt myTime; 1597 1598 @Child(name="party", order=2, min=0, max=1, summary=true, modifier=false, type={ 1599 ca.uhn.fhir.model.dstu2.resource.Patient.class, 1600 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 1601 ca.uhn.fhir.model.dstu2.resource.Organization.class 1602 }) 1603 @Description( 1604 shortDefinition="", 1605 formalDefinition="Who attested the composition in the specified way" 1606 ) 1607 private ResourceReferenceDt myParty; 1608 1609 1610 @Override 1611 public boolean isEmpty() { 1612 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myMode, myTime, myParty); 1613 } 1614 1615 @Override 1616 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1617 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myMode, myTime, myParty); 1618 } 1619 1620 /** 1621 * Gets the value(s) for <b>mode</b> (). 1622 * creating it if it does 1623 * not exist. Will not return <code>null</code>. 1624 * 1625 * <p> 1626 * <b>Definition:</b> 1627 * The type of attestation the authenticator offers 1628 * </p> 1629 */ 1630 public java.util.List<BoundCodeDt<CompositionAttestationModeEnum>> getMode() { 1631 if (myMode == null) { 1632 myMode = new java.util.ArrayList<BoundCodeDt<CompositionAttestationModeEnum>>(); 1633 } 1634 return myMode; 1635 } 1636 1637 /** 1638 * Sets the value(s) for <b>mode</b> () 1639 * 1640 * <p> 1641 * <b>Definition:</b> 1642 * The type of attestation the authenticator offers 1643 * </p> 1644 */ 1645 public Attester setMode(java.util.List<BoundCodeDt<CompositionAttestationModeEnum>> theValue) { 1646 myMode = theValue; 1647 return this; 1648 } 1649 1650 1651 1652 /** 1653 * Add a value for <b>mode</b> () using an enumerated type. This 1654 * is intended as a convenience method for situations where the FHIR defined ValueSets are mandatory 1655 * or contain the desirable codes. If you wish to use codes other than those which are built-in, 1656 * you may also use the {@link #addMode()} method. 1657 * 1658 * <p> 1659 * <b>Definition:</b> 1660 * The type of attestation the authenticator offers 1661 * </p> 1662 */ 1663 public BoundCodeDt<CompositionAttestationModeEnum> addMode(CompositionAttestationModeEnum theValue) { 1664 BoundCodeDt<CompositionAttestationModeEnum> retVal = new BoundCodeDt<CompositionAttestationModeEnum>(CompositionAttestationModeEnum.VALUESET_BINDER, theValue); 1665 getMode().add(retVal); 1666 return retVal; 1667 } 1668 1669 /** 1670 * Gets the first repetition for <b>mode</b> (), 1671 * creating it if it does not already exist. 1672 * 1673 * <p> 1674 * <b>Definition:</b> 1675 * The type of attestation the authenticator offers 1676 * </p> 1677 */ 1678 public BoundCodeDt<CompositionAttestationModeEnum> getModeFirstRep() { 1679 if (getMode().size() == 0) { 1680 addMode(); 1681 } 1682 return getMode().get(0); 1683 } 1684 1685 /** 1686 * Add a value for <b>mode</b> () 1687 * 1688 * <p> 1689 * <b>Definition:</b> 1690 * The type of attestation the authenticator offers 1691 * </p> 1692 */ 1693 public BoundCodeDt<CompositionAttestationModeEnum> addMode() { 1694 BoundCodeDt<CompositionAttestationModeEnum> retVal = new BoundCodeDt<CompositionAttestationModeEnum>(CompositionAttestationModeEnum.VALUESET_BINDER); 1695 getMode().add(retVal); 1696 return retVal; 1697 } 1698 1699 /** 1700 * Sets the value(s), and clears any existing value(s) for <b>mode</b> () 1701 * 1702 * <p> 1703 * <b>Definition:</b> 1704 * The type of attestation the authenticator offers 1705 * </p> 1706 */ 1707 public Attester setMode(CompositionAttestationModeEnum theValue) { 1708 getMode().clear(); 1709 addMode(theValue); 1710 return this; 1711 } 1712 1713 1714 /** 1715 * Gets the value(s) for <b>time</b> (). 1716 * creating it if it does 1717 * not exist. Will not return <code>null</code>. 1718 * 1719 * <p> 1720 * <b>Definition:</b> 1721 * When composition was attested by the party 1722 * </p> 1723 */ 1724 public DateTimeDt getTimeElement() { 1725 if (myTime == null) { 1726 myTime = new DateTimeDt(); 1727 } 1728 return myTime; 1729 } 1730 1731 1732 /** 1733 * Gets the value(s) for <b>time</b> (). 1734 * creating it if it does 1735 * not exist. This method may return <code>null</code>. 1736 * 1737 * <p> 1738 * <b>Definition:</b> 1739 * When composition was attested by the party 1740 * </p> 1741 */ 1742 public Date getTime() { 1743 return getTimeElement().getValue(); 1744 } 1745 1746 /** 1747 * Sets the value(s) for <b>time</b> () 1748 * 1749 * <p> 1750 * <b>Definition:</b> 1751 * When composition was attested by the party 1752 * </p> 1753 */ 1754 public Attester setTime(DateTimeDt theValue) { 1755 myTime = theValue; 1756 return this; 1757 } 1758 1759 1760 1761 /** 1762 * Sets the value for <b>time</b> () 1763 * 1764 * <p> 1765 * <b>Definition:</b> 1766 * When composition was attested by the party 1767 * </p> 1768 */ 1769 public Attester setTimeWithSecondsPrecision( Date theDate) { 1770 myTime = new DateTimeDt(theDate); 1771 return this; 1772 } 1773 1774 /** 1775 * Sets the value for <b>time</b> () 1776 * 1777 * <p> 1778 * <b>Definition:</b> 1779 * When composition was attested by the party 1780 * </p> 1781 */ 1782 public Attester setTime( Date theDate, TemporalPrecisionEnum thePrecision) { 1783 myTime = new DateTimeDt(theDate, thePrecision); 1784 return this; 1785 } 1786 1787 1788 /** 1789 * Gets the value(s) for <b>party</b> (). 1790 * creating it if it does 1791 * not exist. Will not return <code>null</code>. 1792 * 1793 * <p> 1794 * <b>Definition:</b> 1795 * Who attested the composition in the specified way 1796 * </p> 1797 */ 1798 public ResourceReferenceDt getParty() { 1799 if (myParty == null) { 1800 myParty = new ResourceReferenceDt(); 1801 } 1802 return myParty; 1803 } 1804 1805 /** 1806 * Sets the value(s) for <b>party</b> () 1807 * 1808 * <p> 1809 * <b>Definition:</b> 1810 * Who attested the composition in the specified way 1811 * </p> 1812 */ 1813 public Attester setParty(ResourceReferenceDt theValue) { 1814 myParty = theValue; 1815 return this; 1816 } 1817 1818 1819 1820 1821 1822 1823 } 1824 1825 1826 /** 1827 * Block class for child element: <b>Composition.event</b> () 1828 * 1829 * <p> 1830 * <b>Definition:</b> 1831 * The clinical service, such as a colonoscopy or an appendectomy, being documented 1832 * </p> 1833 */ 1834 @Block() 1835 public static class Event 1836 extends BaseIdentifiableElement 1837 implements IResourceBlock { 1838 1839 @Child(name="code", type=CodeableConceptDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 1840 @Description( 1841 shortDefinition="", 1842 formalDefinition="This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act." 1843 ) 1844 private java.util.List<CodeableConceptDt> myCode; 1845 1846 @Child(name="period", type=PeriodDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1847 @Description( 1848 shortDefinition="", 1849 formalDefinition="The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time" 1850 ) 1851 private PeriodDt myPeriod; 1852 1853 @Child(name="detail", order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={ 1854 IResource.class 1855 }) 1856 @Description( 1857 shortDefinition="", 1858 formalDefinition="The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy" 1859 ) 1860 private java.util.List<ResourceReferenceDt> myDetail; 1861 1862 1863 @Override 1864 public boolean isEmpty() { 1865 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myCode, myPeriod, myDetail); 1866 } 1867 1868 @Override 1869 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1870 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myPeriod, myDetail); 1871 } 1872 1873 /** 1874 * Gets the value(s) for <b>code</b> (). 1875 * creating it if it does 1876 * not exist. Will not return <code>null</code>. 1877 * 1878 * <p> 1879 * <b>Definition:</b> 1880 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act. 1881 * </p> 1882 */ 1883 public java.util.List<CodeableConceptDt> getCode() { 1884 if (myCode == null) { 1885 myCode = new java.util.ArrayList<CodeableConceptDt>(); 1886 } 1887 return myCode; 1888 } 1889 1890 /** 1891 * Sets the value(s) for <b>code</b> () 1892 * 1893 * <p> 1894 * <b>Definition:</b> 1895 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act. 1896 * </p> 1897 */ 1898 public Event setCode(java.util.List<CodeableConceptDt> theValue) { 1899 myCode = theValue; 1900 return this; 1901 } 1902 1903 1904 1905 /** 1906 * Adds and returns a new value for <b>code</b> () 1907 * 1908 * <p> 1909 * <b>Definition:</b> 1910 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act. 1911 * </p> 1912 */ 1913 public CodeableConceptDt addCode() { 1914 CodeableConceptDt newType = new CodeableConceptDt(); 1915 getCode().add(newType); 1916 return newType; 1917 } 1918 1919 /** 1920 * Adds a given new value for <b>code</b> () 1921 * 1922 * <p> 1923 * <b>Definition:</b> 1924 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act. 1925 * </p> 1926 * @param theValue The code to add (must not be <code>null</code>) 1927 */ 1928 public Event addCode(CodeableConceptDt theValue) { 1929 if (theValue == null) { 1930 throw new NullPointerException("theValue must not be null"); 1931 } 1932 getCode().add(theValue); 1933 return this; 1934 } 1935 1936 /** 1937 * Gets the first repetition for <b>code</b> (), 1938 * creating it if it does not already exist. 1939 * 1940 * <p> 1941 * <b>Definition:</b> 1942 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act. 1943 * </p> 1944 */ 1945 public CodeableConceptDt getCodeFirstRep() { 1946 if (getCode().isEmpty()) { 1947 return addCode(); 1948 } 1949 return getCode().get(0); 1950 } 1951 1952 /** 1953 * Gets the value(s) for <b>period</b> (). 1954 * creating it if it does 1955 * not exist. Will not return <code>null</code>. 1956 * 1957 * <p> 1958 * <b>Definition:</b> 1959 * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time 1960 * </p> 1961 */ 1962 public PeriodDt getPeriod() { 1963 if (myPeriod == null) { 1964 myPeriod = new PeriodDt(); 1965 } 1966 return myPeriod; 1967 } 1968 1969 /** 1970 * Sets the value(s) for <b>period</b> () 1971 * 1972 * <p> 1973 * <b>Definition:</b> 1974 * The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time 1975 * </p> 1976 */ 1977 public Event setPeriod(PeriodDt theValue) { 1978 myPeriod = theValue; 1979 return this; 1980 } 1981 1982 1983 1984 1985 /** 1986 * Gets the value(s) for <b>detail</b> (). 1987 * creating it if it does 1988 * not exist. Will not return <code>null</code>. 1989 * 1990 * <p> 1991 * <b>Definition:</b> 1992 * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy 1993 * </p> 1994 */ 1995 public java.util.List<ResourceReferenceDt> getDetail() { 1996 if (myDetail == null) { 1997 myDetail = new java.util.ArrayList<ResourceReferenceDt>(); 1998 } 1999 return myDetail; 2000 } 2001 2002 /** 2003 * Sets the value(s) for <b>detail</b> () 2004 * 2005 * <p> 2006 * <b>Definition:</b> 2007 * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy 2008 * </p> 2009 */ 2010 public Event setDetail(java.util.List<ResourceReferenceDt> theValue) { 2011 myDetail = theValue; 2012 return this; 2013 } 2014 2015 2016 2017 /** 2018 * Adds and returns a new value for <b>detail</b> () 2019 * 2020 * <p> 2021 * <b>Definition:</b> 2022 * The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy 2023 * </p> 2024 */ 2025 public ResourceReferenceDt addDetail() { 2026 ResourceReferenceDt newType = new ResourceReferenceDt(); 2027 getDetail().add(newType); 2028 return newType; 2029 } 2030 2031 2032 2033 } 2034 2035 2036 /** 2037 * Block class for child element: <b>Composition.section</b> () 2038 * 2039 * <p> 2040 * <b>Definition:</b> 2041 * The root of the sections that make up the composition 2042 * </p> 2043 */ 2044 @Block() 2045 public static class Section 2046 extends BaseIdentifiableElement 2047 implements IResourceBlock { 2048 2049 @Child(name="title", type=StringDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2050 @Description( 2051 shortDefinition="", 2052 formalDefinition="The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents" 2053 ) 2054 private StringDt myTitle; 2055 2056 @Child(name="code", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=false, modifier=false) 2057 @Description( 2058 shortDefinition="", 2059 formalDefinition="A code identifying the kind of content contained within the section. This must be consistent with the section title" 2060 ) 2061 private CodeableConceptDt myCode; 2062 2063 @Child(name="text", type=NarrativeDt.class, order=2, min=0, max=1, summary=false, modifier=false) 2064 @Description( 2065 shortDefinition="", 2066 formalDefinition="A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative." 2067 ) 2068 private NarrativeDt myText; 2069 2070 @Child(name="mode", type=CodeDt.class, order=3, min=0, max=1, summary=true, modifier=true) 2071 @Description( 2072 shortDefinition="", 2073 formalDefinition="How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted" 2074 ) 2075 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/list-mode") 2076 private CodeDt myMode; 2077 2078 @Child(name="orderedBy", type=CodeableConceptDt.class, order=4, min=0, max=1, summary=false, modifier=false) 2079 @Description( 2080 shortDefinition="", 2081 formalDefinition="Specifies the order applied to the items in the section entries" 2082 ) 2083 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/list-order") 2084 private CodeableConceptDt myOrderedBy; 2085 2086 @Child(name="entry", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 2087 IResource.class 2088 }) 2089 @Description( 2090 shortDefinition="", 2091 formalDefinition="A reference to the actual resource from which the narrative in the section is derived" 2092 ) 2093 private java.util.List<ResourceReferenceDt> myEntry; 2094 2095 @Child(name="emptyReason", type=CodeableConceptDt.class, order=6, min=0, max=1, summary=false, modifier=false) 2096 @Description( 2097 shortDefinition="", 2098 formalDefinition="If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason" 2099 ) 2100 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/list-empty-reason") 2101 private CodeableConceptDt myEmptyReason; 2102 2103 @Child(name="section", type=Section.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2104 @Description( 2105 shortDefinition="", 2106 formalDefinition="A nested sub-section within this section" 2107 ) 2108 private java.util.List<Section> mySection; 2109 2110 2111 @Override 2112 public boolean isEmpty() { 2113 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myTitle, myCode, myText, myMode, myOrderedBy, myEntry, myEmptyReason, mySection); 2114 } 2115 2116 @Override 2117 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2118 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myTitle, myCode, myText, myMode, myOrderedBy, myEntry, myEmptyReason, mySection); 2119 } 2120 2121 /** 2122 * Gets the value(s) for <b>title</b> (). 2123 * creating it if it does 2124 * not exist. Will not return <code>null</code>. 2125 * 2126 * <p> 2127 * <b>Definition:</b> 2128 * The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents 2129 * </p> 2130 */ 2131 public StringDt getTitleElement() { 2132 if (myTitle == null) { 2133 myTitle = new StringDt(); 2134 } 2135 return myTitle; 2136 } 2137 2138 2139 /** 2140 * Gets the value(s) for <b>title</b> (). 2141 * creating it if it does 2142 * not exist. This method may return <code>null</code>. 2143 * 2144 * <p> 2145 * <b>Definition:</b> 2146 * The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents 2147 * </p> 2148 */ 2149 public String getTitle() { 2150 return getTitleElement().getValue(); 2151 } 2152 2153 /** 2154 * Sets the value(s) for <b>title</b> () 2155 * 2156 * <p> 2157 * <b>Definition:</b> 2158 * The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents 2159 * </p> 2160 */ 2161 public Section setTitle(StringDt theValue) { 2162 myTitle = theValue; 2163 return this; 2164 } 2165 2166 2167 2168 /** 2169 * Sets the value for <b>title</b> () 2170 * 2171 * <p> 2172 * <b>Definition:</b> 2173 * The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents 2174 * </p> 2175 */ 2176 public Section setTitle( String theString) { 2177 myTitle = new StringDt(theString); 2178 return this; 2179 } 2180 2181 2182 /** 2183 * Gets the value(s) for <b>code</b> (). 2184 * creating it if it does 2185 * not exist. Will not return <code>null</code>. 2186 * 2187 * <p> 2188 * <b>Definition:</b> 2189 * A code identifying the kind of content contained within the section. This must be consistent with the section title 2190 * </p> 2191 */ 2192 public CodeableConceptDt getCode() { 2193 if (myCode == null) { 2194 myCode = new CodeableConceptDt(); 2195 } 2196 return myCode; 2197 } 2198 2199 /** 2200 * Sets the value(s) for <b>code</b> () 2201 * 2202 * <p> 2203 * <b>Definition:</b> 2204 * A code identifying the kind of content contained within the section. This must be consistent with the section title 2205 * </p> 2206 */ 2207 public Section setCode(CodeableConceptDt theValue) { 2208 myCode = theValue; 2209 return this; 2210 } 2211 2212 2213 2214 2215 /** 2216 * Gets the value(s) for <b>text</b> (). 2217 * creating it if it does 2218 * not exist. Will not return <code>null</code>. 2219 * 2220 * <p> 2221 * <b>Definition:</b> 2222 * A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. 2223 * </p> 2224 */ 2225 public NarrativeDt getText() { 2226 if (myText == null) { 2227 myText = new NarrativeDt(); 2228 } 2229 return myText; 2230 } 2231 2232 /** 2233 * Sets the value(s) for <b>text</b> () 2234 * 2235 * <p> 2236 * <b>Definition:</b> 2237 * A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. 2238 * </p> 2239 */ 2240 public Section setText(NarrativeDt theValue) { 2241 myText = theValue; 2242 return this; 2243 } 2244 2245 2246 2247 2248 /** 2249 * Gets the value(s) for <b>mode</b> (). 2250 * creating it if it does 2251 * not exist. Will not return <code>null</code>. 2252 * 2253 * <p> 2254 * <b>Definition:</b> 2255 * How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted 2256 * </p> 2257 */ 2258 public CodeDt getModeElement() { 2259 if (myMode == null) { 2260 myMode = new CodeDt(); 2261 } 2262 return myMode; 2263 } 2264 2265 2266 /** 2267 * Gets the value(s) for <b>mode</b> (). 2268 * creating it if it does 2269 * not exist. This method may return <code>null</code>. 2270 * 2271 * <p> 2272 * <b>Definition:</b> 2273 * How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted 2274 * </p> 2275 */ 2276 public String getMode() { 2277 return getModeElement().getValue(); 2278 } 2279 2280 /** 2281 * Sets the value(s) for <b>mode</b> () 2282 * 2283 * <p> 2284 * <b>Definition:</b> 2285 * How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted 2286 * </p> 2287 */ 2288 public Section setMode(CodeDt theValue) { 2289 myMode = theValue; 2290 return this; 2291 } 2292 2293 2294 2295 /** 2296 * Sets the value for <b>mode</b> () 2297 * 2298 * <p> 2299 * <b>Definition:</b> 2300 * How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted 2301 * </p> 2302 */ 2303 public Section setMode( String theCode) { 2304 myMode = new CodeDt(theCode); 2305 return this; 2306 } 2307 2308 2309 /** 2310 * Gets the value(s) for <b>orderedBy</b> (). 2311 * creating it if it does 2312 * not exist. Will not return <code>null</code>. 2313 * 2314 * <p> 2315 * <b>Definition:</b> 2316 * Specifies the order applied to the items in the section entries 2317 * </p> 2318 */ 2319 public CodeableConceptDt getOrderedBy() { 2320 if (myOrderedBy == null) { 2321 myOrderedBy = new CodeableConceptDt(); 2322 } 2323 return myOrderedBy; 2324 } 2325 2326 /** 2327 * Sets the value(s) for <b>orderedBy</b> () 2328 * 2329 * <p> 2330 * <b>Definition:</b> 2331 * Specifies the order applied to the items in the section entries 2332 * </p> 2333 */ 2334 public Section setOrderedBy(CodeableConceptDt theValue) { 2335 myOrderedBy = theValue; 2336 return this; 2337 } 2338 2339 2340 2341 2342 /** 2343 * Gets the value(s) for <b>entry</b> (). 2344 * creating it if it does 2345 * not exist. Will not return <code>null</code>. 2346 * 2347 * <p> 2348 * <b>Definition:</b> 2349 * A reference to the actual resource from which the narrative in the section is derived 2350 * </p> 2351 */ 2352 public java.util.List<ResourceReferenceDt> getEntry() { 2353 if (myEntry == null) { 2354 myEntry = new java.util.ArrayList<ResourceReferenceDt>(); 2355 } 2356 return myEntry; 2357 } 2358 2359 /** 2360 * Sets the value(s) for <b>entry</b> () 2361 * 2362 * <p> 2363 * <b>Definition:</b> 2364 * A reference to the actual resource from which the narrative in the section is derived 2365 * </p> 2366 */ 2367 public Section setEntry(java.util.List<ResourceReferenceDt> theValue) { 2368 myEntry = theValue; 2369 return this; 2370 } 2371 2372 2373 2374 /** 2375 * Adds and returns a new value for <b>entry</b> () 2376 * 2377 * <p> 2378 * <b>Definition:</b> 2379 * A reference to the actual resource from which the narrative in the section is derived 2380 * </p> 2381 */ 2382 public ResourceReferenceDt addEntry() { 2383 ResourceReferenceDt newType = new ResourceReferenceDt(); 2384 getEntry().add(newType); 2385 return newType; 2386 } 2387 2388 /** 2389 * Gets the value(s) for <b>emptyReason</b> (). 2390 * creating it if it does 2391 * not exist. Will not return <code>null</code>. 2392 * 2393 * <p> 2394 * <b>Definition:</b> 2395 * If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason 2396 * </p> 2397 */ 2398 public CodeableConceptDt getEmptyReason() { 2399 if (myEmptyReason == null) { 2400 myEmptyReason = new CodeableConceptDt(); 2401 } 2402 return myEmptyReason; 2403 } 2404 2405 /** 2406 * Sets the value(s) for <b>emptyReason</b> () 2407 * 2408 * <p> 2409 * <b>Definition:</b> 2410 * If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason 2411 * </p> 2412 */ 2413 public Section setEmptyReason(CodeableConceptDt theValue) { 2414 myEmptyReason = theValue; 2415 return this; 2416 } 2417 2418 2419 2420 2421 /** 2422 * Gets the value(s) for <b>section</b> (). 2423 * creating it if it does 2424 * not exist. Will not return <code>null</code>. 2425 * 2426 * <p> 2427 * <b>Definition:</b> 2428 * A nested sub-section within this section 2429 * </p> 2430 */ 2431 public java.util.List<Section> getSection() { 2432 if (mySection == null) { 2433 mySection = new java.util.ArrayList<Section>(); 2434 } 2435 return mySection; 2436 } 2437 2438 /** 2439 * Sets the value(s) for <b>section</b> () 2440 * 2441 * <p> 2442 * <b>Definition:</b> 2443 * A nested sub-section within this section 2444 * </p> 2445 */ 2446 public Section setSection(java.util.List<Section> theValue) { 2447 mySection = theValue; 2448 return this; 2449 } 2450 2451 2452 2453 /** 2454 * Adds and returns a new value for <b>section</b> () 2455 * 2456 * <p> 2457 * <b>Definition:</b> 2458 * A nested sub-section within this section 2459 * </p> 2460 */ 2461 public Section addSection() { 2462 Section newType = new Section(); 2463 getSection().add(newType); 2464 return newType; 2465 } 2466 2467 /** 2468 * Adds a given new value for <b>section</b> () 2469 * 2470 * <p> 2471 * <b>Definition:</b> 2472 * A nested sub-section within this section 2473 * </p> 2474 * @param theValue The section to add (must not be <code>null</code>) 2475 */ 2476 public Section addSection(Section theValue) { 2477 if (theValue == null) { 2478 throw new NullPointerException("theValue must not be null"); 2479 } 2480 getSection().add(theValue); 2481 return this; 2482 } 2483 2484 /** 2485 * Gets the first repetition for <b>section</b> (), 2486 * creating it if it does not already exist. 2487 * 2488 * <p> 2489 * <b>Definition:</b> 2490 * A nested sub-section within this section 2491 * </p> 2492 */ 2493 public Section getSectionFirstRep() { 2494 if (getSection().isEmpty()) { 2495 return addSection(); 2496 } 2497 return getSection().get(0); 2498 } 2499 2500 2501 2502 } 2503 2504 2505 2506 2507 @Override 2508 public String getResourceName() { 2509 return "Composition"; 2510 } 2511 2512 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2513 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2514 } 2515 2516 2517}