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>Communication</b> Resource 282 * () 283 * 284 * <p> 285 * <b>Definition:</b> 286 * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition. 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/Communication">http://hl7.org/fhir/profiles/Communication</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Communication", profile="http://hl7.org/fhir/profiles/Communication", id="communication") 301public class Communication extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>identifier</b> 306 * <p> 307 * Description: <b></b><br> 308 * Type: <b>token</b><br> 309 * Path: <b>Communication.identifier</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="identifier", path="Communication.identifier", description="", type="token" ) 313 public static final String SP_IDENTIFIER = "identifier"; 314 315 /** 316 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 317 * <p> 318 * Description: <b></b><br> 319 * Type: <b>token</b><br> 320 * Path: <b>Communication.identifier</b><br> 321 * </p> 322 */ 323 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 324 325 /** 326 * Search parameter constant for <b>category</b> 327 * <p> 328 * Description: <b></b><br> 329 * Type: <b>token</b><br> 330 * Path: <b>Communication.category</b><br> 331 * </p> 332 */ 333 @SearchParamDefinition(name="category", path="Communication.category", description="", type="token" ) 334 public static final String SP_CATEGORY = "category"; 335 336 /** 337 * <b>Fluent Client</b> search parameter constant for <b>category</b> 338 * <p> 339 * Description: <b></b><br> 340 * Type: <b>token</b><br> 341 * Path: <b>Communication.category</b><br> 342 * </p> 343 */ 344 public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY); 345 346 /** 347 * Search parameter constant for <b>sender</b> 348 * <p> 349 * Description: <b></b><br> 350 * Type: <b>reference</b><br> 351 * Path: <b>Communication.sender</b><br> 352 * </p> 353 */ 354 @SearchParamDefinition(name="sender", path="Communication.sender", description="", type="reference" , providesMembershipIn={ 355 @Compartment(name="Patient") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") , @Compartment(name="Device") } 356 ) 357 public static final String SP_SENDER = "sender"; 358 359 /** 360 * <b>Fluent Client</b> search parameter constant for <b>sender</b> 361 * <p> 362 * Description: <b></b><br> 363 * Type: <b>reference</b><br> 364 * Path: <b>Communication.sender</b><br> 365 * </p> 366 */ 367 public static final ReferenceClientParam SENDER = new ReferenceClientParam(SP_SENDER); 368 369 /** 370 * Search parameter constant for <b>recipient</b> 371 * <p> 372 * Description: <b></b><br> 373 * Type: <b>reference</b><br> 374 * Path: <b>Communication.recipient</b><br> 375 * </p> 376 */ 377 @SearchParamDefinition(name="recipient", path="Communication.recipient", description="", type="reference" , providesMembershipIn={ 378 @Compartment(name="Patient") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") , @Compartment(name="Device") } 379 ) 380 public static final String SP_RECIPIENT = "recipient"; 381 382 /** 383 * <b>Fluent Client</b> search parameter constant for <b>recipient</b> 384 * <p> 385 * Description: <b></b><br> 386 * Type: <b>reference</b><br> 387 * Path: <b>Communication.recipient</b><br> 388 * </p> 389 */ 390 public static final ReferenceClientParam RECIPIENT = new ReferenceClientParam(SP_RECIPIENT); 391 392 /** 393 * Search parameter constant for <b>medium</b> 394 * <p> 395 * Description: <b></b><br> 396 * Type: <b>token</b><br> 397 * Path: <b>Communication.medium</b><br> 398 * </p> 399 */ 400 @SearchParamDefinition(name="medium", path="Communication.medium", description="", type="token" ) 401 public static final String SP_MEDIUM = "medium"; 402 403 /** 404 * <b>Fluent Client</b> search parameter constant for <b>medium</b> 405 * <p> 406 * Description: <b></b><br> 407 * Type: <b>token</b><br> 408 * Path: <b>Communication.medium</b><br> 409 * </p> 410 */ 411 public static final TokenClientParam MEDIUM = new TokenClientParam(SP_MEDIUM); 412 413 /** 414 * Search parameter constant for <b>status</b> 415 * <p> 416 * Description: <b></b><br> 417 * Type: <b>token</b><br> 418 * Path: <b>Communication.status</b><br> 419 * </p> 420 */ 421 @SearchParamDefinition(name="status", path="Communication.status", description="", type="token" ) 422 public static final String SP_STATUS = "status"; 423 424 /** 425 * <b>Fluent Client</b> search parameter constant for <b>status</b> 426 * <p> 427 * Description: <b></b><br> 428 * Type: <b>token</b><br> 429 * Path: <b>Communication.status</b><br> 430 * </p> 431 */ 432 public static final TokenClientParam STATUS = new TokenClientParam(SP_STATUS); 433 434 /** 435 * Search parameter constant for <b>encounter</b> 436 * <p> 437 * Description: <b></b><br> 438 * Type: <b>reference</b><br> 439 * Path: <b>Communication.encounter</b><br> 440 * </p> 441 */ 442 @SearchParamDefinition(name="encounter", path="Communication.encounter", description="", type="reference" , providesMembershipIn={ 443 @Compartment(name="Encounter") } 444 ) 445 public static final String SP_ENCOUNTER = "encounter"; 446 447 /** 448 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 449 * <p> 450 * Description: <b></b><br> 451 * Type: <b>reference</b><br> 452 * Path: <b>Communication.encounter</b><br> 453 * </p> 454 */ 455 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 456 457 /** 458 * Search parameter constant for <b>sent</b> 459 * <p> 460 * Description: <b></b><br> 461 * Type: <b>date</b><br> 462 * Path: <b>Communication.sent</b><br> 463 * </p> 464 */ 465 @SearchParamDefinition(name="sent", path="Communication.sent", description="", type="date" ) 466 public static final String SP_SENT = "sent"; 467 468 /** 469 * <b>Fluent Client</b> search parameter constant for <b>sent</b> 470 * <p> 471 * Description: <b></b><br> 472 * Type: <b>date</b><br> 473 * Path: <b>Communication.sent</b><br> 474 * </p> 475 */ 476 public static final DateClientParam SENT = new DateClientParam(SP_SENT); 477 478 /** 479 * Search parameter constant for <b>received</b> 480 * <p> 481 * Description: <b></b><br> 482 * Type: <b>date</b><br> 483 * Path: <b>Communication.received</b><br> 484 * </p> 485 */ 486 @SearchParamDefinition(name="received", path="Communication.received", description="", type="date" ) 487 public static final String SP_RECEIVED = "received"; 488 489 /** 490 * <b>Fluent Client</b> search parameter constant for <b>received</b> 491 * <p> 492 * Description: <b></b><br> 493 * Type: <b>date</b><br> 494 * Path: <b>Communication.received</b><br> 495 * </p> 496 */ 497 public static final DateClientParam RECEIVED = new DateClientParam(SP_RECEIVED); 498 499 /** 500 * Search parameter constant for <b>subject</b> 501 * <p> 502 * Description: <b></b><br> 503 * Type: <b>reference</b><br> 504 * Path: <b>Communication.subject</b><br> 505 * </p> 506 */ 507 @SearchParamDefinition(name="subject", path="Communication.subject", description="", type="reference" , providesMembershipIn={ 508 @Compartment(name="Patient") } 509 ) 510 public static final String SP_SUBJECT = "subject"; 511 512 /** 513 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 514 * <p> 515 * Description: <b></b><br> 516 * Type: <b>reference</b><br> 517 * Path: <b>Communication.subject</b><br> 518 * </p> 519 */ 520 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 521 522 /** 523 * Search parameter constant for <b>patient</b> 524 * <p> 525 * Description: <b></b><br> 526 * Type: <b>reference</b><br> 527 * Path: <b>Communication.subject</b><br> 528 * </p> 529 */ 530 @SearchParamDefinition(name="patient", path="Communication.subject", description="", type="reference" ) 531 public static final String SP_PATIENT = "patient"; 532 533 /** 534 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 535 * <p> 536 * Description: <b></b><br> 537 * Type: <b>reference</b><br> 538 * Path: <b>Communication.subject</b><br> 539 * </p> 540 */ 541 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 542 543 /** 544 * Search parameter constant for <b>request</b> 545 * <p> 546 * Description: <b></b><br> 547 * Type: <b>reference</b><br> 548 * Path: <b>Communication.requestDetail</b><br> 549 * </p> 550 */ 551 @SearchParamDefinition(name="request", path="Communication.requestDetail", description="", type="reference" ) 552 public static final String SP_REQUEST = "request"; 553 554 /** 555 * <b>Fluent Client</b> search parameter constant for <b>request</b> 556 * <p> 557 * Description: <b></b><br> 558 * Type: <b>reference</b><br> 559 * Path: <b>Communication.requestDetail</b><br> 560 * </p> 561 */ 562 public static final ReferenceClientParam REQUEST = new ReferenceClientParam(SP_REQUEST); 563 564 565 /** 566 * Constant for fluent queries to be used to add include statements. Specifies 567 * the path value of "<b>Communication:encounter</b>". 568 */ 569 public static final Include INCLUDE_ENCOUNTER = new Include("Communication:encounter"); 570 571 /** 572 * Constant for fluent queries to be used to add include statements. Specifies 573 * the path value of "<b>Communication:patient</b>". 574 */ 575 public static final Include INCLUDE_PATIENT = new Include("Communication:patient"); 576 577 /** 578 * Constant for fluent queries to be used to add include statements. Specifies 579 * the path value of "<b>Communication:recipient</b>". 580 */ 581 public static final Include INCLUDE_RECIPIENT = new Include("Communication:recipient"); 582 583 /** 584 * Constant for fluent queries to be used to add include statements. Specifies 585 * the path value of "<b>Communication:request</b>". 586 */ 587 public static final Include INCLUDE_REQUEST = new Include("Communication:request"); 588 589 /** 590 * Constant for fluent queries to be used to add include statements. Specifies 591 * the path value of "<b>Communication:sender</b>". 592 */ 593 public static final Include INCLUDE_SENDER = new Include("Communication:sender"); 594 595 /** 596 * Constant for fluent queries to be used to add include statements. Specifies 597 * the path value of "<b>Communication:subject</b>". 598 */ 599 public static final Include INCLUDE_SUBJECT = new Include("Communication:subject"); 600 601 602 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 603 @Description( 604 shortDefinition="", 605 formalDefinition="Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)." 606 ) 607 private java.util.List<IdentifierDt> myIdentifier; 608 609 @Child(name="category", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=false, modifier=false) 610 @Description( 611 shortDefinition="", 612 formalDefinition="The type of message conveyed such as alert, notification, reminder, instruction, etc." 613 ) 614 private CodeableConceptDt myCategory; 615 616 @Child(name="sender", order=2, min=0, max=1, summary=false, modifier=false, type={ 617 ca.uhn.fhir.model.dstu2.resource.Device.class, ca.uhn.fhir.model.dstu2.resource.Organization.class, ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class }) 618 @Description( 619 shortDefinition="", 620 formalDefinition="The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication." 621 ) 622 private ResourceReferenceDt mySender; 623 624 @Child(name="recipient", order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 625 ca.uhn.fhir.model.dstu2.resource.Device.class, ca.uhn.fhir.model.dstu2.resource.Organization.class, ca.uhn.fhir.model.dstu2.resource.Patient.class, ca.uhn.fhir.model.dstu2.resource.Practitioner.class, ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class, ca.uhn.fhir.model.dstu2.resource.Group.class }) 626 @Description( 627 shortDefinition="", 628 formalDefinition="The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient. Â Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time)." 629 ) 630 private java.util.List<ResourceReferenceDt> myRecipient; 631 632 @Child(name="payload", order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 633 @Description( 634 shortDefinition="", 635 formalDefinition="Text, attachment(s), or resource(s) that was communicated to the recipient." 636 ) 637 private java.util.List<Payload> myPayload; 638 639 @Child(name="medium", type=CodeableConceptDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 640 @Description( 641 shortDefinition="", 642 formalDefinition="A channel that was used for this communication (e.g. email, fax)." 643 ) 644 private java.util.List<CodeableConceptDt> myMedium; 645 646 @Child(name="status", type=CodeDt.class, order=6, min=0, max=1, summary=false, modifier=true) 647 @Description( 648 shortDefinition="", 649 formalDefinition="The status of the transmission." 650 ) 651 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/communication-status") 652 private BoundCodeDt<CommunicationStatusEnum> myStatus; 653 654 @Child(name="encounter", order=7, min=0, max=1, summary=false, modifier=false, type={ 655 ca.uhn.fhir.model.dstu2.resource.Encounter.class }) 656 @Description( 657 shortDefinition="", 658 formalDefinition="The encounter within which the communication was sent." 659 ) 660 private ResourceReferenceDt myEncounter; 661 662 @Child(name="sent", type=DateTimeDt.class, order=8, min=0, max=1, summary=false, modifier=false) 663 @Description( 664 shortDefinition="", 665 formalDefinition="The time when this communication was sent." 666 ) 667 private DateTimeDt mySent; 668 669 @Child(name="received", type=DateTimeDt.class, order=9, min=0, max=1, summary=false, modifier=false) 670 @Description( 671 shortDefinition="", 672 formalDefinition="The time when this communication arrived at the destination." 673 ) 674 private DateTimeDt myReceived; 675 676 @Child(name="reason", type=CodeableConceptDt.class, order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 677 @Description( 678 shortDefinition="", 679 formalDefinition="The reason or justification for the communication." 680 ) 681 private java.util.List<CodeableConceptDt> myReason; 682 683 @Child(name="subject", order=11, min=0, max=1, summary=false, modifier=false, type={ 684 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 685 @Description( 686 shortDefinition="", 687 formalDefinition="The patient who was the focus of this communication." 688 ) 689 private ResourceReferenceDt mySubject; 690 691 @Child(name="requestDetail", order=12, min=0, max=1, summary=false, modifier=false, type={ 692 ca.uhn.fhir.model.dstu2.resource.CommunicationRequest.class }) 693 @Description( 694 shortDefinition="", 695 formalDefinition="The communication request that was responsible for producing this communication." 696 ) 697 private ResourceReferenceDt myRequestDetail; 698 699 700 @Override 701 public boolean isEmpty() { 702 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, myCategory, mySender, myRecipient, myPayload, myMedium, myStatus, myEncounter, mySent, myReceived, myReason, mySubject, myRequestDetail); 703 } 704 705 @Override 706 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 707 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myCategory, mySender, myRecipient, myPayload, myMedium, myStatus, myEncounter, mySent, myReceived, myReason, mySubject, myRequestDetail); 708 } 709 710 /** 711 * Gets the value(s) for <b>identifier</b> (). 712 * creating it if it does 713 * not exist. Will not return <code>null</code>. 714 * 715 * <p> 716 * <b>Definition:</b> 717 * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). 718 * </p> 719 */ 720 public java.util.List<IdentifierDt> getIdentifier() { 721 if (myIdentifier == null) { 722 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 723 } 724 return myIdentifier; 725 } 726 727 /** 728 * Sets the value(s) for <b>identifier</b> () 729 * 730 * <p> 731 * <b>Definition:</b> 732 * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). 733 * </p> 734 */ 735 public Communication setIdentifier(java.util.List<IdentifierDt> theValue) { 736 myIdentifier = theValue; 737 return this; 738 } 739 740 741 742 /** 743 * Adds and returns a new value for <b>identifier</b> () 744 * 745 * <p> 746 * <b>Definition:</b> 747 * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). 748 * </p> 749 */ 750 public IdentifierDt addIdentifier() { 751 IdentifierDt newType = new IdentifierDt(); 752 getIdentifier().add(newType); 753 return newType; 754 } 755 756 /** 757 * Adds a given new value for <b>identifier</b> () 758 * 759 * <p> 760 * <b>Definition:</b> 761 * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). 762 * </p> 763 * @param theValue The identifier to add (must not be <code>null</code>) 764 */ 765 public Communication addIdentifier(IdentifierDt theValue) { 766 if (theValue == null) { 767 throw new NullPointerException("theValue must not be null"); 768 } 769 getIdentifier().add(theValue); 770 return this; 771 } 772 773 /** 774 * Gets the first repetition for <b>identifier</b> (), 775 * creating it if it does not already exist. 776 * 777 * <p> 778 * <b>Definition:</b> 779 * Identifiers associated with this Communication that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). 780 * </p> 781 */ 782 public IdentifierDt getIdentifierFirstRep() { 783 if (getIdentifier().isEmpty()) { 784 return addIdentifier(); 785 } 786 return getIdentifier().get(0); 787 } 788 789 /** 790 * Gets the value(s) for <b>category</b> (). 791 * creating it if it does 792 * not exist. Will not return <code>null</code>. 793 * 794 * <p> 795 * <b>Definition:</b> 796 * The type of message conveyed such as alert, notification, reminder, instruction, etc. 797 * </p> 798 */ 799 public CodeableConceptDt getCategory() { 800 if (myCategory == null) { 801 myCategory = new CodeableConceptDt(); 802 } 803 return myCategory; 804 } 805 806 /** 807 * Sets the value(s) for <b>category</b> () 808 * 809 * <p> 810 * <b>Definition:</b> 811 * The type of message conveyed such as alert, notification, reminder, instruction, etc. 812 * </p> 813 */ 814 public Communication setCategory(CodeableConceptDt theValue) { 815 myCategory = theValue; 816 return this; 817 } 818 819 820 821 822 /** 823 * Gets the value(s) for <b>sender</b> (). 824 * creating it if it does 825 * not exist. Will not return <code>null</code>. 826 * 827 * <p> 828 * <b>Definition:</b> 829 * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. 830 * </p> 831 */ 832 public ResourceReferenceDt getSender() { 833 if (mySender == null) { 834 mySender = new ResourceReferenceDt(); 835 } 836 return mySender; 837 } 838 839 /** 840 * Sets the value(s) for <b>sender</b> () 841 * 842 * <p> 843 * <b>Definition:</b> 844 * The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication. 845 * </p> 846 */ 847 public Communication setSender(ResourceReferenceDt theValue) { 848 mySender = theValue; 849 return this; 850 } 851 852 853 854 855 /** 856 * Gets the value(s) for <b>recipient</b> (). 857 * creating it if it does 858 * not exist. Will not return <code>null</code>. 859 * 860 * <p> 861 * <b>Definition:</b> 862 * The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time). 863 * </p> 864 */ 865 public java.util.List<ResourceReferenceDt> getRecipient() { 866 if (myRecipient == null) { 867 myRecipient = new java.util.ArrayList<ResourceReferenceDt>(); 868 } 869 return myRecipient; 870 } 871 872 /** 873 * Sets the value(s) for <b>recipient</b> () 874 * 875 * <p> 876 * <b>Definition:</b> 877 * The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time). 878 * </p> 879 */ 880 public Communication setRecipient(java.util.List<ResourceReferenceDt> theValue) { 881 myRecipient = theValue; 882 return this; 883 } 884 885 886 887 /** 888 * Adds and returns a new value for <b>recipient</b> () 889 * 890 * <p> 891 * <b>Definition:</b> 892 * The entity (e.g. person, organization, clinical information system, or device) which was the target of the communication. If receipts need to be tracked by individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either a receipt(s) is not tracked (e.g. a mass mail-out) or is captured in aggregate (all emails confirmed received by a particular time). 893 * </p> 894 */ 895 public ResourceReferenceDt addRecipient() { 896 ResourceReferenceDt newType = new ResourceReferenceDt(); 897 getRecipient().add(newType); 898 return newType; 899 } 900 901 /** 902 * Gets the value(s) for <b>payload</b> (). 903 * creating it if it does 904 * not exist. Will not return <code>null</code>. 905 * 906 * <p> 907 * <b>Definition:</b> 908 * Text, attachment(s), or resource(s) that was communicated to the recipient. 909 * </p> 910 */ 911 public java.util.List<Payload> getPayload() { 912 if (myPayload == null) { 913 myPayload = new java.util.ArrayList<Payload>(); 914 } 915 return myPayload; 916 } 917 918 /** 919 * Sets the value(s) for <b>payload</b> () 920 * 921 * <p> 922 * <b>Definition:</b> 923 * Text, attachment(s), or resource(s) that was communicated to the recipient. 924 * </p> 925 */ 926 public Communication setPayload(java.util.List<Payload> theValue) { 927 myPayload = theValue; 928 return this; 929 } 930 931 932 933 /** 934 * Adds and returns a new value for <b>payload</b> () 935 * 936 * <p> 937 * <b>Definition:</b> 938 * Text, attachment(s), or resource(s) that was communicated to the recipient. 939 * </p> 940 */ 941 public Payload addPayload() { 942 Payload newType = new Payload(); 943 getPayload().add(newType); 944 return newType; 945 } 946 947 /** 948 * Adds a given new value for <b>payload</b> () 949 * 950 * <p> 951 * <b>Definition:</b> 952 * Text, attachment(s), or resource(s) that was communicated to the recipient. 953 * </p> 954 * @param theValue The payload to add (must not be <code>null</code>) 955 */ 956 public Communication addPayload(Payload theValue) { 957 if (theValue == null) { 958 throw new NullPointerException("theValue must not be null"); 959 } 960 getPayload().add(theValue); 961 return this; 962 } 963 964 /** 965 * Gets the first repetition for <b>payload</b> (), 966 * creating it if it does not already exist. 967 * 968 * <p> 969 * <b>Definition:</b> 970 * Text, attachment(s), or resource(s) that was communicated to the recipient. 971 * </p> 972 */ 973 public Payload getPayloadFirstRep() { 974 if (getPayload().isEmpty()) { 975 return addPayload(); 976 } 977 return getPayload().get(0); 978 } 979 980 /** 981 * Gets the value(s) for <b>medium</b> (). 982 * creating it if it does 983 * not exist. Will not return <code>null</code>. 984 * 985 * <p> 986 * <b>Definition:</b> 987 * A channel that was used for this communication (e.g. email, fax). 988 * </p> 989 */ 990 public java.util.List<CodeableConceptDt> getMedium() { 991 if (myMedium == null) { 992 myMedium = new java.util.ArrayList<CodeableConceptDt>(); 993 } 994 return myMedium; 995 } 996 997 /** 998 * Sets the value(s) for <b>medium</b> () 999 * 1000 * <p> 1001 * <b>Definition:</b> 1002 * A channel that was used for this communication (e.g. email, fax). 1003 * </p> 1004 */ 1005 public Communication setMedium(java.util.List<CodeableConceptDt> theValue) { 1006 myMedium = theValue; 1007 return this; 1008 } 1009 1010 1011 1012 /** 1013 * Adds and returns a new value for <b>medium</b> () 1014 * 1015 * <p> 1016 * <b>Definition:</b> 1017 * A channel that was used for this communication (e.g. email, fax). 1018 * </p> 1019 */ 1020 public CodeableConceptDt addMedium() { 1021 CodeableConceptDt newType = new CodeableConceptDt(); 1022 getMedium().add(newType); 1023 return newType; 1024 } 1025 1026 /** 1027 * Adds a given new value for <b>medium</b> () 1028 * 1029 * <p> 1030 * <b>Definition:</b> 1031 * A channel that was used for this communication (e.g. email, fax). 1032 * </p> 1033 * @param theValue The medium to add (must not be <code>null</code>) 1034 */ 1035 public Communication addMedium(CodeableConceptDt theValue) { 1036 if (theValue == null) { 1037 throw new NullPointerException("theValue must not be null"); 1038 } 1039 getMedium().add(theValue); 1040 return this; 1041 } 1042 1043 /** 1044 * Gets the first repetition for <b>medium</b> (), 1045 * creating it if it does not already exist. 1046 * 1047 * <p> 1048 * <b>Definition:</b> 1049 * A channel that was used for this communication (e.g. email, fax). 1050 * </p> 1051 */ 1052 public CodeableConceptDt getMediumFirstRep() { 1053 if (getMedium().isEmpty()) { 1054 return addMedium(); 1055 } 1056 return getMedium().get(0); 1057 } 1058 1059 /** 1060 * Gets the value(s) for <b>status</b> (). 1061 * creating it if it does 1062 * not exist. Will not return <code>null</code>. 1063 * 1064 * <p> 1065 * <b>Definition:</b> 1066 * The status of the transmission. 1067 * </p> 1068 */ 1069 public BoundCodeDt<CommunicationStatusEnum> getStatusElement() { 1070 if (myStatus == null) { 1071 myStatus = new BoundCodeDt<CommunicationStatusEnum>(CommunicationStatusEnum.VALUESET_BINDER); 1072 } 1073 return myStatus; 1074 } 1075 1076 1077 /** 1078 * Gets the value(s) for <b>status</b> (). 1079 * creating it if it does 1080 * not exist. This method may return <code>null</code>. 1081 * 1082 * <p> 1083 * <b>Definition:</b> 1084 * The status of the transmission. 1085 * </p> 1086 */ 1087 public String getStatus() { 1088 return getStatusElement().getValue(); 1089 } 1090 1091 /** 1092 * Sets the value(s) for <b>status</b> () 1093 * 1094 * <p> 1095 * <b>Definition:</b> 1096 * The status of the transmission. 1097 * </p> 1098 */ 1099 public Communication setStatus(BoundCodeDt<CommunicationStatusEnum> theValue) { 1100 myStatus = theValue; 1101 return this; 1102 } 1103 1104 1105 1106 /** 1107 * Sets the value(s) for <b>status</b> () 1108 * 1109 * <p> 1110 * <b>Definition:</b> 1111 * The status of the transmission. 1112 * </p> 1113 */ 1114 public Communication setStatus(CommunicationStatusEnum theValue) { 1115 setStatus(new BoundCodeDt<CommunicationStatusEnum>(CommunicationStatusEnum.VALUESET_BINDER, theValue)); 1116 1117/* 1118 getStatusElement().setValueAsEnum(theValue); 1119*/ 1120 return this; 1121 } 1122 1123 1124 /** 1125 * Gets the value(s) for <b>encounter</b> (). 1126 * creating it if it does 1127 * not exist. Will not return <code>null</code>. 1128 * 1129 * <p> 1130 * <b>Definition:</b> 1131 * The encounter within which the communication was sent. 1132 * </p> 1133 */ 1134 public ResourceReferenceDt getEncounter() { 1135 if (myEncounter == null) { 1136 myEncounter = new ResourceReferenceDt(); 1137 } 1138 return myEncounter; 1139 } 1140 1141 /** 1142 * Sets the value(s) for <b>encounter</b> () 1143 * 1144 * <p> 1145 * <b>Definition:</b> 1146 * The encounter within which the communication was sent. 1147 * </p> 1148 */ 1149 public Communication setEncounter(ResourceReferenceDt theValue) { 1150 myEncounter = theValue; 1151 return this; 1152 } 1153 1154 1155 1156 1157 /** 1158 * Gets the value(s) for <b>sent</b> (). 1159 * creating it if it does 1160 * not exist. Will not return <code>null</code>. 1161 * 1162 * <p> 1163 * <b>Definition:</b> 1164 * The time when this communication was sent. 1165 * </p> 1166 */ 1167 public DateTimeDt getSentElement() { 1168 if (mySent == null) { 1169 mySent = new DateTimeDt(); 1170 } 1171 return mySent; 1172 } 1173 1174 1175 /** 1176 * Gets the value(s) for <b>sent</b> (). 1177 * creating it if it does 1178 * not exist. This method may return <code>null</code>. 1179 * 1180 * <p> 1181 * <b>Definition:</b> 1182 * The time when this communication was sent. 1183 * </p> 1184 */ 1185 public Date getSent() { 1186 return getSentElement().getValue(); 1187 } 1188 1189 /** 1190 * Sets the value(s) for <b>sent</b> () 1191 * 1192 * <p> 1193 * <b>Definition:</b> 1194 * The time when this communication was sent. 1195 * </p> 1196 */ 1197 public Communication setSent(DateTimeDt theValue) { 1198 mySent = theValue; 1199 return this; 1200 } 1201 1202 1203 1204 /** 1205 * Sets the value for <b>sent</b> () 1206 * 1207 * <p> 1208 * <b>Definition:</b> 1209 * The time when this communication was sent. 1210 * </p> 1211 */ 1212 public Communication setSent( Date theDate, TemporalPrecisionEnum thePrecision) { 1213 mySent = new DateTimeDt(theDate, thePrecision); 1214 return this; 1215 } 1216 1217 /** 1218 * Sets the value for <b>sent</b> () 1219 * 1220 * <p> 1221 * <b>Definition:</b> 1222 * The time when this communication was sent. 1223 * </p> 1224 */ 1225 public Communication setSentWithSecondsPrecision( Date theDate) { 1226 mySent = new DateTimeDt(theDate); 1227 return this; 1228 } 1229 1230 1231 /** 1232 * Gets the value(s) for <b>received</b> (). 1233 * creating it if it does 1234 * not exist. Will not return <code>null</code>. 1235 * 1236 * <p> 1237 * <b>Definition:</b> 1238 * The time when this communication arrived at the destination. 1239 * </p> 1240 */ 1241 public DateTimeDt getReceivedElement() { 1242 if (myReceived == null) { 1243 myReceived = new DateTimeDt(); 1244 } 1245 return myReceived; 1246 } 1247 1248 1249 /** 1250 * Gets the value(s) for <b>received</b> (). 1251 * creating it if it does 1252 * not exist. This method may return <code>null</code>. 1253 * 1254 * <p> 1255 * <b>Definition:</b> 1256 * The time when this communication arrived at the destination. 1257 * </p> 1258 */ 1259 public Date getReceived() { 1260 return getReceivedElement().getValue(); 1261 } 1262 1263 /** 1264 * Sets the value(s) for <b>received</b> () 1265 * 1266 * <p> 1267 * <b>Definition:</b> 1268 * The time when this communication arrived at the destination. 1269 * </p> 1270 */ 1271 public Communication setReceived(DateTimeDt theValue) { 1272 myReceived = theValue; 1273 return this; 1274 } 1275 1276 1277 1278 /** 1279 * Sets the value for <b>received</b> () 1280 * 1281 * <p> 1282 * <b>Definition:</b> 1283 * The time when this communication arrived at the destination. 1284 * </p> 1285 */ 1286 public Communication setReceived( Date theDate, TemporalPrecisionEnum thePrecision) { 1287 myReceived = new DateTimeDt(theDate, thePrecision); 1288 return this; 1289 } 1290 1291 /** 1292 * Sets the value for <b>received</b> () 1293 * 1294 * <p> 1295 * <b>Definition:</b> 1296 * The time when this communication arrived at the destination. 1297 * </p> 1298 */ 1299 public Communication setReceivedWithSecondsPrecision( Date theDate) { 1300 myReceived = new DateTimeDt(theDate); 1301 return this; 1302 } 1303 1304 1305 /** 1306 * Gets the value(s) for <b>reason</b> (). 1307 * creating it if it does 1308 * not exist. Will not return <code>null</code>. 1309 * 1310 * <p> 1311 * <b>Definition:</b> 1312 * The reason or justification for the communication. 1313 * </p> 1314 */ 1315 public java.util.List<CodeableConceptDt> getReason() { 1316 if (myReason == null) { 1317 myReason = new java.util.ArrayList<CodeableConceptDt>(); 1318 } 1319 return myReason; 1320 } 1321 1322 /** 1323 * Sets the value(s) for <b>reason</b> () 1324 * 1325 * <p> 1326 * <b>Definition:</b> 1327 * The reason or justification for the communication. 1328 * </p> 1329 */ 1330 public Communication setReason(java.util.List<CodeableConceptDt> theValue) { 1331 myReason = theValue; 1332 return this; 1333 } 1334 1335 1336 1337 /** 1338 * Adds and returns a new value for <b>reason</b> () 1339 * 1340 * <p> 1341 * <b>Definition:</b> 1342 * The reason or justification for the communication. 1343 * </p> 1344 */ 1345 public CodeableConceptDt addReason() { 1346 CodeableConceptDt newType = new CodeableConceptDt(); 1347 getReason().add(newType); 1348 return newType; 1349 } 1350 1351 /** 1352 * Adds a given new value for <b>reason</b> () 1353 * 1354 * <p> 1355 * <b>Definition:</b> 1356 * The reason or justification for the communication. 1357 * </p> 1358 * @param theValue The reason to add (must not be <code>null</code>) 1359 */ 1360 public Communication addReason(CodeableConceptDt theValue) { 1361 if (theValue == null) { 1362 throw new NullPointerException("theValue must not be null"); 1363 } 1364 getReason().add(theValue); 1365 return this; 1366 } 1367 1368 /** 1369 * Gets the first repetition for <b>reason</b> (), 1370 * creating it if it does not already exist. 1371 * 1372 * <p> 1373 * <b>Definition:</b> 1374 * The reason or justification for the communication. 1375 * </p> 1376 */ 1377 public CodeableConceptDt getReasonFirstRep() { 1378 if (getReason().isEmpty()) { 1379 return addReason(); 1380 } 1381 return getReason().get(0); 1382 } 1383 1384 /** 1385 * Gets the value(s) for <b>subject</b> (). 1386 * creating it if it does 1387 * not exist. Will not return <code>null</code>. 1388 * 1389 * <p> 1390 * <b>Definition:</b> 1391 * The patient who was the focus of this communication. 1392 * </p> 1393 */ 1394 public ResourceReferenceDt getSubject() { 1395 if (mySubject == null) { 1396 mySubject = new ResourceReferenceDt(); 1397 } 1398 return mySubject; 1399 } 1400 1401 /** 1402 * Sets the value(s) for <b>subject</b> () 1403 * 1404 * <p> 1405 * <b>Definition:</b> 1406 * The patient who was the focus of this communication. 1407 * </p> 1408 */ 1409 public Communication setSubject(ResourceReferenceDt theValue) { 1410 mySubject = theValue; 1411 return this; 1412 } 1413 1414 1415 1416 1417 /** 1418 * Gets the value(s) for <b>requestDetail</b> (). 1419 * creating it if it does 1420 * not exist. Will not return <code>null</code>. 1421 * 1422 * <p> 1423 * <b>Definition:</b> 1424 * The communication request that was responsible for producing this communication. 1425 * </p> 1426 */ 1427 public ResourceReferenceDt getRequestDetail() { 1428 if (myRequestDetail == null) { 1429 myRequestDetail = new ResourceReferenceDt(); 1430 } 1431 return myRequestDetail; 1432 } 1433 1434 /** 1435 * Sets the value(s) for <b>requestDetail</b> () 1436 * 1437 * <p> 1438 * <b>Definition:</b> 1439 * The communication request that was responsible for producing this communication. 1440 * </p> 1441 */ 1442 public Communication setRequestDetail(ResourceReferenceDt theValue) { 1443 myRequestDetail = theValue; 1444 return this; 1445 } 1446 1447 1448 1449 1450 /** 1451 * Block class for child element: <b>Communication.payload</b> () 1452 * 1453 * <p> 1454 * <b>Definition:</b> 1455 * Text, attachment(s), or resource(s) that was communicated to the recipient. 1456 * </p> 1457 */ 1458 @Block() 1459 public static class Payload 1460 extends BaseIdentifiableElement implements IResourceBlock { 1461 1462 @Child(name="content", order=0, min=1, max=1, summary=false, modifier=false, type={ 1463 StringDt.class, AttachmentDt.class, IResource.class }) 1464 @Description( 1465 shortDefinition="", 1466 formalDefinition="A communicated content (or for multi-part communications, one portion of the communication)" 1467 ) 1468 private IDatatype myContent; 1469 1470 1471 @Override 1472 public boolean isEmpty() { 1473 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myContent); 1474 } 1475 1476 @Override 1477 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1478 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myContent); 1479 } 1480 1481 /** 1482 * Gets the value(s) for <b>content[x]</b> (). 1483 * creating it if it does 1484 * not exist. Will not return <code>null</code>. 1485 * 1486 * <p> 1487 * <b>Definition:</b> 1488 * A communicated content (or for multi-part communications, one portion of the communication) 1489 * </p> 1490 */ 1491 public IDatatype getContent() { 1492 return myContent; 1493 } 1494 1495 /** 1496 * Sets the value(s) for <b>content[x]</b> () 1497 * 1498 * <p> 1499 * <b>Definition:</b> 1500 * A communicated content (or for multi-part communications, one portion of the communication) 1501 * </p> 1502 */ 1503 public Payload setContent(IDatatype theValue) { 1504 myContent = theValue; 1505 return this; 1506 } 1507 1508 1509 1510 1511 1512 1513 } 1514 1515 1516 1517 1518 @Override 1519 public String getResourceName() { 1520 return "Communication"; 1521 } 1522 1523 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1524 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1525 } 1526 1527 1528}