US Core Implementation Guide
7.0.0-ballot - Ballot United States of America flag

This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, 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: 7.0.0-ballot
Standards status: Trial-use Maturity Level: 3 Computable Name: USCoreCoverageProfile

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The US Core Coverage Profile is based upon the core FHIR Coverage Resource and implements the US Core Data for Interoperability (USCDI) v3 Health Insurance Information requirements. To promote interoperability and adoption through common implementation, this profile sets minimum expectations for the Coverage resource to record, search, and fetch the “data related to an individual’s insurance coverage for health care”. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases.

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 id
  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. coverage start and/or end date
  3. health insurance group and/or plan

Profile Specific Implementation Guidance:

  • 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 that 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.
  • The hierarchical nature of the Coverage.type code system “Payer” (also known as the US Public Health Data Consortium Source of Payment Codes) may be unclear in the expansion, and some of the codes may be inappropriate for the use case. Implementers should refer to the PHDSC Payer Type Committee User’s Guide for the Source of Payment Typology when selecting codes.
  • To differentiate Medicare Parts A, B, C, and D systems can use the following codes:

    Medicare Plan SOP Code (Description) Comment
    Part A and B 121 (Medicare Fee For Service) Part A and B. Part A alone cannot be represented (see “Note to Balloters” below). Part B alone does not need to be represented because Part B enrollment requires enrollment in Part A
    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)  

    The US Core team requested a stand-alone code for Medicare Part A from NAHDO. If this request is not approved, systems SHOULD use the X12 concept for Medicare Part A as a code translation to the SOP code “121” (see Using multiple codes with CodeableConcept Datatype).

  • If Insurers issue unique member Ids for dependents, then the memberId Coverage.identifier should be used instead of Coverage.dependent to to uniquely refer to the dependent with respect to their insurance.

Usage:

