PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.carin-bb@2.0.0
    http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Professional-NonClinician
description: This profile is used for Explanation of Benefits (EOBs) based on claims submitted by physicians, suppliers and other non-institutional providers for professional and vision services. These services may be rendered in inpatient or outpatient, including office locations. The claims data is based on the professional claim form 1500, submission standards adopted by the Department of Health and Human Services as form CMS-1500.
package_name: hl7.fhir.us.carin-bb
derivation: constraint
name: C4BBExplanationOfBenefitProfessionalNonClinician
type: ExplanationOfBenefit
elements:
  type:
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBProfessionalAndNonClinicianClaimType'}
    index: 0
  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-Professional-NonClinician
        severity: error
        expression: |-
          (
          role.where(coding.where(code in ('rendering' | 'primary' | 'referring' | 'supervising')).exists()).exists() implies
          role.where(coding.where(code in ('rendering' | 'primary' | 'referring' | 'supervising' )).exists()).exists().provider.all(resolve() is Practitioner)
          )
    index: 1
    elements:
      role:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimProfessionalAndNonClinicianCareTeamRole'}
        index: 2
      qualification:
        binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066'}
        mustSupport: true
        index: 3
    required: [role]
  supportingInfo:
    index: 4
    slicing:
      rules: open
      ordered: false
      description: Slice based on $this pattern
      discriminator:
      - {path: category, type: pattern}
      min: null
      slices:
        stretcherpurpose:
          match:
            category:
              coding:
              - {code: stretcherpurpose, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 64
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: stretcherpurpose, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 65
              code: {index: 66}
              timing:
                choices: []
                index: 68
              value:
                choices: [valueString]
                index: 70
              valueString: {type: string, choiceOf: value, index: 71}
            required: [valueString, value]
        transportationdistance:
          match:
            category:
              coding:
              - {code: transportationdistance, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 43
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: transportationdistance, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 44
              code: {index: 45}
              timing:
                choices: []
                index: 47
              value:
                choices: [valueQuantity]
                index: 49
              valueQuantity:
                type: Quantity
                choiceOf: value
                index: 50
                elements:
                  value: {index: 52}
                  unit:
                    pattern: {type: String, value: '[mi_i]'}
                    index: 53
                  system:
                    pattern: {type: Uri, value: 'http://unitsofmeasure.org'}
                    index: 54
                required: [value]
            required: [value, valueQuantity]
        roudtrippurpose:
          match:
            category:
              coding:
              - {code: roudtrippurpose, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 55
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: roudtrippurpose, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 56
              code: {index: 57}
              timing:
                choices: []
                index: 59
              value:
                choices: [valueString]
                index: 61
              valueString: {type: string, choiceOf: value, index: 62}
            required: [valueString, value]
        dropofflocation:
          match:
            category:
              coding:
              - {code: dropofflocation, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 82
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: dropofflocation, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 83
              code: {index: 84}
              timing:
                choices: []
                index: 86
              value:
                choices: [valueString]
                index: 88
              valueString: {type: string, choiceOf: value, index: 89}
            required: [valueString, value]
        servicefacility:
          match:
            category:
              coding:
              - {code: servicefacility, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Service facility
            mustSupport: true
            index: 10
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: servicefacility, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 11
              value:
                choices: []
                index: 13
              valueReference:
                type: Reference
                mustSupport: true
                refers: ['http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Organization']
                index: 14
            required: [valueReference, value]
        pickuplocation:
          match:
            category:
              coding:
              - {code: pickuplocation, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 73
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: pickuplocation, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 74
              code: {index: 75}
              timing:
                choices: []
                index: 77
              value:
                choices: [valueString]
                index: 79
              valueString: {type: string, choiceOf: value, index: 80}
            required: [valueString, value]
        ambulancetransportreason:
          match:
            category:
              coding:
              - {code: ambulancetransportreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 37
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: ambulancetransportreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 38
              code: {index: 39}
              timing:
                choices: []
                index: 41
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAmbulanceTransportReasonCodes'}
                index: 42
            required: [reason]
        patientweight:
          match:
            category:
              coding:
              - {code: patientweight, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            mustSupport: true
            array: true
            index: 25
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: patientweight, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 26
              code: {index: 27}
              timing:
                choices: []
                index: 29
              value:
                choices: [valueQuantity]
                index: 31
              valueQuantity:
                type: Quantity
                choiceOf: value
                index: 32
                elements:
                  value: {index: 34}
                  unit:
                    pattern: {type: String, value: '[lb_av]'}
                    index: 35
                  system:
                    pattern: {type: Uri, value: 'http://unitsofmeasure.org'}
                    index: 36
                required: [value]
            required: [value, valueQuantity]
        clmrecvddate:
          match:
            category:
              coding:
              - {code: clmrecvddate, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Claim received date
            mustSupport: true
            index: 5
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: clmrecvddate, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 6
              timing:
                mustSupport: true
                choices: [timingDate]
                index: 8
              timingDate: {type: date, mustSupport: true, choiceOf: timing, index: 9}
            required: [timingDate, timing]
        medicalrecordnumber:
          match:
            category:
              coding:
              - {code: medicalrecordnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Medical record number
            mustSupport: true
            index: 15
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: medicalrecordnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 16
              value:
                choices: []
                index: 18
              valueString: {type: string, mustSupport: true, index: 19}
            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: 20
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: patientaccountnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 21
              value:
                choices: []
                index: 23
              valueString: {type: string, mustSupport: true, index: 24}
            required: [valueString, value]
  diagnosis:
    mustSupport: true
    index: 91
    elements:
      sequence: {index: 92}
      diagnosis:
        mustSupport: true
        choices: [diagnosisCodeableConcept]
        index: 94
      diagnosisCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: diagnosis, index: 95}
      type:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimProfessionalAndNonClinicianDiagnosisType'}
        mustSupport: true
        index: 96
    required: [type]
  item:
    elements:
      productOrService:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AMACPTCMSHCPCSProcedureCodes'}
        constraint:
          EOB-vision-item-productorservice: {human: 'Vision EOB: Item productOrService not required in item.productOrService if and only if type is vision.', source: 'http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Professional-NonClinician', severity: error, expression: 'ExplanationOfBenefit.type.coding.where(code = ''vision'' and system=''http://terminology.hl7.org/CodeSystem/claim-type'').exists() or ExplanationOfBenefit.item.productOrService.coding.where(code = ''not-applicable'' and system = ''http://terminology.hl7.org/CodeSystem/data-absent-reason'').exists().not()'}
        mustSupport: true
        index: 97
      modifier:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AMACPTCMSHCPCSModifiers'}
        mustSupport: true
        index: 98
      serviced:
        choices: []
        index: 100
      location:
        mustSupport: true
        choices: [locationCodeableConcept]
        index: 102
      locationCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: location, index: 103}
      quantity: {index: 105}
      adjudication:
        mustSupport: true
        array: true
        min: 2
        index: 106
        elements:
          category:
            binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
            index: 107
        slicing:
          rules: open
          ordered: false
          description: Slice based on value pattern
          discriminator:
          - {path: category, type: pattern}
          min: 2
          slices:
            adjudicationamounttype:
              match: {category: null}
              schema:
                short: Amounts
                mustSupport: true
                array: true
                min: 1
                _required: true
                index: 108
                elements:
                  category:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudication'}
                    index: 109
                  amount: {mustSupport: true, index: 110}
                required: [amount]
            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: 111
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: adjustmentreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 112
                  reason:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/X12ClaimAdjustmentReasonCodesCMSRemittanceAdviceRemarkCodes'}
                    mustSupport: true
                    index: 113
                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: 114
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 115
                  reason:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerBenefitPaymentStatus'}
                    mustSupport: true
                    index: 116
                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: 117
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: allowedunits, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 118
    required: [location, serviced, locationCodeableConcept]
  adjudication:
    type: BackboneElement
    mustSupport: true
    index: 119
    elements:
      category:
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
        mustSupport: true
        index: 120
    slicing:
      rules: open
      ordered: false
      description: Slice based on value pattern
      discriminator:
      - {path: category, type: pattern}
      min: null
      slices:
        billingnetworkstatus:
          match:
            category:
              coding:
              - {code: billingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
          schema:
            short: Billing provider networking status
            mustSupport: true
            index: 121
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: billingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 122
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerProviderNetworkStatus'}
                mustSupport: true
                index: 123
            required: [reason]
        renderingnetworkstatus:
          match:
            category:
              coding:
              - {code: renderingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
          schema:
            short: Rendering provider networking status
            mustSupport: true
            index: 124
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: renderingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 125
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerProviderNetworkStatus'}
                mustSupport: true
                index: 126
            required: [reason]
  total:
    index: 127
    elements:
      category:
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudication'}
        mustSupport: true
        index: 128
      amount: {index: 129}
    slicing:
      rules: open
      ordered: false
      description: Slice based on value pattern
      discriminator:
      - {path: category, type: pattern}
      min: null
      slices:
        adjudicationamounttype:
          match: {category: null}
          schema:
            short: Total adjudication type and amount
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 130
            elements:
              category:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudication'}
                index: 131
package_version: 2.0.0
class: profile
kind: resource
url: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Professional-NonClinician
base: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit
version: 2.0.0
required: [diagnosis]