This page is part of the Da Vinci Health Record Exchange (v0.2.0: STU1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
The HRex Coverage Profile defines the constraints for representing a member’s healthcare insurance information to the Payer. Coverage instances complying with this profile, sometimes together with the Patient which this profile references via beneficiary
, allows a payer to identify a member in their system.
The official URL for this profile is:
http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-coverage
Coverage is central to most Da Vinci use-cases. The resource provides the information that identifies the type of insurance, the payer who provides it and the member who is covered. As such, it forms the justification or focus for almost all data exchanges in the payer space. While the resource is complex, the Da Vinci profile focuses on capturing only the minimum data necessary to identify both payer and member.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Coverage
This structure is derived from Coverage
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Coverage | 0..* | Coverage | Insurance or medical plan or a payment agreement | |
identifier | S | 0..* | Identifier | Also known as Member identifier |
type | 0..1 | CodeableConcept | Coverage category such as medical or accident | |
policyHolder | 0..1 | Reference(US Core Patient Profile | HRex Organization Profile | RelatedPerson) | Owner of the policy | |
subscriber | 0..1 | Reference(US Core Patient Profile) | Subscriber to the policy | |
subscriberId | S | 0..1 | string | Subscriber ID |
beneficiary | S | 1..1 | Reference(US Core Patient Profile) | Plan beneficiary |
period | 0..1 | Period | Coverage start and end dates | |
payor | S | 1..* | Reference(HRex Organization Profile) | Issuer of the policy |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Coverage | I | 0..* | Coverage | Insurance or medical plan or a payment agreement |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣI | 0..* | Identifier | Also known as Member identifier |
status | ?!ΣI | 1..1 | code | active | cancelled | draft | entered-in-error Binding: FinancialResourceStatusCodes (required) |
type | ΣI | 0..1 | CodeableConcept | Coverage category such as medical or accident Binding: CoverageTypeAndSelf-PayCodes (preferred) |
policyHolder | ΣI | 0..1 | Reference(US Core Patient Profile | HRex Organization Profile | RelatedPerson) | Owner of the policy |
subscriber | ΣI | 0..1 | Reference(US Core Patient Profile) | Subscriber to the policy |
subscriberId | SΣI | 0..1 | string | Subscriber ID |
beneficiary | SΣI | 1..1 | Reference(US Core Patient Profile) | Plan beneficiary |
dependent | ΣI | 0..1 | string | Dependent number |
relationship | I | 0..1 | CodeableConcept | Beneficiary relationship to the subscriber Binding: SubscriberRelationshipCodes (extensible) |
period | ΣI | 0..1 | Period | Coverage start and end dates |
payor | SΣI | 1..* | Reference(HRex Organization Profile) | Issuer of the policy |
class | I | 0..* | BackboneElement | Additional coverage classifications |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 1..1 | CodeableConcept | Type of class such as 'group' or 'plan' Binding: CoverageClassCodes (extensible) |
value | ΣI | 1..1 | string | Value associated with the type |
name | ΣI | 0..1 | string | Human readable description of the type and value |
order | ΣI | 0..1 | positiveInt | Relative order of the coverage |
network | ΣI | 0..1 | string | Insurer network |
costToBeneficiary | I | 0..* | BackboneElement | Patient payments for services/products |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 0..1 | CodeableConcept | Cost category Binding: CoverageCopayTypeCodes (extensible) |
value[x] | ΣI | 1..1 | The amount or percentage due from the beneficiary | |
valueQuantity | Quantity(SimpleQuantity) | |||
valueMoney | Money | |||
exception | I | 0..* | BackboneElement | Exceptions for patient payments |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 1..1 | CodeableConcept | Exception category Binding: ExampleCoverageFinancialExceptionCodes (example) |
period | ΣI | 0..1 | Period | The effective period of the exception |
subrogation | I | 0..1 | boolean | Reimbursement to insurer |
contract | I | 0..* | Reference(Contract) | Contract details |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Coverage | I | 0..* | Coverage | Insurance or medical plan or a payment agreement |
identifier | ΣI | 0..* | Identifier | Also known as Member identifier |
subscriberId | ΣI | 0..1 | string | Subscriber ID |
beneficiary | ΣI | 1..1 | Reference(US Core Patient Profile) | Plan beneficiary |
payor | ΣI | 1..* | Reference(HRex Organization Profile) | Issuer of the policy |
Documentation for this format |
This structure is derived from Coverage
Differential View
This structure is derived from Coverage
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Coverage | 0..* | Coverage | Insurance or medical plan or a payment agreement | |
identifier | S | 0..* | Identifier | Also known as Member identifier |
type | 0..1 | CodeableConcept | Coverage category such as medical or accident | |
policyHolder | 0..1 | Reference(US Core Patient Profile | HRex Organization Profile | RelatedPerson) | Owner of the policy | |
subscriber | 0..1 | Reference(US Core Patient Profile) | Subscriber to the policy | |
subscriberId | S | 0..1 | string | Subscriber ID |
beneficiary | S | 1..1 | Reference(US Core Patient Profile) | Plan beneficiary |
period | 0..1 | Period | Coverage start and end dates | |
payor | S | 1..* | Reference(HRex Organization Profile) | Issuer of the policy |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Coverage | I | 0..* | Coverage | Insurance or medical plan or a payment agreement |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣI | 0..* | Identifier | Also known as Member identifier |
status | ?!ΣI | 1..1 | code | active | cancelled | draft | entered-in-error Binding: FinancialResourceStatusCodes (required) |
type | ΣI | 0..1 | CodeableConcept | Coverage category such as medical or accident Binding: CoverageTypeAndSelf-PayCodes (preferred) |
policyHolder | ΣI | 0..1 | Reference(US Core Patient Profile | HRex Organization Profile | RelatedPerson) | Owner of the policy |
subscriber | ΣI | 0..1 | Reference(US Core Patient Profile) | Subscriber to the policy |
subscriberId | SΣI | 0..1 | string | Subscriber ID |
beneficiary | SΣI | 1..1 | Reference(US Core Patient Profile) | Plan beneficiary |
dependent | ΣI | 0..1 | string | Dependent number |
relationship | I | 0..1 | CodeableConcept | Beneficiary relationship to the subscriber Binding: SubscriberRelationshipCodes (extensible) |
period | ΣI | 0..1 | Period | Coverage start and end dates |
payor | SΣI | 1..* | Reference(HRex Organization Profile) | Issuer of the policy |
class | I | 0..* | BackboneElement | Additional coverage classifications |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 1..1 | CodeableConcept | Type of class such as 'group' or 'plan' Binding: CoverageClassCodes (extensible) |
value | ΣI | 1..1 | string | Value associated with the type |
name | ΣI | 0..1 | string | Human readable description of the type and value |
order | ΣI | 0..1 | positiveInt | Relative order of the coverage |
network | ΣI | 0..1 | string | Insurer network |
costToBeneficiary | I | 0..* | BackboneElement | Patient payments for services/products |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 0..1 | CodeableConcept | Cost category Binding: CoverageCopayTypeCodes (extensible) |
value[x] | ΣI | 1..1 | The amount or percentage due from the beneficiary | |
valueQuantity | Quantity(SimpleQuantity) | |||
valueMoney | Money | |||
exception | I | 0..* | BackboneElement | Exceptions for patient payments |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | ΣI | 1..1 | CodeableConcept | Exception category Binding: ExampleCoverageFinancialExceptionCodes (example) |
period | ΣI | 0..1 | Period | The effective period of the exception |
subrogation | I | 0..1 | boolean | Reimbursement to insurer |
contract | I | 0..* | Reference(Contract) | Contract details |
Documentation for this format |
Other representations of profile: Schematron
Path | Conformance | ValueSet |
Coverage.language | preferred | CommonLanguages Max Binding: AllLanguages |
Coverage.status | required | FinancialResourceStatusCodes |
Coverage.type | preferred | CoverageTypeAndSelf-PayCodes |
Coverage.relationship | extensible | SubscriberRelationshipCodes |
Coverage.class.type | extensible | CoverageClassCodes |
Coverage.costToBeneficiary.type | extensible | CoverageCopayTypeCodes |
Coverage.costToBeneficiary.exception.type | example | ExampleCoverageFinancialExceptionCodes |
Id | Path | Details | Requirements |
dom-2 | Coverage | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Coverage | If 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-4 | Coverage | If 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-5 | Coverage | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Coverage | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Coverage.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.policyHolder | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.subscriber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.subscriberId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.beneficiary | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.dependent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.relationship | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.payor | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.class | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.class.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.class.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.class.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.class.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.class.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.class.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.class.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.order | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.network | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.costToBeneficiary.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.costToBeneficiary.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.costToBeneficiary.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.costToBeneficiary.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary.exception | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary.exception.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.costToBeneficiary.exception.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.costToBeneficiary.exception.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Coverage.costToBeneficiary.exception.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Coverage.costToBeneficiary.exception.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.costToBeneficiary.exception.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.subrogation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Coverage.contract | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
If the member identifier (conveyed in Coverage.identifier
) is known, it should be sent as this uniquely identifies a covered individual. If not, then the Coverage.subscriberId
can be used together with demographic information found by resolving Coverage.beneficiary
to identify the member. (There can be multiple members associated with a single subscriber - e.g. family members of an individual who is covered under a work-based policy.)