US Core Implementation Guide
8.0.1 - STU 8 US

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 8.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. 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: 8.0.1
Standards status: Trial-use | Maturity Level: 2 | Computable Name: USCoreADIDocumentReferenceProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.3
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The US Core Advance Directive Information (ADI) DocumentReference Profile inherits from the FHIR DocumentReference resource; refer to it for scope and usage definitions. 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. 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 medical power of attorney. 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, Advance Directive for intubation)
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 author*
4. a verifier (in other words, an authenticator)
5. a verification date
6. a code identifying the specific details about the format of the document — over and above the content's MIME type

*see guidance below

Profile Specific Implementation Guidance:

- 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 a 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`.

- *The 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.

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 7.0.0:

- New Content

### 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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | Who/what authenticated 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 | VSAC v0.24
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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 | **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

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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | Who/what authenticated 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 | VSAC v0.24
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | 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 | VSAC v0.24
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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 | 📦3.0.0 | THO v7.1
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: 16 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)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time

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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | Who/what authenticated 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 | VSAC v0.24
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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 | **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()`

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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | Who/what authenticated 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 | VSAC v0.24
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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:authenticationTime | S | 0..1 | dateTime | Authentication Time URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time
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, see Required Bindings When Slicing by Value Sets
subject | S Σ | 1..1 | Reference(US Core Patient Profile S | Practitioner | Group | Device) | 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 | Device) | Who and/or what authored the document
authenticator | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core PractitionerRole Profile) | 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 | VSAC v0.24
DocumentReference.category | Base | example | Document Class Value Set | 📍4.0.1 | FHIR Std.
DocumentReference.category:adi | Base | required | Advance Healthcare Directive Categories LOINC | 📦20250402 | VSAC v0.24
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 | 📦3.0.0 | THO v7.1
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: 16 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)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/core/StructureDefinition/us-core-authentication-time

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 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.

#### 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]` or `GET [base]/DocumentReference?_id=[id]`

   Example:

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

   Implementation Notes: Fetches a single DocumentReference. 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]`. (how to search by the logical id of the resource)

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

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

   Example:

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

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

3. SHALL support searching using the combination of the `patient` and `category` search parameters:

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

   Example:

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

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

4. SHALL support searching using the combination of the `patient` and `category` and `date` search parameters:
   - including support for these `date` comparators: `gt,lt,ge,le`
   - including optional support for AND search on `date` (e.g.`date=[date]&date=[date]]&...`)

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

   Example:

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

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

5. SHALL support searching using the combination of the `patient` and `type` search parameters:

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

   Example:

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

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

#### Optional Search Parameters:

The following search parameter combinations SHOULD be supported:

1. SHOULD support searching using the combination of the `patient` and `status` search parameters:
   - including support for OR search on `status` (e.g.`status={system|}[code],{system|}[code],...`)

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

   Example:

   1. GET [base]/DiagnosticReport?patient=1137192&status=completed

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

2. SHOULD support searching using the combination of the `patient` and `type` and `period` search parameters:
   - including support for these `period` comparators: `gt,lt,ge,le`
   - including optional support for AND search on `period` (e.g.`period=[date]&period=[date]]&...`)

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

   Example:

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

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