This page is part of the US Core (v3.0.1: STU3 Ballot 3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-documentreference
This profile sets minimum expectations for searching and fetching fetching patient documents including Clinical Notes using the DocumentReference resource. It identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the DocumentReference resource when using this profile. Prior to reviewing this profile, implementers are encouraged to read the Clinical Notes Guidance to understand the overlap of US Core DocumentReference Profile and US Core DiagnosticReport Profile for Report and Note exchange.
Example Usage Scenarios:
The following are example usage scenarios for the US Core DocumentReference profile. See the Clinical Notes Guidance section for additional detail on using this profile for Clinical Notes:
- Query for all documents belonging to a Patient
- Query for a specific Clinical Note type (e.g. Discharge Summary or Continuity of Care Document (CCD))
- Query for all Clinical Notes belonging to a Patient
- Write a new Note to a Patient’s Chart
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) 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 Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each DocumentReference must have:
- a status
- a document category
- a code describing the type of document
- a patient
- the MIME type (i.e. contentType) of the document
- an address (e.g. url) where the document can be retrieved or the content as inline base64 encoded data
Each DocumentReference must support:
- a business identifier for the DocumentReference (possibly generated by the transcription system or EHR)
- date and time the reference was created
- an author
- the organization responsible for the document, referred to as custodian.
- a code identifying the specific details about the format of the document — over and above the content’s MIME type
- the patient encounter that is being referenced
- clinically relevant date
Profile specific implementation guidance:
- See Clinical Notes Guidance
- The
DocumentReference.type
binding must support at a minimum the 5 Common Clinical Notes and may extend to the full US Core DocumentReference Type Value Set - For a C-CDA Clinical Summary of Care (CCD):
- The document type code is the LOINC code 34133-9 Summary of episode note.
- The format code is
urn:hl7-org:sdwg:ccda-structuredBody:2.1
- The
content.url
may refer to a FHIR Binary Resource (i.e. [base]/Binary/[id]), FHIR Document Bundle (i.e [base]/Bundle/[id] or other endpoint.
Examples
- DocumentReference-episode-summary Retrieve a URL for an episode summary note (CCD).
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-documentreference
Published on Sun Aug 11 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on DocumentReference
DocumentReference
Summary of the Mandatory Requirements
- A code in
DocumentReference.status
with a required binding to DocumentReferenceStatus - A CodeableConcept in
DocumentReference.type
with a required binding to US Core DocumentReference Type - One or more CodeableConcepts in
DocumentReference.category
with an extensible binding to US Core DocumentReference Category - A Patient Reference in
DocumentReference.subject
- A Content in
DocumentReference.content
- which must have a Attachment value in
DocumentReference.content.attachment
- which should have a Coding value in
DocumentReference.content.format
with an extensible binding to DocumentReference Format Code Set
- which must have a Attachment value in
Summary of the Must Support Requirements
- One or more Identifiers in
DocumentReference.identifier
- An instant in
DocumentReference.date
- One or more Author References in
DocumentReference.author
- A Custodian Reference in
DocumentReference.custodian
- A Context in
DocumentReference.context
- which should have a Encounter Reference value in
DocumentReference.context.encounter
- which should have a Period value in
DocumentReference.context.period
- which should have a Encounter Reference value in
Summary of Constraints
- DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | I | 0..* | 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) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
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 | appended | amended | entered-in-error Binding: CompositionStatus (required) |
type | SΣ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: US Core DocumentReference Type (required) Min Binding: US Core Clinical Note Type |
category | SΣ | 1..* | CodeableConcept | Categorization of document Binding: US Core DocumentReference Category (extensible) |
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 | US Core PractitionerRole Profile | US Core Organization Profile | Device | US Core Patient Profile | RelatedPerson) | Who and/or what authored the document |
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document | |
custodian | S | 0..1 | Reference(US Core Organization Profile) | Organization which maintains the document |
relatesTo | ΣI | 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) |
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) |
content | SΣI | 1..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ΣI | 1..1 | Attachment | Where to access the document us-core-6: DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. |
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Σ | 1..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Example General': text/plain; charset=UTF-8, image/png |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | S | 0..1 | base64Binary | Data inline, base64ed |
url | SΣ | 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: DocumentReferenceFormatCodeSet (extensible) |
context | SΣI | 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 | S | 0..1 | Reference(US Core Encounter Profile) | Context of the document content |
event | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example) | |
period | SΣ | 0..1 | Period | Time of service that is being documented |
facilityType | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example) | |
practiceSetting | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example) | |
sourcePatientInfo | 0..1 | Reference(Patient) | Patient demographics from source | |
related | 0..* | Reference(Resource) | Related identifiers or resources | |
Documentation for this format |
DocumentReference
Summary of the Mandatory Requirements
- A code in
DocumentReference.status
with a required binding to DocumentReferenceStatus - A CodeableConcept in
DocumentReference.type
with a required binding to US Core DocumentReference Type - One or more CodeableConcepts in
DocumentReference.category
with an extensible binding to US Core DocumentReference Category - A Patient Reference in
DocumentReference.subject
- A Content in
DocumentReference.content
- which must have a Attachment value in
DocumentReference.content.attachment
- which should have a Coding value in
DocumentReference.content.format
with an extensible binding to DocumentReference Format Code Set
- which must have a Attachment value in
Summary of the Must Support Requirements
- One or more Identifiers in
DocumentReference.identifier
- An instant in
DocumentReference.date
- One or more Author References in
DocumentReference.author
- A Custodian Reference in
DocumentReference.custodian
- A Context in
DocumentReference.context
- which should have a Encounter Reference value in
DocumentReference.context.encounter
- which should have a Period value in
DocumentReference.context.period
- which should have a Encounter Reference value in
Summary of Constraints
- DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present.
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | I | 0..* | 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) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
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 | appended | amended | entered-in-error Binding: CompositionStatus (required) |
type | SΣ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Binding: US Core DocumentReference Type (required) Min Binding: US Core Clinical Note Type |
category | SΣ | 1..* | CodeableConcept | Categorization of document Binding: US Core DocumentReference Category (extensible) |
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 | US Core PractitionerRole Profile | US Core Organization Profile | Device | US Core Patient Profile | RelatedPerson) | Who and/or what authored the document |
authenticator | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who/what authenticated the document | |
custodian | S | 0..1 | Reference(US Core Organization Profile) | Organization which maintains the document |
relatesTo | ΣI | 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) |
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) |
content | SΣI | 1..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ΣI | 1..1 | Attachment | Where to access the document us-core-6: DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. |
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Σ | 1..1 | code | Mime type of the content, with charset etc. Binding: Mime Types (required) Example General': text/plain; charset=UTF-8, image/png |
language | Σ | 0..1 | code | Human language of the content (BCP-47) Binding: CommonLanguages (preferred) Max Binding: AllLanguages Example General': en-AU |
data | S | 0..1 | base64Binary | Data inline, base64ed |
url | SΣ | 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: DocumentReferenceFormatCodeSet (extensible) |
context | SΣI | 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 | S | 0..1 | Reference(US Core Encounter Profile) | Context of the document content |
event | 0..* | CodeableConcept | Main clinical acts documented Binding: v3 Code System ActCode (example) | |
period | SΣ | 0..1 | Period | Time of service that is being documented |
facilityType | 0..1 | CodeableConcept | Kind of facility where patient was seen Binding: FacilityTypeCodeValueSet (example) | |
practiceSetting | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Binding: PracticeSettingCodeValueSet (example) | |
sourcePatientInfo | 0..1 | Reference(Patient) | Patient demographics from source | |
related | 0..* | Reference(Resource) | Related identifiers or resources | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
- See the General Guidance 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, search parameter combinations SHALL be supported. Any listed search parameter modifiers, comparators, chains and composites SHALL also be supported UNLESS they are listed as “optional” in which case they SHOULD be supported.:
-
SHALL support fetching a DocumentReference using the
_id
search parameter:GET [base]/DocumentReference[id]
Example:
- GET [base]/DocumentReference/2169591
- 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) -
SHALL support searching for all DocumentReference resources for a patient using the
patient
search parameter:GET [base]/DocumentReference?patient=[reference]
Example:
- 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)
-
SHALL support searching using the combination of the
patient
andcategory
search parameters:GET [base]/DocumentReference?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-note
Example:
- GET [base]/DocumentReference?patient=1235541&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-note
Implementation Notes: Fetches a bundle of all DocumentReference resources for the specified patient and category =
clinical-note
. See the implementation notes above for how to access the actual document. (how to search by reference and how to search by token) - SHALL support searching using the combination of the
patient
andcategory
anddate
search parameters:- including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/DocumentReference?patient=[reference]&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-note&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/DocumentReference?patient=1235541&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-documentreference-category|clinical-note&date=ge2019
Implementation Notes: Fetches a bundle of all DocumentReference resources for the specified patient and category =
clinical=note
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) - including support for these
-
SHALL support searching using the combination of the
patient
andtype
search parameters:GET [base]/DocumentReference?patient=[reference]&type={[system]}|[code]
Example:
- GET [base]/DocumentReference?patient=1316024&type=http://loinc.org|18842-5
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 parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHOULD be supported.
- SHOULD support searching using the combination of the
patient
andstatus
search parameters:- including support for composite OR search on
status
(e.g.status={[system]}|[code],{[system]}|[code],...
)
GET [base]/DocumentReference?patient=[reference]&status={[system]}|[code]{,{[system]}|[code],...}
Example:
- GET [base]/DocumentReference?patient=1235541
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)
- including support for composite OR search on
- SHOULD support searching using the combination of the
patient
andtype
andperiod
search parameters:- including support for these
period
comparators:gt,lt,ge,le
- including optional support for composite AND search on
period
(e.g.period=[date]&period=[date]]&...
)
GET [base]/DocumentReference?patient=[reference]&type={[system]}|[code]&period={gt|lt|ge|le}[date]{&period={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/DocumentReference?patient=2169591&type=http://loinc.org |34133-9&period=ge2019
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)
- including support for these
Mandatory Write Capability:
- SHALL support writing a new note to a Patient’s Chart:
POST [base]/DocumentReference
An example to demonstrate writing a note to the server.
Clinical Note
POST [base]/DocumentReference
Request Headers:
content-type: "application/json"
prefer: "return=REPRESENTATION"
accept: "application/fhir+json"
Request Body:
{
"resourceType": "DocumentReference",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "18842-5",
"display": "Discharge Summary"
}
],
"text": "Discharge Summary"
},
"subject": {
"reference": "[base]/Patient/eso2MXsmcJloTEUEls5DzbA3"
},
"content": [{"attachment": {
"contentType": "text/plain",
"data": "Tm8gYWN0aXZpdHkgcmVzdHJpY3Rpb24sIHJlZ3VsYXIgZGlldCwgZm9sbG93IHVwIGluIHR3byB0byB0aHJlZSB3ZWVrcyB3aXRoIHByaW1hcnkgY2FyZSBwcm92aWRlci4="
} }],
"context": {"encounter": {"reference": "[base]/Encounter/eIOY6XJQw0hvmvCqTtkg6vQ3"} }
}
Note Content
The content is Base64 encoded and states: “No activity restriction, regular diet, follow up in two to three weeks with primary care provider.”
Mandatory Operations
SHALL support fetching documents using the $docref operation.
GET [base]/DocumentReference/$docref?patient=[id]
The operation can be invoked using the GET Syntax if the complex type parameter is omitted:
GET [base]/DocumentReference/$docref?{parameters}
Otherwise the POST transaction is used as follows:
POST [base]/DocumentReference/$docref}
Example
Request the latest CCD for a patient using GET
syntax
GET [base]/DocumentReference/$docref?patient=123
Request the latest CCD for a patient using POST
syntax
POST [base]/DocumentReference/$docref}
POST request body:
{
"resourceType": "Parameters",
"id": "get-ccd123",
"parameter": [
{
"name": "patient",
"valueId" : "123"
}
]
}
Response
HTTP/1.1 200 OK
[other headers]
Response body
{
"resourceType": "Bundle",
"id": "get-ccd123-response",
"type": "searchset",
"total": 1,
"entry": [{
"fullUrl": "http://server/path/DocumentReference/get-ccd123",
"resource":{
"resourceType" : "DocumentReference",
"id" : "get-ccd123",
"meta" : {
"profile" : [
"http://fhir.org/guides/argonaut/StructureDefinition/argo-documentreference"
]
},
"identifier" : [
{
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:2.16.840.1.113883.19.5.99999.1"
}
],
"status" : "current",
"type" : {
"coding" : [
{
"system" : "http://loinc.org",
"code" : "34133-9",
"display" : "Summary of episode note"
}
],
"text" : "CCD Document"
},
"subject" : {
"reference" : "Patient/example",
"display" : "Amy Shaw"
},
"created" : "2006-09-01",
"indexed" : "2016-03-09T15:29:46Z",
"author" : [
{
"reference" : "Practitioner/practitioner-1",
"display" : "Ronald Bone, MD"
}
],
"description" : "Pulmonology clinic acute visit",
"content" : [
{
"attachment" : {
"contentType" : "text/plain",
"url" : "/Binary/1-note",
"title" : "Uri where the data can be found: [base]/Binary/1-note"
},
"format" : {
"system" : "urn:oid:1.3.6.1.4.1.19376.1.2.3",
"code" : "urn:hl7-org:sdwg:ccda-structuredBody:2.1",
"display" : "Documents following C-CDA constraints using a structured body"
}
}
],
"context" : {
"period" : {
"start" : "2004-12-23T08:00:00+11:00",
"end" : "2004-12-23T08:01:00+11:00"
}
}
}
}
]
}
Implementation Notes: This operation is used to request a server generate a document based on the specified parameters. If no parameters are specified, the server SHALL return a DocumentReference to the patient’s most current CCD. See the $docref operation definition for details on how this operation differs from a FHIR RESTful search. This operation returns a DocumentReference resources. The document itself is retrieved using the link provided in the DocumentReference.content.attachment.url
element.