PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.carin@bb-2.1.0-snapshot1
    http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Outpatient-Institutional-Basis
description: This profile is used for Explanation of Benefits (EOBs) based on claims submitted by clinics, hospitals, skilled nursing facilities and other institutions for outpatient services, which may include including the use of equipment and supplies, laboratory services, radiology services and other charges. Outpatient claims are submitted for services rendered at an institution that are not part of an overnight stay.\nThe claims data is based on the institutional claim form UB-04, submission standards adopted by the Department of Health and Human Services.\nThe basis profile does not have requirements for financial data.
package_name: hl7.fhir.us.carin
derivation: constraint
name: C4BBExplanationOfBenefitOutpatientInstitutionalBasis
type: ExplanationOfBenefit
elements:
  processNote:
    elements:
      text: {mustSupport: true, index: 73}
  diagnosis:
    index: 40
    elements:
      sequence: {index: 41}
      diagnosis:
        mustSupport: true
        choices: [diagnosisCodeableConcept]
        index: 43
      diagnosisCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: diagnosis, index: 44}
      type:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimOutpatientInstitutionalDiagnosisType'}
        mustSupport: true
        index: 45
    required: [type]
  adjudication:
    type: BackboneElement
    mustSupport: true
    index: 61
    elements:
      category:
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
        mustSupport: true
        index: 62
    slicing:
      rules: open
      ordered: false
      description: Slice based on value pattern
      discriminator:
      - {path: category, type: pattern}
      min: 1
      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: 63
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: billingnetworkstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 64
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerProviderNetworkStatus'}
                mustSupport: true
                index: 65
            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: 66
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: benefitpaymentstatus, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 67
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBPayerBenefitPaymentStatus'}
                mustSupport: true
                index: 68
            required: [reason]
        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
            array: true
            index: 69
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: adjustmentreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                index: 70
              reason:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/X12ClaimAdjustmentReasonCodesCMSRemittanceAdviceRemarkCodes'}
                mustSupport: true
                index: 71
            required: [reason]
  supportingInfo:
    index: 8
    slicing:
      rules: open
      ordered: false
      description: Slice based on $this pattern
      discriminator:
      - {path: category, type: pattern}
      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: 9
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: clmrecvddate, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 10
              timing:
                mustSupport: true
                choices: [timingDate]
                index: 12
              timingDate: {type: date, mustSupport: true, choiceOf: timing, index: 13}
            required: [timingDate, timing]
        typeofbill:
          match:
            category:
              coding:
              - {code: typeofbill, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Type of bill
            mustSupport: true
            index: 14
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: typeofbill, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 15
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AHANUBCTypeOfBill'}
                mustSupport: true
                index: 16
            required: [code]
        pointoforigin:
          match:
            category:
              coding:
              - {code: pointoforigin, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Point of origin for admission or visit
            mustSupport: true
            index: 17
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: pointoforigin, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 18
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AHANUBCPointOfOriginForAdmissionOrVisit'}
                mustSupport: true
                index: 19
            required: [code]
        admtype:
          match:
            category:
              coding:
              - {code: admtype, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Admission type
            mustSupport: true
            index: 20
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: admtype, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 21
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AHANUBCPriorityTypeOfAdmissionOrVisit'}
                mustSupport: true
                index: 22
            required: [code]
        discharge-status:
          match:
            category:
              coding:
              - {code: discharge-status, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
          schema:
            short: Discharge status
            mustSupport: true
            index: 23
            elements:
              category:
                mustSupport: true
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: discharge-status, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 24
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AHANUBCPatientDischargeStatus'}
                mustSupport: true
                index: 25
            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: 26
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: medicalrecordnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 27
              value:
                choices: []
                index: 29
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: 1
                  slices:
                    valueString:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueString]
                        _required: true
                        index: 31
                      min: 1
                      max: 1
              valueString:
                type: string
                mustSupport: true
                choiceOf: value
                index: 32
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, mustSupport: true, choiceOf: value, _required: true, index: 32}
                      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: 33
            elements:
              category:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: patientaccountnumber, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBSupportingInfoType'}
                index: 34
              value:
                choices: []
                index: 36
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: $this, type: type}
                  min: 1
                  slices:
                    valueString:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueString]
                        _required: true
                        index: 38
                      min: 1
                      max: 1
              valueString:
                type: string
                mustSupport: true
                choiceOf: value
                index: 39
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, mustSupport: true, choiceOf: value, _required: true, index: 39}
                      min: 1
                      max: 1
            required: [valueString, value]
  payment:
    elements:
      date: {mustSupport: true, index: 72}
  item:
    elements:
      revenue:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AHANUBCRevenueCodes'}
        mustSupport: true
        index: 46
      productOrService:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBEOBInstitutionalProcedureCodes'}
        mustSupport: true
        index: 47
      modifier:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/AMACPTCMSHCPCSModifiers'}
        mustSupport: true
        index: 48
      serviced:
        mustSupport: true
        choices: [servicedDate]
        index: 50
      servicedDate: {type: date, mustSupport: true, choiceOf: serviced, index: 51}
      quantity: {mustSupport: true, index: 52}
      adjudication:
        mustSupport: true
        index: 53
        elements:
          category:
            binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBAdjudicationCategoryDiscriminator'}
            index: 54
        slicing:
          rules: open
          ordered: false
          description: Slice based on value pattern
          discriminator:
          - {path: category, type: pattern}
          min: null
          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
                array: true
                index: 55
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: adjustmentreason, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 56
                  reason:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/X12ClaimAdjustmentReasonCodesCMSRemittanceAdviceRemarkCodes'}
                    mustSupport: true
                    index: 57
                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: 58
                elements:
                  category:
                    pattern:
                      type: CodeableConcept
                      value:
                        coding:
                        - {code: allowedunits, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBAdjudicationDiscriminator'}
                    index: 59
                  value: {mustSupport: true, index: 60}
                required: [value]
    required: [servicedDate, serviced]
  type:
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: institutional, system: 'http://terminology.hl7.org/CodeSystem/claim-type'}
    index: 1
  created: {mustSupport: true, index: 3}
  identifier: {mustSupport: true, index: 0}
  subType:
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBInstitutionalClaimSubType'}
    mustSupport: true
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: outpatient, system: 'http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBInstitutionalClaimSubType'}
    index: 2
  provider:
    type: Reference
    refers: ['http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Organization']
    index: 4
  careTeam:
    constraint:
      EOB-inst-careTeam-practitioner:
        human: 'Institutional EOB: Careteam roles refer to a practitioner'
        source: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Outpatient-Institutional-Basis
        severity: error
        expression: |-
          (
          role.where(coding.where(code in ('attending' | 'primary' | 'referring' | 'supervisor')).exists()).exists() implies
          provider.all(resolve() is Practitioner)
          )
      EOB-inst-careTeam-organization:
        human: 'Institutional EOB: Careteam roles refer to an organization'
        source: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Outpatient-Institutional-Basis
        severity: error
        expression: |-
          (
          role.where(coding.where(code in ('rendering' )).exists()).exists() implies
          provider.all(resolve() is Organization)
          )
      EOB-careteam-qualification: {human: Care Team Rendering physician's qualifications are from Healthcare Provider Taxonomy Value Set, source: 'http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Outpatient-Institutional-Basis', severity: error, expression: 'where(role.where(coding.code in (''rendering'')).exists().not() or qualification.memberOf(''http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066'')).exists()'}
    index: 5
    elements:
      role:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/carin-bb/ValueSet/C4BBClaimInstitutionalCareTeamRole'}
        index: 6
      qualification:
        binding: {strength: required, valueSet: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066'}
        index: 7
    required: [role]
package_version: bb-2.1.0-snapshot1
class: profile
kind: resource
url: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit-Outpatient-Institutional-Basis
base: http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-ExplanationOfBenefit
version: 2.1.0-snapshot1
required: [diagnosis, adjudication, subType]