Formal Views of Profile Content

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

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... Slices for identifier S0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SC0..1IdentifierMember ID
..... type S1..1CodeableConceptMember Number identifier type
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
... status S1..1codeactive | cancelled | draft | entered-in-error
... type S0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... subscriberId SC0..1stringID assigned to the subscriber
... beneficiary S1..1Reference(US Core Patient Profile)Plan beneficiary
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period S0..1PeriodCoverage start and end dates
... payor S1..1Reference(US Core Organization Profile S | US Core Patient Profile | US Core RelatedPerson Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:group S0..1BackboneElementGroup
..... type 1..1CodeableConceptType of class such as 'group' or 'plan'
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
..... value S1..1stringGroup Number
..... name S0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... type 1..1CodeableConceptType of class such as 'group' or 'plan'
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
..... value S1..1stringPlan Number
..... name S0..1stringPlan Name

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes

Constraints

IdGradePath(s)DetailsRequirements
us-core-15errorCoverageMember 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 & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SΣC0..1IdentifierMember ID
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptMember 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: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... subscriberId SΣC0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(US Core Patient Profile)Plan beneficiary
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..1Reference(US Core Organization Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

..... value Σ1..1stringValue associated with the type
.... class:group S0..1BackboneElementGroup
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
..... value SΣ1..1stringGroup Number
..... name SΣ0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
..... value SΣ1..1stringPlan Number
..... name SΣ0..1stringPlan Name

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.identifier:memberid.userequiredIdentifierUse
Coverage.identifier:memberid.typeextensiblePattern: MB
Coverage.statusrequiredFinancialResourceStatusCodes
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.class.typeextensibleCoverageClassCodes
Coverage.class:group.typeextensiblePattern: group
Coverage.class:plan.typeextensiblePattern: plan

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-15errorCoverageMember 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 & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SΣC0..1IdentifierMember ID
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptMember 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: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... policyHolder Σ0..1Reference(Patient | RelatedPerson | Organization)Owner of the policy
... subscriber Σ0..1Reference(Patient | RelatedPerson)Subscriber to the policy
... subscriberId SΣC0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(US Core Patient Profile)Plan beneficiary
... dependent Σ0..1stringDependent number
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..1Reference(US Core Organization Profile S | US Core Patient Profile | US Core RelatedPerson Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

..... value Σ1..1stringValue associated with the type
..... name Σ0..1stringHuman readable description of the type and value
.... class:group S0..1BackboneElementGroup
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value SΣ1..1stringGroup Number
..... name SΣ0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value SΣ1..1stringPlan Number
..... name SΣ0..1stringPlan Name
... order Σ0..1positiveIntRelative order of the coverage
... network Σ0..1stringInsurer network
... costToBeneficiary 0..*BackboneElementPatient payments for services/products
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..1CodeableConceptCost category
Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.

.... value[x] Σ1..1The amount or percentage due from the beneficiary
..... valueQuantityQuantity(SimpleQuantity)
..... valueMoneyMoney
.... exception 0..*BackboneElementExceptions for patient payments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptException category
Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.

..... period Σ0..1PeriodThe effective period of the exception
... subrogation 0..1booleanReimbursement to insurer
... contract 0..*Reference(Contract)Contract details

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Coverage.identifier:memberid.userequiredIdentifierUse
Coverage.identifier:memberid.typeextensiblePattern: MB
Coverage.statusrequiredFinancialResourceStatusCodes
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.class.typeextensibleCoverageClassCodes
Coverage.class:group.typeextensiblePattern: group
Coverage.class:plan.typeextensiblePattern: plan
Coverage.costToBeneficiary.typeextensibleCoverageCopayTypeCodes
Coverage.costToBeneficiary.exception.typeexampleExampleCoverageFinancialExceptionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-15errorCoverageMember 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: 17 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Coverage.identifier is sliced based on the value of pattern:type
  • The element Coverage.class is sliced based on the value of pattern:type

Maturity: 3

Differential View

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... Slices for identifier S0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SC0..1IdentifierMember ID
..... type S1..1CodeableConceptMember Number identifier type
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
... status S1..1codeactive | cancelled | draft | entered-in-error
... type S0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... subscriberId SC0..1stringID assigned to the subscriber
... beneficiary S1..1Reference(US Core Patient Profile)Plan beneficiary
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period S0..1PeriodCoverage start and end dates
... payor S1..1Reference(US Core Organization Profile S | US Core Patient Profile | US Core RelatedPerson Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:group S0..1BackboneElementGroup
..... type 1..1CodeableConceptType of class such as 'group' or 'plan'
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
..... value S1..1stringGroup Number
..... name S0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... type 1..1CodeableConceptType of class such as 'group' or 'plan'
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
..... value S1..1stringPlan Number
..... name S0..1stringPlan Name

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes

Constraints

IdGradePath(s)DetailsRequirements
us-core-15errorCoverageMember 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()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SΣC0..1IdentifierMember ID
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptMember 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: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... subscriberId SΣC0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(US Core Patient Profile)Plan beneficiary
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..1Reference(US Core Organization Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

..... value Σ1..1stringValue associated with the type
.... class:group S0..1BackboneElementGroup
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
..... value SΣ1..1stringGroup Number
..... name SΣ0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
..... value SΣ1..1stringPlan Number
..... name SΣ0..1stringPlan Name

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.identifier:memberid.userequiredIdentifierUse
Coverage.identifier:memberid.typeextensiblePattern: MB
Coverage.statusrequiredFinancialResourceStatusCodes
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.class.typeextensibleCoverageClassCodes
Coverage.class:group.typeextensiblePattern: group
Coverage.class:plan.typeextensiblePattern: plan

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-15errorCoverageMember 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 & Constraintsdoco
.. Coverage C0..*CoverageInsurance or medical plan or a payment agreement
us-core-15: Member Id in Coverage.identifier or Coverage.subscriberId SHALL be present
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ0..*IdentifierMember ID and other identifiers
Slice: Unordered, Open by pattern:type
.... identifier:memberid SΣC0..1IdentifierMember ID
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type SΣ1..1CodeableConceptMember 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: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MB
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: Payer Type (extensible): US Public Health Data Consortium Source of Payment Codes

... policyHolder Σ0..1Reference(Patient | RelatedPerson | Organization)Owner of the policy
... subscriber Σ0..1Reference(Patient | RelatedPerson)Subscriber to the policy
... subscriberId SΣC0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(US Core Patient Profile)Plan beneficiary
... dependent Σ0..1stringDependent number
... relationship S1..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible)
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..1Reference(US Core Organization Profile S | US Core Patient Profile | US Core RelatedPerson Profile)Issuer of the policy
... Slices for class S0..*BackboneElementAdditional coverage classifications
Slice: Unordered, Open by pattern:type
.... class:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

..... value Σ1..1stringValue associated with the type
..... name Σ0..1stringHuman readable description of the type and value
.... class:group S0..1BackboneElementGroup
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: group
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value SΣ1..1stringGroup Number
..... name SΣ0..1stringGroup Name
.... class:plan S0..1BackboneElementPlan
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... value SΣ1..1stringPlan Number
..... name SΣ0..1stringPlan Name
... order Σ0..1positiveIntRelative order of the coverage
... network Σ0..1stringInsurer network
... costToBeneficiary 0..*BackboneElementPatient payments for services/products
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..1CodeableConceptCost category
Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.

.... value[x] Σ1..1The amount or percentage due from the beneficiary
..... valueQuantityQuantity(SimpleQuantity)
..... valueMoneyMoney
.... exception 0..*BackboneElementExceptions for patient payments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptException category
Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.

..... period Σ0..1PeriodThe effective period of the exception
... subrogation 0..1booleanReimbursement to insurer
... contract 0..*Reference(Contract)Contract details

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Coverage.identifier:memberid.userequiredIdentifierUse
Coverage.identifier:memberid.typeextensiblePattern: MB
Coverage.statusrequiredFinancialResourceStatusCodes
Coverage.typeextensiblePayerType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.class.typeextensibleCoverageClassCodes
Coverage.class:group.typeextensiblePattern: group
Coverage.class:plan.typeextensiblePattern: plan
Coverage.costToBeneficiary.typeextensibleCoverageCopayTypeCodes
Coverage.costToBeneficiary.exception.typeexampleExampleCoverageFinancialExceptionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-15errorCoverageMember 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: 17 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Coverage.identifier is sliced based on the value of pattern:type
  • The element Coverage.class is sliced based on the value of pattern:type

Maturity: 3

 

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.

  • The syntax used to describe the interactions is described here.
  • 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:

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

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

    Example:

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

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