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.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>Claim</b> Resource 320 * () 321 * 322 * <p> 323 * <b>Definition:</b> 324 * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/Claim">http://hl7.org/fhir/profiles/Claim</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="Claim", profile="http://hl7.org/fhir/profiles/Claim", id="claim") 339public class Claim extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>identifier</b> 344 * <p> 345 * Description: <b>The primary identifier of the financial resource</b><br> 346 * Type: <b>token</b><br> 347 * Path: <b>Claim.identifier</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="identifier", path="Claim.identifier", description="The primary identifier of the financial resource", type="token" ) 351 public static final String SP_IDENTIFIER = "identifier"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 355 * <p> 356 * Description: <b>The primary identifier of the financial resource</b><br> 357 * Type: <b>token</b><br> 358 * Path: <b>Claim.identifier</b><br> 359 * </p> 360 */ 361 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 362 363 /** 364 * Search parameter constant for <b>use</b> 365 * <p> 366 * Description: <b>The kind of financial resource</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>Claim.use</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="use", path="Claim.use", description="The kind of financial resource", type="token" ) 372 public static final String SP_USE = "use"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>use</b> 376 * <p> 377 * Description: <b>The kind of financial resource</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>Claim.use</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam USE = new TokenClientParam(SP_USE); 383 384 /** 385 * Search parameter constant for <b>priority</b> 386 * <p> 387 * Description: <b>Processing priority requested</b><br> 388 * Type: <b>token</b><br> 389 * Path: <b>Claim.priority</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="priority", path="Claim.priority", description="Processing priority requested", type="token" ) 393 public static final String SP_PRIORITY = "priority"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>priority</b> 397 * <p> 398 * Description: <b>Processing priority requested</b><br> 399 * Type: <b>token</b><br> 400 * Path: <b>Claim.priority</b><br> 401 * </p> 402 */ 403 public static final TokenClientParam PRIORITY = new TokenClientParam(SP_PRIORITY); 404 405 /** 406 * Search parameter constant for <b>patient</b> 407 * <p> 408 * Description: <b>Patient</b><br> 409 * Type: <b>reference</b><br> 410 * Path: <b>Claim.patient</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="patient", path="Claim.patient", description="Patient", type="reference" ) 414 public static final String SP_PATIENT = "patient"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 418 * <p> 419 * Description: <b>Patient</b><br> 420 * Type: <b>reference</b><br> 421 * Path: <b>Claim.patient</b><br> 422 * </p> 423 */ 424 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 425 426 /** 427 * Search parameter constant for <b>provider</b> 428 * <p> 429 * Description: <b>Provider responsible for the claim</b><br> 430 * Type: <b>reference</b><br> 431 * Path: <b>Claim.provider</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="provider", path="Claim.provider", description="Provider responsible for the claim", type="reference" ) 435 public static final String SP_PROVIDER = "provider"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>provider</b> 439 * <p> 440 * Description: <b>Provider responsible for the claim</b><br> 441 * Type: <b>reference</b><br> 442 * Path: <b>Claim.provider</b><br> 443 * </p> 444 */ 445 public static final ReferenceClientParam PROVIDER = new ReferenceClientParam(SP_PROVIDER); 446 447 448 /** 449 * Constant for fluent queries to be used to add include statements. Specifies 450 * the path value of "<b>Claim:patient</b>". 451 */ 452 public static final Include INCLUDE_PATIENT = new Include("Claim:patient"); 453 454 /** 455 * Constant for fluent queries to be used to add include statements. Specifies 456 * the path value of "<b>Claim:provider</b>". 457 */ 458 public static final Include INCLUDE_PROVIDER = new Include("Claim:provider"); 459 460 461 @Child(name="type", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false) 462 @Description( 463 shortDefinition="", 464 formalDefinition="The category of claim this is" 465 ) 466 private BoundCodeDt<ClaimTypeEnum> myType; 467 468 @Child(name="identifier", type=IdentifierDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 469 @Description( 470 shortDefinition="", 471 formalDefinition="The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number." 472 ) 473 private java.util.List<IdentifierDt> myIdentifier; 474 475 @Child(name="ruleset", type=CodingDt.class, order=2, min=0, max=1, summary=false, modifier=false) 476 @Description( 477 shortDefinition="", 478 formalDefinition="The version of the specification on which this instance relies." 479 ) 480 private CodingDt myRuleset; 481 482 @Child(name="originalRuleset", type=CodingDt.class, order=3, min=0, max=1, summary=false, modifier=false) 483 @Description( 484 shortDefinition="", 485 formalDefinition="The version of the specification from which the original instance was created." 486 ) 487 private CodingDt myOriginalRuleset; 488 489 @Child(name="created", type=DateTimeDt.class, order=4, min=0, max=1, summary=false, modifier=false) 490 @Description( 491 shortDefinition="", 492 formalDefinition="The date when the enclosed suite of services were performed or completed" 493 ) 494 private DateTimeDt myCreated; 495 496 @Child(name="target", order=5, min=0, max=1, summary=false, modifier=false, type={ 497 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 498 @Description( 499 shortDefinition="", 500 formalDefinition="Insurer Identifier, typical BIN number (6 digit)." 501 ) 502 private ResourceReferenceDt myTarget; 503 504 @Child(name="provider", order=6, min=0, max=1, summary=false, modifier=false, type={ 505 ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 506 @Description( 507 shortDefinition="", 508 formalDefinition="The provider which is responsible for the bill, claim pre-determination, pre-authorization." 509 ) 510 private ResourceReferenceDt myProvider; 511 512 @Child(name="organization", order=7, min=0, max=1, summary=false, modifier=false, type={ 513 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 514 @Description( 515 shortDefinition="", 516 formalDefinition="The organization which is responsible for the bill, claim pre-determination, pre-authorization." 517 ) 518 private ResourceReferenceDt myOrganization; 519 520 @Child(name="use", type=CodeDt.class, order=8, min=0, max=1, summary=false, modifier=false) 521 @Description( 522 shortDefinition="", 523 formalDefinition="Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination)." 524 ) 525 private BoundCodeDt<UseEnum> myUse; 526 527 @Child(name="priority", type=CodingDt.class, order=9, min=0, max=1, summary=false, modifier=false) 528 @Description( 529 shortDefinition="", 530 formalDefinition="Immediate (stat), best effort (normal), deferred (deferred)" 531 ) 532 private CodingDt myPriority; 533 534 @Child(name="fundsReserve", type=CodingDt.class, order=10, min=0, max=1, summary=false, modifier=false) 535 @Description( 536 shortDefinition="", 537 formalDefinition="In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved ('Patient' or 'Provider') to pay for the Benefits determined on the subsequent claim(s). 'None' explicitly indicates no funds reserving is requested." 538 ) 539 private CodingDt myFundsReserve; 540 541 @Child(name="enterer", order=11, min=0, max=1, summary=false, modifier=false, type={ 542 ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 543 @Description( 544 shortDefinition="", 545 formalDefinition="Person who created the invoice/claim/pre-determination or pre-authorization." 546 ) 547 private ResourceReferenceDt myEnterer; 548 549 @Child(name="facility", order=12, min=0, max=1, summary=false, modifier=false, type={ 550 ca.uhn.fhir.model.dstu2.resource.Location.class }) 551 @Description( 552 shortDefinition="", 553 formalDefinition="Facility where the services were provided." 554 ) 555 private ResourceReferenceDt myFacility; 556 557 @Child(name="prescription", order=13, min=0, max=1, summary=false, modifier=false, type={ 558 ca.uhn.fhir.model.dstu2.resource.MedicationOrder.class, ca.uhn.fhir.model.dstu2.resource.VisionPrescription.class }) 559 @Description( 560 shortDefinition="", 561 formalDefinition="Prescription to support the dispensing of Pharmacy or Vision products." 562 ) 563 private ResourceReferenceDt myPrescription; 564 565 @Child(name="originalPrescription", order=14, min=0, max=1, summary=false, modifier=false, type={ 566 ca.uhn.fhir.model.dstu2.resource.MedicationOrder.class }) 567 @Description( 568 shortDefinition="", 569 formalDefinition="Original prescription to support the dispensing of pharmacy services, medications or products." 570 ) 571 private ResourceReferenceDt myOriginalPrescription; 572 573 @Child(name="payee", order=15, min=0, max=1, summary=false, modifier=false) 574 @Description( 575 shortDefinition="", 576 formalDefinition="The party to be reimbursed for the services." 577 ) 578 private Payee myPayee; 579 580 @Child(name="referral", order=16, min=0, max=1, summary=false, modifier=false, type={ 581 ca.uhn.fhir.model.dstu2.resource.ReferralRequest.class }) 582 @Description( 583 shortDefinition="", 584 formalDefinition="The referral resource which lists the date, practitioner, reason and other supporting information." 585 ) 586 private ResourceReferenceDt myReferral; 587 588 @Child(name="diagnosis", order=17, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 589 @Description( 590 shortDefinition="", 591 formalDefinition="Ordered list of patient diagnosis for which care is sought." 592 ) 593 private java.util.List<Diagnosis> myDiagnosis; 594 595 @Child(name="condition", type=CodingDt.class, order=18, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 596 @Description( 597 shortDefinition="", 598 formalDefinition="List of patient conditions for which care is sought." 599 ) 600 private java.util.List<CodingDt> myCondition; 601 602 @Child(name="patient", order=19, min=1, max=1, summary=false, modifier=false, type={ 603 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 604 @Description( 605 shortDefinition="", 606 formalDefinition="Patient Resource" 607 ) 608 private ResourceReferenceDt myPatient; 609 610 @Child(name="coverage", order=20, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 611 @Description( 612 shortDefinition="", 613 formalDefinition="Financial instrument by which payment information for health care" 614 ) 615 private java.util.List<Coverage> myCoverage; 616 617 @Child(name="exception", type=CodingDt.class, order=21, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 618 @Description( 619 shortDefinition="", 620 formalDefinition="Factors which may influence the applicability of coverage." 621 ) 622 private java.util.List<CodingDt> myException; 623 624 @Child(name="school", type=StringDt.class, order=22, min=0, max=1, summary=false, modifier=false) 625 @Description( 626 shortDefinition="", 627 formalDefinition="Name of school for over-aged dependents." 628 ) 629 private StringDt mySchool; 630 631 @Child(name="accident", type=DateDt.class, order=23, min=0, max=1, summary=false, modifier=false) 632 @Description( 633 shortDefinition="", 634 formalDefinition="Date of an accident which these services are addressing." 635 ) 636 private DateDt myAccident; 637 638 @Child(name="accidentType", type=CodingDt.class, order=24, min=0, max=1, summary=false, modifier=false) 639 @Description( 640 shortDefinition="", 641 formalDefinition="Type of accident: work, auto, etc." 642 ) 643 private CodingDt myAccidentType; 644 645 @Child(name="interventionException", type=CodingDt.class, order=25, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 646 @Description( 647 shortDefinition="", 648 formalDefinition="A list of intervention and exception codes which may influence the adjudication of the claim." 649 ) 650 private java.util.List<CodingDt> myInterventionException; 651 652 @Child(name="item", order=26, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 653 @Description( 654 shortDefinition="", 655 formalDefinition="First tier of goods and services" 656 ) 657 private java.util.List<Item> myItem; 658 659 @Child(name="additionalMaterials", type=CodingDt.class, order=27, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 660 @Description( 661 shortDefinition="", 662 formalDefinition="Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission." 663 ) 664 private java.util.List<CodingDt> myAdditionalMaterials; 665 666 @Child(name="missingTeeth", order=28, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 667 @Description( 668 shortDefinition="", 669 formalDefinition="A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons." 670 ) 671 private java.util.List<MissingTeeth> myMissingTeeth; 672 673 674 @Override 675 public boolean isEmpty() { 676 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myIdentifier, myRuleset, myOriginalRuleset, myCreated, myTarget, myProvider, myOrganization, myUse, myPriority, myFundsReserve, myEnterer, myFacility, myPrescription, myOriginalPrescription, myPayee, myReferral, myDiagnosis, myCondition, myPatient, myCoverage, myException, mySchool, myAccident, myAccidentType, myInterventionException, myItem, myAdditionalMaterials, myMissingTeeth); 677 } 678 679 @Override 680 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 681 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myIdentifier, myRuleset, myOriginalRuleset, myCreated, myTarget, myProvider, myOrganization, myUse, myPriority, myFundsReserve, myEnterer, myFacility, myPrescription, myOriginalPrescription, myPayee, myReferral, myDiagnosis, myCondition, myPatient, myCoverage, myException, mySchool, myAccident, myAccidentType, myInterventionException, myItem, myAdditionalMaterials, myMissingTeeth); 682 } 683 684 /** 685 * Gets the value(s) for <b>type</b> (). 686 * creating it if it does 687 * not exist. Will not return <code>null</code>. 688 * 689 * <p> 690 * <b>Definition:</b> 691 * The category of claim this is 692 * </p> 693 */ 694 public BoundCodeDt<ClaimTypeEnum> getTypeElement() { 695 if (myType == null) { 696 myType = new BoundCodeDt<ClaimTypeEnum>(ClaimTypeEnum.VALUESET_BINDER); 697 } 698 return myType; 699 } 700 701 702 /** 703 * Gets the value(s) for <b>type</b> (). 704 * creating it if it does 705 * not exist. Will not return <code>null</code>. 706 * 707 * <p> 708 * <b>Definition:</b> 709 * The category of claim this is 710 * </p> 711 */ 712 public String getType() { 713 return getTypeElement().getValue(); 714 } 715 716 /** 717 * Sets the value(s) for <b>type</b> () 718 * 719 * <p> 720 * <b>Definition:</b> 721 * The category of claim this is 722 * </p> 723 */ 724 public Claim setType(BoundCodeDt<ClaimTypeEnum> theValue) { 725 myType = theValue; 726 return this; 727 } 728 729 730 731 /** 732 * Sets the value(s) for <b>type</b> () 733 * 734 * <p> 735 * <b>Definition:</b> 736 * The category of claim this is 737 * </p> 738 */ 739 public Claim setType(ClaimTypeEnum theValue) { 740 setType(new BoundCodeDt<ClaimTypeEnum>(ClaimTypeEnum.VALUESET_BINDER, theValue)); 741 742/* 743 getTypeElement().setValueAsEnum(theValue); 744*/ 745 return this; 746 } 747 748 749 /** 750 * Gets the value(s) for <b>identifier</b> (). 751 * creating it if it does 752 * not exist. Will not return <code>null</code>. 753 * 754 * <p> 755 * <b>Definition:</b> 756 * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. 757 * </p> 758 */ 759 public java.util.List<IdentifierDt> getIdentifier() { 760 if (myIdentifier == null) { 761 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 762 } 763 return myIdentifier; 764 } 765 766 /** 767 * Sets the value(s) for <b>identifier</b> () 768 * 769 * <p> 770 * <b>Definition:</b> 771 * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. 772 * </p> 773 */ 774 public Claim setIdentifier(java.util.List<IdentifierDt> theValue) { 775 myIdentifier = theValue; 776 return this; 777 } 778 779 780 781 /** 782 * Adds and returns a new value for <b>identifier</b> () 783 * 784 * <p> 785 * <b>Definition:</b> 786 * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. 787 * </p> 788 */ 789 public IdentifierDt addIdentifier() { 790 IdentifierDt newType = new IdentifierDt(); 791 getIdentifier().add(newType); 792 return newType; 793 } 794 795 /** 796 * Adds a given new value for <b>identifier</b> () 797 * 798 * <p> 799 * <b>Definition:</b> 800 * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. 801 * </p> 802 * @param theValue The identifier to add (must not be <code>null</code>) 803 */ 804 public Claim addIdentifier(IdentifierDt theValue) { 805 if (theValue == null) { 806 throw new NullPointerException("theValue must not be null"); 807 } 808 getIdentifier().add(theValue); 809 return this; 810 } 811 812 /** 813 * Gets the first repetition for <b>identifier</b> (), 814 * creating it if it does not already exist. 815 * 816 * <p> 817 * <b>Definition:</b> 818 * The business identifier for the instance: invoice number, claim number, pre-determination or pre-authorization number. 819 * </p> 820 */ 821 public IdentifierDt getIdentifierFirstRep() { 822 if (getIdentifier().isEmpty()) { 823 return addIdentifier(); 824 } 825 return getIdentifier().get(0); 826 } 827 828 /** 829 * Gets the value(s) for <b>ruleset</b> (). 830 * creating it if it does 831 * not exist. Will not return <code>null</code>. 832 * 833 * <p> 834 * <b>Definition:</b> 835 * The version of the specification on which this instance relies. 836 * </p> 837 */ 838 public CodingDt getRuleset() { 839 if (myRuleset == null) { 840 myRuleset = new CodingDt(); 841 } 842 return myRuleset; 843 } 844 845 /** 846 * Sets the value(s) for <b>ruleset</b> () 847 * 848 * <p> 849 * <b>Definition:</b> 850 * The version of the specification on which this instance relies. 851 * </p> 852 */ 853 public Claim setRuleset(CodingDt theValue) { 854 myRuleset = theValue; 855 return this; 856 } 857 858 859 860 861 /** 862 * Gets the value(s) for <b>originalRuleset</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 version of the specification from which the original instance was created. 869 * </p> 870 */ 871 public CodingDt getOriginalRuleset() { 872 if (myOriginalRuleset == null) { 873 myOriginalRuleset = new CodingDt(); 874 } 875 return myOriginalRuleset; 876 } 877 878 /** 879 * Sets the value(s) for <b>originalRuleset</b> () 880 * 881 * <p> 882 * <b>Definition:</b> 883 * The version of the specification from which the original instance was created. 884 * </p> 885 */ 886 public Claim setOriginalRuleset(CodingDt theValue) { 887 myOriginalRuleset = theValue; 888 return this; 889 } 890 891 892 893 894 /** 895 * Gets the value(s) for <b>created</b> (). 896 * creating it if it does 897 * not exist. Will not return <code>null</code>. 898 * 899 * <p> 900 * <b>Definition:</b> 901 * The date when the enclosed suite of services were performed or completed 902 * </p> 903 */ 904 public DateTimeDt getCreatedElement() { 905 if (myCreated == null) { 906 myCreated = new DateTimeDt(); 907 } 908 return myCreated; 909 } 910 911 912 /** 913 * Gets the value(s) for <b>created</b> (). 914 * creating it if it does 915 * not exist. Will not return <code>null</code>. 916 * 917 * <p> 918 * <b>Definition:</b> 919 * The date when the enclosed suite of services were performed or completed 920 * </p> 921 */ 922 public Date getCreated() { 923 return getCreatedElement().getValue(); 924 } 925 926 /** 927 * Sets the value(s) for <b>created</b> () 928 * 929 * <p> 930 * <b>Definition:</b> 931 * The date when the enclosed suite of services were performed or completed 932 * </p> 933 */ 934 public Claim setCreated(DateTimeDt theValue) { 935 myCreated = theValue; 936 return this; 937 } 938 939 940 941 /** 942 * Sets the value for <b>created</b> () 943 * 944 * <p> 945 * <b>Definition:</b> 946 * The date when the enclosed suite of services were performed or completed 947 * </p> 948 */ 949 public Claim setCreated( Date theDate, TemporalPrecisionEnum thePrecision) { 950 myCreated = new DateTimeDt(theDate, thePrecision); 951 return this; 952 } 953 954 /** 955 * Sets the value for <b>created</b> () 956 * 957 * <p> 958 * <b>Definition:</b> 959 * The date when the enclosed suite of services were performed or completed 960 * </p> 961 */ 962 public Claim setCreatedWithSecondsPrecision( Date theDate) { 963 myCreated = new DateTimeDt(theDate); 964 return this; 965 } 966 967 968 /** 969 * Gets the value(s) for <b>target</b> (). 970 * creating it if it does 971 * not exist. Will not return <code>null</code>. 972 * 973 * <p> 974 * <b>Definition:</b> 975 * Insurer Identifier, typical BIN number (6 digit). 976 * </p> 977 */ 978 public ResourceReferenceDt getTarget() { 979 if (myTarget == null) { 980 myTarget = new ResourceReferenceDt(); 981 } 982 return myTarget; 983 } 984 985 /** 986 * Sets the value(s) for <b>target</b> () 987 * 988 * <p> 989 * <b>Definition:</b> 990 * Insurer Identifier, typical BIN number (6 digit). 991 * </p> 992 */ 993 public Claim setTarget(ResourceReferenceDt theValue) { 994 myTarget = theValue; 995 return this; 996 } 997 998 999 1000 1001 /** 1002 * Gets the value(s) for <b>provider</b> (). 1003 * creating it if it does 1004 * not exist. Will not return <code>null</code>. 1005 * 1006 * <p> 1007 * <b>Definition:</b> 1008 * The provider which is responsible for the bill, claim pre-determination, pre-authorization. 1009 * </p> 1010 */ 1011 public ResourceReferenceDt getProvider() { 1012 if (myProvider == null) { 1013 myProvider = new ResourceReferenceDt(); 1014 } 1015 return myProvider; 1016 } 1017 1018 /** 1019 * Sets the value(s) for <b>provider</b> () 1020 * 1021 * <p> 1022 * <b>Definition:</b> 1023 * The provider which is responsible for the bill, claim pre-determination, pre-authorization. 1024 * </p> 1025 */ 1026 public Claim setProvider(ResourceReferenceDt theValue) { 1027 myProvider = theValue; 1028 return this; 1029 } 1030 1031 1032 1033 1034 /** 1035 * Gets the value(s) for <b>organization</b> (). 1036 * creating it if it does 1037 * not exist. Will not return <code>null</code>. 1038 * 1039 * <p> 1040 * <b>Definition:</b> 1041 * The organization which is responsible for the bill, claim pre-determination, pre-authorization. 1042 * </p> 1043 */ 1044 public ResourceReferenceDt getOrganization() { 1045 if (myOrganization == null) { 1046 myOrganization = new ResourceReferenceDt(); 1047 } 1048 return myOrganization; 1049 } 1050 1051 /** 1052 * Sets the value(s) for <b>organization</b> () 1053 * 1054 * <p> 1055 * <b>Definition:</b> 1056 * The organization which is responsible for the bill, claim pre-determination, pre-authorization. 1057 * </p> 1058 */ 1059 public Claim setOrganization(ResourceReferenceDt theValue) { 1060 myOrganization = theValue; 1061 return this; 1062 } 1063 1064 1065 1066 1067 /** 1068 * Gets the value(s) for <b>use</b> (). 1069 * creating it if it does 1070 * not exist. Will not return <code>null</code>. 1071 * 1072 * <p> 1073 * <b>Definition:</b> 1074 * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). 1075 * </p> 1076 */ 1077 public BoundCodeDt<UseEnum> getUseElement() { 1078 if (myUse == null) { 1079 myUse = new BoundCodeDt<UseEnum>(UseEnum.VALUESET_BINDER); 1080 } 1081 return myUse; 1082 } 1083 1084 1085 /** 1086 * Gets the value(s) for <b>use</b> (). 1087 * creating it if it does 1088 * not exist. Will not return <code>null</code>. 1089 * 1090 * <p> 1091 * <b>Definition:</b> 1092 * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). 1093 * </p> 1094 */ 1095 public String getUse() { 1096 return getUseElement().getValue(); 1097 } 1098 1099 /** 1100 * Sets the value(s) for <b>use</b> () 1101 * 1102 * <p> 1103 * <b>Definition:</b> 1104 * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). 1105 * </p> 1106 */ 1107 public Claim setUse(BoundCodeDt<UseEnum> theValue) { 1108 myUse = theValue; 1109 return this; 1110 } 1111 1112 1113 1114 /** 1115 * Sets the value(s) for <b>use</b> () 1116 * 1117 * <p> 1118 * <b>Definition:</b> 1119 * Complete (Bill or Claim), Proposed (Pre-Authorization), Exploratory (Pre-determination). 1120 * </p> 1121 */ 1122 public Claim setUse(UseEnum theValue) { 1123 setUse(new BoundCodeDt<UseEnum>(UseEnum.VALUESET_BINDER, theValue)); 1124 1125/* 1126 getUseElement().setValueAsEnum(theValue); 1127*/ 1128 return this; 1129 } 1130 1131 1132 /** 1133 * Gets the value(s) for <b>priority</b> (). 1134 * creating it if it does 1135 * not exist. Will not return <code>null</code>. 1136 * 1137 * <p> 1138 * <b>Definition:</b> 1139 * Immediate (stat), best effort (normal), deferred (deferred) 1140 * </p> 1141 */ 1142 public CodingDt getPriority() { 1143 if (myPriority == null) { 1144 myPriority = new CodingDt(); 1145 } 1146 return myPriority; 1147 } 1148 1149 /** 1150 * Sets the value(s) for <b>priority</b> () 1151 * 1152 * <p> 1153 * <b>Definition:</b> 1154 * Immediate (stat), best effort (normal), deferred (deferred) 1155 * </p> 1156 */ 1157 public Claim setPriority(CodingDt theValue) { 1158 myPriority = theValue; 1159 return this; 1160 } 1161 1162 1163 1164 1165 /** 1166 * Gets the value(s) for <b>fundsReserve</b> (). 1167 * creating it if it does 1168 * not exist. Will not return <code>null</code>. 1169 * 1170 * <p> 1171 * <b>Definition:</b> 1172 * In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved ('Patient' or 'Provider') to pay for the Benefits determined on the subsequent claim(s). 'None' explicitly indicates no funds reserving is requested. 1173 * </p> 1174 */ 1175 public CodingDt getFundsReserve() { 1176 if (myFundsReserve == null) { 1177 myFundsReserve = new CodingDt(); 1178 } 1179 return myFundsReserve; 1180 } 1181 1182 /** 1183 * Sets the value(s) for <b>fundsReserve</b> () 1184 * 1185 * <p> 1186 * <b>Definition:</b> 1187 * In the case of a Pre-Determination/Pre-Authorization the provider may request that funds in the amount of the expected Benefit be reserved ('Patient' or 'Provider') to pay for the Benefits determined on the subsequent claim(s). 'None' explicitly indicates no funds reserving is requested. 1188 * </p> 1189 */ 1190 public Claim setFundsReserve(CodingDt theValue) { 1191 myFundsReserve = theValue; 1192 return this; 1193 } 1194 1195 1196 1197 1198 /** 1199 * Gets the value(s) for <b>enterer</b> (). 1200 * creating it if it does 1201 * not exist. Will not return <code>null</code>. 1202 * 1203 * <p> 1204 * <b>Definition:</b> 1205 * Person who created the invoice/claim/pre-determination or pre-authorization. 1206 * </p> 1207 */ 1208 public ResourceReferenceDt getEnterer() { 1209 if (myEnterer == null) { 1210 myEnterer = new ResourceReferenceDt(); 1211 } 1212 return myEnterer; 1213 } 1214 1215 /** 1216 * Sets the value(s) for <b>enterer</b> () 1217 * 1218 * <p> 1219 * <b>Definition:</b> 1220 * Person who created the invoice/claim/pre-determination or pre-authorization. 1221 * </p> 1222 */ 1223 public Claim setEnterer(ResourceReferenceDt theValue) { 1224 myEnterer = theValue; 1225 return this; 1226 } 1227 1228 1229 1230 1231 /** 1232 * Gets the value(s) for <b>facility</b> (). 1233 * creating it if it does 1234 * not exist. Will not return <code>null</code>. 1235 * 1236 * <p> 1237 * <b>Definition:</b> 1238 * Facility where the services were provided. 1239 * </p> 1240 */ 1241 public ResourceReferenceDt getFacility() { 1242 if (myFacility == null) { 1243 myFacility = new ResourceReferenceDt(); 1244 } 1245 return myFacility; 1246 } 1247 1248 /** 1249 * Sets the value(s) for <b>facility</b> () 1250 * 1251 * <p> 1252 * <b>Definition:</b> 1253 * Facility where the services were provided. 1254 * </p> 1255 */ 1256 public Claim setFacility(ResourceReferenceDt theValue) { 1257 myFacility = theValue; 1258 return this; 1259 } 1260 1261 1262 1263 1264 /** 1265 * Gets the value(s) for <b>prescription</b> (). 1266 * creating it if it does 1267 * not exist. Will not return <code>null</code>. 1268 * 1269 * <p> 1270 * <b>Definition:</b> 1271 * Prescription to support the dispensing of Pharmacy or Vision products. 1272 * </p> 1273 */ 1274 public ResourceReferenceDt getPrescription() { 1275 if (myPrescription == null) { 1276 myPrescription = new ResourceReferenceDt(); 1277 } 1278 return myPrescription; 1279 } 1280 1281 /** 1282 * Sets the value(s) for <b>prescription</b> () 1283 * 1284 * <p> 1285 * <b>Definition:</b> 1286 * Prescription to support the dispensing of Pharmacy or Vision products. 1287 * </p> 1288 */ 1289 public Claim setPrescription(ResourceReferenceDt theValue) { 1290 myPrescription = theValue; 1291 return this; 1292 } 1293 1294 1295 1296 1297 /** 1298 * Gets the value(s) for <b>originalPrescription</b> (). 1299 * creating it if it does 1300 * not exist. Will not return <code>null</code>. 1301 * 1302 * <p> 1303 * <b>Definition:</b> 1304 * Original prescription to support the dispensing of pharmacy services, medications or products. 1305 * </p> 1306 */ 1307 public ResourceReferenceDt getOriginalPrescription() { 1308 if (myOriginalPrescription == null) { 1309 myOriginalPrescription = new ResourceReferenceDt(); 1310 } 1311 return myOriginalPrescription; 1312 } 1313 1314 /** 1315 * Sets the value(s) for <b>originalPrescription</b> () 1316 * 1317 * <p> 1318 * <b>Definition:</b> 1319 * Original prescription to support the dispensing of pharmacy services, medications or products. 1320 * </p> 1321 */ 1322 public Claim setOriginalPrescription(ResourceReferenceDt theValue) { 1323 myOriginalPrescription = theValue; 1324 return this; 1325 } 1326 1327 1328 1329 1330 /** 1331 * Gets the value(s) for <b>payee</b> (). 1332 * creating it if it does 1333 * not exist. Will not return <code>null</code>. 1334 * 1335 * <p> 1336 * <b>Definition:</b> 1337 * The party to be reimbursed for the services. 1338 * </p> 1339 */ 1340 public Payee getPayee() { 1341 if (myPayee == null) { 1342 myPayee = new Payee(); 1343 } 1344 return myPayee; 1345 } 1346 1347 /** 1348 * Sets the value(s) for <b>payee</b> () 1349 * 1350 * <p> 1351 * <b>Definition:</b> 1352 * The party to be reimbursed for the services. 1353 * </p> 1354 */ 1355 public Claim setPayee(Payee theValue) { 1356 myPayee = theValue; 1357 return this; 1358 } 1359 1360 1361 1362 1363 /** 1364 * Gets the value(s) for <b>referral</b> (). 1365 * creating it if it does 1366 * not exist. Will not return <code>null</code>. 1367 * 1368 * <p> 1369 * <b>Definition:</b> 1370 * The referral resource which lists the date, practitioner, reason and other supporting information. 1371 * </p> 1372 */ 1373 public ResourceReferenceDt getReferral() { 1374 if (myReferral == null) { 1375 myReferral = new ResourceReferenceDt(); 1376 } 1377 return myReferral; 1378 } 1379 1380 /** 1381 * Sets the value(s) for <b>referral</b> () 1382 * 1383 * <p> 1384 * <b>Definition:</b> 1385 * The referral resource which lists the date, practitioner, reason and other supporting information. 1386 * </p> 1387 */ 1388 public Claim setReferral(ResourceReferenceDt theValue) { 1389 myReferral = theValue; 1390 return this; 1391 } 1392 1393 1394 1395 1396 /** 1397 * Gets the value(s) for <b>diagnosis</b> (). 1398 * creating it if it does 1399 * not exist. Will not return <code>null</code>. 1400 * 1401 * <p> 1402 * <b>Definition:</b> 1403 * Ordered list of patient diagnosis for which care is sought. 1404 * </p> 1405 */ 1406 public java.util.List<Diagnosis> getDiagnosis() { 1407 if (myDiagnosis == null) { 1408 myDiagnosis = new java.util.ArrayList<Diagnosis>(); 1409 } 1410 return myDiagnosis; 1411 } 1412 1413 /** 1414 * Sets the value(s) for <b>diagnosis</b> () 1415 * 1416 * <p> 1417 * <b>Definition:</b> 1418 * Ordered list of patient diagnosis for which care is sought. 1419 * </p> 1420 */ 1421 public Claim setDiagnosis(java.util.List<Diagnosis> theValue) { 1422 myDiagnosis = theValue; 1423 return this; 1424 } 1425 1426 1427 1428 /** 1429 * Adds and returns a new value for <b>diagnosis</b> () 1430 * 1431 * <p> 1432 * <b>Definition:</b> 1433 * Ordered list of patient diagnosis for which care is sought. 1434 * </p> 1435 */ 1436 public Diagnosis addDiagnosis() { 1437 Diagnosis newType = new Diagnosis(); 1438 getDiagnosis().add(newType); 1439 return newType; 1440 } 1441 1442 /** 1443 * Adds a given new value for <b>diagnosis</b> () 1444 * 1445 * <p> 1446 * <b>Definition:</b> 1447 * Ordered list of patient diagnosis for which care is sought. 1448 * </p> 1449 * @param theValue The diagnosis to add (must not be <code>null</code>) 1450 */ 1451 public Claim addDiagnosis(Diagnosis theValue) { 1452 if (theValue == null) { 1453 throw new NullPointerException("theValue must not be null"); 1454 } 1455 getDiagnosis().add(theValue); 1456 return this; 1457 } 1458 1459 /** 1460 * Gets the first repetition for <b>diagnosis</b> (), 1461 * creating it if it does not already exist. 1462 * 1463 * <p> 1464 * <b>Definition:</b> 1465 * Ordered list of patient diagnosis for which care is sought. 1466 * </p> 1467 */ 1468 public Diagnosis getDiagnosisFirstRep() { 1469 if (getDiagnosis().isEmpty()) { 1470 return addDiagnosis(); 1471 } 1472 return getDiagnosis().get(0); 1473 } 1474 1475 /** 1476 * Gets the value(s) for <b>condition</b> (). 1477 * creating it if it does 1478 * not exist. Will not return <code>null</code>. 1479 * 1480 * <p> 1481 * <b>Definition:</b> 1482 * List of patient conditions for which care is sought. 1483 * </p> 1484 */ 1485 public java.util.List<CodingDt> getCondition() { 1486 if (myCondition == null) { 1487 myCondition = new java.util.ArrayList<CodingDt>(); 1488 } 1489 return myCondition; 1490 } 1491 1492 /** 1493 * Sets the value(s) for <b>condition</b> () 1494 * 1495 * <p> 1496 * <b>Definition:</b> 1497 * List of patient conditions for which care is sought. 1498 * </p> 1499 */ 1500 public Claim setCondition(java.util.List<CodingDt> theValue) { 1501 myCondition = theValue; 1502 return this; 1503 } 1504 1505 1506 1507 /** 1508 * Adds and returns a new value for <b>condition</b> () 1509 * 1510 * <p> 1511 * <b>Definition:</b> 1512 * List of patient conditions for which care is sought. 1513 * </p> 1514 */ 1515 public CodingDt addCondition() { 1516 CodingDt newType = new CodingDt(); 1517 getCondition().add(newType); 1518 return newType; 1519 } 1520 1521 /** 1522 * Adds a given new value for <b>condition</b> () 1523 * 1524 * <p> 1525 * <b>Definition:</b> 1526 * List of patient conditions for which care is sought. 1527 * </p> 1528 * @param theValue The condition to add (must not be <code>null</code>) 1529 */ 1530 public Claim addCondition(CodingDt theValue) { 1531 if (theValue == null) { 1532 throw new NullPointerException("theValue must not be null"); 1533 } 1534 getCondition().add(theValue); 1535 return this; 1536 } 1537 1538 /** 1539 * Gets the first repetition for <b>condition</b> (), 1540 * creating it if it does not already exist. 1541 * 1542 * <p> 1543 * <b>Definition:</b> 1544 * List of patient conditions for which care is sought. 1545 * </p> 1546 */ 1547 public CodingDt getConditionFirstRep() { 1548 if (getCondition().isEmpty()) { 1549 return addCondition(); 1550 } 1551 return getCondition().get(0); 1552 } 1553 1554 /** 1555 * Gets the value(s) for <b>patient</b> (). 1556 * creating it if it does 1557 * not exist. Will not return <code>null</code>. 1558 * 1559 * <p> 1560 * <b>Definition:</b> 1561 * Patient Resource 1562 * </p> 1563 */ 1564 public ResourceReferenceDt getPatient() { 1565 if (myPatient == null) { 1566 myPatient = new ResourceReferenceDt(); 1567 } 1568 return myPatient; 1569 } 1570 1571 /** 1572 * Sets the value(s) for <b>patient</b> () 1573 * 1574 * <p> 1575 * <b>Definition:</b> 1576 * Patient Resource 1577 * </p> 1578 */ 1579 public Claim setPatient(ResourceReferenceDt theValue) { 1580 myPatient = theValue; 1581 return this; 1582 } 1583 1584 1585 1586 1587 /** 1588 * Gets the value(s) for <b>coverage</b> (). 1589 * creating it if it does 1590 * not exist. Will not return <code>null</code>. 1591 * 1592 * <p> 1593 * <b>Definition:</b> 1594 * Financial instrument by which payment information for health care 1595 * </p> 1596 */ 1597 public java.util.List<Coverage> getCoverage() { 1598 if (myCoverage == null) { 1599 myCoverage = new java.util.ArrayList<Coverage>(); 1600 } 1601 return myCoverage; 1602 } 1603 1604 /** 1605 * Sets the value(s) for <b>coverage</b> () 1606 * 1607 * <p> 1608 * <b>Definition:</b> 1609 * Financial instrument by which payment information for health care 1610 * </p> 1611 */ 1612 public Claim setCoverage(java.util.List<Coverage> theValue) { 1613 myCoverage = theValue; 1614 return this; 1615 } 1616 1617 1618 1619 /** 1620 * Adds and returns a new value for <b>coverage</b> () 1621 * 1622 * <p> 1623 * <b>Definition:</b> 1624 * Financial instrument by which payment information for health care 1625 * </p> 1626 */ 1627 public Coverage addCoverage() { 1628 Coverage newType = new Coverage(); 1629 getCoverage().add(newType); 1630 return newType; 1631 } 1632 1633 /** 1634 * Adds a given new value for <b>coverage</b> () 1635 * 1636 * <p> 1637 * <b>Definition:</b> 1638 * Financial instrument by which payment information for health care 1639 * </p> 1640 * @param theValue The coverage to add (must not be <code>null</code>) 1641 */ 1642 public Claim addCoverage(Coverage theValue) { 1643 if (theValue == null) { 1644 throw new NullPointerException("theValue must not be null"); 1645 } 1646 getCoverage().add(theValue); 1647 return this; 1648 } 1649 1650 /** 1651 * Gets the first repetition for <b>coverage</b> (), 1652 * creating it if it does not already exist. 1653 * 1654 * <p> 1655 * <b>Definition:</b> 1656 * Financial instrument by which payment information for health care 1657 * </p> 1658 */ 1659 public Coverage getCoverageFirstRep() { 1660 if (getCoverage().isEmpty()) { 1661 return addCoverage(); 1662 } 1663 return getCoverage().get(0); 1664 } 1665 1666 /** 1667 * Gets the value(s) for <b>exception</b> (). 1668 * creating it if it does 1669 * not exist. Will not return <code>null</code>. 1670 * 1671 * <p> 1672 * <b>Definition:</b> 1673 * Factors which may influence the applicability of coverage. 1674 * </p> 1675 */ 1676 public java.util.List<CodingDt> getException() { 1677 if (myException == null) { 1678 myException = new java.util.ArrayList<CodingDt>(); 1679 } 1680 return myException; 1681 } 1682 1683 /** 1684 * Sets the value(s) for <b>exception</b> () 1685 * 1686 * <p> 1687 * <b>Definition:</b> 1688 * Factors which may influence the applicability of coverage. 1689 * </p> 1690 */ 1691 public Claim setException(java.util.List<CodingDt> theValue) { 1692 myException = theValue; 1693 return this; 1694 } 1695 1696 1697 1698 /** 1699 * Adds and returns a new value for <b>exception</b> () 1700 * 1701 * <p> 1702 * <b>Definition:</b> 1703 * Factors which may influence the applicability of coverage. 1704 * </p> 1705 */ 1706 public CodingDt addException() { 1707 CodingDt newType = new CodingDt(); 1708 getException().add(newType); 1709 return newType; 1710 } 1711 1712 /** 1713 * Adds a given new value for <b>exception</b> () 1714 * 1715 * <p> 1716 * <b>Definition:</b> 1717 * Factors which may influence the applicability of coverage. 1718 * </p> 1719 * @param theValue The exception to add (must not be <code>null</code>) 1720 */ 1721 public Claim addException(CodingDt theValue) { 1722 if (theValue == null) { 1723 throw new NullPointerException("theValue must not be null"); 1724 } 1725 getException().add(theValue); 1726 return this; 1727 } 1728 1729 /** 1730 * Gets the first repetition for <b>exception</b> (), 1731 * creating it if it does not already exist. 1732 * 1733 * <p> 1734 * <b>Definition:</b> 1735 * Factors which may influence the applicability of coverage. 1736 * </p> 1737 */ 1738 public CodingDt getExceptionFirstRep() { 1739 if (getException().isEmpty()) { 1740 return addException(); 1741 } 1742 return getException().get(0); 1743 } 1744 1745 /** 1746 * Gets the value(s) for <b>school</b> (). 1747 * creating it if it does 1748 * not exist. Will not return <code>null</code>. 1749 * 1750 * <p> 1751 * <b>Definition:</b> 1752 * Name of school for over-aged dependents. 1753 * </p> 1754 */ 1755 public StringDt getSchoolElement() { 1756 if (mySchool == null) { 1757 mySchool = new StringDt(); 1758 } 1759 return mySchool; 1760 } 1761 1762 1763 /** 1764 * Gets the value(s) for <b>school</b> (). 1765 * creating it if it does 1766 * not exist. Will not return <code>null</code>. 1767 * 1768 * <p> 1769 * <b>Definition:</b> 1770 * Name of school for over-aged dependents. 1771 * </p> 1772 */ 1773 public String getSchool() { 1774 return getSchoolElement().getValue(); 1775 } 1776 1777 /** 1778 * Sets the value(s) for <b>school</b> () 1779 * 1780 * <p> 1781 * <b>Definition:</b> 1782 * Name of school for over-aged dependents. 1783 * </p> 1784 */ 1785 public Claim setSchool(StringDt theValue) { 1786 mySchool = theValue; 1787 return this; 1788 } 1789 1790 1791 1792 /** 1793 * Sets the value for <b>school</b> () 1794 * 1795 * <p> 1796 * <b>Definition:</b> 1797 * Name of school for over-aged dependents. 1798 * </p> 1799 */ 1800 public Claim setSchool( String theString) { 1801 mySchool = new StringDt(theString); 1802 return this; 1803 } 1804 1805 1806 /** 1807 * Gets the value(s) for <b>accident</b> (). 1808 * creating it if it does 1809 * not exist. Will not return <code>null</code>. 1810 * 1811 * <p> 1812 * <b>Definition:</b> 1813 * Date of an accident which these services are addressing. 1814 * </p> 1815 */ 1816 public DateDt getAccidentElement() { 1817 if (myAccident == null) { 1818 myAccident = new DateDt(); 1819 } 1820 return myAccident; 1821 } 1822 1823 1824 /** 1825 * Gets the value(s) for <b>accident</b> (). 1826 * creating it if it does 1827 * not exist. Will not return <code>null</code>. 1828 * 1829 * <p> 1830 * <b>Definition:</b> 1831 * Date of an accident which these services are addressing. 1832 * </p> 1833 */ 1834 public Date getAccident() { 1835 return getAccidentElement().getValue(); 1836 } 1837 1838 /** 1839 * Sets the value(s) for <b>accident</b> () 1840 * 1841 * <p> 1842 * <b>Definition:</b> 1843 * Date of an accident which these services are addressing. 1844 * </p> 1845 */ 1846 public Claim setAccident(DateDt theValue) { 1847 myAccident = theValue; 1848 return this; 1849 } 1850 1851 1852 1853 /** 1854 * Sets the value for <b>accident</b> () 1855 * 1856 * <p> 1857 * <b>Definition:</b> 1858 * Date of an accident which these services are addressing. 1859 * </p> 1860 */ 1861 public Claim setAccident( Date theDate, TemporalPrecisionEnum thePrecision) { 1862 myAccident = new DateDt(theDate, thePrecision); 1863 return this; 1864 } 1865 1866 /** 1867 * Sets the value for <b>accident</b> () 1868 * 1869 * <p> 1870 * <b>Definition:</b> 1871 * Date of an accident which these services are addressing. 1872 * </p> 1873 */ 1874 public Claim setAccidentWithDayPrecision( Date theDate) { 1875 myAccident = new DateDt(theDate); 1876 return this; 1877 } 1878 1879 1880 /** 1881 * Gets the value(s) for <b>accidentType</b> (). 1882 * creating it if it does 1883 * not exist. Will not return <code>null</code>. 1884 * 1885 * <p> 1886 * <b>Definition:</b> 1887 * Type of accident: work, auto, etc. 1888 * </p> 1889 */ 1890 public CodingDt getAccidentType() { 1891 if (myAccidentType == null) { 1892 myAccidentType = new CodingDt(); 1893 } 1894 return myAccidentType; 1895 } 1896 1897 /** 1898 * Sets the value(s) for <b>accidentType</b> () 1899 * 1900 * <p> 1901 * <b>Definition:</b> 1902 * Type of accident: work, auto, etc. 1903 * </p> 1904 */ 1905 public Claim setAccidentType(CodingDt theValue) { 1906 myAccidentType = theValue; 1907 return this; 1908 } 1909 1910 1911 1912 1913 /** 1914 * Gets the value(s) for <b>interventionException</b> (). 1915 * creating it if it does 1916 * not exist. Will not return <code>null</code>. 1917 * 1918 * <p> 1919 * <b>Definition:</b> 1920 * A list of intervention and exception codes which may influence the adjudication of the claim. 1921 * </p> 1922 */ 1923 public java.util.List<CodingDt> getInterventionException() { 1924 if (myInterventionException == null) { 1925 myInterventionException = new java.util.ArrayList<CodingDt>(); 1926 } 1927 return myInterventionException; 1928 } 1929 1930 /** 1931 * Sets the value(s) for <b>interventionException</b> () 1932 * 1933 * <p> 1934 * <b>Definition:</b> 1935 * A list of intervention and exception codes which may influence the adjudication of the claim. 1936 * </p> 1937 */ 1938 public Claim setInterventionException(java.util.List<CodingDt> theValue) { 1939 myInterventionException = theValue; 1940 return this; 1941 } 1942 1943 1944 1945 /** 1946 * Adds and returns a new value for <b>interventionException</b> () 1947 * 1948 * <p> 1949 * <b>Definition:</b> 1950 * A list of intervention and exception codes which may influence the adjudication of the claim. 1951 * </p> 1952 */ 1953 public CodingDt addInterventionException() { 1954 CodingDt newType = new CodingDt(); 1955 getInterventionException().add(newType); 1956 return newType; 1957 } 1958 1959 /** 1960 * Adds a given new value for <b>interventionException</b> () 1961 * 1962 * <p> 1963 * <b>Definition:</b> 1964 * A list of intervention and exception codes which may influence the adjudication of the claim. 1965 * </p> 1966 * @param theValue The interventionException to add (must not be <code>null</code>) 1967 */ 1968 public Claim addInterventionException(CodingDt theValue) { 1969 if (theValue == null) { 1970 throw new NullPointerException("theValue must not be null"); 1971 } 1972 getInterventionException().add(theValue); 1973 return this; 1974 } 1975 1976 /** 1977 * Gets the first repetition for <b>interventionException</b> (), 1978 * creating it if it does not already exist. 1979 * 1980 * <p> 1981 * <b>Definition:</b> 1982 * A list of intervention and exception codes which may influence the adjudication of the claim. 1983 * </p> 1984 */ 1985 public CodingDt getInterventionExceptionFirstRep() { 1986 if (getInterventionException().isEmpty()) { 1987 return addInterventionException(); 1988 } 1989 return getInterventionException().get(0); 1990 } 1991 1992 /** 1993 * Gets the value(s) for <b>item</b> (). 1994 * creating it if it does 1995 * not exist. Will not return <code>null</code>. 1996 * 1997 * <p> 1998 * <b>Definition:</b> 1999 * First tier of goods and services 2000 * </p> 2001 */ 2002 public java.util.List<Item> getItem() { 2003 if (myItem == null) { 2004 myItem = new java.util.ArrayList<Item>(); 2005 } 2006 return myItem; 2007 } 2008 2009 /** 2010 * Sets the value(s) for <b>item</b> () 2011 * 2012 * <p> 2013 * <b>Definition:</b> 2014 * First tier of goods and services 2015 * </p> 2016 */ 2017 public Claim setItem(java.util.List<Item> theValue) { 2018 myItem = theValue; 2019 return this; 2020 } 2021 2022 2023 2024 /** 2025 * Adds and returns a new value for <b>item</b> () 2026 * 2027 * <p> 2028 * <b>Definition:</b> 2029 * First tier of goods and services 2030 * </p> 2031 */ 2032 public Item addItem() { 2033 Item newType = new Item(); 2034 getItem().add(newType); 2035 return newType; 2036 } 2037 2038 /** 2039 * Adds a given new value for <b>item</b> () 2040 * 2041 * <p> 2042 * <b>Definition:</b> 2043 * First tier of goods and services 2044 * </p> 2045 * @param theValue The item to add (must not be <code>null</code>) 2046 */ 2047 public Claim addItem(Item theValue) { 2048 if (theValue == null) { 2049 throw new NullPointerException("theValue must not be null"); 2050 } 2051 getItem().add(theValue); 2052 return this; 2053 } 2054 2055 /** 2056 * Gets the first repetition for <b>item</b> (), 2057 * creating it if it does not already exist. 2058 * 2059 * <p> 2060 * <b>Definition:</b> 2061 * First tier of goods and services 2062 * </p> 2063 */ 2064 public Item getItemFirstRep() { 2065 if (getItem().isEmpty()) { 2066 return addItem(); 2067 } 2068 return getItem().get(0); 2069 } 2070 2071 /** 2072 * Gets the value(s) for <b>additionalMaterials</b> (). 2073 * creating it if it does 2074 * not exist. Will not return <code>null</code>. 2075 * 2076 * <p> 2077 * <b>Definition:</b> 2078 * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. 2079 * </p> 2080 */ 2081 public java.util.List<CodingDt> getAdditionalMaterials() { 2082 if (myAdditionalMaterials == null) { 2083 myAdditionalMaterials = new java.util.ArrayList<CodingDt>(); 2084 } 2085 return myAdditionalMaterials; 2086 } 2087 2088 /** 2089 * Sets the value(s) for <b>additionalMaterials</b> () 2090 * 2091 * <p> 2092 * <b>Definition:</b> 2093 * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. 2094 * </p> 2095 */ 2096 public Claim setAdditionalMaterials(java.util.List<CodingDt> theValue) { 2097 myAdditionalMaterials = theValue; 2098 return this; 2099 } 2100 2101 2102 2103 /** 2104 * Adds and returns a new value for <b>additionalMaterials</b> () 2105 * 2106 * <p> 2107 * <b>Definition:</b> 2108 * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. 2109 * </p> 2110 */ 2111 public CodingDt addAdditionalMaterials() { 2112 CodingDt newType = new CodingDt(); 2113 getAdditionalMaterials().add(newType); 2114 return newType; 2115 } 2116 2117 /** 2118 * Adds a given new value for <b>additionalMaterials</b> () 2119 * 2120 * <p> 2121 * <b>Definition:</b> 2122 * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. 2123 * </p> 2124 * @param theValue The additionalMaterials to add (must not be <code>null</code>) 2125 */ 2126 public Claim addAdditionalMaterials(CodingDt theValue) { 2127 if (theValue == null) { 2128 throw new NullPointerException("theValue must not be null"); 2129 } 2130 getAdditionalMaterials().add(theValue); 2131 return this; 2132 } 2133 2134 /** 2135 * Gets the first repetition for <b>additionalMaterials</b> (), 2136 * creating it if it does not already exist. 2137 * 2138 * <p> 2139 * <b>Definition:</b> 2140 * Code to indicate that Xrays, images, emails, documents, models or attachments are being sent in support of this submission. 2141 * </p> 2142 */ 2143 public CodingDt getAdditionalMaterialsFirstRep() { 2144 if (getAdditionalMaterials().isEmpty()) { 2145 return addAdditionalMaterials(); 2146 } 2147 return getAdditionalMaterials().get(0); 2148 } 2149 2150 /** 2151 * Gets the value(s) for <b>missingTeeth</b> (). 2152 * creating it if it does 2153 * not exist. Will not return <code>null</code>. 2154 * 2155 * <p> 2156 * <b>Definition:</b> 2157 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 2158 * </p> 2159 */ 2160 public java.util.List<MissingTeeth> getMissingTeeth() { 2161 if (myMissingTeeth == null) { 2162 myMissingTeeth = new java.util.ArrayList<MissingTeeth>(); 2163 } 2164 return myMissingTeeth; 2165 } 2166 2167 /** 2168 * Sets the value(s) for <b>missingTeeth</b> () 2169 * 2170 * <p> 2171 * <b>Definition:</b> 2172 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 2173 * </p> 2174 */ 2175 public Claim setMissingTeeth(java.util.List<MissingTeeth> theValue) { 2176 myMissingTeeth = theValue; 2177 return this; 2178 } 2179 2180 2181 2182 /** 2183 * Adds and returns a new value for <b>missingTeeth</b> () 2184 * 2185 * <p> 2186 * <b>Definition:</b> 2187 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 2188 * </p> 2189 */ 2190 public MissingTeeth addMissingTeeth() { 2191 MissingTeeth newType = new MissingTeeth(); 2192 getMissingTeeth().add(newType); 2193 return newType; 2194 } 2195 2196 /** 2197 * Adds a given new value for <b>missingTeeth</b> () 2198 * 2199 * <p> 2200 * <b>Definition:</b> 2201 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 2202 * </p> 2203 * @param theValue The missingTeeth to add (must not be <code>null</code>) 2204 */ 2205 public Claim addMissingTeeth(MissingTeeth theValue) { 2206 if (theValue == null) { 2207 throw new NullPointerException("theValue must not be null"); 2208 } 2209 getMissingTeeth().add(theValue); 2210 return this; 2211 } 2212 2213 /** 2214 * Gets the first repetition for <b>missingTeeth</b> (), 2215 * creating it if it does not already exist. 2216 * 2217 * <p> 2218 * <b>Definition:</b> 2219 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 2220 * </p> 2221 */ 2222 public MissingTeeth getMissingTeethFirstRep() { 2223 if (getMissingTeeth().isEmpty()) { 2224 return addMissingTeeth(); 2225 } 2226 return getMissingTeeth().get(0); 2227 } 2228 2229 /** 2230 * Block class for child element: <b>Claim.payee</b> () 2231 * 2232 * <p> 2233 * <b>Definition:</b> 2234 * The party to be reimbursed for the services. 2235 * </p> 2236 */ 2237 @Block() 2238 public static class Payee 2239 extends BaseIdentifiableElement implements IResourceBlock { 2240 2241 @Child(name="type", type=CodingDt.class, order=0, min=0, max=1, summary=false, modifier=false) 2242 @Description( 2243 shortDefinition="", 2244 formalDefinition="Party to be reimbursed: Subscriber, provider, other." 2245 ) 2246 private CodingDt myType; 2247 2248 @Child(name="provider", order=1, min=0, max=1, summary=false, modifier=false, type={ 2249 ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 2250 @Description( 2251 shortDefinition="", 2252 formalDefinition="The provider who is to be reimbursed for the claim (the party to whom any benefit is assigned)" 2253 ) 2254 private ResourceReferenceDt myProvider; 2255 2256 @Child(name="organization", order=2, min=0, max=1, summary=false, modifier=false, type={ 2257 ca.uhn.fhir.model.dstu2.resource.Organization.class }) 2258 @Description( 2259 shortDefinition="", 2260 formalDefinition="The organization who is to be reimbursed for the claim (the party to whom any benefit is assigned)" 2261 ) 2262 private ResourceReferenceDt myOrganization; 2263 2264 @Child(name="person", order=3, min=0, max=1, summary=false, modifier=false, type={ 2265 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 2266 @Description( 2267 shortDefinition="", 2268 formalDefinition="The person other than the subscriber who is to be reimbursed for the claim (the party to whom any benefit is assigned)" 2269 ) 2270 private ResourceReferenceDt myPerson; 2271 2272 2273 @Override 2274 public boolean isEmpty() { 2275 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myProvider, myOrganization, myPerson); 2276 } 2277 2278 @Override 2279 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2280 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myProvider, myOrganization, myPerson); 2281 } 2282 2283 /** 2284 * Gets the value(s) for <b>type</b> (). 2285 * creating it if it does 2286 * not exist. Will not return <code>null</code>. 2287 * 2288 * <p> 2289 * <b>Definition:</b> 2290 * Party to be reimbursed: Subscriber, provider, other. 2291 * </p> 2292 */ 2293 public CodingDt getType() { 2294 if (myType == null) { 2295 myType = new CodingDt(); 2296 } 2297 return myType; 2298 } 2299 2300 /** 2301 * Sets the value(s) for <b>type</b> () 2302 * 2303 * <p> 2304 * <b>Definition:</b> 2305 * Party to be reimbursed: Subscriber, provider, other. 2306 * </p> 2307 */ 2308 public Payee setType(CodingDt theValue) { 2309 myType = theValue; 2310 return this; 2311 } 2312 2313 2314 2315 2316 /** 2317 * Gets the value(s) for <b>provider</b> (). 2318 * creating it if it does 2319 * not exist. Will not return <code>null</code>. 2320 * 2321 * <p> 2322 * <b>Definition:</b> 2323 * The provider who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2324 * </p> 2325 */ 2326 public ResourceReferenceDt getProvider() { 2327 if (myProvider == null) { 2328 myProvider = new ResourceReferenceDt(); 2329 } 2330 return myProvider; 2331 } 2332 2333 /** 2334 * Sets the value(s) for <b>provider</b> () 2335 * 2336 * <p> 2337 * <b>Definition:</b> 2338 * The provider who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2339 * </p> 2340 */ 2341 public Payee setProvider(ResourceReferenceDt theValue) { 2342 myProvider = theValue; 2343 return this; 2344 } 2345 2346 2347 2348 2349 /** 2350 * Gets the value(s) for <b>organization</b> (). 2351 * creating it if it does 2352 * not exist. Will not return <code>null</code>. 2353 * 2354 * <p> 2355 * <b>Definition:</b> 2356 * The organization who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2357 * </p> 2358 */ 2359 public ResourceReferenceDt getOrganization() { 2360 if (myOrganization == null) { 2361 myOrganization = new ResourceReferenceDt(); 2362 } 2363 return myOrganization; 2364 } 2365 2366 /** 2367 * Sets the value(s) for <b>organization</b> () 2368 * 2369 * <p> 2370 * <b>Definition:</b> 2371 * The organization who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2372 * </p> 2373 */ 2374 public Payee setOrganization(ResourceReferenceDt theValue) { 2375 myOrganization = theValue; 2376 return this; 2377 } 2378 2379 2380 2381 2382 /** 2383 * Gets the value(s) for <b>person</b> (). 2384 * creating it if it does 2385 * not exist. Will not return <code>null</code>. 2386 * 2387 * <p> 2388 * <b>Definition:</b> 2389 * The person other than the subscriber who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2390 * </p> 2391 */ 2392 public ResourceReferenceDt getPerson() { 2393 if (myPerson == null) { 2394 myPerson = new ResourceReferenceDt(); 2395 } 2396 return myPerson; 2397 } 2398 2399 /** 2400 * Sets the value(s) for <b>person</b> () 2401 * 2402 * <p> 2403 * <b>Definition:</b> 2404 * The person other than the subscriber who is to be reimbursed for the claim (the party to whom any benefit is assigned) 2405 * </p> 2406 */ 2407 public Payee setPerson(ResourceReferenceDt theValue) { 2408 myPerson = theValue; 2409 return this; 2410 } 2411 2412 2413 2414 2415 2416 2417 } 2418 2419 2420 /** 2421 * Block class for child element: <b>Claim.diagnosis</b> () 2422 * 2423 * <p> 2424 * <b>Definition:</b> 2425 * Ordered list of patient diagnosis for which care is sought. 2426 * </p> 2427 */ 2428 @Block() 2429 public static class Diagnosis 2430 extends BaseIdentifiableElement implements IResourceBlock { 2431 2432 @Child(name="sequence", type=PositiveIntDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2433 @Description( 2434 shortDefinition="", 2435 formalDefinition="Sequence of diagnosis which serves to order and provide a link." 2436 ) 2437 private PositiveIntDt mySequence; 2438 2439 @Child(name="diagnosis", type=CodingDt.class, order=1, min=1, max=1, summary=false, modifier=false) 2440 @Description( 2441 shortDefinition="", 2442 formalDefinition="The diagnosis." 2443 ) 2444 private CodingDt myDiagnosis; 2445 2446 2447 @Override 2448 public boolean isEmpty() { 2449 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySequence, myDiagnosis); 2450 } 2451 2452 @Override 2453 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2454 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequence, myDiagnosis); 2455 } 2456 2457 /** 2458 * Gets the value(s) for <b>sequence</b> (). 2459 * creating it if it does 2460 * not exist. Will not return <code>null</code>. 2461 * 2462 * <p> 2463 * <b>Definition:</b> 2464 * Sequence of diagnosis which serves to order and provide a link. 2465 * </p> 2466 */ 2467 public PositiveIntDt getSequenceElement() { 2468 if (mySequence == null) { 2469 mySequence = new PositiveIntDt(); 2470 } 2471 return mySequence; 2472 } 2473 2474 2475 /** 2476 * Gets the value(s) for <b>sequence</b> (). 2477 * creating it if it does 2478 * not exist. Will not return <code>null</code>. 2479 * 2480 * <p> 2481 * <b>Definition:</b> 2482 * Sequence of diagnosis which serves to order and provide a link. 2483 * </p> 2484 */ 2485 public Integer getSequence() { 2486 return getSequenceElement().getValue(); 2487 } 2488 2489 /** 2490 * Sets the value(s) for <b>sequence</b> () 2491 * 2492 * <p> 2493 * <b>Definition:</b> 2494 * Sequence of diagnosis which serves to order and provide a link. 2495 * </p> 2496 */ 2497 public Diagnosis setSequence(PositiveIntDt theValue) { 2498 mySequence = theValue; 2499 return this; 2500 } 2501 2502 2503 2504 /** 2505 * Sets the value for <b>sequence</b> () 2506 * 2507 * <p> 2508 * <b>Definition:</b> 2509 * Sequence of diagnosis which serves to order and provide a link. 2510 * </p> 2511 */ 2512 public Diagnosis setSequence( int theInteger) { 2513 mySequence = new PositiveIntDt(theInteger); 2514 return this; 2515 } 2516 2517 2518 /** 2519 * Gets the value(s) for <b>diagnosis</b> (). 2520 * creating it if it does 2521 * not exist. Will not return <code>null</code>. 2522 * 2523 * <p> 2524 * <b>Definition:</b> 2525 * The diagnosis. 2526 * </p> 2527 */ 2528 public CodingDt getDiagnosis() { 2529 if (myDiagnosis == null) { 2530 myDiagnosis = new CodingDt(); 2531 } 2532 return myDiagnosis; 2533 } 2534 2535 /** 2536 * Sets the value(s) for <b>diagnosis</b> () 2537 * 2538 * <p> 2539 * <b>Definition:</b> 2540 * The diagnosis. 2541 * </p> 2542 */ 2543 public Diagnosis setDiagnosis(CodingDt theValue) { 2544 myDiagnosis = theValue; 2545 return this; 2546 } 2547 2548 2549 2550 2551 2552 2553 } 2554 2555 2556 /** 2557 * Block class for child element: <b>Claim.coverage</b> () 2558 * 2559 * <p> 2560 * <b>Definition:</b> 2561 * Financial instrument by which payment information for health care 2562 * </p> 2563 */ 2564 @Block() 2565 public static class Coverage 2566 extends BaseIdentifiableElement implements IResourceBlock { 2567 2568 @Child(name="sequence", type=PositiveIntDt.class, order=0, min=1, max=1, summary=false, modifier=false) 2569 @Description( 2570 shortDefinition="", 2571 formalDefinition="A service line item." 2572 ) 2573 private PositiveIntDt mySequence; 2574 2575 @Child(name="focal", type=BooleanDt.class, order=1, min=1, max=1, summary=false, modifier=false) 2576 @Description( 2577 shortDefinition="", 2578 formalDefinition="The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated." 2579 ) 2580 private BooleanDt myFocal; 2581 2582 @Child(name="coverage", order=2, min=1, max=1, summary=false, modifier=false, type={ 2583 ca.uhn.fhir.model.dstu2.resource.Coverage.class }) 2584 @Description( 2585 shortDefinition="", 2586 formalDefinition="Reference to the program or plan identification, underwriter or payor." 2587 ) 2588 private ResourceReferenceDt myCoverage; 2589 2590 @Child(name="businessArrangement", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false) 2591 @Description( 2592 shortDefinition="", 2593 formalDefinition="The contract number of a business agreement which describes the terms and conditions." 2594 ) 2595 private StringDt myBusinessArrangement; 2596 2597 @Child(name="relationship", type=CodingDt.class, order=4, min=1, max=1, summary=false, modifier=false) 2598 @Description( 2599 shortDefinition="", 2600 formalDefinition="The relationship of the patient to the subscriber" 2601 ) 2602 private CodingDt myRelationship; 2603 2604 @Child(name="preAuthRef", type=StringDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 2605 @Description( 2606 shortDefinition="", 2607 formalDefinition="A list of references from the Insurer to which these services pertain." 2608 ) 2609 private java.util.List<StringDt> myPreAuthRef; 2610 2611 @Child(name="claimResponse", order=6, min=0, max=1, summary=false, modifier=false, type={ 2612 ca.uhn.fhir.model.dstu2.resource.ClaimResponse.class }) 2613 @Description( 2614 shortDefinition="", 2615 formalDefinition="The Coverages adjudication details." 2616 ) 2617 private ResourceReferenceDt myClaimResponse; 2618 2619 @Child(name="originalRuleset", type=CodingDt.class, order=7, min=0, max=1, summary=false, modifier=false) 2620 @Description( 2621 shortDefinition="", 2622 formalDefinition="The style (standard) and version of the original material which was converted into this resource." 2623 ) 2624 private CodingDt myOriginalRuleset; 2625 2626 2627 @Override 2628 public boolean isEmpty() { 2629 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySequence, myFocal, myCoverage, myBusinessArrangement, myRelationship, myPreAuthRef, myClaimResponse, myOriginalRuleset); 2630 } 2631 2632 @Override 2633 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 2634 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequence, myFocal, myCoverage, myBusinessArrangement, myRelationship, myPreAuthRef, myClaimResponse, myOriginalRuleset); 2635 } 2636 2637 /** 2638 * Gets the value(s) for <b>sequence</b> (). 2639 * creating it if it does 2640 * not exist. Will not return <code>null</code>. 2641 * 2642 * <p> 2643 * <b>Definition:</b> 2644 * A service line item. 2645 * </p> 2646 */ 2647 public PositiveIntDt getSequenceElement() { 2648 if (mySequence == null) { 2649 mySequence = new PositiveIntDt(); 2650 } 2651 return mySequence; 2652 } 2653 2654 2655 /** 2656 * Gets the value(s) for <b>sequence</b> (). 2657 * creating it if it does 2658 * not exist. Will not return <code>null</code>. 2659 * 2660 * <p> 2661 * <b>Definition:</b> 2662 * A service line item. 2663 * </p> 2664 */ 2665 public Integer getSequence() { 2666 return getSequenceElement().getValue(); 2667 } 2668 2669 /** 2670 * Sets the value(s) for <b>sequence</b> () 2671 * 2672 * <p> 2673 * <b>Definition:</b> 2674 * A service line item. 2675 * </p> 2676 */ 2677 public Coverage setSequence(PositiveIntDt theValue) { 2678 mySequence = theValue; 2679 return this; 2680 } 2681 2682 2683 2684 /** 2685 * Sets the value for <b>sequence</b> () 2686 * 2687 * <p> 2688 * <b>Definition:</b> 2689 * A service line item. 2690 * </p> 2691 */ 2692 public Coverage setSequence( int theInteger) { 2693 mySequence = new PositiveIntDt(theInteger); 2694 return this; 2695 } 2696 2697 2698 /** 2699 * Gets the value(s) for <b>focal</b> (). 2700 * creating it if it does 2701 * not exist. Will not return <code>null</code>. 2702 * 2703 * <p> 2704 * <b>Definition:</b> 2705 * The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated. 2706 * </p> 2707 */ 2708 public BooleanDt getFocalElement() { 2709 if (myFocal == null) { 2710 myFocal = new BooleanDt(); 2711 } 2712 return myFocal; 2713 } 2714 2715 2716 /** 2717 * Gets the value(s) for <b>focal</b> (). 2718 * creating it if it does 2719 * not exist. Will not return <code>null</code>. 2720 * 2721 * <p> 2722 * <b>Definition:</b> 2723 * The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated. 2724 * </p> 2725 */ 2726 public Boolean getFocal() { 2727 return getFocalElement().getValue(); 2728 } 2729 2730 /** 2731 * Sets the value(s) for <b>focal</b> () 2732 * 2733 * <p> 2734 * <b>Definition:</b> 2735 * The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated. 2736 * </p> 2737 */ 2738 public Coverage setFocal(BooleanDt theValue) { 2739 myFocal = theValue; 2740 return this; 2741 } 2742 2743 2744 2745 /** 2746 * Sets the value for <b>focal</b> () 2747 * 2748 * <p> 2749 * <b>Definition:</b> 2750 * The instance number of the Coverage which is the focus for adjudication. The Coverage against which the claim is to be adjudicated. 2751 * </p> 2752 */ 2753 public Coverage setFocal( boolean theBoolean) { 2754 myFocal = new BooleanDt(theBoolean); 2755 return this; 2756 } 2757 2758 2759 /** 2760 * Gets the value(s) for <b>coverage</b> (). 2761 * creating it if it does 2762 * not exist. Will not return <code>null</code>. 2763 * 2764 * <p> 2765 * <b>Definition:</b> 2766 * Reference to the program or plan identification, underwriter or payor. 2767 * </p> 2768 */ 2769 public ResourceReferenceDt getCoverage() { 2770 if (myCoverage == null) { 2771 myCoverage = new ResourceReferenceDt(); 2772 } 2773 return myCoverage; 2774 } 2775 2776 /** 2777 * Sets the value(s) for <b>coverage</b> () 2778 * 2779 * <p> 2780 * <b>Definition:</b> 2781 * Reference to the program or plan identification, underwriter or payor. 2782 * </p> 2783 */ 2784 public Coverage setCoverage(ResourceReferenceDt theValue) { 2785 myCoverage = theValue; 2786 return this; 2787 } 2788 2789 2790 2791 2792 /** 2793 * Gets the value(s) for <b>businessArrangement</b> (). 2794 * creating it if it does 2795 * not exist. Will not return <code>null</code>. 2796 * 2797 * <p> 2798 * <b>Definition:</b> 2799 * The contract number of a business agreement which describes the terms and conditions. 2800 * </p> 2801 */ 2802 public StringDt getBusinessArrangementElement() { 2803 if (myBusinessArrangement == null) { 2804 myBusinessArrangement = new StringDt(); 2805 } 2806 return myBusinessArrangement; 2807 } 2808 2809 2810 /** 2811 * Gets the value(s) for <b>businessArrangement</b> (). 2812 * creating it if it does 2813 * not exist. Will not return <code>null</code>. 2814 * 2815 * <p> 2816 * <b>Definition:</b> 2817 * The contract number of a business agreement which describes the terms and conditions. 2818 * </p> 2819 */ 2820 public String getBusinessArrangement() { 2821 return getBusinessArrangementElement().getValue(); 2822 } 2823 2824 /** 2825 * Sets the value(s) for <b>businessArrangement</b> () 2826 * 2827 * <p> 2828 * <b>Definition:</b> 2829 * The contract number of a business agreement which describes the terms and conditions. 2830 * </p> 2831 */ 2832 public Coverage setBusinessArrangement(StringDt theValue) { 2833 myBusinessArrangement = theValue; 2834 return this; 2835 } 2836 2837 2838 2839 /** 2840 * Sets the value for <b>businessArrangement</b> () 2841 * 2842 * <p> 2843 * <b>Definition:</b> 2844 * The contract number of a business agreement which describes the terms and conditions. 2845 * </p> 2846 */ 2847 public Coverage setBusinessArrangement( String theString) { 2848 myBusinessArrangement = new StringDt(theString); 2849 return this; 2850 } 2851 2852 2853 /** 2854 * Gets the value(s) for <b>relationship</b> (). 2855 * creating it if it does 2856 * not exist. Will not return <code>null</code>. 2857 * 2858 * <p> 2859 * <b>Definition:</b> 2860 * The relationship of the patient to the subscriber 2861 * </p> 2862 */ 2863 public CodingDt getRelationship() { 2864 if (myRelationship == null) { 2865 myRelationship = new CodingDt(); 2866 } 2867 return myRelationship; 2868 } 2869 2870 /** 2871 * Sets the value(s) for <b>relationship</b> () 2872 * 2873 * <p> 2874 * <b>Definition:</b> 2875 * The relationship of the patient to the subscriber 2876 * </p> 2877 */ 2878 public Coverage setRelationship(CodingDt theValue) { 2879 myRelationship = theValue; 2880 return this; 2881 } 2882 2883 2884 2885 2886 /** 2887 * Gets the value(s) for <b>preAuthRef</b> (). 2888 * creating it if it does 2889 * not exist. Will not return <code>null</code>. 2890 * 2891 * <p> 2892 * <b>Definition:</b> 2893 * A list of references from the Insurer to which these services pertain. 2894 * </p> 2895 */ 2896 public java.util.List<StringDt> getPreAuthRef() { 2897 if (myPreAuthRef == null) { 2898 myPreAuthRef = new java.util.ArrayList<StringDt>(); 2899 } 2900 return myPreAuthRef; 2901 } 2902 2903 /** 2904 * Sets the value(s) for <b>preAuthRef</b> () 2905 * 2906 * <p> 2907 * <b>Definition:</b> 2908 * A list of references from the Insurer to which these services pertain. 2909 * </p> 2910 */ 2911 public Coverage setPreAuthRef(java.util.List<StringDt> theValue) { 2912 myPreAuthRef = theValue; 2913 return this; 2914 } 2915 2916 2917 2918 /** 2919 * Adds and returns a new value for <b>preAuthRef</b> () 2920 * 2921 * <p> 2922 * <b>Definition:</b> 2923 * A list of references from the Insurer to which these services pertain. 2924 * </p> 2925 */ 2926 public StringDt addPreAuthRef() { 2927 StringDt newType = new StringDt(); 2928 getPreAuthRef().add(newType); 2929 return newType; 2930 } 2931 2932 /** 2933 * Adds a given new value for <b>preAuthRef</b> () 2934 * 2935 * <p> 2936 * <b>Definition:</b> 2937 * A list of references from the Insurer to which these services pertain. 2938 * </p> 2939 * @param theValue The preAuthRef to add (must not be <code>null</code>) 2940 */ 2941 public Coverage addPreAuthRef(StringDt theValue) { 2942 if (theValue == null) { 2943 throw new NullPointerException("theValue must not be null"); 2944 } 2945 getPreAuthRef().add(theValue); 2946 return this; 2947 } 2948 2949 /** 2950 * Gets the first repetition for <b>preAuthRef</b> (), 2951 * creating it if it does not already exist. 2952 * 2953 * <p> 2954 * <b>Definition:</b> 2955 * A list of references from the Insurer to which these services pertain. 2956 * </p> 2957 */ 2958 public StringDt getPreAuthRefFirstRep() { 2959 if (getPreAuthRef().isEmpty()) { 2960 return addPreAuthRef(); 2961 } 2962 return getPreAuthRef().get(0); 2963 } 2964 /** 2965 * Adds a new value for <b>preAuthRef</b> () 2966 * 2967 * <p> 2968 * <b>Definition:</b> 2969 * A list of references from the Insurer to which these services pertain. 2970 * </p> 2971 * 2972 * @return Returns a reference to this object, to allow for simple chaining. 2973 */ 2974 public Coverage addPreAuthRef( String theString) { 2975 if (myPreAuthRef == null) { 2976 myPreAuthRef = new java.util.ArrayList<StringDt>(); 2977 } 2978 myPreAuthRef.add(new StringDt(theString)); 2979 return this; 2980 } 2981 2982 2983 /** 2984 * Gets the value(s) for <b>claimResponse</b> (). 2985 * creating it if it does 2986 * not exist. Will not return <code>null</code>. 2987 * 2988 * <p> 2989 * <b>Definition:</b> 2990 * The Coverages adjudication details. 2991 * </p> 2992 */ 2993 public ResourceReferenceDt getClaimResponse() { 2994 if (myClaimResponse == null) { 2995 myClaimResponse = new ResourceReferenceDt(); 2996 } 2997 return myClaimResponse; 2998 } 2999 3000 /** 3001 * Sets the value(s) for <b>claimResponse</b> () 3002 * 3003 * <p> 3004 * <b>Definition:</b> 3005 * The Coverages adjudication details. 3006 * </p> 3007 */ 3008 public Coverage setClaimResponse(ResourceReferenceDt theValue) { 3009 myClaimResponse = theValue; 3010 return this; 3011 } 3012 3013 3014 3015 3016 /** 3017 * Gets the value(s) for <b>originalRuleset</b> (). 3018 * creating it if it does 3019 * not exist. Will not return <code>null</code>. 3020 * 3021 * <p> 3022 * <b>Definition:</b> 3023 * The style (standard) and version of the original material which was converted into this resource. 3024 * </p> 3025 */ 3026 public CodingDt getOriginalRuleset() { 3027 if (myOriginalRuleset == null) { 3028 myOriginalRuleset = new CodingDt(); 3029 } 3030 return myOriginalRuleset; 3031 } 3032 3033 /** 3034 * Sets the value(s) for <b>originalRuleset</b> () 3035 * 3036 * <p> 3037 * <b>Definition:</b> 3038 * The style (standard) and version of the original material which was converted into this resource. 3039 * </p> 3040 */ 3041 public Coverage setOriginalRuleset(CodingDt theValue) { 3042 myOriginalRuleset = theValue; 3043 return this; 3044 } 3045 3046 3047 3048 3049 3050 3051 } 3052 3053 3054 /** 3055 * Block class for child element: <b>Claim.item</b> () 3056 * 3057 * <p> 3058 * <b>Definition:</b> 3059 * First tier of goods and services 3060 * </p> 3061 */ 3062 @Block() 3063 public static class Item 3064 extends BaseIdentifiableElement implements IResourceBlock { 3065 3066 @Child(name="sequence", type=PositiveIntDt.class, order=0, min=1, max=1, summary=false, modifier=false) 3067 @Description( 3068 shortDefinition="", 3069 formalDefinition="A service line number." 3070 ) 3071 private PositiveIntDt mySequence; 3072 3073 @Child(name="type", type=CodingDt.class, order=1, min=1, max=1, summary=false, modifier=false) 3074 @Description( 3075 shortDefinition="", 3076 formalDefinition="The type of product or service." 3077 ) 3078 private CodingDt myType; 3079 3080 @Child(name="provider", order=2, min=0, max=1, summary=false, modifier=false, type={ 3081 ca.uhn.fhir.model.dstu2.resource.Practitioner.class }) 3082 @Description( 3083 shortDefinition="", 3084 formalDefinition="The practitioner who is responsible for the services rendered to the patient" 3085 ) 3086 private ResourceReferenceDt myProvider; 3087 3088 @Child(name="diagnosisLinkId", type=PositiveIntDt.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3089 @Description( 3090 shortDefinition="", 3091 formalDefinition="Diagnosis applicable for this service or product line." 3092 ) 3093 private java.util.List<PositiveIntDt> myDiagnosisLinkId; 3094 3095 @Child(name="service", type=CodingDt.class, order=4, min=1, max=1, summary=false, modifier=false) 3096 @Description( 3097 shortDefinition="", 3098 formalDefinition="If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied." 3099 ) 3100 private CodingDt myService; 3101 3102 @Child(name="serviceDate", type=DateDt.class, order=5, min=0, max=1, summary=false, modifier=false) 3103 @Description( 3104 shortDefinition="", 3105 formalDefinition="The date when the enclosed suite of services were performed or completed" 3106 ) 3107 private DateDt myServiceDate; 3108 3109 @Child(name="quantity", type=SimpleQuantityDt.class, order=6, min=0, max=1, summary=false, modifier=false) 3110 @Description( 3111 shortDefinition="", 3112 formalDefinition="The number of repetitions of a service or product." 3113 ) 3114 private SimpleQuantityDt myQuantity; 3115 3116 @Child(name="unitPrice", type=MoneyDt.class, order=7, min=0, max=1, summary=false, modifier=false) 3117 @Description( 3118 shortDefinition="", 3119 formalDefinition="If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group." 3120 ) 3121 private MoneyDt myUnitPrice; 3122 3123 @Child(name="factor", type=DecimalDt.class, order=8, min=0, max=1, summary=false, modifier=false) 3124 @Description( 3125 shortDefinition="", 3126 formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." 3127 ) 3128 private DecimalDt myFactor; 3129 3130 @Child(name="points", type=DecimalDt.class, order=9, min=0, max=1, summary=false, modifier=false) 3131 @Description( 3132 shortDefinition="", 3133 formalDefinition="An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point." 3134 ) 3135 private DecimalDt myPoints; 3136 3137 @Child(name="net", type=MoneyDt.class, order=10, min=0, max=1, summary=false, modifier=false) 3138 @Description( 3139 shortDefinition="", 3140 formalDefinition="The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied." 3141 ) 3142 private MoneyDt myNet; 3143 3144 @Child(name="udi", type=CodingDt.class, order=11, min=0, max=1, summary=false, modifier=false) 3145 @Description( 3146 shortDefinition="", 3147 formalDefinition="List of Unique Device Identifiers associated with this line item." 3148 ) 3149 private CodingDt myUdi; 3150 3151 @Child(name="bodySite", type=CodingDt.class, order=12, min=0, max=1, summary=false, modifier=false) 3152 @Description( 3153 shortDefinition="", 3154 formalDefinition="Physical service site on the patient (limb, tooth, etc.)." 3155 ) 3156 private CodingDt myBodySite; 3157 3158 @Child(name="subSite", type=CodingDt.class, order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3159 @Description( 3160 shortDefinition="", 3161 formalDefinition="A region or surface of the site, e.g. limb region or tooth surface(s)." 3162 ) 3163 private java.util.List<CodingDt> mySubSite; 3164 3165 @Child(name="modifier", type=CodingDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3166 @Description( 3167 shortDefinition="", 3168 formalDefinition="Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen." 3169 ) 3170 private java.util.List<CodingDt> myModifier; 3171 3172 @Child(name="detail", order=15, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 3173 @Description( 3174 shortDefinition="", 3175 formalDefinition="Second tier of goods and services" 3176 ) 3177 private java.util.List<ItemDetail> myDetail; 3178 3179 @Child(name="prosthesis", order=16, min=0, max=1, summary=false, modifier=false) 3180 @Description( 3181 shortDefinition="", 3182 formalDefinition="The materials and placement date of prior fixed prosthesis." 3183 ) 3184 private ItemProsthesis myProsthesis; 3185 3186 3187 @Override 3188 public boolean isEmpty() { 3189 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySequence, myType, myProvider, myDiagnosisLinkId, myService, myServiceDate, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi, myBodySite, mySubSite, myModifier, myDetail, myProsthesis); 3190 } 3191 3192 @Override 3193 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 3194 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequence, myType, myProvider, myDiagnosisLinkId, myService, myServiceDate, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi, myBodySite, mySubSite, myModifier, myDetail, myProsthesis); 3195 } 3196 3197 /** 3198 * Gets the value(s) for <b>sequence</b> (). 3199 * creating it if it does 3200 * not exist. Will not return <code>null</code>. 3201 * 3202 * <p> 3203 * <b>Definition:</b> 3204 * A service line number. 3205 * </p> 3206 */ 3207 public PositiveIntDt getSequenceElement() { 3208 if (mySequence == null) { 3209 mySequence = new PositiveIntDt(); 3210 } 3211 return mySequence; 3212 } 3213 3214 3215 /** 3216 * Gets the value(s) for <b>sequence</b> (). 3217 * creating it if it does 3218 * not exist. Will not return <code>null</code>. 3219 * 3220 * <p> 3221 * <b>Definition:</b> 3222 * A service line number. 3223 * </p> 3224 */ 3225 public Integer getSequence() { 3226 return getSequenceElement().getValue(); 3227 } 3228 3229 /** 3230 * Sets the value(s) for <b>sequence</b> () 3231 * 3232 * <p> 3233 * <b>Definition:</b> 3234 * A service line number. 3235 * </p> 3236 */ 3237 public Item setSequence(PositiveIntDt theValue) { 3238 mySequence = theValue; 3239 return this; 3240 } 3241 3242 3243 3244 /** 3245 * Sets the value for <b>sequence</b> () 3246 * 3247 * <p> 3248 * <b>Definition:</b> 3249 * A service line number. 3250 * </p> 3251 */ 3252 public Item setSequence( int theInteger) { 3253 mySequence = new PositiveIntDt(theInteger); 3254 return this; 3255 } 3256 3257 3258 /** 3259 * Gets the value(s) for <b>type</b> (). 3260 * creating it if it does 3261 * not exist. Will not return <code>null</code>. 3262 * 3263 * <p> 3264 * <b>Definition:</b> 3265 * The type of product or service. 3266 * </p> 3267 */ 3268 public CodingDt getType() { 3269 if (myType == null) { 3270 myType = new CodingDt(); 3271 } 3272 return myType; 3273 } 3274 3275 /** 3276 * Sets the value(s) for <b>type</b> () 3277 * 3278 * <p> 3279 * <b>Definition:</b> 3280 * The type of product or service. 3281 * </p> 3282 */ 3283 public Item setType(CodingDt theValue) { 3284 myType = theValue; 3285 return this; 3286 } 3287 3288 3289 3290 3291 /** 3292 * Gets the value(s) for <b>provider</b> (). 3293 * creating it if it does 3294 * not exist. Will not return <code>null</code>. 3295 * 3296 * <p> 3297 * <b>Definition:</b> 3298 * The practitioner who is responsible for the services rendered to the patient 3299 * </p> 3300 */ 3301 public ResourceReferenceDt getProvider() { 3302 if (myProvider == null) { 3303 myProvider = new ResourceReferenceDt(); 3304 } 3305 return myProvider; 3306 } 3307 3308 /** 3309 * Sets the value(s) for <b>provider</b> () 3310 * 3311 * <p> 3312 * <b>Definition:</b> 3313 * The practitioner who is responsible for the services rendered to the patient 3314 * </p> 3315 */ 3316 public Item setProvider(ResourceReferenceDt theValue) { 3317 myProvider = theValue; 3318 return this; 3319 } 3320 3321 3322 3323 3324 /** 3325 * Gets the value(s) for <b>diagnosisLinkId</b> (). 3326 * creating it if it does 3327 * not exist. Will not return <code>null</code>. 3328 * 3329 * <p> 3330 * <b>Definition:</b> 3331 * Diagnosis applicable for this service or product line. 3332 * </p> 3333 */ 3334 public java.util.List<PositiveIntDt> getDiagnosisLinkId() { 3335 if (myDiagnosisLinkId == null) { 3336 myDiagnosisLinkId = new java.util.ArrayList<PositiveIntDt>(); 3337 } 3338 return myDiagnosisLinkId; 3339 } 3340 3341 /** 3342 * Sets the value(s) for <b>diagnosisLinkId</b> () 3343 * 3344 * <p> 3345 * <b>Definition:</b> 3346 * Diagnosis applicable for this service or product line. 3347 * </p> 3348 */ 3349 public Item setDiagnosisLinkId(java.util.List<PositiveIntDt> theValue) { 3350 myDiagnosisLinkId = theValue; 3351 return this; 3352 } 3353 3354 3355 3356 /** 3357 * Adds and returns a new value for <b>diagnosisLinkId</b> () 3358 * 3359 * <p> 3360 * <b>Definition:</b> 3361 * Diagnosis applicable for this service or product line. 3362 * </p> 3363 */ 3364 public PositiveIntDt addDiagnosisLinkId() { 3365 PositiveIntDt newType = new PositiveIntDt(); 3366 getDiagnosisLinkId().add(newType); 3367 return newType; 3368 } 3369 3370 /** 3371 * Adds a given new value for <b>diagnosisLinkId</b> () 3372 * 3373 * <p> 3374 * <b>Definition:</b> 3375 * Diagnosis applicable for this service or product line. 3376 * </p> 3377 * @param theValue The diagnosisLinkId to add (must not be <code>null</code>) 3378 */ 3379 public Item addDiagnosisLinkId(PositiveIntDt theValue) { 3380 if (theValue == null) { 3381 throw new NullPointerException("theValue must not be null"); 3382 } 3383 getDiagnosisLinkId().add(theValue); 3384 return this; 3385 } 3386 3387 /** 3388 * Gets the first repetition for <b>diagnosisLinkId</b> (), 3389 * creating it if it does not already exist. 3390 * 3391 * <p> 3392 * <b>Definition:</b> 3393 * Diagnosis applicable for this service or product line. 3394 * </p> 3395 */ 3396 public PositiveIntDt getDiagnosisLinkIdFirstRep() { 3397 if (getDiagnosisLinkId().isEmpty()) { 3398 return addDiagnosisLinkId(); 3399 } 3400 return getDiagnosisLinkId().get(0); 3401 } 3402 /** 3403 * Adds a new value for <b>diagnosisLinkId</b> () 3404 * 3405 * <p> 3406 * <b>Definition:</b> 3407 * Diagnosis applicable for this service or product line. 3408 * </p> 3409 * 3410 * @return Returns a reference to this object, to allow for simple chaining. 3411 */ 3412 public Item addDiagnosisLinkId( int theInteger) { 3413 if (myDiagnosisLinkId == null) { 3414 myDiagnosisLinkId = new java.util.ArrayList<PositiveIntDt>(); 3415 } 3416 myDiagnosisLinkId.add(new PositiveIntDt(theInteger)); 3417 return this; 3418 } 3419 3420 3421 /** 3422 * Gets the value(s) for <b>service</b> (). 3423 * creating it if it does 3424 * not exist. Will not return <code>null</code>. 3425 * 3426 * <p> 3427 * <b>Definition:</b> 3428 * If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied. 3429 * </p> 3430 */ 3431 public CodingDt getService() { 3432 if (myService == null) { 3433 myService = new CodingDt(); 3434 } 3435 return myService; 3436 } 3437 3438 /** 3439 * Sets the value(s) for <b>service</b> () 3440 * 3441 * <p> 3442 * <b>Definition:</b> 3443 * If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied. 3444 * </p> 3445 */ 3446 public Item setService(CodingDt theValue) { 3447 myService = theValue; 3448 return this; 3449 } 3450 3451 3452 3453 3454 /** 3455 * Gets the value(s) for <b>serviceDate</b> (). 3456 * creating it if it does 3457 * not exist. Will not return <code>null</code>. 3458 * 3459 * <p> 3460 * <b>Definition:</b> 3461 * The date when the enclosed suite of services were performed or completed 3462 * </p> 3463 */ 3464 public DateDt getServiceDateElement() { 3465 if (myServiceDate == null) { 3466 myServiceDate = new DateDt(); 3467 } 3468 return myServiceDate; 3469 } 3470 3471 3472 /** 3473 * Gets the value(s) for <b>serviceDate</b> (). 3474 * creating it if it does 3475 * not exist. Will not return <code>null</code>. 3476 * 3477 * <p> 3478 * <b>Definition:</b> 3479 * The date when the enclosed suite of services were performed or completed 3480 * </p> 3481 */ 3482 public Date getServiceDate() { 3483 return getServiceDateElement().getValue(); 3484 } 3485 3486 /** 3487 * Sets the value(s) for <b>serviceDate</b> () 3488 * 3489 * <p> 3490 * <b>Definition:</b> 3491 * The date when the enclosed suite of services were performed or completed 3492 * </p> 3493 */ 3494 public Item setServiceDate(DateDt theValue) { 3495 myServiceDate = theValue; 3496 return this; 3497 } 3498 3499 3500 3501 /** 3502 * Sets the value for <b>serviceDate</b> () 3503 * 3504 * <p> 3505 * <b>Definition:</b> 3506 * The date when the enclosed suite of services were performed or completed 3507 * </p> 3508 */ 3509 public Item setServiceDate( Date theDate, TemporalPrecisionEnum thePrecision) { 3510 myServiceDate = new DateDt(theDate, thePrecision); 3511 return this; 3512 } 3513 3514 /** 3515 * Sets the value for <b>serviceDate</b> () 3516 * 3517 * <p> 3518 * <b>Definition:</b> 3519 * The date when the enclosed suite of services were performed or completed 3520 * </p> 3521 */ 3522 public Item setServiceDateWithDayPrecision( Date theDate) { 3523 myServiceDate = new DateDt(theDate); 3524 return this; 3525 } 3526 3527 3528 /** 3529 * Gets the value(s) for <b>quantity</b> (). 3530 * creating it if it does 3531 * not exist. Will not return <code>null</code>. 3532 * 3533 * <p> 3534 * <b>Definition:</b> 3535 * The number of repetitions of a service or product. 3536 * </p> 3537 */ 3538 public SimpleQuantityDt getQuantity() { 3539 if (myQuantity == null) { 3540 myQuantity = new SimpleQuantityDt(); 3541 } 3542 return myQuantity; 3543 } 3544 3545 /** 3546 * Sets the value(s) for <b>quantity</b> () 3547 * 3548 * <p> 3549 * <b>Definition:</b> 3550 * The number of repetitions of a service or product. 3551 * </p> 3552 */ 3553 public Item setQuantity(SimpleQuantityDt theValue) { 3554 myQuantity = theValue; 3555 return this; 3556 } 3557 3558 3559 3560 3561 /** 3562 * Gets the value(s) for <b>unitPrice</b> (). 3563 * creating it if it does 3564 * not exist. Will not return <code>null</code>. 3565 * 3566 * <p> 3567 * <b>Definition:</b> 3568 * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. 3569 * </p> 3570 */ 3571 public MoneyDt getUnitPrice() { 3572 if (myUnitPrice == null) { 3573 myUnitPrice = new MoneyDt(); 3574 } 3575 return myUnitPrice; 3576 } 3577 3578 /** 3579 * Sets the value(s) for <b>unitPrice</b> () 3580 * 3581 * <p> 3582 * <b>Definition:</b> 3583 * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. 3584 * </p> 3585 */ 3586 public Item setUnitPrice(MoneyDt theValue) { 3587 myUnitPrice = theValue; 3588 return this; 3589 } 3590 3591 3592 3593 3594 /** 3595 * Gets the value(s) for <b>factor</b> (). 3596 * creating it if it does 3597 * not exist. Will not return <code>null</code>. 3598 * 3599 * <p> 3600 * <b>Definition:</b> 3601 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3602 * </p> 3603 */ 3604 public DecimalDt getFactorElement() { 3605 if (myFactor == null) { 3606 myFactor = new DecimalDt(); 3607 } 3608 return myFactor; 3609 } 3610 3611 3612 /** 3613 * Gets the value(s) for <b>factor</b> (). 3614 * creating it if it does 3615 * not exist. Will not return <code>null</code>. 3616 * 3617 * <p> 3618 * <b>Definition:</b> 3619 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3620 * </p> 3621 */ 3622 public BigDecimal getFactor() { 3623 return getFactorElement().getValue(); 3624 } 3625 3626 /** 3627 * Sets the value(s) for <b>factor</b> () 3628 * 3629 * <p> 3630 * <b>Definition:</b> 3631 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3632 * </p> 3633 */ 3634 public Item setFactor(DecimalDt theValue) { 3635 myFactor = theValue; 3636 return this; 3637 } 3638 3639 3640 3641 /** 3642 * Sets the value for <b>factor</b> () 3643 * 3644 * <p> 3645 * <b>Definition:</b> 3646 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3647 * </p> 3648 */ 3649 public Item setFactor( long theValue) { 3650 myFactor = new DecimalDt(theValue); 3651 return this; 3652 } 3653 3654 /** 3655 * Sets the value for <b>factor</b> () 3656 * 3657 * <p> 3658 * <b>Definition:</b> 3659 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3660 * </p> 3661 */ 3662 public Item setFactor( double theValue) { 3663 myFactor = new DecimalDt(theValue); 3664 return this; 3665 } 3666 3667 /** 3668 * Sets the value for <b>factor</b> () 3669 * 3670 * <p> 3671 * <b>Definition:</b> 3672 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 3673 * </p> 3674 */ 3675 public Item setFactor( java.math.BigDecimal theValue) { 3676 myFactor = new DecimalDt(theValue); 3677 return this; 3678 } 3679 3680 3681 /** 3682 * Gets the value(s) for <b>points</b> (). 3683 * creating it if it does 3684 * not exist. Will not return <code>null</code>. 3685 * 3686 * <p> 3687 * <b>Definition:</b> 3688 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3689 * </p> 3690 */ 3691 public DecimalDt getPointsElement() { 3692 if (myPoints == null) { 3693 myPoints = new DecimalDt(); 3694 } 3695 return myPoints; 3696 } 3697 3698 3699 /** 3700 * Gets the value(s) for <b>points</b> (). 3701 * creating it if it does 3702 * not exist. Will not return <code>null</code>. 3703 * 3704 * <p> 3705 * <b>Definition:</b> 3706 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3707 * </p> 3708 */ 3709 public BigDecimal getPoints() { 3710 return getPointsElement().getValue(); 3711 } 3712 3713 /** 3714 * Sets the value(s) for <b>points</b> () 3715 * 3716 * <p> 3717 * <b>Definition:</b> 3718 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3719 * </p> 3720 */ 3721 public Item setPoints(DecimalDt theValue) { 3722 myPoints = theValue; 3723 return this; 3724 } 3725 3726 3727 3728 /** 3729 * Sets the value for <b>points</b> () 3730 * 3731 * <p> 3732 * <b>Definition:</b> 3733 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3734 * </p> 3735 */ 3736 public Item setPoints( long theValue) { 3737 myPoints = new DecimalDt(theValue); 3738 return this; 3739 } 3740 3741 /** 3742 * Sets the value for <b>points</b> () 3743 * 3744 * <p> 3745 * <b>Definition:</b> 3746 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3747 * </p> 3748 */ 3749 public Item setPoints( double theValue) { 3750 myPoints = new DecimalDt(theValue); 3751 return this; 3752 } 3753 3754 /** 3755 * Sets the value for <b>points</b> () 3756 * 3757 * <p> 3758 * <b>Definition:</b> 3759 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 3760 * </p> 3761 */ 3762 public Item setPoints( java.math.BigDecimal theValue) { 3763 myPoints = new DecimalDt(theValue); 3764 return this; 3765 } 3766 3767 3768 /** 3769 * Gets the value(s) for <b>net</b> (). 3770 * creating it if it does 3771 * not exist. Will not return <code>null</code>. 3772 * 3773 * <p> 3774 * <b>Definition:</b> 3775 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 3776 * </p> 3777 */ 3778 public MoneyDt getNet() { 3779 if (myNet == null) { 3780 myNet = new MoneyDt(); 3781 } 3782 return myNet; 3783 } 3784 3785 /** 3786 * Sets the value(s) for <b>net</b> () 3787 * 3788 * <p> 3789 * <b>Definition:</b> 3790 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 3791 * </p> 3792 */ 3793 public Item setNet(MoneyDt theValue) { 3794 myNet = theValue; 3795 return this; 3796 } 3797 3798 3799 3800 3801 /** 3802 * Gets the value(s) for <b>udi</b> (). 3803 * creating it if it does 3804 * not exist. Will not return <code>null</code>. 3805 * 3806 * <p> 3807 * <b>Definition:</b> 3808 * List of Unique Device Identifiers associated with this line item. 3809 * </p> 3810 */ 3811 public CodingDt getUdi() { 3812 if (myUdi == null) { 3813 myUdi = new CodingDt(); 3814 } 3815 return myUdi; 3816 } 3817 3818 /** 3819 * Sets the value(s) for <b>udi</b> () 3820 * 3821 * <p> 3822 * <b>Definition:</b> 3823 * List of Unique Device Identifiers associated with this line item. 3824 * </p> 3825 */ 3826 public Item setUdi(CodingDt theValue) { 3827 myUdi = theValue; 3828 return this; 3829 } 3830 3831 3832 3833 3834 /** 3835 * Gets the value(s) for <b>bodySite</b> (). 3836 * creating it if it does 3837 * not exist. Will not return <code>null</code>. 3838 * 3839 * <p> 3840 * <b>Definition:</b> 3841 * Physical service site on the patient (limb, tooth, etc.). 3842 * </p> 3843 */ 3844 public CodingDt getBodySite() { 3845 if (myBodySite == null) { 3846 myBodySite = new CodingDt(); 3847 } 3848 return myBodySite; 3849 } 3850 3851 /** 3852 * Sets the value(s) for <b>bodySite</b> () 3853 * 3854 * <p> 3855 * <b>Definition:</b> 3856 * Physical service site on the patient (limb, tooth, etc.). 3857 * </p> 3858 */ 3859 public Item setBodySite(CodingDt theValue) { 3860 myBodySite = theValue; 3861 return this; 3862 } 3863 3864 3865 3866 3867 /** 3868 * Gets the value(s) for <b>subSite</b> (). 3869 * creating it if it does 3870 * not exist. Will not return <code>null</code>. 3871 * 3872 * <p> 3873 * <b>Definition:</b> 3874 * A region or surface of the site, e.g. limb region or tooth surface(s). 3875 * </p> 3876 */ 3877 public java.util.List<CodingDt> getSubSite() { 3878 if (mySubSite == null) { 3879 mySubSite = new java.util.ArrayList<CodingDt>(); 3880 } 3881 return mySubSite; 3882 } 3883 3884 /** 3885 * Sets the value(s) for <b>subSite</b> () 3886 * 3887 * <p> 3888 * <b>Definition:</b> 3889 * A region or surface of the site, e.g. limb region or tooth surface(s). 3890 * </p> 3891 */ 3892 public Item setSubSite(java.util.List<CodingDt> theValue) { 3893 mySubSite = theValue; 3894 return this; 3895 } 3896 3897 3898 3899 /** 3900 * Adds and returns a new value for <b>subSite</b> () 3901 * 3902 * <p> 3903 * <b>Definition:</b> 3904 * A region or surface of the site, e.g. limb region or tooth surface(s). 3905 * </p> 3906 */ 3907 public CodingDt addSubSite() { 3908 CodingDt newType = new CodingDt(); 3909 getSubSite().add(newType); 3910 return newType; 3911 } 3912 3913 /** 3914 * Adds a given new value for <b>subSite</b> () 3915 * 3916 * <p> 3917 * <b>Definition:</b> 3918 * A region or surface of the site, e.g. limb region or tooth surface(s). 3919 * </p> 3920 * @param theValue The subSite to add (must not be <code>null</code>) 3921 */ 3922 public Item addSubSite(CodingDt theValue) { 3923 if (theValue == null) { 3924 throw new NullPointerException("theValue must not be null"); 3925 } 3926 getSubSite().add(theValue); 3927 return this; 3928 } 3929 3930 /** 3931 * Gets the first repetition for <b>subSite</b> (), 3932 * creating it if it does not already exist. 3933 * 3934 * <p> 3935 * <b>Definition:</b> 3936 * A region or surface of the site, e.g. limb region or tooth surface(s). 3937 * </p> 3938 */ 3939 public CodingDt getSubSiteFirstRep() { 3940 if (getSubSite().isEmpty()) { 3941 return addSubSite(); 3942 } 3943 return getSubSite().get(0); 3944 } 3945 3946 /** 3947 * Gets the value(s) for <b>modifier</b> (). 3948 * creating it if it does 3949 * not exist. Will not return <code>null</code>. 3950 * 3951 * <p> 3952 * <b>Definition:</b> 3953 * Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen. 3954 * </p> 3955 */ 3956 public java.util.List<CodingDt> getModifier() { 3957 if (myModifier == null) { 3958 myModifier = new java.util.ArrayList<CodingDt>(); 3959 } 3960 return myModifier; 3961 } 3962 3963 /** 3964 * Sets the value(s) for <b>modifier</b> () 3965 * 3966 * <p> 3967 * <b>Definition:</b> 3968 * Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen. 3969 * </p> 3970 */ 3971 public Item setModifier(java.util.List<CodingDt> theValue) { 3972 myModifier = theValue; 3973 return this; 3974 } 3975 3976 3977 3978 /** 3979 * Adds and returns a new value for <b>modifier</b> () 3980 * 3981 * <p> 3982 * <b>Definition:</b> 3983 * Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen. 3984 * </p> 3985 */ 3986 public CodingDt addModifier() { 3987 CodingDt newType = new CodingDt(); 3988 getModifier().add(newType); 3989 return newType; 3990 } 3991 3992 /** 3993 * Adds a given new value for <b>modifier</b> () 3994 * 3995 * <p> 3996 * <b>Definition:</b> 3997 * Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen. 3998 * </p> 3999 * @param theValue The modifier to add (must not be <code>null</code>) 4000 */ 4001 public Item addModifier(CodingDt theValue) { 4002 if (theValue == null) { 4003 throw new NullPointerException("theValue must not be null"); 4004 } 4005 getModifier().add(theValue); 4006 return this; 4007 } 4008 4009 /** 4010 * Gets the first repetition for <b>modifier</b> (), 4011 * creating it if it does not already exist. 4012 * 4013 * <p> 4014 * <b>Definition:</b> 4015 * Item typification or modifiers codes, e.g. for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen. 4016 * </p> 4017 */ 4018 public CodingDt getModifierFirstRep() { 4019 if (getModifier().isEmpty()) { 4020 return addModifier(); 4021 } 4022 return getModifier().get(0); 4023 } 4024 4025 /** 4026 * Gets the value(s) for <b>detail</b> (). 4027 * creating it if it does 4028 * not exist. Will not return <code>null</code>. 4029 * 4030 * <p> 4031 * <b>Definition:</b> 4032 * Second tier of goods and services 4033 * </p> 4034 */ 4035 public java.util.List<ItemDetail> getDetail() { 4036 if (myDetail == null) { 4037 myDetail = new java.util.ArrayList<ItemDetail>(); 4038 } 4039 return myDetail; 4040 } 4041 4042 /** 4043 * Sets the value(s) for <b>detail</b> () 4044 * 4045 * <p> 4046 * <b>Definition:</b> 4047 * Second tier of goods and services 4048 * </p> 4049 */ 4050 public Item setDetail(java.util.List<ItemDetail> theValue) { 4051 myDetail = theValue; 4052 return this; 4053 } 4054 4055 4056 4057 /** 4058 * Adds and returns a new value for <b>detail</b> () 4059 * 4060 * <p> 4061 * <b>Definition:</b> 4062 * Second tier of goods and services 4063 * </p> 4064 */ 4065 public ItemDetail addDetail() { 4066 ItemDetail newType = new ItemDetail(); 4067 getDetail().add(newType); 4068 return newType; 4069 } 4070 4071 /** 4072 * Adds a given new value for <b>detail</b> () 4073 * 4074 * <p> 4075 * <b>Definition:</b> 4076 * Second tier of goods and services 4077 * </p> 4078 * @param theValue The detail to add (must not be <code>null</code>) 4079 */ 4080 public Item addDetail(ItemDetail theValue) { 4081 if (theValue == null) { 4082 throw new NullPointerException("theValue must not be null"); 4083 } 4084 getDetail().add(theValue); 4085 return this; 4086 } 4087 4088 /** 4089 * Gets the first repetition for <b>detail</b> (), 4090 * creating it if it does not already exist. 4091 * 4092 * <p> 4093 * <b>Definition:</b> 4094 * Second tier of goods and services 4095 * </p> 4096 */ 4097 public ItemDetail getDetailFirstRep() { 4098 if (getDetail().isEmpty()) { 4099 return addDetail(); 4100 } 4101 return getDetail().get(0); 4102 } 4103 4104 /** 4105 * Gets the value(s) for <b>prosthesis</b> (). 4106 * creating it if it does 4107 * not exist. Will not return <code>null</code>. 4108 * 4109 * <p> 4110 * <b>Definition:</b> 4111 * The materials and placement date of prior fixed prosthesis. 4112 * </p> 4113 */ 4114 public ItemProsthesis getProsthesis() { 4115 if (myProsthesis == null) { 4116 myProsthesis = new ItemProsthesis(); 4117 } 4118 return myProsthesis; 4119 } 4120 4121 /** 4122 * Sets the value(s) for <b>prosthesis</b> () 4123 * 4124 * <p> 4125 * <b>Definition:</b> 4126 * The materials and placement date of prior fixed prosthesis. 4127 * </p> 4128 */ 4129 public Item setProsthesis(ItemProsthesis theValue) { 4130 myProsthesis = theValue; 4131 return this; 4132 } 4133 4134 4135 4136 4137 4138 4139 } 4140 4141 /** 4142 * Block class for child element: <b>Claim.item.detail</b> () 4143 * 4144 * <p> 4145 * <b>Definition:</b> 4146 * Second tier of goods and services 4147 * </p> 4148 */ 4149 @Block() 4150 public static class ItemDetail 4151 extends BaseIdentifiableElement implements IResourceBlock { 4152 4153 @Child(name="sequence", type=PositiveIntDt.class, order=0, min=1, max=1, summary=false, modifier=false) 4154 @Description( 4155 shortDefinition="", 4156 formalDefinition="A service line number." 4157 ) 4158 private PositiveIntDt mySequence; 4159 4160 @Child(name="type", type=CodingDt.class, order=1, min=1, max=1, summary=false, modifier=false) 4161 @Description( 4162 shortDefinition="", 4163 formalDefinition="The type of product or service." 4164 ) 4165 private CodingDt myType; 4166 4167 @Child(name="service", type=CodingDt.class, order=2, min=1, max=1, summary=false, modifier=false) 4168 @Description( 4169 shortDefinition="", 4170 formalDefinition="If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied." 4171 ) 4172 private CodingDt myService; 4173 4174 @Child(name="quantity", type=SimpleQuantityDt.class, order=3, min=0, max=1, summary=false, modifier=false) 4175 @Description( 4176 shortDefinition="", 4177 formalDefinition="The number of repetitions of a service or product." 4178 ) 4179 private SimpleQuantityDt myQuantity; 4180 4181 @Child(name="unitPrice", type=MoneyDt.class, order=4, min=0, max=1, summary=false, modifier=false) 4182 @Description( 4183 shortDefinition="", 4184 formalDefinition="If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group." 4185 ) 4186 private MoneyDt myUnitPrice; 4187 4188 @Child(name="factor", type=DecimalDt.class, order=5, min=0, max=1, summary=false, modifier=false) 4189 @Description( 4190 shortDefinition="", 4191 formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." 4192 ) 4193 private DecimalDt myFactor; 4194 4195 @Child(name="points", type=DecimalDt.class, order=6, min=0, max=1, summary=false, modifier=false) 4196 @Description( 4197 shortDefinition="", 4198 formalDefinition="An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point." 4199 ) 4200 private DecimalDt myPoints; 4201 4202 @Child(name="net", type=MoneyDt.class, order=7, min=0, max=1, summary=false, modifier=false) 4203 @Description( 4204 shortDefinition="", 4205 formalDefinition="The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied." 4206 ) 4207 private MoneyDt myNet; 4208 4209 @Child(name="udi", type=CodingDt.class, order=8, min=0, max=1, summary=false, modifier=false) 4210 @Description( 4211 shortDefinition="", 4212 formalDefinition="List of Unique Device Identifiers associated with this line item." 4213 ) 4214 private CodingDt myUdi; 4215 4216 @Child(name="subDetail", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 4217 @Description( 4218 shortDefinition="", 4219 formalDefinition="Third tier of goods and services" 4220 ) 4221 private java.util.List<ItemDetailSubDetail> mySubDetail; 4222 4223 4224 @Override 4225 public boolean isEmpty() { 4226 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySequence, myType, myService, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi, mySubDetail); 4227 } 4228 4229 @Override 4230 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4231 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequence, myType, myService, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi, mySubDetail); 4232 } 4233 4234 /** 4235 * Gets the value(s) for <b>sequence</b> (). 4236 * creating it if it does 4237 * not exist. Will not return <code>null</code>. 4238 * 4239 * <p> 4240 * <b>Definition:</b> 4241 * A service line number. 4242 * </p> 4243 */ 4244 public PositiveIntDt getSequenceElement() { 4245 if (mySequence == null) { 4246 mySequence = new PositiveIntDt(); 4247 } 4248 return mySequence; 4249 } 4250 4251 4252 /** 4253 * Gets the value(s) for <b>sequence</b> (). 4254 * creating it if it does 4255 * not exist. Will not return <code>null</code>. 4256 * 4257 * <p> 4258 * <b>Definition:</b> 4259 * A service line number. 4260 * </p> 4261 */ 4262 public Integer getSequence() { 4263 return getSequenceElement().getValue(); 4264 } 4265 4266 /** 4267 * Sets the value(s) for <b>sequence</b> () 4268 * 4269 * <p> 4270 * <b>Definition:</b> 4271 * A service line number. 4272 * </p> 4273 */ 4274 public ItemDetail setSequence(PositiveIntDt theValue) { 4275 mySequence = theValue; 4276 return this; 4277 } 4278 4279 4280 4281 /** 4282 * Sets the value for <b>sequence</b> () 4283 * 4284 * <p> 4285 * <b>Definition:</b> 4286 * A service line number. 4287 * </p> 4288 */ 4289 public ItemDetail setSequence( int theInteger) { 4290 mySequence = new PositiveIntDt(theInteger); 4291 return this; 4292 } 4293 4294 4295 /** 4296 * Gets the value(s) for <b>type</b> (). 4297 * creating it if it does 4298 * not exist. Will not return <code>null</code>. 4299 * 4300 * <p> 4301 * <b>Definition:</b> 4302 * The type of product or service. 4303 * </p> 4304 */ 4305 public CodingDt getType() { 4306 if (myType == null) { 4307 myType = new CodingDt(); 4308 } 4309 return myType; 4310 } 4311 4312 /** 4313 * Sets the value(s) for <b>type</b> () 4314 * 4315 * <p> 4316 * <b>Definition:</b> 4317 * The type of product or service. 4318 * </p> 4319 */ 4320 public ItemDetail setType(CodingDt theValue) { 4321 myType = theValue; 4322 return this; 4323 } 4324 4325 4326 4327 4328 /** 4329 * Gets the value(s) for <b>service</b> (). 4330 * creating it if it does 4331 * not exist. Will not return <code>null</code>. 4332 * 4333 * <p> 4334 * <b>Definition:</b> 4335 * If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied. 4336 * </p> 4337 */ 4338 public CodingDt getService() { 4339 if (myService == null) { 4340 myService = new CodingDt(); 4341 } 4342 return myService; 4343 } 4344 4345 /** 4346 * Sets the value(s) for <b>service</b> () 4347 * 4348 * <p> 4349 * <b>Definition:</b> 4350 * If a grouping item then 'GROUP' otherwise it is a node therefore a code to indicate the Professional Service or Product supplied. 4351 * </p> 4352 */ 4353 public ItemDetail setService(CodingDt theValue) { 4354 myService = theValue; 4355 return this; 4356 } 4357 4358 4359 4360 4361 /** 4362 * Gets the value(s) for <b>quantity</b> (). 4363 * creating it if it does 4364 * not exist. Will not return <code>null</code>. 4365 * 4366 * <p> 4367 * <b>Definition:</b> 4368 * The number of repetitions of a service or product. 4369 * </p> 4370 */ 4371 public SimpleQuantityDt getQuantity() { 4372 if (myQuantity == null) { 4373 myQuantity = new SimpleQuantityDt(); 4374 } 4375 return myQuantity; 4376 } 4377 4378 /** 4379 * Sets the value(s) for <b>quantity</b> () 4380 * 4381 * <p> 4382 * <b>Definition:</b> 4383 * The number of repetitions of a service or product. 4384 * </p> 4385 */ 4386 public ItemDetail setQuantity(SimpleQuantityDt theValue) { 4387 myQuantity = theValue; 4388 return this; 4389 } 4390 4391 4392 4393 4394 /** 4395 * Gets the value(s) for <b>unitPrice</b> (). 4396 * creating it if it does 4397 * not exist. Will not return <code>null</code>. 4398 * 4399 * <p> 4400 * <b>Definition:</b> 4401 * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. 4402 * </p> 4403 */ 4404 public MoneyDt getUnitPrice() { 4405 if (myUnitPrice == null) { 4406 myUnitPrice = new MoneyDt(); 4407 } 4408 return myUnitPrice; 4409 } 4410 4411 /** 4412 * Sets the value(s) for <b>unitPrice</b> () 4413 * 4414 * <p> 4415 * <b>Definition:</b> 4416 * If the item is a node then this is the fee for the product or service, otherwise this is the total of the fees for the children of the group. 4417 * </p> 4418 */ 4419 public ItemDetail setUnitPrice(MoneyDt theValue) { 4420 myUnitPrice = theValue; 4421 return this; 4422 } 4423 4424 4425 4426 4427 /** 4428 * Gets the value(s) for <b>factor</b> (). 4429 * creating it if it does 4430 * not exist. Will not return <code>null</code>. 4431 * 4432 * <p> 4433 * <b>Definition:</b> 4434 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4435 * </p> 4436 */ 4437 public DecimalDt getFactorElement() { 4438 if (myFactor == null) { 4439 myFactor = new DecimalDt(); 4440 } 4441 return myFactor; 4442 } 4443 4444 4445 /** 4446 * Gets the value(s) for <b>factor</b> (). 4447 * creating it if it does 4448 * not exist. Will not return <code>null</code>. 4449 * 4450 * <p> 4451 * <b>Definition:</b> 4452 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4453 * </p> 4454 */ 4455 public BigDecimal getFactor() { 4456 return getFactorElement().getValue(); 4457 } 4458 4459 /** 4460 * Sets the value(s) for <b>factor</b> () 4461 * 4462 * <p> 4463 * <b>Definition:</b> 4464 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4465 * </p> 4466 */ 4467 public ItemDetail setFactor(DecimalDt theValue) { 4468 myFactor = theValue; 4469 return this; 4470 } 4471 4472 4473 4474 /** 4475 * Sets the value for <b>factor</b> () 4476 * 4477 * <p> 4478 * <b>Definition:</b> 4479 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4480 * </p> 4481 */ 4482 public ItemDetail setFactor( long theValue) { 4483 myFactor = new DecimalDt(theValue); 4484 return this; 4485 } 4486 4487 /** 4488 * Sets the value for <b>factor</b> () 4489 * 4490 * <p> 4491 * <b>Definition:</b> 4492 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4493 * </p> 4494 */ 4495 public ItemDetail setFactor( double theValue) { 4496 myFactor = new DecimalDt(theValue); 4497 return this; 4498 } 4499 4500 /** 4501 * Sets the value for <b>factor</b> () 4502 * 4503 * <p> 4504 * <b>Definition:</b> 4505 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 4506 * </p> 4507 */ 4508 public ItemDetail setFactor( java.math.BigDecimal theValue) { 4509 myFactor = new DecimalDt(theValue); 4510 return this; 4511 } 4512 4513 4514 /** 4515 * Gets the value(s) for <b>points</b> (). 4516 * creating it if it does 4517 * not exist. Will not return <code>null</code>. 4518 * 4519 * <p> 4520 * <b>Definition:</b> 4521 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4522 * </p> 4523 */ 4524 public DecimalDt getPointsElement() { 4525 if (myPoints == null) { 4526 myPoints = new DecimalDt(); 4527 } 4528 return myPoints; 4529 } 4530 4531 4532 /** 4533 * Gets the value(s) for <b>points</b> (). 4534 * creating it if it does 4535 * not exist. Will not return <code>null</code>. 4536 * 4537 * <p> 4538 * <b>Definition:</b> 4539 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4540 * </p> 4541 */ 4542 public BigDecimal getPoints() { 4543 return getPointsElement().getValue(); 4544 } 4545 4546 /** 4547 * Sets the value(s) for <b>points</b> () 4548 * 4549 * <p> 4550 * <b>Definition:</b> 4551 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4552 * </p> 4553 */ 4554 public ItemDetail setPoints(DecimalDt theValue) { 4555 myPoints = theValue; 4556 return this; 4557 } 4558 4559 4560 4561 /** 4562 * Sets the value for <b>points</b> () 4563 * 4564 * <p> 4565 * <b>Definition:</b> 4566 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4567 * </p> 4568 */ 4569 public ItemDetail setPoints( long theValue) { 4570 myPoints = new DecimalDt(theValue); 4571 return this; 4572 } 4573 4574 /** 4575 * Sets the value for <b>points</b> () 4576 * 4577 * <p> 4578 * <b>Definition:</b> 4579 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4580 * </p> 4581 */ 4582 public ItemDetail setPoints( double theValue) { 4583 myPoints = new DecimalDt(theValue); 4584 return this; 4585 } 4586 4587 /** 4588 * Sets the value for <b>points</b> () 4589 * 4590 * <p> 4591 * <b>Definition:</b> 4592 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 4593 * </p> 4594 */ 4595 public ItemDetail setPoints( java.math.BigDecimal theValue) { 4596 myPoints = new DecimalDt(theValue); 4597 return this; 4598 } 4599 4600 4601 /** 4602 * Gets the value(s) for <b>net</b> (). 4603 * creating it if it does 4604 * not exist. Will not return <code>null</code>. 4605 * 4606 * <p> 4607 * <b>Definition:</b> 4608 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 4609 * </p> 4610 */ 4611 public MoneyDt getNet() { 4612 if (myNet == null) { 4613 myNet = new MoneyDt(); 4614 } 4615 return myNet; 4616 } 4617 4618 /** 4619 * Sets the value(s) for <b>net</b> () 4620 * 4621 * <p> 4622 * <b>Definition:</b> 4623 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 4624 * </p> 4625 */ 4626 public ItemDetail setNet(MoneyDt theValue) { 4627 myNet = theValue; 4628 return this; 4629 } 4630 4631 4632 4633 4634 /** 4635 * Gets the value(s) for <b>udi</b> (). 4636 * creating it if it does 4637 * not exist. Will not return <code>null</code>. 4638 * 4639 * <p> 4640 * <b>Definition:</b> 4641 * List of Unique Device Identifiers associated with this line item. 4642 * </p> 4643 */ 4644 public CodingDt getUdi() { 4645 if (myUdi == null) { 4646 myUdi = new CodingDt(); 4647 } 4648 return myUdi; 4649 } 4650 4651 /** 4652 * Sets the value(s) for <b>udi</b> () 4653 * 4654 * <p> 4655 * <b>Definition:</b> 4656 * List of Unique Device Identifiers associated with this line item. 4657 * </p> 4658 */ 4659 public ItemDetail setUdi(CodingDt theValue) { 4660 myUdi = theValue; 4661 return this; 4662 } 4663 4664 4665 4666 4667 /** 4668 * Gets the value(s) for <b>subDetail</b> (). 4669 * creating it if it does 4670 * not exist. Will not return <code>null</code>. 4671 * 4672 * <p> 4673 * <b>Definition:</b> 4674 * Third tier of goods and services 4675 * </p> 4676 */ 4677 public java.util.List<ItemDetailSubDetail> getSubDetail() { 4678 if (mySubDetail == null) { 4679 mySubDetail = new java.util.ArrayList<ItemDetailSubDetail>(); 4680 } 4681 return mySubDetail; 4682 } 4683 4684 /** 4685 * Sets the value(s) for <b>subDetail</b> () 4686 * 4687 * <p> 4688 * <b>Definition:</b> 4689 * Third tier of goods and services 4690 * </p> 4691 */ 4692 public ItemDetail setSubDetail(java.util.List<ItemDetailSubDetail> theValue) { 4693 mySubDetail = theValue; 4694 return this; 4695 } 4696 4697 4698 4699 /** 4700 * Adds and returns a new value for <b>subDetail</b> () 4701 * 4702 * <p> 4703 * <b>Definition:</b> 4704 * Third tier of goods and services 4705 * </p> 4706 */ 4707 public ItemDetailSubDetail addSubDetail() { 4708 ItemDetailSubDetail newType = new ItemDetailSubDetail(); 4709 getSubDetail().add(newType); 4710 return newType; 4711 } 4712 4713 /** 4714 * Adds a given new value for <b>subDetail</b> () 4715 * 4716 * <p> 4717 * <b>Definition:</b> 4718 * Third tier of goods and services 4719 * </p> 4720 * @param theValue The subDetail to add (must not be <code>null</code>) 4721 */ 4722 public ItemDetail addSubDetail(ItemDetailSubDetail theValue) { 4723 if (theValue == null) { 4724 throw new NullPointerException("theValue must not be null"); 4725 } 4726 getSubDetail().add(theValue); 4727 return this; 4728 } 4729 4730 /** 4731 * Gets the first repetition for <b>subDetail</b> (), 4732 * creating it if it does not already exist. 4733 * 4734 * <p> 4735 * <b>Definition:</b> 4736 * Third tier of goods and services 4737 * </p> 4738 */ 4739 public ItemDetailSubDetail getSubDetailFirstRep() { 4740 if (getSubDetail().isEmpty()) { 4741 return addSubDetail(); 4742 } 4743 return getSubDetail().get(0); 4744 } 4745 4746 4747 4748 } 4749 4750 /** 4751 * Block class for child element: <b>Claim.item.detail.subDetail</b> () 4752 * 4753 * <p> 4754 * <b>Definition:</b> 4755 * Third tier of goods and services 4756 * </p> 4757 */ 4758 @Block() 4759 public static class ItemDetailSubDetail 4760 extends BaseIdentifiableElement implements IResourceBlock { 4761 4762 @Child(name="sequence", type=PositiveIntDt.class, order=0, min=1, max=1, summary=false, modifier=false) 4763 @Description( 4764 shortDefinition="", 4765 formalDefinition="A service line number." 4766 ) 4767 private PositiveIntDt mySequence; 4768 4769 @Child(name="type", type=CodingDt.class, order=1, min=1, max=1, summary=false, modifier=false) 4770 @Description( 4771 shortDefinition="", 4772 formalDefinition="The type of product or service." 4773 ) 4774 private CodingDt myType; 4775 4776 @Child(name="service", type=CodingDt.class, order=2, min=1, max=1, summary=false, modifier=false) 4777 @Description( 4778 shortDefinition="", 4779 formalDefinition="The fee for an additional service or product or charge." 4780 ) 4781 private CodingDt myService; 4782 4783 @Child(name="quantity", type=SimpleQuantityDt.class, order=3, min=0, max=1, summary=false, modifier=false) 4784 @Description( 4785 shortDefinition="", 4786 formalDefinition="The number of repetitions of a service or product." 4787 ) 4788 private SimpleQuantityDt myQuantity; 4789 4790 @Child(name="unitPrice", type=MoneyDt.class, order=4, min=0, max=1, summary=false, modifier=false) 4791 @Description( 4792 shortDefinition="", 4793 formalDefinition="The fee for an additional service or product or charge." 4794 ) 4795 private MoneyDt myUnitPrice; 4796 4797 @Child(name="factor", type=DecimalDt.class, order=5, min=0, max=1, summary=false, modifier=false) 4798 @Description( 4799 shortDefinition="", 4800 formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." 4801 ) 4802 private DecimalDt myFactor; 4803 4804 @Child(name="points", type=DecimalDt.class, order=6, min=0, max=1, summary=false, modifier=false) 4805 @Description( 4806 shortDefinition="", 4807 formalDefinition="An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point." 4808 ) 4809 private DecimalDt myPoints; 4810 4811 @Child(name="net", type=MoneyDt.class, order=7, min=0, max=1, summary=false, modifier=false) 4812 @Description( 4813 shortDefinition="", 4814 formalDefinition="The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied." 4815 ) 4816 private MoneyDt myNet; 4817 4818 @Child(name="udi", type=CodingDt.class, order=8, min=0, max=1, summary=false, modifier=false) 4819 @Description( 4820 shortDefinition="", 4821 formalDefinition="List of Unique Device Identifiers associated with this line item." 4822 ) 4823 private CodingDt myUdi; 4824 4825 4826 @Override 4827 public boolean isEmpty() { 4828 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( mySequence, myType, myService, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi); 4829 } 4830 4831 @Override 4832 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 4833 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequence, myType, myService, myQuantity, myUnitPrice, myFactor, myPoints, myNet, myUdi); 4834 } 4835 4836 /** 4837 * Gets the value(s) for <b>sequence</b> (). 4838 * creating it if it does 4839 * not exist. Will not return <code>null</code>. 4840 * 4841 * <p> 4842 * <b>Definition:</b> 4843 * A service line number. 4844 * </p> 4845 */ 4846 public PositiveIntDt getSequenceElement() { 4847 if (mySequence == null) { 4848 mySequence = new PositiveIntDt(); 4849 } 4850 return mySequence; 4851 } 4852 4853 4854 /** 4855 * Gets the value(s) for <b>sequence</b> (). 4856 * creating it if it does 4857 * not exist. Will not return <code>null</code>. 4858 * 4859 * <p> 4860 * <b>Definition:</b> 4861 * A service line number. 4862 * </p> 4863 */ 4864 public Integer getSequence() { 4865 return getSequenceElement().getValue(); 4866 } 4867 4868 /** 4869 * Sets the value(s) for <b>sequence</b> () 4870 * 4871 * <p> 4872 * <b>Definition:</b> 4873 * A service line number. 4874 * </p> 4875 */ 4876 public ItemDetailSubDetail setSequence(PositiveIntDt theValue) { 4877 mySequence = theValue; 4878 return this; 4879 } 4880 4881 4882 4883 /** 4884 * Sets the value for <b>sequence</b> () 4885 * 4886 * <p> 4887 * <b>Definition:</b> 4888 * A service line number. 4889 * </p> 4890 */ 4891 public ItemDetailSubDetail setSequence( int theInteger) { 4892 mySequence = new PositiveIntDt(theInteger); 4893 return this; 4894 } 4895 4896 4897 /** 4898 * Gets the value(s) for <b>type</b> (). 4899 * creating it if it does 4900 * not exist. Will not return <code>null</code>. 4901 * 4902 * <p> 4903 * <b>Definition:</b> 4904 * The type of product or service. 4905 * </p> 4906 */ 4907 public CodingDt getType() { 4908 if (myType == null) { 4909 myType = new CodingDt(); 4910 } 4911 return myType; 4912 } 4913 4914 /** 4915 * Sets the value(s) for <b>type</b> () 4916 * 4917 * <p> 4918 * <b>Definition:</b> 4919 * The type of product or service. 4920 * </p> 4921 */ 4922 public ItemDetailSubDetail setType(CodingDt theValue) { 4923 myType = theValue; 4924 return this; 4925 } 4926 4927 4928 4929 4930 /** 4931 * Gets the value(s) for <b>service</b> (). 4932 * creating it if it does 4933 * not exist. Will not return <code>null</code>. 4934 * 4935 * <p> 4936 * <b>Definition:</b> 4937 * The fee for an additional service or product or charge. 4938 * </p> 4939 */ 4940 public CodingDt getService() { 4941 if (myService == null) { 4942 myService = new CodingDt(); 4943 } 4944 return myService; 4945 } 4946 4947 /** 4948 * Sets the value(s) for <b>service</b> () 4949 * 4950 * <p> 4951 * <b>Definition:</b> 4952 * The fee for an additional service or product or charge. 4953 * </p> 4954 */ 4955 public ItemDetailSubDetail setService(CodingDt theValue) { 4956 myService = theValue; 4957 return this; 4958 } 4959 4960 4961 4962 4963 /** 4964 * Gets the value(s) for <b>quantity</b> (). 4965 * creating it if it does 4966 * not exist. Will not return <code>null</code>. 4967 * 4968 * <p> 4969 * <b>Definition:</b> 4970 * The number of repetitions of a service or product. 4971 * </p> 4972 */ 4973 public SimpleQuantityDt getQuantity() { 4974 if (myQuantity == null) { 4975 myQuantity = new SimpleQuantityDt(); 4976 } 4977 return myQuantity; 4978 } 4979 4980 /** 4981 * Sets the value(s) for <b>quantity</b> () 4982 * 4983 * <p> 4984 * <b>Definition:</b> 4985 * The number of repetitions of a service or product. 4986 * </p> 4987 */ 4988 public ItemDetailSubDetail setQuantity(SimpleQuantityDt theValue) { 4989 myQuantity = theValue; 4990 return this; 4991 } 4992 4993 4994 4995 4996 /** 4997 * Gets the value(s) for <b>unitPrice</b> (). 4998 * creating it if it does 4999 * not exist. Will not return <code>null</code>. 5000 * 5001 * <p> 5002 * <b>Definition:</b> 5003 * The fee for an additional service or product or charge. 5004 * </p> 5005 */ 5006 public MoneyDt getUnitPrice() { 5007 if (myUnitPrice == null) { 5008 myUnitPrice = new MoneyDt(); 5009 } 5010 return myUnitPrice; 5011 } 5012 5013 /** 5014 * Sets the value(s) for <b>unitPrice</b> () 5015 * 5016 * <p> 5017 * <b>Definition:</b> 5018 * The fee for an additional service or product or charge. 5019 * </p> 5020 */ 5021 public ItemDetailSubDetail setUnitPrice(MoneyDt theValue) { 5022 myUnitPrice = theValue; 5023 return this; 5024 } 5025 5026 5027 5028 5029 /** 5030 * Gets the value(s) for <b>factor</b> (). 5031 * creating it if it does 5032 * not exist. Will not return <code>null</code>. 5033 * 5034 * <p> 5035 * <b>Definition:</b> 5036 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5037 * </p> 5038 */ 5039 public DecimalDt getFactorElement() { 5040 if (myFactor == null) { 5041 myFactor = new DecimalDt(); 5042 } 5043 return myFactor; 5044 } 5045 5046 5047 /** 5048 * Gets the value(s) for <b>factor</b> (). 5049 * creating it if it does 5050 * not exist. Will not return <code>null</code>. 5051 * 5052 * <p> 5053 * <b>Definition:</b> 5054 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5055 * </p> 5056 */ 5057 public BigDecimal getFactor() { 5058 return getFactorElement().getValue(); 5059 } 5060 5061 /** 5062 * Sets the value(s) for <b>factor</b> () 5063 * 5064 * <p> 5065 * <b>Definition:</b> 5066 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5067 * </p> 5068 */ 5069 public ItemDetailSubDetail setFactor(DecimalDt theValue) { 5070 myFactor = theValue; 5071 return this; 5072 } 5073 5074 5075 5076 /** 5077 * Sets the value for <b>factor</b> () 5078 * 5079 * <p> 5080 * <b>Definition:</b> 5081 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5082 * </p> 5083 */ 5084 public ItemDetailSubDetail setFactor( long theValue) { 5085 myFactor = new DecimalDt(theValue); 5086 return this; 5087 } 5088 5089 /** 5090 * Sets the value for <b>factor</b> () 5091 * 5092 * <p> 5093 * <b>Definition:</b> 5094 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5095 * </p> 5096 */ 5097 public ItemDetailSubDetail setFactor( double theValue) { 5098 myFactor = new DecimalDt(theValue); 5099 return this; 5100 } 5101 5102 /** 5103 * Sets the value for <b>factor</b> () 5104 * 5105 * <p> 5106 * <b>Definition:</b> 5107 * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5108 * </p> 5109 */ 5110 public ItemDetailSubDetail setFactor( java.math.BigDecimal theValue) { 5111 myFactor = new DecimalDt(theValue); 5112 return this; 5113 } 5114 5115 5116 /** 5117 * Gets the value(s) for <b>points</b> (). 5118 * creating it if it does 5119 * not exist. Will not return <code>null</code>. 5120 * 5121 * <p> 5122 * <b>Definition:</b> 5123 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5124 * </p> 5125 */ 5126 public DecimalDt getPointsElement() { 5127 if (myPoints == null) { 5128 myPoints = new DecimalDt(); 5129 } 5130 return myPoints; 5131 } 5132 5133 5134 /** 5135 * Gets the value(s) for <b>points</b> (). 5136 * creating it if it does 5137 * not exist. Will not return <code>null</code>. 5138 * 5139 * <p> 5140 * <b>Definition:</b> 5141 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5142 * </p> 5143 */ 5144 public BigDecimal getPoints() { 5145 return getPointsElement().getValue(); 5146 } 5147 5148 /** 5149 * Sets the value(s) for <b>points</b> () 5150 * 5151 * <p> 5152 * <b>Definition:</b> 5153 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5154 * </p> 5155 */ 5156 public ItemDetailSubDetail setPoints(DecimalDt theValue) { 5157 myPoints = theValue; 5158 return this; 5159 } 5160 5161 5162 5163 /** 5164 * Sets the value for <b>points</b> () 5165 * 5166 * <p> 5167 * <b>Definition:</b> 5168 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5169 * </p> 5170 */ 5171 public ItemDetailSubDetail setPoints( long theValue) { 5172 myPoints = new DecimalDt(theValue); 5173 return this; 5174 } 5175 5176 /** 5177 * Sets the value for <b>points</b> () 5178 * 5179 * <p> 5180 * <b>Definition:</b> 5181 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5182 * </p> 5183 */ 5184 public ItemDetailSubDetail setPoints( double theValue) { 5185 myPoints = new DecimalDt(theValue); 5186 return this; 5187 } 5188 5189 /** 5190 * Sets the value for <b>points</b> () 5191 * 5192 * <p> 5193 * <b>Definition:</b> 5194 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the good or service delivered. The concept of Points allows for assignment of point values for services and/or goods, such that a monetary amount can be assigned to each point. 5195 * </p> 5196 */ 5197 public ItemDetailSubDetail setPoints( java.math.BigDecimal theValue) { 5198 myPoints = new DecimalDt(theValue); 5199 return this; 5200 } 5201 5202 5203 /** 5204 * Gets the value(s) for <b>net</b> (). 5205 * creating it if it does 5206 * not exist. Will not return <code>null</code>. 5207 * 5208 * <p> 5209 * <b>Definition:</b> 5210 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 5211 * </p> 5212 */ 5213 public MoneyDt getNet() { 5214 if (myNet == null) { 5215 myNet = new MoneyDt(); 5216 } 5217 return myNet; 5218 } 5219 5220 /** 5221 * Sets the value(s) for <b>net</b> () 5222 * 5223 * <p> 5224 * <b>Definition:</b> 5225 * The quantity times the unit price for an additional service or product or charge. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 5226 * </p> 5227 */ 5228 public ItemDetailSubDetail setNet(MoneyDt theValue) { 5229 myNet = theValue; 5230 return this; 5231 } 5232 5233 5234 5235 5236 /** 5237 * Gets the value(s) for <b>udi</b> (). 5238 * creating it if it does 5239 * not exist. Will not return <code>null</code>. 5240 * 5241 * <p> 5242 * <b>Definition:</b> 5243 * List of Unique Device Identifiers associated with this line item. 5244 * </p> 5245 */ 5246 public CodingDt getUdi() { 5247 if (myUdi == null) { 5248 myUdi = new CodingDt(); 5249 } 5250 return myUdi; 5251 } 5252 5253 /** 5254 * Sets the value(s) for <b>udi</b> () 5255 * 5256 * <p> 5257 * <b>Definition:</b> 5258 * List of Unique Device Identifiers associated with this line item. 5259 * </p> 5260 */ 5261 public ItemDetailSubDetail setUdi(CodingDt theValue) { 5262 myUdi = theValue; 5263 return this; 5264 } 5265 5266 5267 5268 5269 5270 5271 } 5272 5273 5274 5275 /** 5276 * Block class for child element: <b>Claim.item.prosthesis</b> () 5277 * 5278 * <p> 5279 * <b>Definition:</b> 5280 * The materials and placement date of prior fixed prosthesis. 5281 * </p> 5282 */ 5283 @Block() 5284 public static class ItemProsthesis 5285 extends BaseIdentifiableElement implements IResourceBlock { 5286 5287 @Child(name="initial", type=BooleanDt.class, order=0, min=0, max=1, summary=false, modifier=false) 5288 @Description( 5289 shortDefinition="", 5290 formalDefinition="Indicates whether this is the initial placement of a fixed prosthesis." 5291 ) 5292 private BooleanDt myInitial; 5293 5294 @Child(name="priorDate", type=DateDt.class, order=1, min=0, max=1, summary=false, modifier=false) 5295 @Description( 5296 shortDefinition="", 5297 formalDefinition="Date of the initial placement." 5298 ) 5299 private DateDt myPriorDate; 5300 5301 @Child(name="priorMaterial", type=CodingDt.class, order=2, min=0, max=1, summary=false, modifier=false) 5302 @Description( 5303 shortDefinition="", 5304 formalDefinition="Material of the prior denture or bridge prosthesis. (Oral)" 5305 ) 5306 private CodingDt myPriorMaterial; 5307 5308 5309 @Override 5310 public boolean isEmpty() { 5311 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myInitial, myPriorDate, myPriorMaterial); 5312 } 5313 5314 @Override 5315 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 5316 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myInitial, myPriorDate, myPriorMaterial); 5317 } 5318 5319 /** 5320 * Gets the value(s) for <b>initial</b> (). 5321 * creating it if it does 5322 * not exist. Will not return <code>null</code>. 5323 * 5324 * <p> 5325 * <b>Definition:</b> 5326 * Indicates whether this is the initial placement of a fixed prosthesis. 5327 * </p> 5328 */ 5329 public BooleanDt getInitialElement() { 5330 if (myInitial == null) { 5331 myInitial = new BooleanDt(); 5332 } 5333 return myInitial; 5334 } 5335 5336 5337 /** 5338 * Gets the value(s) for <b>initial</b> (). 5339 * creating it if it does 5340 * not exist. Will not return <code>null</code>. 5341 * 5342 * <p> 5343 * <b>Definition:</b> 5344 * Indicates whether this is the initial placement of a fixed prosthesis. 5345 * </p> 5346 */ 5347 public Boolean getInitial() { 5348 return getInitialElement().getValue(); 5349 } 5350 5351 /** 5352 * Sets the value(s) for <b>initial</b> () 5353 * 5354 * <p> 5355 * <b>Definition:</b> 5356 * Indicates whether this is the initial placement of a fixed prosthesis. 5357 * </p> 5358 */ 5359 public ItemProsthesis setInitial(BooleanDt theValue) { 5360 myInitial = theValue; 5361 return this; 5362 } 5363 5364 5365 5366 /** 5367 * Sets the value for <b>initial</b> () 5368 * 5369 * <p> 5370 * <b>Definition:</b> 5371 * Indicates whether this is the initial placement of a fixed prosthesis. 5372 * </p> 5373 */ 5374 public ItemProsthesis setInitial( boolean theBoolean) { 5375 myInitial = new BooleanDt(theBoolean); 5376 return this; 5377 } 5378 5379 5380 /** 5381 * Gets the value(s) for <b>priorDate</b> (). 5382 * creating it if it does 5383 * not exist. Will not return <code>null</code>. 5384 * 5385 * <p> 5386 * <b>Definition:</b> 5387 * Date of the initial placement. 5388 * </p> 5389 */ 5390 public DateDt getPriorDateElement() { 5391 if (myPriorDate == null) { 5392 myPriorDate = new DateDt(); 5393 } 5394 return myPriorDate; 5395 } 5396 5397 5398 /** 5399 * Gets the value(s) for <b>priorDate</b> (). 5400 * creating it if it does 5401 * not exist. Will not return <code>null</code>. 5402 * 5403 * <p> 5404 * <b>Definition:</b> 5405 * Date of the initial placement. 5406 * </p> 5407 */ 5408 public Date getPriorDate() { 5409 return getPriorDateElement().getValue(); 5410 } 5411 5412 /** 5413 * Sets the value(s) for <b>priorDate</b> () 5414 * 5415 * <p> 5416 * <b>Definition:</b> 5417 * Date of the initial placement. 5418 * </p> 5419 */ 5420 public ItemProsthesis setPriorDate(DateDt theValue) { 5421 myPriorDate = theValue; 5422 return this; 5423 } 5424 5425 5426 5427 /** 5428 * Sets the value for <b>priorDate</b> () 5429 * 5430 * <p> 5431 * <b>Definition:</b> 5432 * Date of the initial placement. 5433 * </p> 5434 */ 5435 public ItemProsthesis setPriorDate( Date theDate, TemporalPrecisionEnum thePrecision) { 5436 myPriorDate = new DateDt(theDate, thePrecision); 5437 return this; 5438 } 5439 5440 /** 5441 * Sets the value for <b>priorDate</b> () 5442 * 5443 * <p> 5444 * <b>Definition:</b> 5445 * Date of the initial placement. 5446 * </p> 5447 */ 5448 public ItemProsthesis setPriorDateWithDayPrecision( Date theDate) { 5449 myPriorDate = new DateDt(theDate); 5450 return this; 5451 } 5452 5453 5454 /** 5455 * Gets the value(s) for <b>priorMaterial</b> (). 5456 * creating it if it does 5457 * not exist. Will not return <code>null</code>. 5458 * 5459 * <p> 5460 * <b>Definition:</b> 5461 * Material of the prior denture or bridge prosthesis. (Oral) 5462 * </p> 5463 */ 5464 public CodingDt getPriorMaterial() { 5465 if (myPriorMaterial == null) { 5466 myPriorMaterial = new CodingDt(); 5467 } 5468 return myPriorMaterial; 5469 } 5470 5471 /** 5472 * Sets the value(s) for <b>priorMaterial</b> () 5473 * 5474 * <p> 5475 * <b>Definition:</b> 5476 * Material of the prior denture or bridge prosthesis. (Oral) 5477 * </p> 5478 */ 5479 public ItemProsthesis setPriorMaterial(CodingDt theValue) { 5480 myPriorMaterial = theValue; 5481 return this; 5482 } 5483 5484 5485 5486 5487 5488 5489 } 5490 5491 5492 5493 /** 5494 * Block class for child element: <b>Claim.missingTeeth</b> () 5495 * 5496 * <p> 5497 * <b>Definition:</b> 5498 * A list of teeth which would be expected but are not found due to having been previously extracted or for other reasons. 5499 * </p> 5500 */ 5501 @Block() 5502 public static class MissingTeeth 5503 extends BaseIdentifiableElement implements IResourceBlock { 5504 5505 @Child(name="tooth", type=CodingDt.class, order=0, min=1, max=1, summary=false, modifier=false) 5506 @Description( 5507 shortDefinition="", 5508 formalDefinition="The code identifying which tooth is missing." 5509 ) 5510 private CodingDt myTooth; 5511 5512 @Child(name="reason", type=CodingDt.class, order=1, min=0, max=1, summary=false, modifier=false) 5513 @Description( 5514 shortDefinition="", 5515 formalDefinition="Missing reason may be: E-extraction, O-other" 5516 ) 5517 private CodingDt myReason; 5518 5519 @Child(name="extractionDate", type=DateDt.class, order=2, min=0, max=1, summary=false, modifier=false) 5520 @Description( 5521 shortDefinition="", 5522 formalDefinition="The date of the extraction either known from records or patient reported estimate." 5523 ) 5524 private DateDt myExtractionDate; 5525 5526 5527 @Override 5528 public boolean isEmpty() { 5529 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myTooth, myReason, myExtractionDate); 5530 } 5531 5532 @Override 5533 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 5534 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myTooth, myReason, myExtractionDate); 5535 } 5536 5537 /** 5538 * Gets the value(s) for <b>tooth</b> (). 5539 * creating it if it does 5540 * not exist. Will not return <code>null</code>. 5541 * 5542 * <p> 5543 * <b>Definition:</b> 5544 * The code identifying which tooth is missing. 5545 * </p> 5546 */ 5547 public CodingDt getTooth() { 5548 if (myTooth == null) { 5549 myTooth = new CodingDt(); 5550 } 5551 return myTooth; 5552 } 5553 5554 /** 5555 * Sets the value(s) for <b>tooth</b> () 5556 * 5557 * <p> 5558 * <b>Definition:</b> 5559 * The code identifying which tooth is missing. 5560 * </p> 5561 */ 5562 public MissingTeeth setTooth(CodingDt theValue) { 5563 myTooth = theValue; 5564 return this; 5565 } 5566 5567 5568 5569 5570 /** 5571 * Gets the value(s) for <b>reason</b> (). 5572 * creating it if it does 5573 * not exist. Will not return <code>null</code>. 5574 * 5575 * <p> 5576 * <b>Definition:</b> 5577 * Missing reason may be: E-extraction, O-other 5578 * </p> 5579 */ 5580 public CodingDt getReason() { 5581 if (myReason == null) { 5582 myReason = new CodingDt(); 5583 } 5584 return myReason; 5585 } 5586 5587 /** 5588 * Sets the value(s) for <b>reason</b> () 5589 * 5590 * <p> 5591 * <b>Definition:</b> 5592 * Missing reason may be: E-extraction, O-other 5593 * </p> 5594 */ 5595 public MissingTeeth setReason(CodingDt theValue) { 5596 myReason = theValue; 5597 return this; 5598 } 5599 5600 5601 5602 5603 /** 5604 * Gets the value(s) for <b>extractionDate</b> (). 5605 * creating it if it does 5606 * not exist. Will not return <code>null</code>. 5607 * 5608 * <p> 5609 * <b>Definition:</b> 5610 * The date of the extraction either known from records or patient reported estimate. 5611 * </p> 5612 */ 5613 public DateDt getExtractionDateElement() { 5614 if (myExtractionDate == null) { 5615 myExtractionDate = new DateDt(); 5616 } 5617 return myExtractionDate; 5618 } 5619 5620 5621 /** 5622 * Gets the value(s) for <b>extractionDate</b> (). 5623 * creating it if it does 5624 * not exist. Will not return <code>null</code>. 5625 * 5626 * <p> 5627 * <b>Definition:</b> 5628 * The date of the extraction either known from records or patient reported estimate. 5629 * </p> 5630 */ 5631 public Date getExtractionDate() { 5632 return getExtractionDateElement().getValue(); 5633 } 5634 5635 /** 5636 * Sets the value(s) for <b>extractionDate</b> () 5637 * 5638 * <p> 5639 * <b>Definition:</b> 5640 * The date of the extraction either known from records or patient reported estimate. 5641 * </p> 5642 */ 5643 public MissingTeeth setExtractionDate(DateDt theValue) { 5644 myExtractionDate = theValue; 5645 return this; 5646 } 5647 5648 5649 5650 /** 5651 * Sets the value for <b>extractionDate</b> () 5652 * 5653 * <p> 5654 * <b>Definition:</b> 5655 * The date of the extraction either known from records or patient reported estimate. 5656 * </p> 5657 */ 5658 public MissingTeeth setExtractionDate( Date theDate, TemporalPrecisionEnum thePrecision) { 5659 myExtractionDate = new DateDt(theDate, thePrecision); 5660 return this; 5661 } 5662 5663 /** 5664 * Sets the value for <b>extractionDate</b> () 5665 * 5666 * <p> 5667 * <b>Definition:</b> 5668 * The date of the extraction either known from records or patient reported estimate. 5669 * </p> 5670 */ 5671 public MissingTeeth setExtractionDateWithDayPrecision( Date theDate) { 5672 myExtractionDate = new DateDt(theDate); 5673 return this; 5674 } 5675 5676 5677 5678 5679 } 5680 5681 5682 5683 5684 @Override 5685 public String getResourceName() { 5686 return "Claim"; 5687 } 5688 5689 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 5690 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 5691 } 5692 5693 5694}