US Core Implementation Guide
9.0.0 - STU 9 US

US Core Implementation Guide - Downloaded Version 9.0.0 See the Directory of published versions

## Resource Profile: US Core ADI DocumentReference Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-adi-documentreference | Version: 9.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: USCoreADIDocumentReferenceProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.4

The US Core Advance Directive Information (ADI) DocumentReference Profile inherits from the FHIR DocumentReference resource; refer to it for scope and usage definitions. It sets minimum expectations for searching and fetching patient Advance Directive Information (ADI) documents using the DocumentReference resource. Examples of advance healthcare directive documents include physician order for life sustaining treatment (POLST), do not resuscitate order (DNR), and Living Will. In addition to the document contents, it communicates the type of advance directive document, the author, the verifier, and other properties. To represent whether advance directive documents exist for a patient, see the US Core Observation ADI Documentation Profile. This profile sets minimum expectations for searching and fetching patient ADI documents using the DocumentReference resource. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

Example Usage Scenarios:

The following are example usage scenarios for the US Core ADI DocumentReference profile:

- Query for all ADI documents belonging to a Patient
- Query for a specific ADI Document type (e.g., POLST or Living Will)

### 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 DocumentReference Must Have:

1. a status
2. a code describing the type of ADI document (for example, POLST or Living Will)
3. an ADI document category (for example, Advance Directives)
4. a patient
5. document referenced (content)
6. the MIME type (i.e., contentType) of the document

Each DocumentReference Must Support:

1. a business identifier for the DocumentReference (possibly generated by the transcription system or EHR)
2. date and time the DocumentReference was created
3. an author1
4. a code identifying the specific implementation requirements that the document conforms to — over and above the content's MIME type

1 see guidance below

### Profile Specific Implementation Guidance

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

- This profile and the US Core Observation ADI Documentation Profile meet the U.S. Core Data for Interoperability (USCDI) Advance Directive Observation Data Element requirements.
- This profile can communicate the contents of a Portable Medical Order (PMO) document, such as POLST, MOLST, or other state-specific forms, satisfying USCDI's Portable Medical Order Data Element requirements.
  - The US Core ServiceRequest Profile can be used to represent a derived "actionable" order based on a PMO.

- In addition to the Advance Directive Categories value set, other category schemes may be used to facilitate the sharing of health documents.

- The DocumentReference resources can represent the referenced content using either an address where the document can be retrieved using `DocumentReference.content.attachment.url` or the content as inline base64 encoded data using `DocumentReference.content.attachment.data`.
  - Although both are marked as Must Support, the Server system is not required to support an address and inline base64 encoded data, but SHALL support at least one of these elements.§
  - The Client application SHALL support both elements.§,§
  - The `DocumentReference.content.attachment.url` may refer to a FHIR Binary Resource (i.e., [base]/Binary/[id]), FHIR Document Bundle (i.e., [base]/Bundle/[id], or another endpoint).
    - If the referenced document or file is hosted on a server outside the FHIR server, it SHOULD be securely accessible using the same authorization credentials that were used to access the FHIR server.§ This reduces complexity for the client and improves the user experience.
  - If there are multiple `DocumentReference.content` element repetitions, these SHALL all represent the same document in different formats or attachment metadata.§ The content element SHALL NOT contain different versions of the same content.§ For version handling, use multiple DocumentReferences with `DocumentReference.relatesTo`.
- Every DocumentReference must have a responsible Organization. The organization responsible for the DocumentReference SHALL be present either in `DocumentReference.custodian` or accessible in the Provenance resource targeting the DocumentReference using `Provenance.agent.who` or `Provenance.agent.onBehalfOf`.§
  - Some systems may also expose the same organization in referenced Encounter in `Encounter.serviceProvider`.

- 1The profile element `DocumentReference.author` communicates the individual level provenance author data corresponding to the U.S. Core Data for Interoperability (USCDI) Provenance Author Data Elements.

- To represent the patient and provider attestation metadata, the optional DocumentReference Attestor R5 Extension in the formal definition below SHOULD be used.§ The examples associated with this profile illustrate how it is populated for various ADI documents.

Usages:

- Refer to this Profile: US Core Observation ADI Documentation Profile
- Examples for this Profile: DocumentReference/adi-dnr, DocumentReference/living-will and DocumentReference/polst
- CapabilityStatements using this Profile: US Core Client CapabilityStatement and US Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

Changes since version 8.0.1:

