US Core Implementation Guide
10.0.0-ballot - STU 10 Ballot United States of America flag

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 10.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

Resource Profile: US Core Coverage Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-coverage Version: 10.0.0-ballot
Standards status: Trial-use Maturity Level: 5 Computable Name: USCoreCoverageProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.19

The US Core Coverage Profile inherits from the FHIR Coverage resource; refer to it for scope and usage definitions. This profile meets the requirements of the US Core Data for Interoperability (USCDI) Health Insurance Information Data Class. It sets minimum expectations for the Coverage resource to record, search, and fetch data related to an individual's insurance coverage for health care. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

US Core Maturity: 4

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for a patient's insurance coverage
  • Record or update a past or present insurance coverage

Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile-specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each Coverage Must Have:

  1. health insurance member identifier or subscriber id1
  2. a status
  3. the health insurance beneficiary (patient)
  4. beneficiary's relationship to the subscriber
  5. the health insurance issuer (payer)

Each Coverage Must Support:

  1. health insurance coverage type (e.g., Medicare)2
  2. coverage start or end date
  3. health insurance group
  4. health insurance plan

1,2 see guidance below

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

  • There is no single way to indicate that the patient has no coverage using the Coverage resource:
    • Coverage.status alone may not indicate whether an individual is covered. The Coverage.period needs to be considered as well. For example, the coverage may be expired with a status of "active", or conversely, it may be "canceled" but still have covered claims.
    • The absence of a Coverage resource instance may mean the patient has no coverage or the healthcare provider may not know it.
    • A coverage.type of "81" (Self-pay) MAY be used to imply that the patient has no coverage or that an individual or organization other than an insurer is taking responsibility for payment for a portion of the health care costs.§
  • 2The Coverage.type value set includes high-level categories of health care payers from the Centers for Disease Control and Prevention (CDC) National Center for Health Statistics (NCHS) Source of Payment Typology (SOPT) code system.

    • To differentiate between Medicare Parts A, B, C, and D systems SHOULD use the following codes.

      Medicare Plan SOPT Code (Description) Comment
      Part A and B§ 121 (Medicare Fee For Service) Because Medicare Part A cannot be represented with an SOPT code, systems SHOULD use the X12 concept for Medicare Part A as a code translation to the SOPT code "121" (see Using multiple codes with CodeableConcept Datatype).
      Part C (Medicare Advantage Plan)§ 111 (Medicare HMO)
      112 (Medicare PPO)
      113 (Medicare POS)
      These are the most common types of Medicare Advantage Plans
      Part D§ 122 (Medicare Drug Benefit)  
  • 1If Insurers issue unique member IDs for dependents, then the memberId in Coverage.identifier SHOULD be used instead of Coverage.dependent to uniquely refer to the dependent with respect to their insurance.§

Usages:

You can also check for usages in the FHIR IG Statistics

