PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.carin@bb-2.1.0
    http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Oral-Basis
description: This profile is used for Explanation of Benefits (EOBs) based on claims submitted by providers of oral services including Dental, Denture and Hygiene. The ADA Dental Claim Form provides a common format for reporting dental services to a patient's dental benefit plan.\nThe basis profile does not have requirements for financial data.
package_name: hl7.fhir.us.carin
derivation: constraint
name: C4BBExplanationOfBenefitOralBasis
type: ExplanationOfBenefit
elements:
  type:
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: oral, system: 'http://terminology.hl7.org/CodeSystem/claim-type'}
    index: 0
  provider:
    type: Reference
    refers: ['http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Organization', 'http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Practitioner']
    index: 1
  careTeam:
    constraint:
      EOB-prof-careTeam-practitioner:
        human: 'Professional EOB:  Careteam roles refer to a practitioner'
        source: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Oral-Basis
        severity: error
        expression: |-
          (
          role.where(coding.where(code in ('rendering' | 'primary' | 'referring' | 'supervisor')).exists()).exists() implies
          provider.all(resolve() is Practitioner)
          )
    index: 2
    elements:
      role:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimProfessionalAndNonClinicianCareTeamRole'}
        index: 3
      qualification:
        binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066'}
        mustSupport: true
        index: 4
    required: [role]
  supportingInfo:
    index: 5
    slicing:
      rules: open
      ordered: false
      description: Slice based on $this value
      discriminator:
      - {path: category, type: value}
      min: null
      slices:
        clmrecvddate:
          match:
            category:
              coding:
              - {code: clmrecvddate, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Claim received date
            mustSupport: true
            index: 6
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: clmrecvddate, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 7
              timing:
                mustSupport: true
                choices: [timingDate]
                index: 9
              timingDate: {type: date, mustSupport: true, choiceOf: timing, index: 10}
            required: [timingDate, timing]
        servicefacility:
          match:
            category:
              coding:
              - {code: servicefacility, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Service facility
            mustSupport: true
            index: 11
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: servicefacility, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 12
              value:
                choices: []
                index: 14
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: 1
                  slices:
                    valueReference:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueReference]
                        _required: true
                        index: 16
                      min: 1
                      max: 1
              valueReference:
                refers: ['http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Organization']
                type: Reference
                mustSupport: true
                choiceOf: value
                index: 17
                slicing:
                  slices:
                    valueReference:
                      match: {}
                      schema:
                        refers: ['http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Organization']
                        type: Reference
                        mustSupport: true
                        _required: true
                        choiceOf: value
                        index: 17
                      min: 1
                      max: 1
            required: [valueReference, value]
        orthodontics:
          match:
            category:
              coding:
              - {code: orthodontics, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Orthodontics treatment indicator
            mustSupport: true
            index: 18
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: orthodontics, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 19
              code: {index: 20}
              timing:
                choices: []
                index: 22
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: null
                  slices:
                    timingDate:
                      match: {}
                      schema:
                        short: Orthodontics appliance application date (200)
                        choices: [timingDate]
                        index: 24
                      min: 0
                      max: 1
              timingDate:
                short: Orthodontics appliance application date (200)
                type: date
                choiceOf: timing
                index: 25
                slicing:
                  slices:
                    timingDate:
                      match: {}
                      schema: {short: Orthodontics appliance application date (200), type: date, choiceOf: timing, index: 25}
                      min: 0
                      max: 1
              value:
                short: Total number of months for orthodontia
                mustSupport: true
                choices: [valueQuantity]
                index: 27
              valueQuantity: {type: Quantity, short: Total number of months for orthodontia, mustSupport: true, choiceOf: value, index: 28}
            required: [value, valueQuantity]
        prosthesis:
          match:
            category:
              coding:
              - {code: prosthesis, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Prosthesis
            mustSupport: true
            index: 29
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: prosthesis, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 30
              timing:
                choices: []
                index: 32
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: null
                  slices:
                    timingDate:
                      match: {}
                      schema:
                        short: Date of prior prosthesis replacement  (203)
                        choices: [timingDate]
                        index: 34
                      min: 0
                      max: 1
              timingDate:
                short: Date of prior prosthesis replacement  (203)
                type: date
                choiceOf: timing
                index: 35
                slicing:
                  slices:
                    timingDate:
                      match: {}
                      schema: {short: Date of prior prosthesis replacement  (203), type: date, choiceOf: timing, index: 35}
                      min: 0
                      max: 1
              value:
                short: Prosthesis replacement indicator (202
                mustSupport: true
                choices: [valueBoolean]
                index: 37
              valueBoolean: {type: boolean, short: Prosthesis replacement indicator (202, mustSupport: true, choiceOf: value, index: 38}
            required: [value, valueBoolean]
        additionalbodysite:
          match:
            category:
              coding:
              - {code: additionalbodysite, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Additional tooth number or oral cavity code
            mustSupport: true
            array: true
            index: 39
            elements:
              sequence: {mustSupport: true, index: 40}
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: additionalbodysite, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 41
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/OralBodySite'}
                mustSupport: true
                index: 42
            required: [code]
        missingtoothnumber:
          match:
            category:
              coding:
              - {code: missingtoothnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Missing tooth number
            mustSupport: true
            array: true
            index: 43
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: missingtoothnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 44
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/ADAUniversalNumberingSystem'}
                mustSupport: true
                index: 45
            required: [code]
        medicalrecordnumber:
          match:
            category:
              coding:
              - {code: medicalrecordnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Medical record number
            mustSupport: true
            index: 46
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: medicalrecordnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 47
              value:
                choices: []
                index: 49
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: 1
                  slices:
                    valueString:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueString]
                        _required: true
                        index: 51
                      min: 1
                      max: 1
              valueString:
                type: string
                mustSupport: true
                choiceOf: value
                index: 52
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, mustSupport: true, choiceOf: value, _required: true, index: 52}
                      min: 1
                      max: 1
            required: [valueString, value]
        patientaccountnumber:
          match:
            category:
              coding:
              - {code: patientaccountnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Patient account number
            mustSupport: true
            index: 53
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: patientaccountnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 54
              value:
                choices: []
                index: 56
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: 1
                  slices:
                    valueString:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueString]
                        _required: true
                        index: 58
                      min: 1
                      max: 1
              valueString:
                type: string
                mustSupport: true
                choiceOf: value
                index: 59
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, mustSupport: true, choiceOf: value, _required: true, index: 59}
                      min: 1
                      max: 1
            required: [valueString, value]
  diagnosis:
    mustSupport: true
    index: 60
    elements:
      sequence: {index: 61}
      diagnosis:
        mustSupport: true
        choices: [diagnosisCodeableConcept]
        index: 63
      diagnosisCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: diagnosis, index: 64}
      type:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimProfessionalAndNonClinicianDiagnosisType'}
        mustSupport: true
        index: 65
    required: [type]
  item:
    elements:
      modifier:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AMACPTCMSHCPCSModifiers'}
        mustSupport: true
        index: 68
      adjudication:
        mustSupport: true
        index: 77
        elements:
          category:
            binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
            index: 78
        slicing:
          rules: open
          ordered: false
          description: Slice based on value
          discriminator:
          - {path: category, type: value}
          min: 1
          slices:
            adjustmentreason:
              match:
                category:
                  coding:
                  - {code: adjustmentreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
              schema:
                short: Reason codes used to interpret the Non-Covered Amount (92)
                mustSupport: true
                index: 79
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: adjustmentreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 80
                  reason:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/X12ClaimAdjustmentReasonCodesCMSRemittanceAdviceRemarkCodes'}
                    mustSupport: true
                    index: 81
                required: [reason]
            benefitpaymentstatus:
              match:
                category:
                  coding:
                  - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
              schema:
                short: Indicates the in network or out of network payment status of the claim. (142)
                mustSupport: true
                _required: true
                index: 82
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 83
                  reason:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerBenefitPaymentStatus'}
                    mustSupport: true
                    index: 84
                required: [reason]
            allowedunits:
              match:
                category:
                  coding:
                  - {code: allowedunits, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
              schema:
                short: The quantity of units, times, days, visits, services, or treatments for the service described by the HCPCS code, revenue code or procedure code, submitted by the provider.  (149)
                mustSupport: true
                index: 85
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: allowedunits, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 86
      locationCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: location, index: 73}
      serviced:
        mustSupport: true
        choices: []
        index: 70
      subSite:
        short: Tooth surface for all teeth on line
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBSurfaceCodes'}
        index: 76
      productOrService:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/ADADentalProcedureCode'}
        mustSupport: true
        index: 67
      informationSequence: {mustSupport: true, index: 66}
      bodySite:
        short: First tooth number or oral cavity code
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/OralBodySite'}
        mustSupport: true
        index: 75
      quantity: {index: 74}
      location:
        mustSupport: true
        choices: [locationCodeableConcept]
        index: 72
    required: [adjudication, location, serviced, locationCodeableConcept]
  adjudication:
    type: BackboneElement
    mustSupport: true
    array: true
    min: 2
    index: 87
    elements:
      category:
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
        mustSupport: true
        index: 88
    slicing:
      rules: open
      ordered: false
      description: Slice based on value
      discriminator:
      - {path: category, type: value}
      min: 2
      slices:
        billingnetworkstatus:
          match:
            category:
              coding:
              - {code: billingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
          schema:
            short: Billing provider network status
            mustSupport: true
            index: 89
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: billingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 90
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerProviderNetworkStatus'}
                mustSupport: true
                index: 91
            required: [reason]
        renderingnetworkstatus:
          match:
            category:
              coding:
              - {code: renderingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
          schema:
            short: Rendering provider network status
            mustSupport: true
            _required: true
            index: 92
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: renderingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 93
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerProviderNetworkStatus'}
                mustSupport: true
                index: 94
            required: [reason]
        benefitpaymentstatus:
          match:
            category:
              coding:
              - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
          schema:
            short: Indicates the in network or out of network payment status of the claim. (142)
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 95
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 96
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerBenefitPaymentStatus'}
                mustSupport: true
                index: 97
            required: [reason]
package_version: bb-2.1.0
class: profile
kind: resource
url: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Oral-Basis
base: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit
version: 2.1.0