- The resource metadata has changed (description, copyright)
- The data elements list has changed
- One or more text definitions, invariants or bindings have changed

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Other identifiers for the document
status | ?!S Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
type | S Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S Σ | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
category:adi | S Σ | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S Σ | 0..1 | instant | When this document reference was created
author | S Σ | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
content | S Σ | 1..* | BackboneElement | Document referenced
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
attachment | S Σ C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
contentType | S Σ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. Example General: text/plain; charset=UTF-8, image/png
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S Σ C | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png
format | S Σ | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.content.​attachment.contentType | Base | required | MimeType | 📍4.0.1 | FHIR Std.
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DocumentReference | 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 | error | DocumentReference | 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 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | DocumentReference.extension:fhir5-attester, DocumentReference.modifierExtension, DocumentReference.content.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

This structure is derived from DocumentReference

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
Slices for extension |  |  |  | Content/Rules for all slices
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester
identifier | S | 0..* | Identifier | Other identifiers for the document
status | S | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
type | S | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this
category:adi | S | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S | 0..1 | instant | When this document reference was created
author | S | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
content | S | 1..* | BackboneElement | Document referenced
attachment | S C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
contentType | S | 0..1 | code | Mime type of the content, with charset etc.
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S C | 0..1 | url | Uri where the data can be found
format | S | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier
identifier | S Σ | 0..* | Identifier | Other identifiers for the document
status | ?!S Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
docStatus | Σ | 0..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): Status of the underlying document.
type | S Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S Σ | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
category:adi | S Σ | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S Σ | 0..1 | instant | When this document reference was created
author | S Σ | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
authenticator |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document
custodian |  | 0..1 | Reference(Organization) | Organization which maintains the document
relatesTo | Σ | 0..* | BackboneElement | Relationships to other documents
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents.
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship
description | Σ | 0..1 | string | Human-readable description
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
content | S Σ | 1..* | BackboneElement | Document referenced
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
attachment | S Σ C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
contentType | S Σ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. Example General: text/plain; charset=UTF-8, image/png
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Example General: en-AU
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S Σ C | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided)
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed)
title | Σ | 0..1 | string | Label to display in place of the data Example General: Official Corporate Logo
creation | Σ | 0..1 | dateTime | Date attachment was first created
format | S Σ | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
context | Σ | 0..1 | BackboneElement | Clinical context of document
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
encounter |  | 0..* | Reference(Encounter | EpisodeOfCare) | Context of the document content
event |  | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
period | Σ | 0..1 | Period | Time of service that is being documented
facilityType |  | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example): XDS Facility Type.
practiceSetting |  | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example): Additional details about where the content was created (e.g. clinical specialty).
sourcePatientInfo |  | 0..1 | Reference(Patient) | Patient demographics from source
related |  | 0..* | Reference(Resource) | Related identifiers or resources
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.docStatus | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.relatesTo.​code | Base | required | DocumentRelationshipType | 📍4.0.1 | FHIR Std.
DocumentReference.securityLabel | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
DocumentReference.content.​attachment.contentType | Base | required | MimeType | 📍4.0.1 | FHIR Std.
DocumentReference.content.​attachment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1
DocumentReference.context.​event | Base | example | v3 Code System ActCode | 📦2018-08-12 | FHIR Std.
DocumentReference.context.​facilityType | Base | example | Facility Type Code Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.context.​practiceSetting | Base | example | Practice Setting Code Value Set | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DocumentReference | 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 | error | DocumentReference | 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 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

This structure is derived from DocumentReference

Summary

Mandatory: 3 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)
- US Core Organization Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization)
- US Core PractitionerRole Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole)
- US Core RelatedPerson Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson)
- US Core Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-device)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of DocumentReference.category

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Other identifiers for the document
status | ?!S Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
type | S Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S Σ | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
category:adi | S Σ | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S Σ | 0..1 | instant | When this document reference was created
author | S Σ | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
content | S Σ | 1..* | BackboneElement | Document referenced
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
attachment | S Σ C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
contentType | S Σ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. Example General: text/plain; charset=UTF-8, image/png
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S Σ C | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png
format | S Σ | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.content.​attachment.contentType | Base | required | MimeType | 📍4.0.1 | FHIR Std.
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DocumentReference | 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 | error | DocumentReference | 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 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | DocumentReference.extension:fhir5-attester, DocumentReference.modifierExtension, DocumentReference.content.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

Differential View

