---
title: "document_reference"
description: "Maximal set merged from: http://hl7.org/fhir/us/core/StructureDefinition/us-core-adi-documentreference, http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference"
---

Maximal set merged from: http://hl7.org/fhir/us/core/StructureDefinition/us-core-adi-documentreference, http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference

## Source

| Model | Leg | Role |
|---|---|---|
| `us-core-adi-documentreference+us-core-documentreference` | FHIR | defines this table |

## Columns

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | DocumentReference.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. | — |
| `master_identifier_value`<br />`master_identifier_system` | text, text<br />`text`, `text` | yes | Master Version Specific Identifier | `DocumentReference.masterIdentifier` |
| `identifier_value`<br />`identifier_system` | text, text<br />`text`, `text` | yes | Other identifiers for the document | `DocumentReference.identifier` |
| `status` | `text` | yes | current \| superseded \| entered-in-error | `DocumentReference.status` |
| `doc_status` | `text` | yes | preliminary \| final \| amended \| entered-in-error | `DocumentReference.docStatus` |
| `type`<br />`type_code`<br />`type_system`<br />`type_valueset_id` | coded text<br />`text`, `text`, `text`, `text` | yes | Kind of document (LOINC if possible) | `DocumentReference.type` |
| `subject_device_id`<br />`subject_patient_id`<br />`subject_practitioner_id` | uuid, uuid, uuid<br />`uuid`, `uuid`, `uuid` | yes | Who/what is the subject of the document | `DocumentReference.subject` |
| `date` | `timestamptz` | yes | When this document reference was created | `DocumentReference.date` |
| `authenticator_organization_id`<br />`authenticator_practitioner_id`<br />`authenticator_practitioner_role_id` | uuid, uuid, uuid<br />`uuid`, `uuid`, `uuid` | yes | Who/what authenticated the document | `DocumentReference.authenticator` |
| `custodian_id` | `uuid` | yes | Organization which maintains the document | `DocumentReference.custodian` |
| `description` | `text` | yes | Human-readable description | `DocumentReference.description` |
| `context_period_start`<br />`context_period_end` | timestamptz, timestamptz<br />`timestamptz`, `timestamptz` | yes | Time of service that is being documented | `DocumentReference.context.period` |

## Constraints

```sql
check (master_identifier_system is null or master_identifier_value is not null)
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 (num_nonnulls(subject_device_id, subject_patient_id, subject_practitioner_id) <= 1)
check (num_nonnulls(authenticator_organization_id, authenticator_practitioner_id, authenticator_practitioner_role_id) <= 1)
check (context_period_start is null or context_period_end is null or context_period_start <= context_period_end)
```

## References

| Columns | Target | On delete |
|---|---|---|
| `type_valueset_id, type_code, type_system, type` | [`valueset_code`](/docs/tables/valueset_code) | restrict |
| `subject_device_id` | [`device`](/docs/tables/device) | no action |
| `subject_patient_id` | [`patient`](/docs/tables/patient) | no action |
| `subject_practitioner_id` | [`practitioner`](/docs/tables/practitioner) | no action |
| `authenticator_organization_id` | [`organization`](/docs/tables/organization) | no action |
| `authenticator_practitioner_id` | [`practitioner`](/docs/tables/practitioner) | no action |
| `authenticator_practitioner_role_id` | [`practitioner_role`](/docs/tables/practitioner_role) | no action |
| `custodian_id` | [`organization`](/docs/tables/organization) | no action |

## Referenced by

- [`document_reference_other_identifier`](/docs/tables/document_reference_other_identifier) via `document_reference_id`
- [`document_reference_category`](/docs/tables/document_reference_category) via `document_reference_id`
- [`document_reference_author`](/docs/tables/document_reference_author) via `document_reference_id`
- [`document_reference_relates_to`](/docs/tables/document_reference_relates_to) via `document_reference_id`
- [`document_reference_relates_to`](/docs/tables/document_reference_relates_to) via `target_id`
- [`document_reference_security_label`](/docs/tables/document_reference_security_label) via `document_reference_id`
- [`document_reference_content`](/docs/tables/document_reference_content) via `document_reference_id`
- [`document_reference_encounter`](/docs/tables/document_reference_encounter) via `document_reference_id`

## Indexes

- `document_reference_subject_device_id_idx` on `subject_device_id`
- `document_reference_subject_patient_id_idx` on `subject_patient_id`
- `document_reference_subject_practitioner_id_idx` on `subject_practitioner_id`
- `document_reference_authenticator_organization_id_idx` on `authenticator_organization_id`
- `document_reference_authenticator_practitioner_id_idx` on `authenticator_practitioner_id`
- `document_reference_authenticator_practitioner_role_id_idx` on `authenticator_practitioner_role_id`
- `document_reference_custodian_id_idx` on `custodian_id`

