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