This structure is derived from DocumentReference

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
Slices for extension |  |  |  | Content/Rules for all slices
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester
identifier | S | 0..* | Identifier | Other identifiers for the document
status | S | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
type | S | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this
category:adi | S | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S | 0..1 | instant | When this document reference was created
author | S | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
content | S | 1..* | BackboneElement | Document referenced
attachment | S C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
contentType | S | 0..1 | code | Mime type of the content, with charset etc.
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S C | 0..1 | url | Uri where the data can be found
format | S | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DocumentReference |  | 0..* | DocumentReference | A reference to a document
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:fhir5-attester |  | 0..* | (Complex) | Participant who has authenticated the accuracy of the document. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier
identifier | S Σ | 0..* | Identifier | Other identifiers for the document
status | ?!S Σ | 1..1 | code | current | superseded | entered-in-error Binding: DocumentReferenceStatus (required)
docStatus | Σ | 0..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): Status of the underlying document.
type | S Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: Advance Healthcare Directive Document Types Grouper (extensible): Advance Directives Content Type
Slices for category | S Σ | 1..* | CodeableConcept | Categorization of document Slice: Unordered, Open by value:$this Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
category:adi | S Σ | 0..* | CodeableConcept | Categorization of ADI document Binding: Advance Healthcare Directive Categories LOINC (required): Advance Healthcare Directive Categories Grouper. Note that other codes are permitted in other slices, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile) | Who/what is the subject of the document
date | S Σ | 0..1 | instant | When this document reference was created
author | S Σ | 0..* | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile) | Who and/or what authored the document
authenticator |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document
custodian |  | 0..1 | Reference(Organization) | Organization which maintains the document
relatesTo | Σ | 0..* | BackboneElement | Relationships to other documents
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents.
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship
description | Σ | 0..1 | string | Human-readable description
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
content | S Σ | 1..* | BackboneElement | Document referenced
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
attachment | S Σ C | 1..1 | Attachment | Where to access the document Constraints: us-core-6
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
contentType | S Σ | 0..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. Example General: text/plain; charset=UTF-8, image/png
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Example General: en-AU
data | S C | 0..1 | base64Binary | Data inline, base64ed
url | S Σ C | 0..1 | url | Uri where the data can be found Example General: http://www.acme.com/logo-small.png
size | Σ | 0..1 | unsignedInt | Number of bytes of content (if url provided)
hash | Σ | 0..1 | base64Binary | Hash of the data (sha-1, base64ed)
title | Σ | 0..1 | string | Label to display in place of the data Example General: Official Corporate Logo
creation | Σ | 0..1 | dateTime | Date attachment was first created
format | S Σ | 0..1 | Coding | Format/content rules for the document Binding: HL7FormatCodes (2.1.0) (extensible)
context | Σ | 0..1 | BackboneElement | Clinical context of document
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
encounter |  | 0..* | Reference(Encounter | EpisodeOfCare) | Context of the document content
event |  | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
period | Σ | 0..1 | Period | Time of service that is being documented
facilityType |  | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example): XDS Facility Type.
practiceSetting |  | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example): Additional details about where the content was created (e.g. clinical specialty).
sourcePatientInfo |  | 0..1 | Reference(Patient) | Patient demographics from source
related |  | 0..* | Reference(Resource) | Related identifiers or resources
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DocumentReference.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
DocumentReference.status | Base | required | DocumentReferenceStatus | 📦4.0.1 | FHIR Std.
DocumentReference.docStatus | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std.
DocumentReference.type | Base | extensible | Advance Healthcare Directive Document Types Grouper | ⏿20250407 | tx.fhir.org
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | ⏿20250402 | tx.fhir.org
DocumentReference.relatesTo.​code | Base | required | DocumentRelationshipType | 📍4.0.1 | FHIR Std.
DocumentReference.securityLabel | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
DocumentReference.content.​attachment.contentType | Base | required | MimeType | 📍4.0.1 | FHIR Std.
DocumentReference.content.​attachment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
DocumentReference.content.​format | Base | extensible | HL7 ValueSet of Format Codes for use with Document Sharing | 📍2.1.0 | THO v7.1
DocumentReference.context.​event | Base | example | v3 Code System ActCode | 📦2018-08-12 | FHIR Std.
DocumentReference.context.​facilityType | Base | example | Facility Type Code Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.context.​practiceSetting | Base | example | Practice Setting Code Value Set | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | DocumentReference | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | DocumentReference | 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 | error | DocumentReference | 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 | error | DocumentReference | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | DocumentReference | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-6 | error | DocumentReference.content.attachment | DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. | `url.exists() or data.exists()`

