This page is part of the FHIR Specification (v0.0.82: DSTU 1). 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
A reference to a document.
A document reference 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 document resource can be used with any document format that has a recognized mime type, and that conforms to this definition.
Typically, Document Reference 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 a v2 message query, though the way each of these service calls works must be specified in some external stanard or other documentation.
This resource is referenced by [DocumentManifest]
<DocumentReference xmlns="http://hl7.org/fhir"> <!-- from Resource: extension, modifierExtension, language, text, and contained --> <masterIdentifier><!-- 1..1 Identifier Master Version Specific Identifier --></masterIdentifier> <identifier><!-- 0..* Identifier Other identifiers for the document --></identifier> <subject><!-- 1..1 Resource(Patient|Practitioner|Group|Device) Who|what is the subject of the document --></subject> <type><!-- 1..1 CodeableConcept What kind of document this is (LOINC if possible) --></type> <class><!-- 0..1 CodeableConcept Categorization of Document --></class> <author><!-- 1..* Resource(Practitioner|Device|Patient|RelatedPerson) Who and/or what authored the document --></author> <custodian><!-- 0..1 Resource(Organization) Org which maintains the document --></custodian> <policyManager value="[uri]"/><!-- 0..1 Manages access policies for the document --> <authenticator><!-- 0..1 Resource(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 | superceded | 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 Resource(DocumentReference) Target of the relationship --></target> </relatesTo> <description value="[string]"/><!-- 0..1 Human-readable description (title) --> <confidentiality><!-- 0..* CodeableConcept Sensitivity of source document --></confidentiality> <primaryLanguage value="[code]"/><!-- 0..1 The marked primary language for the document --> <mimeType value="[code]"/><!-- 1..1 Mime type, + maybe character encoding --> <format value="[uri]"/><!-- 0..* Format/content rules for the document --> <size value="[integer]"/><!-- 0..1 Size of the document in bytes --> <hash value="[string]"/><!-- 0..1 HexBinary representation of SHA1 --> <location value="[uri]"/><!-- 0..1 Where to access the document --> <service> <!-- 0..1 If access is not fully described by location --> <type><!-- 1..1 CodeableConcept Type of service (i.e. XDS.b) --></type> <address value="[string]"/><!-- 0..1 Where service is located (usually a URL) --> <parameter> <!-- 0..* Service call parameters --> <name value="[string]"/><!-- 1..1 Parameter name in service call --> <value value="[string]"/><!-- 0..1 Parameter value for the name --> </parameter> </service> <context> <!-- 0..1 Clinical context of document --> <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> </context> </DocumentReference>
Alternate definitions: Schema/Schematron, Resource Profile
Path | Definition | Type | Reference |
---|---|---|---|
DocumentReference.type | Type of a composition | Incomplete | http://hl7.org/fhir/vs/doc-codes |
DocumentReference.class | SubType of a clinical document | Example | http://hl7.org/fhir/vs/xds-typecodes |
DocumentReference.status | The status of the document reference | Fixed | http://hl7.org/fhir/document-reference-status |
DocumentReference.docStatus | Status of the underlying document | Incomplete | http://hl7.org/fhir/vs/composition-status |
DocumentReference.relatesTo.code | The type of relationship between documents | Fixed | http://hl7.org/fhir/document-relationship-type |
DocumentReference.confidentiality | Codes specifying the level of confidentiality of the composition | Incomplete | http://hl7.org/fhir/v3/vs/Confidentiality |
DocumentReference.primaryLanguage | A human language | Incomplete | IETF language tag |
DocumentReference.mimeType | The mime type of an attachment | Incomplete | BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) |
DocumentReference.service.type | Document Reference Service Type | Incomplete | http://hl7.org/fhir/vs/documentreference-service-types |
DocumentReference.context.event | This list of codes represents the main clinical acts being documented | Incomplete | http://hl7.org/fhir/v3/vs/ActCode |
DocumentReference.context.facilityType | XDS Facility Type | Example | http://hl7.org/fhir/vs/xds-facilitycodes |
In addition to a mime type (which is mandatory), there is also a format element which carries a URI. This element has one or more identifiers that indicate that the format and/or content of the document conforms to additional rules beyond the base format indicated in the mimeType. This is most often used when the mime-type is text/xml, to provide additional information for finding the correct document.
Defined URIs:
Other URIs can be used for items not on this list.
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 DocumentReference it is already existed, or the server had special knowledge of the document |
The server either returns a search result containing a single DocumentReference, or it returns an error. If some 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 standard parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
_id | token | The logical resource id associated with the resource (must be supported by all servers) | |
_language | token | The language of the resource | |
authenticator | reference | Who/What authenticated the document | DocumentReference.authenticator (Organization, Practitioner) |
author | reference | Who and/or what authored the document | DocumentReference.author (Device, Patient, Practitioner, RelatedPerson) |
class | token | Categorization of Document | DocumentReference.class |
confidentiality | token | Sensitivity of source document | DocumentReference.confidentiality |
created | date | Document creation time | DocumentReference.created |
custodian | reference | Org which maintains the document | DocumentReference.custodian (Organization) |
description | string | Human-readable description (title) | DocumentReference.description |
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.format |
identifier | token | Master Version Specific Identifier | DocumentReference.masterIdentifier, DocumentReference.identifier |
indexed | date | When this document reference created | DocumentReference.indexed |
language | token | The marked primary language for the document | DocumentReference.primaryLanguage |
location | string | Where to access the document | DocumentReference.location |
period | date | Time of service that is being documented | DocumentReference.context.period |
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 | |
size | number | Size of the document in bytes | DocumentReference.size |
status | token | current | superceded | entered in error | DocumentReference.status |
subject | reference | Who|what is the subject of the document | DocumentReference.subject (Device, Patient, Practitioner, Group) |
type | token | What kind of document this is (LOINC if possible) | DocumentReference.type |