---
title: "coverage"
description: "The US Core Coverage Profile inherits from the FHIR [Coverage](https://hl7.org/fhir/R4/coverage.html) resource; refer to it for scope and usage definitions."
---

The US Core Coverage Profile inherits from the FHIR [Coverage](https://hl7.org/fhir/R4/coverage.html) 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.

## Source

| Model | Leg | Role |
|---|---|---|
| `us-core-coverage` | FHIR | defines this table |

## Columns

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Coverage.id | — |
| `created_at` | `timestamptz` | no | Row creation timestamp. | — |
| `updated_at` | `timestamptz` | no | Row update timestamp; maintained by the application. | — |
| `created_by` | `text` | no | Actor who created the row. | — |
| `updated_by` | `text` | no | Actor who last updated the row. | — |
| `memberid` | `text` | yes | Member ID | `Coverage.identifier` |
| `identifier_value`<br />`identifier_system` | text, text<br />`text`, `text` | yes | Member ID and other identifiers | `Coverage.identifier` |
| `status` | `text` | yes | active \| cancelled \| draft \| entered-in-error | `Coverage.status` |
| `type`<br />`type_code`<br />`type_system`<br />`type_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Coverage category such as medical or accident | `Coverage.type` |
| `subscriber_id` | `text` | yes | ID assigned to the subscriber | `Coverage.subscriberId` |
| `patient_id` | `uuid` | yes | Plan beneficiary | `Coverage.beneficiary` |
| `relationship`<br />`relationship_code`<br />`relationship_system`<br />`relationship_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Beneficiary relationship to the subscriber | `Coverage.relationship` |
| `period_start`<br />`period_end` | timestamptz, timestamptz<br />`timestamptz`, `timestamptz` | yes | Coverage start and end dates | `Coverage.period` |
| `payor_organization_id`<br />`payor_patient_id`<br />`payor_related_person_id` | uuid, uuid, uuid<br />`uuid`, `uuid`, `uuid` | yes | Issuer of the policy | `Coverage.payor` |
| `class_group_value` | `text` | yes | Group Identifier | `Coverage.class.value` |
| `class_plan_value` | `text` | yes | Plan Number | `Coverage.class.value` |
| `class_plan_name` | `text` | yes | Plan Name | `Coverage.class.name` |

## Constraints

```sql
check (identifier_system is null or identifier_value is not null)
check ((type is null and type_code is null and type_system is null and type_valueset_id is null) or (type is not null and type_code is not null and type_system is not null and type_valueset_id is not null))
check ((relationship is null and relationship_code is null and relationship_system is null and relationship_valueset_id is null) or (relationship is not null and relationship_code is not null and relationship_system is not null and relationship_valueset_id is not null))
check (period_start is null or period_end is null or period_start <= period_end)
check (num_nonnulls(payor_organization_id, payor_patient_id, payor_related_person_id) <= 1)
```

## References

| Columns | Target | On delete |
|---|---|---|
| `type_valueset_id, type_code, type_system, type` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `relationship_valueset_id, relationship_code, relationship_system, relationship` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `patient_id` | [`patient`](/docs/tables/patient) | no action |
| `payor_organization_id` | [`organization`](/docs/tables/organization) | no action |
| `payor_patient_id` | [`patient`](/docs/tables/patient) | no action |
| `payor_related_person_id` | [`related_person`](/docs/tables/related_person) | no action |

## Referenced by

- [`coverage_other_identifier`](/docs/tables/coverage_other_identifier) via `coverage_id`

## Indexes

- `coverage_patient_id_idx` on `patient_id`
- `coverage_payor_organization_id_idx` on `payor_organization_id`
- `coverage_payor_patient_id_idx` on `payor_patient_id`
- `coverage_payor_related_person_id_idx` on `payor_related_person_id`

## Child tables

1 table hang off `coverage`, one row per repetition.

### `coverage_other_identifier`

Child table — one row per repetition, deleted with its parent.

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `coverage_id` | `uuid` → [`coverage`](/docs/tables/coverage) | no | — | — |
| `identifier_value` | `text` | no | — | — |
| `identifier_system` | `text` | yes | — | — |
| `identifier_use` | `text` | yes | — | — |
| `valid_from` | `timestamptz` | yes | — | — |
| `valid_until` | `timestamptz` | yes | — | — |

#### Unique

- `coverage_id, identifier_system, identifier_value`

#### References

| Columns | Target | On delete |
|---|---|---|
| `coverage_id` | [`coverage`](/docs/tables/coverage) | cascade |

## Value sets

| Value set | Codes |
|---|---|
| `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591` | 0 |
| `http://hl7.org/fhir/ValueSet/subscriber-relationship` | 0 |