This structure is derived from DocumentReference

Summary

Mandatory: 3 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

- US Core Patient Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)
- US Core Organization Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization)
- US Core PractitionerRole Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole)
- US Core RelatedPerson Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson)
- US Core Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-device)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.attester

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of DocumentReference.category

Maturity: 2

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 adi data SHALL support these US Core SMART Scopes:

- resource level scopes: `<patient|user|system>/DocumentReference.rs` [§][]

#### Mandatory Search Parameters:

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

1. SHALL support both read DocumentReference by `id` AND DocumentReference search using the _id search parameter

   `GET [base]/DocumentReference?_id=[id]' or 'GET [base]/DocumentReference/[id]`

   Examples:

   > 1. GET [base]/DocumentReference/2169591

   > 2. GET [base]/DocumentReference?_id=2169591

   Implementation Notes: Fetches a single US Core ADI DocumentReference Profile or a search Bundle containing a US Core ADI DocumentReference Profile resource matching the id. The document itself is represented as a base64 encoded binary data element or retrieved using the link provided by the resource. If the document is a relative link to a Binary resource like a resource reference, it can be subsequently retrieved using: `GET [base]/Binary/[id]`. (see Parameters for all resources).

2. SHALL support searching for all documentreferences for a patient using the patient search parameter

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

   Example:

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

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient. See the implementation notes above for how to access the actual document. ( see how to search by reference).

3. SHALL support searching for all clinical notes for a given patient using the combination of the patient and category search parameters

   `GET [base]/DocumentReference?patient={Patient/}[id]&category={system|}[search_code]`

   Example:

   > 1. GET [base]/DocumentReference?patient=Patient/1137192&category=http://loinc.org|42348-3

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient and category = "42348-3". See the implementation notes above for how to access the actual document. ( see how to search by reference and how to search by token).

4. SHALL support searching for all clinical notes for a given patient by date (for example, since 2019) using the combination of the patient and category and date search parameters

   - Including optional support for AND search on `date` (e.g.`date=[date]&date=[date]&...`)

   - Including support for these `date` comparators: "gt", "lt", "ge", "le"

   `GET [base]/DocumentReference?patient={Patient/}[id]&category={system|}[search_code]&date={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}`

   Example:

   > 1. GET [base]/DocumentReference?patient=Patient/1137192&category=http://loinc.org|42348-3&date=ge2020-01-01T00:00:00Z

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient and category = "42348-3" and date. See the implementation notes above for how to access the actual document. ( see how to search by reference and how to search by token and how to search by date).

5. SHALL support searching for a specific note type for a patient using the combination of the patient and type search parameters

   `GET [base]/DocumentReference?patient={Patient/}[id]&type={system|}[search_code]`

   Example:

   > 1. GET [base]/DocumentReference?patient=Patient/1137192&type=http://loinc.org|84095-9

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient and type. See the implementation notes above for how to access the actual document. ( see how to search by reference and how to search by token).

#### Optional Search Parameters:

The following search parameters and search parameter combinations SHOULD be supported

1. SHOULD support searching for all documents for a patient for a given status (for example completed reports ) using the combination of the patient and status search parameters

   - Including support OR search on `status` (e.g.`status={system|}[code],{system|}[code],...`)

   `GET [base]/DocumentReference?patient={Patient/}[id]&status={system|}[search_code]{,{system|}[code],...}`

   Example:

   > 1. GET [base]/DocumentReference?patient=Patient/1137192&status=completed

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient and status. See the implementation notes above for how to access the actual document. ( see how to search by reference and how to search by token).

2. SHOULD support searching for a document for a patient by type and a clinically relevent date using the combination of the patient and type and period search parameters

   - Including optional support for AND search on `period` (e.g.`period=[date]&period=[date]&...`)

   - Including support for these `period` comparators: "gt", "lt", "ge", "le"

   `GET [base]/DocumentReference?patient={Patient/}[id]&type={system|}[search_code]&period={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}`

   Example:

   > 1. GET [base]/DocumentReference?patient=Patient/1137192&type=http://loinc.org|84095-9&period=ge2020-01-01T00:00:00Z

   Implementation Notes: Fetches a bundle of all US Core ADI DocumentReference Profile resources for the specified patient and type and period. See the implementation notes above for how to access the actual document. ( see how to search by reference and how to search by token and how to search by date).