Changes since version 9.0.0:

  • No changes
  • Formal Views of Profile Content

    Description of Profiles, Differentials, Snapshots and how the different presentations work.

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Coverage.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Coverage.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. This element is included in summaries. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
    Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept Member Number identifier type
    Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | cancelled | draft | entered-in-error
    Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
    Coverage.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.subscriberId This element must be supported. This element is included in summaries. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. This element is included in summaries. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:All Slices Content/Rules for all slices
    Coverage.Slices for class.class:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:All Slices.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Coverage.Slices for class.class:All Slices.value This element is included in summaries. 1..1 string Value associated with the type
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:group.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. This element is included in summaries. 1..1 string Group Identifier
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:plan.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. This element is included in summaries. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. This element is included in summaries. 0..1 string Plan Name

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Coverage.identifier:memberid.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
    Coverage.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.
    Coverage.class.type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:group.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:plan.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()

    This structure is derived from Coverage

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.Slices for identifier This element must be supported. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. 1..1 CodeableConcept Member Number identifier type
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.status This element must be supported. 1..1 code active | cancelled | draft | entered-in-error
    Coverage.type This element must be supported. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.subscriberId This element must be supported. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.type 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. 1..1 string Group Identifier
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.type 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. 0..1 string Plan Name

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()
    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.id This element is included in summaries. 0..1 id Logical id of this artifact
    Coverage.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Coverage.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Coverage.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Coverage.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Coverage.contained 0..* Resource Contained, inline Resources
    Coverage.extension 0..* Extension Additional content defined by implementations
    Coverage.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Coverage.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. This element is included in summaries. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for identifier.identifier:memberid.extension 0..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Coverage.Slices for identifier.identifier:memberid.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
    Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept Member Number identifier type
    Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.Slices for identifier.identifier:memberid.system This element is included in summaries. 0..1 uri The namespace for the identifier value
    Example General: http://www.acme.com/identifiers/patient
    Coverage.Slices for identifier.identifier:memberid.value This element is included in summaries. 0..1 string The value that is unique
    Example General: 123456
    Coverage.Slices for identifier.identifier:memberid.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
    Coverage.Slices for identifier.identifier:memberid.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
    Coverage.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | cancelled | draft | entered-in-error
    Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
    Coverage.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.policyHolder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Organization) Owner of the policy
    Coverage.subscriber This element is included in summaries. 0..1 Reference(Patient | RelatedPerson) Subscriber to the policy
    Coverage.subscriberId This element must be supported. This element is included in summaries. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.dependent This element is included in summaries. 0..1 string Dependent number
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. This element is included in summaries. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:All Slices Content/Rules for all slices
    Coverage.Slices for class.class:All Slices.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:All Slices.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:All Slices.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Coverage.Slices for class.class:All Slices.value This element is included in summaries. 1..1 string Value associated with the type
    Coverage.Slices for class.class:All Slices.name This element is included in summaries. 0..1 string Human readable description of the type and value
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:group.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:group.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:group.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. This element is included in summaries. 1..1 string Group Identifier
    Coverage.Slices for class.class:group.name This element is included in summaries. 0..1 string Human readable description of the type and value
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:plan.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:plan.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:plan.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. This element is included in summaries. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. This element is included in summaries. 0..1 string Plan Name
    Coverage.order This element is included in summaries. 0..1 positiveInt Relative order of the coverage
    Coverage.network This element is included in summaries. 0..1 string Insurer network
    Coverage.costToBeneficiary 0..* BackboneElement Patient payments for services/products
    Coverage.costToBeneficiary.id 0..1 string Unique id for inter-element referencing
    Coverage.costToBeneficiary.extension 0..* Extension Additional content defined by implementations
    Coverage.costToBeneficiary.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.costToBeneficiary.type This element is included in summaries. 0..1 CodeableConcept Cost category
    Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.
    Coverage.costToBeneficiary.value[x] This element is included in summaries. 1..1 The amount or percentage due from the beneficiary
    Coverage.costToBeneficiary.value[x].valueQuantity Quantity(SimpleQuantity)
    Coverage.costToBeneficiary.value[x].valueMoney Money
    Coverage.costToBeneficiary.exception 0..* BackboneElement Exceptions for patient payments
    Coverage.costToBeneficiary.exception.id 0..1 string Unique id for inter-element referencing
    Coverage.costToBeneficiary.exception.extension 0..* Extension Additional content defined by implementations
    Coverage.costToBeneficiary.exception.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.costToBeneficiary.exception.type This element is included in summaries. 1..1 CodeableConcept Exception category
    Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.
    Coverage.costToBeneficiary.exception.period This element is included in summaries. 0..1 Period The effective period of the exception
    Coverage.subrogation 0..1 boolean Reimbursement to insurer
    Coverage.contract 0..* Reference(Contract) Contract details

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Coverage.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
    Coverage.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.
    Coverage.class.type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:group.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:plan.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.costToBeneficiary.​type Base extensible Coverage Copay Type Codes 📍4.0.1 FHIR Std.
    Coverage.costToBeneficiary.​exception.type Base example Example Coverage Financial Exception Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()

    This structure is derived from Coverage

    Summary

    Mandatory: 1 element(1 nested mandatory element)
    Must-Support: 16 elements

    Structures

    This structure refers to these other structures:

    Slices

    This structure defines the following Slices:

    • The element 1 is sliced based on the value of Coverage.identifier
    • The element 1 is sliced based on the value of Coverage.class

    Maturity: 5

    Key Elements View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Coverage.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Coverage.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. This element is included in summaries. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
    Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept Member Number identifier type
    Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | cancelled | draft | entered-in-error
    Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
    Coverage.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.subscriberId This element must be supported. This element is included in summaries. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. This element is included in summaries. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:All Slices Content/Rules for all slices
    Coverage.Slices for class.class:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:All Slices.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Coverage.Slices for class.class:All Slices.value This element is included in summaries. 1..1 string Value associated with the type
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:group.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. This element is included in summaries. 1..1 string Group Identifier
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:plan.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. This element is included in summaries. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. This element is included in summaries. 0..1 string Plan Name

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Coverage.identifier:memberid.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
    Coverage.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.
    Coverage.class.type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:group.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:plan.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()

    Differential View

    This structure is derived from Coverage

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.Slices for identifier This element must be supported. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. 1..1 CodeableConcept Member Number identifier type
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.status This element must be supported. 1..1 code active | cancelled | draft | entered-in-error
    Coverage.type This element must be supported. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.subscriberId This element must be supported. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type
    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.type 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. 1..1 string Group Identifier
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.type 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. 0..1 string Plan Name

    doco Documentation for this format

    Terminology Bindings (Differential)

    Path Status Usage ValueSet Version Source
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Coverage C 0..* Coverage Insurance or medical plan or a payment agreement
    Constraints: us-core-15
    Coverage.id This element is included in summaries. 0..1 id Logical id of this artifact
    Coverage.meta This element is included in summaries. 0..1 Meta Metadata about the resource
    Coverage.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
    Coverage.language 0..1 code Language of the resource content
    Binding: CommonLanguages (preferred): A human language.
    Additional BindingsPurpose
    AllLanguages Max Binding
    Coverage.text 0..1 Narrative Text summary of the resource, for human interpretation
    This profile does not constrain the narrative in regard to content, language, or traceability to data elements
    Coverage.contained 0..* Resource Contained, inline Resources
    Coverage.extension 0..* Extension Additional content defined by implementations
    Coverage.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
    Coverage.Slices for identifier This element must be supported. This element is included in summaries. 0..* Identifier Member ID and other identifiers
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for identifier.identifier:memberid This element must be supported. This element is included in summaries. C 0..1 Identifier Member ID
    Coverage.Slices for identifier.identifier:memberid.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for identifier.identifier:memberid.extension 0..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Coverage.Slices for identifier.identifier:memberid.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
    Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
    Coverage.Slices for identifier.identifier:memberid.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept Member Number identifier type
    Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",
          "code" : "MB"
        }
      ]
    }
    Coverage.Slices for identifier.identifier:memberid.system This element is included in summaries. 0..1 uri The namespace for the identifier value
    Example General: http://www.acme.com/identifiers/patient
    Coverage.Slices for identifier.identifier:memberid.value This element is included in summaries. 0..1 string The value that is unique
    Example General: 123456
    Coverage.Slices for identifier.identifier:memberid.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
    Coverage.Slices for identifier.identifier:memberid.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
    Coverage.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | cancelled | draft | entered-in-error
    Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
    Coverage.type This element must be supported. This element is included in summaries. 0..1 CodeableConcept Coverage category such as medical or accident
    Binding: Payer Type (extensible): Centers for Disease Control and Prevention National Center for Health Statistics Source of Payment Codes
    Coverage.policyHolder This element is included in summaries. 0..1 Reference(Patient | RelatedPerson | Organization) Owner of the policy
    Coverage.subscriber This element is included in summaries. 0..1 Reference(Patient | RelatedPerson) Subscriber to the policy
    Coverage.subscriberId This element must be supported. This element is included in summaries. C 0..1 string ID assigned to the subscriber
    Coverage.beneficiary This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile) Plan beneficiary
    Coverage.dependent This element is included in summaries. 0..1 string Dependent number
    Coverage.relationship This element must be supported. 1..1 CodeableConcept Beneficiary relationship to the subscriber
    Binding: SubscriberRelationshipCodes (extensible)
    Coverage.period This element must be supported. This element is included in summaries. 0..1 Period Coverage start and end dates
    Coverage.payor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Organization Profile This type must be supported. | US Core Patient Profile | US Core RelatedPerson Profile) Issuer of the policy
    Coverage.Slices for class This element must be supported. 0..* BackboneElement Additional coverage classifications
    Slice: Unordered, Open by value:type

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Coverage.Slices for class.class:All Slices Content/Rules for all slices
    Coverage.Slices for class.class:All Slices.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:All Slices.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:All Slices.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Coverage.Slices for class.class:All Slices.value This element is included in summaries. 1..1 string Value associated with the type
    Coverage.Slices for class.class:All Slices.name This element is included in summaries. 0..1 string Human readable description of the type and value
    Coverage.Slices for class.class:group This element must be supported. 0..1 BackboneElement Group
    Coverage.Slices for class.class:group.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:group.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:group.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:group.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "group"
        }
      ]
    }
    Coverage.Slices for class.class:group.value This element must be supported. This element is included in summaries. 1..1 string Group Identifier
    Coverage.Slices for class.class:group.name This element is included in summaries. 0..1 string Human readable description of the type and value
    Coverage.Slices for class.class:plan This element must be supported. 0..1 BackboneElement Plan
    Coverage.Slices for class.class:plan.id 0..1 string Unique id for inter-element referencing
    Coverage.Slices for class.class:plan.extension 0..* Extension Additional content defined by implementations
    Coverage.Slices for class.class:plan.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.Slices for class.class:plan.type This element is included in summaries. 1..1 CodeableConcept Type of class such as 'group' or 'plan'
    Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.
    Required Pattern:
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/coverage-class",
          "code" : "plan"
        }
      ]
    }
    Coverage.Slices for class.class:plan.value This element must be supported. This element is included in summaries. 1..1 string Plan Number
    Coverage.Slices for class.class:plan.name This element must be supported. This element is included in summaries. 0..1 string Plan Name
    Coverage.order This element is included in summaries. 0..1 positiveInt Relative order of the coverage
    Coverage.network This element is included in summaries. 0..1 string Insurer network
    Coverage.costToBeneficiary 0..* BackboneElement Patient payments for services/products
    Coverage.costToBeneficiary.id 0..1 string Unique id for inter-element referencing
    Coverage.costToBeneficiary.extension 0..* Extension Additional content defined by implementations
    Coverage.costToBeneficiary.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.costToBeneficiary.type This element is included in summaries. 0..1 CodeableConcept Cost category
    Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.
    Coverage.costToBeneficiary.value[x] This element is included in summaries. 1..1 The amount or percentage due from the beneficiary
    Coverage.costToBeneficiary.value[x].valueQuantity Quantity(SimpleQuantity)
    Coverage.costToBeneficiary.value[x].valueMoney Money
    Coverage.costToBeneficiary.exception 0..* BackboneElement Exceptions for patient payments
    Coverage.costToBeneficiary.exception.id 0..1 string Unique id for inter-element referencing
    Coverage.costToBeneficiary.exception.extension 0..* Extension Additional content defined by implementations
    Coverage.costToBeneficiary.exception.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
    Coverage.costToBeneficiary.exception.type This element is included in summaries. 1..1 CodeableConcept Exception category
    Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.
    Coverage.costToBeneficiary.exception.period This element is included in summaries. 0..1 Period The effective period of the exception
    Coverage.subrogation 0..1 boolean Reimbursement to insurer
    Coverage.contract 0..* Reference(Contract) Contract details

    doco Documentation for this format

    Terminology Bindings

    Path Status Usage ValueSet Version Source
    Coverage.language Base preferred Common Languages 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
    Coverage.identifier:memberid.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
    Coverage.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
    Coverage.type Base extensible Payer Type ⏿20250419 tx.fhir.org
    Coverage.relationship Base extensible SubscriberPolicyholder Relationship Codes 📦4.0.1 FHIR Std.
    Coverage.class.type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:group.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.class:plan.​type Base extensible Coverage Class Codes 📍4.0.1 FHIR Std.
    Coverage.costToBeneficiary.​type Base extensible Coverage Copay Type Codes 📍4.0.1 FHIR Std.
    Coverage.costToBeneficiary.​exception.type Base example Example Coverage Financial Exception Codes 📍4.0.1 FHIR Std.

    Constraints

    Id Grade Path(s) Description Expression
    us-core-15 error Coverage Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present identifier.type.coding.where(system='http://terminology.hl7.org/CodeSystem/v2-0203' and code='MB').exists() or subscriberId.exists()

    This structure is derived from Coverage

    Summary

    Mandatory: 1 element(1 nested mandatory element)
    Must-Support: 16 elements

    Structures

    This structure refers to these other structures:

    Slices

    This structure defines the following Slices:

    • The element 1 is sliced based on the value of Coverage.identifier
    • The element 1 is sliced based on the value of Coverage.class

    Maturity: 5

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:


    Quick Start


    Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

    • See the Scopes Format section for a description of the SMART scopes syntax.
    • See the Search Syntax section for a description of the US Core search syntax.
    • See the General Requirements section for additional rules and expectations when a Server requires status parameters.
    • See the General Guidance section for additional guidance on searching for multiple patients.

    US Core Scopes

    Servers providing access to coverage data SHALL support these US Core SMART Scopes:


    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

    1. SHALL support searching for all coverages for a patient using the patient search parameter

      GET [base]/Coverage?patient={Patient/}[id]

      Example:

      1. GET [base]/Coverage?patient=Patient/1137192

      Implementation Notes: Fetches a bundle of all US Core Coverage Profile resources for the specified patient ( see how to search by reference).