## Child tables

7 tables hang off `document_reference`, one row per repetition.

### `document_reference_other_identifier`

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

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

#### Unique

- `document_reference_id, identifier_system, identifier_value`

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |

### `document_reference_category`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `category`<br />`category_code`<br />`category_system` | text, text, text<br />`text`, `text`, `text` | yes | Categorization of document | `DocumentReference.category` |

#### Constraints

```sql
check ((category_code is null and category_system is null) or (category_code is not null and category_system is not null))
```

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |

#### Indexes

- `document_reference_category_document_reference_id_idx` on `document_reference_id`

### `document_reference_author`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `device_id`<br />`organization_id`<br />`patient_id`<br />`practitioner_id`<br />`practitioner_role_id`<br />`related_person_id` | uuid, uuid, uuid, uuid, uuid, uuid<br />`uuid`, `uuid`, `uuid`, `uuid`, `uuid`, `uuid` | yes | Who and/or what authored the document | `DocumentReference.author` |

#### Constraints

```sql
check (num_nonnulls(device_id, organization_id, patient_id, practitioner_id, practitioner_role_id, related_person_id) = 1)
```

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |
| `device_id` | [`device`](/docs/tables/device) | no action |
| `organization_id` | [`organization`](/docs/tables/organization) | no action |
| `patient_id` | [`patient`](/docs/tables/patient) | no action |
| `practitioner_id` | [`practitioner`](/docs/tables/practitioner) | no action |
| `practitioner_role_id` | [`practitioner_role`](/docs/tables/practitioner_role) | no action |
| `related_person_id` | [`related_person`](/docs/tables/related_person) | no action |

#### Indexes

- `document_reference_author_document_reference_id_idx` on `document_reference_id`
- `document_reference_author_device_id_idx` on `device_id`
- `document_reference_author_organization_id_idx` on `organization_id`
- `document_reference_author_patient_id_idx` on `patient_id`
- `document_reference_author_practitioner_id_idx` on `practitioner_id`
- `document_reference_author_practitioner_role_id_idx` on `practitioner_role_id`
- `document_reference_author_related_person_id_idx` on `related_person_id`

### `document_reference_relates_to`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `code` | `text` | yes | replaces \| transforms \| signs \| appends | `DocumentReference.relatesTo.code` |
| `target_id` | `uuid` | yes | Target of the relationship | `DocumentReference.relatesTo.target` |

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |
| `target_id` | [`document_reference`](/docs/tables/document_reference) | no action |

#### Indexes

- `document_reference_relates_to_document_reference_id_idx` on `document_reference_id`
- `document_reference_relates_to_target_id_idx` on `target_id`

### `document_reference_security_label`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `security_label`<br />`security_label_code`<br />`security_label_system` | text, text, text<br />`text`, `text`, `text` | yes | Document security-tags | `DocumentReference.securityLabel` |

#### Constraints

```sql
check ((security_label_code is null and security_label_system is null) or (security_label_code is not null and security_label_system is not null))
```

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |

#### Indexes

- `document_reference_security_label_document_reference_id_idx` on `document_reference_id`

### `document_reference_content`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `attachment` | `uuid` → [`attachment`](/docs/tables/attachment) | yes | Where to access the document | `DocumentReference.content.attachment` |
| `format`<br />`format_code`<br />`format_system` | text, text, text<br />`text`, `text`, `text` | yes | Format/content rules for the document | `DocumentReference.content.format` |

#### Constraints

```sql
check ((format_code is null and format_system is null) or (format_code is not null and format_system is not null))
```

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |
| `attachment` | [`attachment`](/docs/tables/attachment) | restrict |

#### Indexes

- `document_reference_content_document_reference_id_idx` on `document_reference_id`
- `document_reference_content_attachment_idx` on `attachment`

### `document_reference_encounter`

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

| Column | Type | Null | Description | Source |
|---|---|---|---|---|
| `id` | `uuid primary key` | no | Primary key. | — |
| `document_reference_id` | `uuid` → [`document_reference`](/docs/tables/document_reference) | no | — | — |
| `encounter_id` | `uuid` | no | Context of the document  content | `DocumentReference.context.encounter` |

#### Unique

- `document_reference_id, encounter_id`

#### References

| Columns | Target | On delete |
|---|---|---|
| `document_reference_id` | [`document_reference`](/docs/tables/document_reference) | cascade |
| `encounter_id` | [`encounter`](/docs/tables/encounter) | no action |

#### Indexes

- `document_reference_encounter_encounter_id_idx` on `encounter_id`

## Value sets

| Value set | Codes |
|---|---|
| `http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1115.41` | 0 |

