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