This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Structured Documents Work Group | Maturity Level: 2 | Compartments: Device, Patient, Practitioner, RelatedPerson |
A reference to a document .
A DocumentReference resource is used to describe a document that is made available to a healthcare system. A document is some sequence of bytes that is identifiable, establishes its own context (e.g., what subject, author, etc. can be displayed to the user), and has defined update management. The DocumentReference resource can be used with any document format that has a recognized mime type and that conforms to this definition.
Typically, DocumentReference resources are used in document indexing systems, such as IHE XDS (see the XDS specific profile), and are used to refer to:
FHIR defines both a document format and this document reference. FHIR documents are for documents that are authored and assembled in FHIR. This resource is mainly intended for general references to other documents.
The document that is a target of the reference can be a reference to a FHIR document served by another server, or the target can be stored in the special FHIR Binary Resource, or the target can be stored on some other server system. The document reference is also able to address documents that are retrieved by a service call such as an XDS.b RetrieveDocumentSet, or a DICOM exchange, or an HL7 v2 message query - though the way each of these service calls works must be specified in some external standard or other documentation.
A DocumentReference
describes some other document. This means that there are two sets of
provenance information relevant here: the provenance of the document, and the provenance of the document
reference. Sometimes, the provenance information is closely related, as when the document producer also
produces the document reference, but in other workflows, the document reference is generated later by
other actors. In the DocumentReference
resource, the meta
content refers to the provenance of the reference itself, while the content described below concerns
the document it references. Like all resources, there is overlap between the information in the
resource directly, and in the general Provenance resource. This is
discussed as part of the description of the Provenance resource.
This resource is referenced by Contract and DiagnosticOrder
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | Σ | DomainResource | A reference to a document | |
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier |
identifier | Σ | 0..* | Identifier | Other identifiers for the document |
subject | Σ | 0..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document |
type | Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Document Type Value Set (Preferred) |
class | Σ | 0..1 | CodeableConcept | Categorization of document Document Class Value Set (Example) |
author | Σ | 0..* | Reference(Practitioner | Organization | Device | Patient | RelatedPerson) | Who and/or what authored the document |
custodian | Σ | 0..1 | Reference(Organization) | Organization which maintains the document |
authenticator | Σ | 0..1 | Reference(Practitioner | Organization) | Who/what authenticated the document |
created | Σ | 0..1 | dateTime | Document creation time |
indexed | Σ | 1..1 | instant | When this document reference created |
status | ?! Σ | 1..1 | code | current | superseded | entered-in-error DocumentReferenceStatus (Required) |
docStatus | Σ | 0..1 | CodeableConcept | preliminary | final | appended | amended | entered-in-error CompositionStatus (Required) |
relatesTo | ?! Σ | 0..* | BackboneElement | Relationships to other documents |
code | Σ | 1..1 | code | replaces | transforms | signs | appends DocumentRelationshipType (Required) |
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship |
description | Σ | 0..1 | string | Human-readable description (title) |
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags All Security Labels (Extensible) |
content | Σ | 1..* | BackboneElement | Document referenced |
attachment | Σ | 1..1 | Attachment | Where to access the document |
format | Σ | 0..* | Coding | Format/content rules for the document DocumentReference Format Code Set (Preferred) |
context | Σ | 0..1 | BackboneElement | Clinical context of document |
encounter | Σ | 0..1 | Reference(Encounter) | Context of the document content |
event | Σ | 0..* | CodeableConcept | Main Clinical Acts Documented v3 Code System ActCode (Example) |
period | Σ | 0..1 | Period | Time of service that is being documented |
facilityType | Σ | 0..1 | CodeableConcept | Kind of facility where patient was seen Facility Type Code Value Set (Example) |
practiceSetting | Σ | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Practice Setting Code Value Set (Example) |
sourcePatientInfo | Σ | 0..1 | Reference(Patient) | Patient demographics from source |
related | Σ | 0..* | BackboneElement | Related identifiers or resources |
identifier | Σ | 0..1 | Identifier | Identifier of related objects or events |
ref | Σ | 0..1 | Reference(Any) | Related Resource |
Documentation for this format |
UML Diagram
XML Template
<DocumentReference xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <masterIdentifier><!-- 0..1 Identifier Master Version Specific Identifier --></masterIdentifier> <identifier><!-- 0..* Identifier Other identifiers for the document --></identifier> <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device) Who/what is the subject of the document --></subject> <type><!-- 1..1 CodeableConcept Kind of document (LOINC if possible) --></type> <class><!-- 0..1 CodeableConcept Categorization of document --></class> <author><!-- 0..* Reference(Practitioner|Organization|Device|Patient| RelatedPerson) Who and/or what authored the document --></author> <custodian><!-- 0..1 Reference(Organization) Organization which maintains the document --></custodian> <authenticator><!-- 0..1 Reference(Practitioner|Organization) Who/what authenticated the document --></authenticator> <created value="[dateTime]"/><!-- 0..1 Document creation time --> <indexed value="[instant]"/><!-- 1..1 When this document reference created --> <status value="[code]"/><!-- 1..1 current | superseded | entered-in-error --> <docStatus><!-- 0..1 CodeableConcept preliminary | final | appended | amended | entered-in-error --></docStatus> <relatesTo> <!-- 0..* Relationships to other documents --> <code value="[code]"/><!-- 1..1 replaces | transforms | signs | appends --> <target><!-- 1..1 Reference(DocumentReference) Target of the relationship --></target> </relatesTo> <description value="[string]"/><!-- 0..1 Human-readable description (title) --> <securityLabel><!-- 0..* CodeableConcept Document security-tags --></securityLabel> <content> <!-- 1..* Document referenced --> <attachment><!-- 1..1 Attachment Where to access the document --></attachment> <format><!-- 0..* Coding Format/content rules for the document --></format> </content> <context> <!-- 0..1 Clinical context of document --> <encounter><!-- 0..1 Reference(Encounter) Context of the document content --></encounter> <event><!-- 0..* CodeableConcept Main Clinical Acts Documented --></event> <period><!-- 0..1 Period Time of service that is being documented --></period> <facilityType><!-- 0..1 CodeableConcept Kind of facility where patient was seen --></facilityType> <practiceSetting><!-- 0..1 CodeableConcept Additional details about where the content was created (e.g. clinical specialty) --></practiceSetting> <sourcePatientInfo><!-- 0..1 Reference(Patient) Patient demographics from source --></sourcePatientInfo> <related> <!-- 0..* Related identifiers or resources --> <identifier><!-- 0..1 Identifier Identifier of related objects or events --></identifier> <ref><!-- 0..1 Reference(Any) Related Resource --></ref> </related> </context> </DocumentReference>
JSON Template
{ "resourceType" : "DocumentReference", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "masterIdentifier" : { Identifier }, // Master Version Specific Identifier "identifier" : [{ Identifier }], // Other identifiers for the document "subject" : { Reference(Patient|Practitioner|Group|Device) }, // Who/what is the subject of the document "type" : { CodeableConcept }, // R! Kind of document (LOINC if possible) "class" : { CodeableConcept }, // Categorization of document "author" : [{ Reference(Practitioner|Organization|Device|Patient| RelatedPerson) }], // Who and/or what authored the document "custodian" : { Reference(Organization) }, // Organization which maintains the document "authenticator" : { Reference(Practitioner|Organization) }, // Who/what authenticated the document "created" : "<dateTime>", // Document creation time "indexed" : "<instant>", // R! When this document reference created "status" : "<code>", // R! current | superseded | entered-in-error "docStatus" : { CodeableConcept }, // preliminary | final | appended | amended | entered-in-error "relatesTo" : [{ // Relationships to other documents "code" : "<code>", // R! replaces | transforms | signs | appends "target" : { Reference(DocumentReference) } // R! Target of the relationship }], "description" : "<string>", // Human-readable description (title) "securityLabel" : [{ CodeableConcept }], // Document security-tags "content" : [{ // R! Document referenced "attachment" : { Attachment }, // R! Where to access the document "format" : [{ Coding }] // Format/content rules for the document }], "context" : { // Clinical context of document "encounter" : { Reference(Encounter) }, // Context of the document content "event" : [{ CodeableConcept }], // Main Clinical Acts Documented "period" : { Period }, // Time of service that is being documented "facilityType" : { CodeableConcept }, // Kind of facility where patient was seen "practiceSetting" : { CodeableConcept }, // Additional details about where the content was created (e.g. clinical specialty) "sourcePatientInfo" : { Reference(Patient) }, // Patient demographics from source "related" : [{ // Related identifiers or resources "identifier" : { Identifier }, // Identifier of related objects or events "ref" : { Reference(Any) } // Related Resource }] } }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DocumentReference | Σ | DomainResource | A reference to a document | |
masterIdentifier | Σ | 0..1 | Identifier | Master Version Specific Identifier |
identifier | Σ | 0..* | Identifier | Other identifiers for the document |
subject | Σ | 0..1 | Reference(Patient | Practitioner | Group | Device) | Who/what is the subject of the document |
type | Σ | 1..1 | CodeableConcept | Kind of document (LOINC if possible) Document Type Value Set (Preferred) |
class | Σ | 0..1 | CodeableConcept | Categorization of document Document Class Value Set (Example) |
author | Σ | 0..* | Reference(Practitioner | Organization | Device | Patient | RelatedPerson) | Who and/or what authored the document |
custodian | Σ | 0..1 | Reference(Organization) | Organization which maintains the document |
authenticator | Σ | 0..1 | Reference(Practitioner | Organization) | Who/what authenticated the document |
created | Σ | 0..1 | dateTime | Document creation time |
indexed | Σ | 1..1 | instant | When this document reference created |
status | ?! Σ | 1..1 | code | current | superseded | entered-in-error DocumentReferenceStatus (Required) |
docStatus | Σ | 0..1 | CodeableConcept | preliminary | final | appended | amended | entered-in-error CompositionStatus (Required) |
relatesTo | ?! Σ | 0..* | BackboneElement | Relationships to other documents |
code | Σ | 1..1 | code | replaces | transforms | signs | appends DocumentRelationshipType (Required) |
target | Σ | 1..1 | Reference(DocumentReference) | Target of the relationship |
description | Σ | 0..1 | string | Human-readable description (title) |
securityLabel | Σ | 0..* | CodeableConcept | Document security-tags All Security Labels (Extensible) |
content | Σ | 1..* | BackboneElement | Document referenced |
attachment | Σ | 1..1 | Attachment | Where to access the document |
format | Σ | 0..* | Coding | Format/content rules for the document DocumentReference Format Code Set (Preferred) |
context | Σ | 0..1 | BackboneElement | Clinical context of document |
encounter | Σ | 0..1 | Reference(Encounter) | Context of the document content |
event | Σ | 0..* | CodeableConcept | Main Clinical Acts Documented v3 Code System ActCode (Example) |
period | Σ | 0..1 | Period | Time of service that is being documented |
facilityType | Σ | 0..1 | CodeableConcept | Kind of facility where patient was seen Facility Type Code Value Set (Example) |
practiceSetting | Σ | 0..1 | CodeableConcept | Additional details about where the content was created (e.g. clinical specialty) Practice Setting Code Value Set (Example) |
sourcePatientInfo | Σ | 0..1 | Reference(Patient) | Patient demographics from source |
related | Σ | 0..* | BackboneElement | Related identifiers or resources |
identifier | Σ | 0..1 | Identifier | Identifier of related objects or events |
ref | Σ | 0..1 | Reference(Any) | Related Resource |
Documentation for this format |
XML Template
<DocumentReference xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <masterIdentifier><!-- 0..1 Identifier Master Version Specific Identifier --></masterIdentifier> <identifier><!-- 0..* Identifier Other identifiers for the document --></identifier> <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device) Who/what is the subject of the document --></subject> <type><!-- 1..1 CodeableConcept Kind of document (LOINC if possible) --></type> <class><!-- 0..1 CodeableConcept Categorization of document --></class> <author><!-- 0..* Reference(Practitioner|Organization|Device|Patient| RelatedPerson) Who and/or what authored the document --></author> <custodian><!-- 0..1 Reference(Organization) Organization which maintains the document --></custodian> <authenticator><!-- 0..1 Reference(Practitioner|Organization) Who/what authenticated the document --></authenticator> <created value="[dateTime]"/><!-- 0..1 Document creation time --> <indexed value="[instant]"/><!-- 1..1 When this document reference created --> <status value="[code]"/><!-- 1..1 current | superseded | entered-in-error --> <docStatus><!-- 0..1 CodeableConcept preliminary | final | appended | amended | entered-in-error --></docStatus> <relatesTo> <!-- 0..* Relationships to other documents --> <code value="[code]"/><!-- 1..1 replaces | transforms | signs | appends --> <target><!-- 1..1 Reference(DocumentReference) Target of the relationship --></target> </relatesTo> <description value="[string]"/><!-- 0..1 Human-readable description (title) --> <securityLabel><!-- 0..* CodeableConcept Document security-tags --></securityLabel> <content> <!-- 1..* Document referenced --> <attachment><!-- 1..1 Attachment Where to access the document --></attachment> <format><!-- 0..* Coding Format/content rules for the document --></format> </content> <context> <!-- 0..1 Clinical context of document --> <encounter><!-- 0..1 Reference(Encounter) Context of the document content --></encounter> <event><!-- 0..* CodeableConcept Main Clinical Acts Documented --></event> <period><!-- 0..1 Period Time of service that is being documented --></period> <facilityType><!-- 0..1 CodeableConcept Kind of facility where patient was seen --></facilityType> <practiceSetting><!-- 0..1 CodeableConcept Additional details about where the content was created (e.g. clinical specialty) --></practiceSetting> <sourcePatientInfo><!-- 0..1 Reference(Patient) Patient demographics from source --></sourcePatientInfo> <related> <!-- 0..* Related identifiers or resources --> <identifier><!-- 0..1 Identifier Identifier of related objects or events --></identifier> <ref><!-- 0..1 Reference(Any) Related Resource --></ref> </related> </context> </DocumentReference>
JSON Template
{ "resourceType" : "DocumentReference", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "masterIdentifier" : { Identifier }, // Master Version Specific Identifier "identifier" : [{ Identifier }], // Other identifiers for the document "subject" : { Reference(Patient|Practitioner|Group|Device) }, // Who/what is the subject of the document "type" : { CodeableConcept }, // R! Kind of document (LOINC if possible) "class" : { CodeableConcept }, // Categorization of document "author" : [{ Reference(Practitioner|Organization|Device|Patient| RelatedPerson) }], // Who and/or what authored the document "custodian" : { Reference(Organization) }, // Organization which maintains the document "authenticator" : { Reference(Practitioner|Organization) }, // Who/what authenticated the document "created" : "<dateTime>", // Document creation time "indexed" : "<instant>", // R! When this document reference created "status" : "<code>", // R! current | superseded | entered-in-error "docStatus" : { CodeableConcept }, // preliminary | final | appended | amended | entered-in-error "relatesTo" : [{ // Relationships to other documents "code" : "<code>", // R! replaces | transforms | signs | appends "target" : { Reference(DocumentReference) } // R! Target of the relationship }], "description" : "<string>", // Human-readable description (title) "securityLabel" : [{ CodeableConcept }], // Document security-tags "content" : [{ // R! Document referenced "attachment" : { Attachment }, // R! Where to access the document "format" : [{ Coding }] // Format/content rules for the document }], "context" : { // Clinical context of document "encounter" : { Reference(Encounter) }, // Context of the document content "event" : [{ CodeableConcept }], // Main Clinical Acts Documented "period" : { Period }, // Time of service that is being documented "facilityType" : { CodeableConcept }, // Kind of facility where patient was seen "practiceSetting" : { CodeableConcept }, // Additional details about where the content was created (e.g. clinical specialty) "sourcePatientInfo" : { Reference(Patient) }, // Patient demographics from source "related" : [{ // Related identifiers or resources "identifier" : { Identifier }, // Identifier of related objects or events "ref" : { Reference(Any) } // Related Resource }] } }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
DocumentReference.type | Precise type of clinical document. | Preferred | Document Type Value Set |
DocumentReference.class | High-level kind of a clinical document at a macro level. | Example | Document Class Value Set |
DocumentReference.status | The status of the document reference. | Required | DocumentReferenceStatus |
DocumentReference.docStatus | Status of the underlying document. | Required | CompositionStatus |
DocumentReference.relatesTo.code | The type of relationship between documents. | Required | DocumentRelationshipType |
DocumentReference.securityLabel | Security Labels from the Healthcare Privacy and Security Classification System. | Extensible | All Security Labels |
DocumentReference.content.format | Document Format Codes. | Preferred | DocumentReference Format Code Set |
DocumentReference.context.event | This list of codes represents the main clinical acts being documented. | Example | v3 Code System ActCode |
DocumentReference.context.facilityType | XDS Facility Type. | Example | Facility Type Code Value Set |
DocumentReference.context.practiceSetting | Additional details about where the content was created (e.g. clinical specialty). | Example | Practice Setting Code Value Set |
A client can ask a server to generate a document reference from a document. The server reads the existing document and generates a matching DocumentReference resource, or returns one it has previously generated. Servers may be able to return or generate document references for the following types of content:
Type | Comments |
FHIR Documents | The uri refers to an existing Document |
CDA Document | The uri is a reference to a Binary end-point that returns either a CDA document, or some kind of CDA Package that the server knows how to process (e.g., an IHE .zip) |
Other | The server can be asked to generate a document reference for other kinds of documents. For some of these documents (e.g., PDF documents) a server could only provide a document reference if it already existed or the server had special knowledge of the document. |
The server either returns a search result containing a single document reference, or it returns an error. If the URI refers to another server, it is at the discretion of the server whether to retrieve it or return an error.
The operation is initiated by a named query, using _query=generate on the /DocumentReference end-point:
GET [service-url]/DocumentReference/?_query=generate&uri=:url&...
The "uri" parameter is a relative or absolute reference to one of the document types described above. Other parameters may be supplied:
Name | Meaning |
persist | Whether to store the document at the document end-point (/Document) or not, once it is generated. Value = true or false (default is for the server to decide). |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
authenticator | reference | Who/what authenticated the document | DocumentReference.authenticator (Organization, Practitioner) |
author | reference | Who and/or what authored the document | DocumentReference.author (Device, Patient, Organization, Practitioner, RelatedPerson) |
class | token | Categorization of document | DocumentReference.class |
created | date | Document creation time | DocumentReference.created |
custodian | reference | Organization which maintains the document | DocumentReference.custodian (Organization) |
description | string | Human-readable description (title) | DocumentReference.description |
encounter | reference | Context of the document content | DocumentReference.context.encounter (Encounter) |
event | token | Main Clinical Acts Documented | DocumentReference.context.event |
facility | token | Kind of facility where patient was seen | DocumentReference.context.facilityType |
format | token | Format/content rules for the document | DocumentReference.content.format |
identifier | token | Master Version Specific Identifier | DocumentReference.masterIdentifier, DocumentReference.identifier |
indexed | date | When this document reference created | DocumentReference.indexed |
language | token | Human language of the content (BCP-47) | DocumentReference.content.attachment.language |
location | uri | Uri where the data can be found | DocumentReference.content.attachment.url |
patient | reference | Who/what is the subject of the document | DocumentReference.subject (Patient) |
period | date | Time of service that is being documented | DocumentReference.context.period |
related-id | token | Identifier of related objects or events | DocumentReference.context.related.identifier |
related-ref | reference | Related Resource | DocumentReference.context.related.ref (Any) |
relatesto | reference | Target of the relationship | DocumentReference.relatesTo.target (DocumentReference) |
relation | token | replaces | transforms | signs | appends | DocumentReference.relatesTo.code |
relationship | composite | Combination of relation and relatesTo | |
securitylabel | token | Document security-tags | DocumentReference.securityLabel |
setting | token | Additional details about where the content was created (e.g. clinical specialty) | DocumentReference.context.practiceSetting |
status | token | current | superseded | entered-in-error | DocumentReference.status |
subject | reference | Who/what is the subject of the document | DocumentReference.subject (Device, Patient, Practitioner, Group) |
type | token | Kind of document (LOINC if possible) | DocumentReference.type |