R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). 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

2.41 Resource DocumentReference - Content

Structured Documents Work GroupMaturity Level: 3 Trial Use Compartments: Device, Encounter, 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 , such as profiled in IHE Mobile access to Health Documents .

DocumentReference is metadata describing a document such as:

  • CDA documents in FHIR systems
  • FHIR documents stored elsewhere (i.e. registry/repository following the XDS model)
  • PDF documents , Scanned Paper, and digital records of faxes
  • Image files (e.g., JPEG, GIF, TIFF)
  • Non-Standard formats (e.g., WORD)
  • Other kinds of documents, such as records of prescriptions

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 assembled 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 AdverseEvent, CarePlan, Communication, CommunicationRequest, Consent, Contract, DeviceRequest, DeviceUseStatement, itself, FamilyMemberHistory, GuidanceResponse, ImagingStudy, MedicationKnowledge, MedicinalProduct, Observation, Procedure, RequestGroup, RiskAssessment, ServiceRequest, SubstanceReferenceInformation, SubstanceSpecification and SupplyRequest

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference TUDomainResourceA reference to a document
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... masterIdentifier Σ0..1IdentifierMaster Version Specific Identifier
... identifier Σ0..*IdentifierOther identifiers for the document
... status ?!Σ1..1codecurrent | superseded | entered-in-error
DocumentReferenceStatus (Required)
... docStatus Σ0..1codepreliminary | final | appended | amended | entered-in-error
CompositionStatus (Required)
... type Σ0..1CodeableConceptKind of document (LOINC if possible)
Document Type Value Set (Preferred)
... category Σ0..*CodeableConceptCategorization of document
Document Class Value Set (Example)
... subject Σ0..1Reference(Patient | Practitioner | Group | Device)Who/what is the subject of the document
... date Σ0..1instantWhen this document reference was created
... agent Σ0..*BackboneElementAgent involved
.... type Σ0..1CodeableConceptHow agent participated
ParticipationRoleType (Extensible)
.... who Σ1..1Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson)Who and/or what authored the document
... authenticator 0..1Reference(Practitioner | Organization)Who/what authenticated the document
... custodian 0..1Reference(Organization)Organization which maintains the document
... relatesTo Σ0..*BackboneElementRelationships to other documents
.... code Σ1..1codereplaces | transforms | signs | appends
DocumentRelationshipType (Required)
.... target Σ1..1Reference(DocumentReference)Target of the relationship
... description Σ0..1stringHuman-readable description
... securityLabel Σ0..*CodeableConceptDocument security-tags
SecurityLabels (Extensible)
... content Σ1..*BackboneElementDocument referenced
.... attachment Σ1..1AttachmentWhere to access the document
.... format Σ0..1CodingFormat/content rules for the document
DocumentReference Format Code Set (Preferred)
... context Σ0..1BackboneElementClinical context of document
.... encounter 0..*Reference(Encounter | EpisodeOfCare)Context of the document content
.... event 0..*CodeableConceptMain clinical acts documented
v3 Code System ActCode (Example)
.... period Σ0..1PeriodTime of service that is being documented
.... facilityType 0..1CodeableConceptKind of facility where patient was seen
Facility Type Code Value Set (Example)
.... practiceSetting 0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Practice Setting Code Value Set (Example)
.... sourcePatientInfo 0..1Reference(Patient)Patient demographics from source
.... related 0..*Reference(Any)Related identifiers or resources

doco Documentation for this format

UML Diagram (Legend)

DocumentReference (DomainResource)Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the documentmasterIdentifier : Identifier [0..1]Other identifiers associated with the document, including version independent identifiersidentifier : Identifier [0..*]The status of this document reference (this element modifies the meaning of other elements)status : code [1..1] « The status of the document reference. (Strength=Required)DocumentReferenceStatus! »The status of the underlying documentdocStatus : code [0..1] « Status of the underlying document. (Strength=Required)CompositionStatus! »Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referencedtype : CodeableConcept [0..1] « Precise type of clinical document. (Strength=Preferred)DocumentTypeValueSet? »A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.typecategory : CodeableConcept [0..*] « High-level kind of a clinical document at a macro level. (Strength=Example)DocumentClassValueSet?? »Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure)subject : Reference [0..1] « Patient|Practitioner|Group|Device »When the document reference was createddate : instant [0..1]Which person or organization authenticates that this document is validauthenticator : Reference [0..1] « Practitioner|Organization »Identifies the organization or group who is responsible for ongoing maintenance of and access to the documentcustodian : Reference [0..1] « Organization »Human-readable description of the source documentdescription : string [0..1]A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers tosecurityLabel : CodeableConcept [0..*] « Security Labels from the Healthcare Privacy and Security Classification System. (Strength=Extensible)All Security Labels+ »AgentSpecification of the participation type the agent playedtype : CodeableConcept [0..1] « The Participation type of the agent to the event. (Strength=Extensible)ParticipationRoleType+ »Identifies who is responsible for adding the information to the documentwho : Reference [1..1] « Practitioner|PractitionerRole|Organization| Device|Patient|RelatedPerson »RelatesToThe type of relationship that this document has with anther documentcode : code [1..1] « The type of relationship between documents. (Strength=Required)DocumentRelationshipType! »The target document of this relationshiptarget : Reference [1..1] « DocumentReference »ContentThe document or URL of the document along with critical metadata to prove content has integrityattachment : Attachment [1..1]An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeTypeformat : Coding [0..1] « Document Format Codes. (Strength=Preferred)DocumentReferenceFormatCodeSet? »ContextDescribes the clinical encounter or type of care that the document content is associated withencounter : Reference [0..*] « Encounter|EpisodeOfCare »This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" actevent : CodeableConcept [0..*] « This list of codes represents the main clinical acts being documented. (Strength=Example)v3.ActCode?? »The time period over which the service that is described by the document was providedperiod : Period [0..1]The kind of facility where the patient was seenfacilityType : CodeableConcept [0..1] « XDS Facility Type. (Strength=Example)FacilityTypeCodeValueSet?? »This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialtypracticeSetting : CodeableConcept [0..1] « Additional details about where the content was created (e.g. clinical specialty). (Strength=Example) PracticeSettingCodeValueSet?? »The Patient Information as known when the document was published. May be a reference to a version specific, or containedsourcePatientInfo : Reference [0..1] « Patient »Related identifiers or resources associated with the DocumentReferencerelated : Reference [0..*] « Any »An actor taking an active role in the documentagent[0..*]Relationships that this document has with other document references that already existrelatesTo[0..*]The document and format referenced. There may be multiple content element repetitions, each with a different formatcontent[1..*]The clinical context in which the document was preparedcontext[0..1]

XML Template

<DocumentReference xmlns="http://hl7.org/fhir"> doco
 <!-- 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>
 <status value="[code]"/><!-- 1..1 current | superseded | entered-in-error -->
 <docStatus value="[code]"/><!-- 0..1 preliminary | final | appended | amended | entered-in-error -->
 <type><!-- 0..1 CodeableConcept Kind of document (LOINC if possible) --></type>
 <category><!-- 0..* CodeableConcept Categorization of document --></category>
 <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device) Who/what is the subject of the document --></subject>
 <date value="[instant]"/><!-- 0..1 When this document reference was created -->
 <agent>  <!-- 0..* Agent involved -->
  <type><!-- 0..1 CodeableConcept How agent participated --></type>
  <who><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Device|
    Patient|RelatedPerson) Who and/or what authored the document --></who>
 </agent>
 <authenticator><!-- 0..1 Reference(Practitioner|Organization) Who/what authenticated the document --></authenticator>
 <custodian><!-- 0..1 Reference(Organization) Organization which maintains the document --></custodian>
 <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 -->
 <securityLabel><!-- 0..* CodeableConcept Document security-tags --></securityLabel>
 <content>  <!-- 1..* Document referenced -->
  <attachment><!-- 1..1 Attachment Where to access the document --></attachment>
  <format><!-- 0..1 Coding Format/content rules for the document --></format>
 </content>
 <context>  <!-- 0..1 Clinical context of document -->
  <encounter><!-- 0..* Reference(Encounter|EpisodeOfCare) 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..* Reference(Any) Related identifiers or resources --></related>
 </context>
</DocumentReference>

JSON Template

{doco
  "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
  "status" : "<code>", // R!  current | superseded | entered-in-error
  "docStatus" : "<code>", // preliminary | final | appended | amended | entered-in-error
  "type" : { CodeableConcept }, // Kind of document (LOINC if possible)
  "category" : [{ CodeableConcept }], // Categorization of document
  "subject" : { Reference(Patient|Practitioner|Group|Device) }, // Who/what is the subject of the document
  "date" : "<instant>", // When this document reference was created
  "agent" : [{ // Agent involved
    "type" : { CodeableConcept }, // How agent participated
    "who" : { Reference(Practitioner|PractitionerRole|Organization|Device|
    Patient|RelatedPerson) } // R!  Who and/or what authored the document
  }],
  "authenticator" : { Reference(Practitioner|Organization) }, // Who/what authenticated the document
  "custodian" : { Reference(Organization) }, // Organization which maintains the document
  "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
  "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|EpisodeOfCare) }], // 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" : [{ Reference(Any) }] // Related identifiers or resources
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DocumentReference;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:DocumentReference.masterIdentifier [ Identifier ]; # 0..1 Master Version Specific Identifier
  fhir:DocumentReference.identifier [ Identifier ], ... ; # 0..* Other identifiers for the document
  fhir:DocumentReference.status [ code ]; # 1..1 current | superseded | entered-in-error
  fhir:DocumentReference.docStatus [ code ]; # 0..1 preliminary | final | appended | amended | entered-in-error
  fhir:DocumentReference.type [ CodeableConcept ]; # 0..1 Kind of document (LOINC if possible)
  fhir:DocumentReference.category [ CodeableConcept ], ... ; # 0..* Categorization of document
  fhir:DocumentReference.subject [ Reference(Patient|Practitioner|Group|Device) ]; # 0..1 Who/what is the subject of the document
  fhir:DocumentReference.date [ instant ]; # 0..1 When this document reference was created
  fhir:DocumentReference.agent [ # 0..* Agent involved
    fhir:DocumentReference.agent.type [ CodeableConcept ]; # 0..1 How agent participated
    fhir:DocumentReference.agent.who [ Reference(Practitioner|PractitionerRole|Organization|Device|Patient|RelatedPerson) ]; # 1..1 Who and/or what authored the document
  ], ...;
  fhir:DocumentReference.authenticator [ Reference(Practitioner|Organization) ]; # 0..1 Who/what authenticated the document
  fhir:DocumentReference.custodian [ Reference(Organization) ]; # 0..1 Organization which maintains the document
  fhir:DocumentReference.relatesTo [ # 0..* Relationships to other documents
    fhir:DocumentReference.relatesTo.code [ code ]; # 1..1 replaces | transforms | signs | appends
    fhir:DocumentReference.relatesTo.target [ Reference(DocumentReference) ]; # 1..1 Target of the relationship
  ], ...;
  fhir:DocumentReference.description [ string ]; # 0..1 Human-readable description
  fhir:DocumentReference.securityLabel [ CodeableConcept ], ... ; # 0..* Document security-tags
  fhir:DocumentReference.content [ # 1..* Document referenced
    fhir:DocumentReference.content.attachment [ Attachment ]; # 1..1 Where to access the document
    fhir:DocumentReference.content.format [ Coding ]; # 0..1 Format/content rules for the document
  ], ...;
  fhir:DocumentReference.context [ # 0..1 Clinical context of document
    fhir:DocumentReference.context.encounter [ Reference(Encounter|EpisodeOfCare) ], ... ; # 0..* Context of the document  content
    fhir:DocumentReference.context.event [ CodeableConcept ], ... ; # 0..* Main clinical acts documented
    fhir:DocumentReference.context.period [ Period ]; # 0..1 Time of service that is being documented
    fhir:DocumentReference.context.facilityType [ CodeableConcept ]; # 0..1 Kind of facility where patient was seen
    fhir:DocumentReference.context.practiceSetting [ CodeableConcept ]; # 0..1 Additional details about where the content was created (e.g. clinical specialty)
    fhir:DocumentReference.context.sourcePatientInfo [ Reference(Patient) ]; # 0..1 Patient demographics from source
    fhir:DocumentReference.context.related [ Reference(Any) ], ... ; # 0..* Related identifiers or resources
  ];
]

Changes since R3

DocumentReference
DocumentReference.type
  • Min Cardinality changed from 1 to 0
DocumentReference.category
  • Added Element
DocumentReference.date
  • Added Element
DocumentReference.agent
  • Added Element
DocumentReference.agent.type
  • Added Element
DocumentReference.agent.who
  • Added Element
DocumentReference.relatesTo
  • No longer marked as Modifier
DocumentReference.context.encounter
  • Max Cardinality changed from 1 to *
  • Type changed from Reference(Encounter) to Reference(Encounter|EpisodeOfCare)
DocumentReference.context.related
  • Type changed from BackboneElement to Reference(Resource)
DocumentReference.class
  • deleted
DocumentReference.created
  • deleted
DocumentReference.indexed
  • deleted
DocumentReference.author
  • deleted
DocumentReference.context.related.identifier
  • deleted
DocumentReference.context.related.ref
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 1 test of which 1 fail to execute.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference TUDomainResourceA reference to a document
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... masterIdentifier Σ0..1IdentifierMaster Version Specific Identifier
... identifier Σ0..*IdentifierOther identifiers for the document
... status ?!Σ1..1codecurrent | superseded | entered-in-error
DocumentReferenceStatus (Required)
... docStatus Σ0..1codepreliminary | final | appended | amended | entered-in-error
CompositionStatus (Required)
... type Σ0..1CodeableConceptKind of document (LOINC if possible)
Document Type Value Set (Preferred)
... category Σ0..*CodeableConceptCategorization of document
Document Class Value Set (Example)
... subject Σ0..1Reference(Patient | Practitioner | Group | Device)Who/what is the subject of the document
... date Σ0..1instantWhen this document reference was created
... agent Σ0..*BackboneElementAgent involved
.... type Σ0..1CodeableConceptHow agent participated
ParticipationRoleType (Extensible)
.... who Σ1..1Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson)Who and/or what authored the document
... authenticator 0..1Reference(Practitioner | Organization)Who/what authenticated the document
... custodian 0..1Reference(Organization)Organization which maintains the document
... relatesTo Σ0..*BackboneElementRelationships to other documents
.... code Σ1..1codereplaces | transforms | signs | appends
DocumentRelationshipType (Required)
.... target Σ1..1Reference(DocumentReference)Target of the relationship
... description Σ0..1stringHuman-readable description
... securityLabel Σ0..*CodeableConceptDocument security-tags
SecurityLabels (Extensible)
... content Σ1..*BackboneElementDocument referenced
.... attachment Σ1..1AttachmentWhere to access the document
.... format Σ0..1CodingFormat/content rules for the document
DocumentReference Format Code Set (Preferred)
... context Σ0..1BackboneElementClinical context of document
.... encounter 0..*Reference(Encounter | EpisodeOfCare)Context of the document content
.... event 0..*CodeableConceptMain clinical acts documented
v3 Code System ActCode (Example)
.... period Σ0..1PeriodTime of service that is being documented
.... facilityType 0..1CodeableConceptKind of facility where patient was seen
Facility Type Code Value Set (Example)
.... practiceSetting 0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Practice Setting Code Value Set (Example)
.... sourcePatientInfo 0..1Reference(Patient)Patient demographics from source
.... related 0..*Reference(Any)Related identifiers or resources

doco Documentation for this format

UML Diagram (Legend)

DocumentReference (DomainResource)Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the documentmasterIdentifier : Identifier [0..1]Other identifiers associated with the document, including version independent identifiersidentifier : Identifier [0..*]The status of this document reference (this element modifies the meaning of other elements)status : code [1..1] « The status of the document reference. (Strength=Required)DocumentReferenceStatus! »The status of the underlying documentdocStatus : code [0..1] « Status of the underlying document. (Strength=Required)CompositionStatus! »Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referencedtype : CodeableConcept [0..1] « Precise type of clinical document. (Strength=Preferred)DocumentTypeValueSet? »A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.typecategory : CodeableConcept [0..*] « High-level kind of a clinical document at a macro level. (Strength=Example)DocumentClassValueSet?? »Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure)subject : Reference [0..1] « Patient|Practitioner|Group|Device »When the document reference was createddate : instant [0..1]Which person or organization authenticates that this document is validauthenticator : Reference [0..1] « Practitioner|Organization »Identifies the organization or group who is responsible for ongoing maintenance of and access to the documentcustodian : Reference [0..1] « Organization »Human-readable description of the source documentdescription : string [0..1]A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers tosecurityLabel : CodeableConcept [0..*] « Security Labels from the Healthcare Privacy and Security Classification System. (Strength=Extensible)All Security Labels+ »AgentSpecification of the participation type the agent playedtype : CodeableConcept [0..1] « The Participation type of the agent to the event. (Strength=Extensible)ParticipationRoleType+ »Identifies who is responsible for adding the information to the documentwho : Reference [1..1] « Practitioner|PractitionerRole|Organization| Device|Patient|RelatedPerson »RelatesToThe type of relationship that this document has with anther documentcode : code [1..1] « The type of relationship between documents. (Strength=Required)DocumentRelationshipType! »The target document of this relationshiptarget : Reference [1..1] « DocumentReference »ContentThe document or URL of the document along with critical metadata to prove content has integrityattachment : Attachment [1..1]An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeTypeformat : Coding [0..1] « Document Format Codes. (Strength=Preferred)DocumentReferenceFormatCodeSet? »ContextDescribes the clinical encounter or type of care that the document content is associated withencounter : Reference [0..*] « Encounter|EpisodeOfCare »This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" actevent : CodeableConcept [0..*] « This list of codes represents the main clinical acts being documented. (Strength=Example)v3.ActCode?? »The time period over which the service that is described by the document was providedperiod : Period [0..1]The kind of facility where the patient was seenfacilityType : CodeableConcept [0..1] « XDS Facility Type. (Strength=Example)FacilityTypeCodeValueSet?? »This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialtypracticeSetting : CodeableConcept [0..1] « Additional details about where the content was created (e.g. clinical specialty). (Strength=Example) PracticeSettingCodeValueSet?? »The Patient Information as known when the document was published. May be a reference to a version specific, or containedsourcePatientInfo : Reference [0..1] « Patient »Related identifiers or resources associated with the DocumentReferencerelated : Reference [0..*] « Any »An actor taking an active role in the documentagent[0..*]Relationships that this document has with other document references that already existrelatesTo[0..*]The document and format referenced. There may be multiple content element repetitions, each with a different formatcontent[1..*]The clinical context in which the document was preparedcontext[0..1]

XML Template

<DocumentReference xmlns="http://hl7.org/fhir"> doco
 <!-- 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>
 <status value="[code]"/><!-- 1..1 current | superseded | entered-in-error -->
 <docStatus value="[code]"/><!-- 0..1 preliminary | final | appended | amended | entered-in-error -->
 <type><!-- 0..1 CodeableConcept Kind of document (LOINC if possible) --></type>
 <category><!-- 0..* CodeableConcept Categorization of document --></category>
 <subject><!-- 0..1 Reference(Patient|Practitioner|Group|Device) Who/what is the subject of the document --></subject>
 <date value="[instant]"/><!-- 0..1 When this document reference was created -->
 <agent>  <!-- 0..* Agent involved -->
  <type><!-- 0..1 CodeableConcept How agent participated --></type>
  <who><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Device|
    Patient|RelatedPerson) Who and/or what authored the document --></who>
 </agent>
 <authenticator><!-- 0..1 Reference(Practitioner|Organization) Who/what authenticated the document --></authenticator>
 <custodian><!-- 0..1 Reference(Organization) Organization which maintains the document --></custodian>
 <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 -->
 <securityLabel><!-- 0..* CodeableConcept Document security-tags --></securityLabel>
 <content>  <!-- 1..* Document referenced -->
  <attachment><!-- 1..1 Attachment Where to access the document --></attachment>
  <format><!-- 0..1 Coding Format/content rules for the document --></format>
 </content>
 <context>  <!-- 0..1 Clinical context of document -->
  <encounter><!-- 0..* Reference(Encounter|EpisodeOfCare) 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..* Reference(Any) Related identifiers or resources --></related>
 </context>
</DocumentReference>

JSON Template

{doco
  "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
  "status" : "<code>", // R!  current | superseded | entered-in-error
  "docStatus" : "<code>", // preliminary | final | appended | amended | entered-in-error
  "type" : { CodeableConcept }, // Kind of document (LOINC if possible)
  "category" : [{ CodeableConcept }], // Categorization of document
  "subject" : { Reference(Patient|Practitioner|Group|Device) }, // Who/what is the subject of the document
  "date" : "<instant>", // When this document reference was created
  "agent" : [{ // Agent involved
    "type" : { CodeableConcept }, // How agent participated
    "who" : { Reference(Practitioner|PractitionerRole|Organization|Device|
    Patient|RelatedPerson) } // R!  Who and/or what authored the document
  }],
  "authenticator" : { Reference(Practitioner|Organization) }, // Who/what authenticated the document
  "custodian" : { Reference(Organization) }, // Organization which maintains the document
  "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
  "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|EpisodeOfCare) }], // 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" : [{ Reference(Any) }] // Related identifiers or resources
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:DocumentReference;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:DocumentReference.masterIdentifier [ Identifier ]; # 0..1 Master Version Specific Identifier
  fhir:DocumentReference.identifier [ Identifier ], ... ; # 0..* Other identifiers for the document
  fhir:DocumentReference.status [ code ]; # 1..1 current | superseded | entered-in-error
  fhir:DocumentReference.docStatus [ code ]; # 0..1 preliminary | final | appended | amended | entered-in-error
  fhir:DocumentReference.type [ CodeableConcept ]; # 0..1 Kind of document (LOINC if possible)
  fhir:DocumentReference.category [ CodeableConcept ], ... ; # 0..* Categorization of document
  fhir:DocumentReference.subject [ Reference(Patient|Practitioner|Group|Device) ]; # 0..1 Who/what is the subject of the document
  fhir:DocumentReference.date [ instant ]; # 0..1 When this document reference was created
  fhir:DocumentReference.agent [ # 0..* Agent involved
    fhir:DocumentReference.agent.type [ CodeableConcept ]; # 0..1 How agent participated
    fhir:DocumentReference.agent.who [ Reference(Practitioner|PractitionerRole|Organization|Device|Patient|RelatedPerson) ]; # 1..1 Who and/or what authored the document
  ], ...;
  fhir:DocumentReference.authenticator [ Reference(Practitioner|Organization) ]; # 0..1 Who/what authenticated the document
  fhir:DocumentReference.custodian [ Reference(Organization) ]; # 0..1 Organization which maintains the document
  fhir:DocumentReference.relatesTo [ # 0..* Relationships to other documents
    fhir:DocumentReference.relatesTo.code [ code ]; # 1..1 replaces | transforms | signs | appends
    fhir:DocumentReference.relatesTo.target [ Reference(DocumentReference) ]; # 1..1 Target of the relationship
  ], ...;
  fhir:DocumentReference.description [ string ]; # 0..1 Human-readable description
  fhir:DocumentReference.securityLabel [ CodeableConcept ], ... ; # 0..* Document security-tags
  fhir:DocumentReference.content [ # 1..* Document referenced
    fhir:DocumentReference.content.attachment [ Attachment ]; # 1..1 Where to access the document
    fhir:DocumentReference.content.format [ Coding ]; # 0..1 Format/content rules for the document
  ], ...;
  fhir:DocumentReference.context [ # 0..1 Clinical context of document
    fhir:DocumentReference.context.encounter [ Reference(Encounter|EpisodeOfCare) ], ... ; # 0..* Context of the document  content
    fhir:DocumentReference.context.event [ CodeableConcept ], ... ; # 0..* Main clinical acts documented
    fhir:DocumentReference.context.period [ Period ]; # 0..1 Time of service that is being documented
    fhir:DocumentReference.context.facilityType [ CodeableConcept ]; # 0..1 Kind of facility where patient was seen
    fhir:DocumentReference.context.practiceSetting [ CodeableConcept ]; # 0..1 Additional details about where the content was created (e.g. clinical specialty)
    fhir:DocumentReference.context.sourcePatientInfo [ Reference(Patient) ]; # 0..1 Patient demographics from source
    fhir:DocumentReference.context.related [ Reference(Any) ], ... ; # 0..* Related identifiers or resources
  ];
]

Changes since Release 3

DocumentReference
DocumentReference.type
  • Min Cardinality changed from 1 to 0
DocumentReference.category
  • Added Element
DocumentReference.date
  • Added Element
DocumentReference.agent
  • Added Element
DocumentReference.agent.type
  • Added Element
DocumentReference.agent.who
  • Added Element
DocumentReference.relatesTo
  • No longer marked as Modifier
DocumentReference.context.encounter
  • Max Cardinality changed from 1 to *
  • Type changed from Reference(Encounter) to Reference(Encounter|EpisodeOfCare)
DocumentReference.context.related
  • Type changed from BackboneElement to Reference(Resource)
DocumentReference.class
  • deleted
DocumentReference.created
  • deleted
DocumentReference.indexed
  • deleted
DocumentReference.author
  • deleted
DocumentReference.context.related.identifier
  • deleted
DocumentReference.context.related.ref
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 1 test of which 1 fail to execute.)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
DocumentReference.status The status of the document reference.RequiredDocumentReferenceStatus
DocumentReference.docStatus Status of the underlying document.RequiredCompositionStatus
DocumentReference.type Precise type of clinical document.PreferredDocumentTypeValueSet
DocumentReference.category High-level kind of a clinical document at a macro level.ExampleDocumentClassValueSet
DocumentReference.agent.type The Participation type of the agent to the event.ExtensibleParticipationRoleType
DocumentReference.relatesTo.code The type of relationship between documents.RequiredDocumentRelationshipType
DocumentReference.securityLabel Security Labels from the Healthcare Privacy and Security Classification System.ExtensibleAll Security Labels
DocumentReference.content.format Document Format Codes.PreferredDocumentReferenceFormatCodeSet
DocumentReference.context.event This list of codes represents the main clinical acts being documented.Examplev3.ActCode
DocumentReference.context.facilityType XDS Facility Type.ExampleFacilityTypeCodeValueSet
DocumentReference.context.practiceSetting Additional details about where the content was created (e.g. clinical specialty).ExamplePracticeSettingCodeValueSet

  • The use of the .docStatus codes is discussed in the Composition description
  • The resources maintain one way relationships that point backwards - e.g., the document that replaces one document points towards the document that it replaced. The reverse relationships can be followed by using indexes built from the resources. Typically, this is done using the search parameters described below. Given that documents may have other documents that replace or append them, clients should always check these relationships when accessing documents

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.

NameTypeDescriptionExpressionIn Common
agentreferenceWho and/or what authored the documentDocumentReference.agent.who
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
authenticatorreferenceWho/what authenticated the documentDocumentReference.authenticator
(Practitioner, Organization)
categorytokenCategorization of documentDocumentReference.category
contenttypetokenMime type of the content, with charset etc.DocumentReference.content.attachment.contentType
custodianreferenceOrganization which maintains the documentDocumentReference.custodian
(Organization)
datedateWhen this document reference was createdDocumentReference.date
descriptionstringHuman-readable descriptionDocumentReference.description
encounterreferenceContext of the document contentDocumentReference.context.encounter
(EpisodeOfCare, Encounter)
12 Resources
eventtokenMain clinical acts documentedDocumentReference.context.event
facilitytokenKind of facility where patient was seenDocumentReference.context.facilityType
formattokenFormat/content rules for the documentDocumentReference.content.format
identifiertokenMaster Version Specific IdentifierDocumentReference.masterIdentifier | DocumentReference.identifier30 Resources
languagetokenHuman language of the content (BCP-47)DocumentReference.content.attachment.language
locationuriUri where the data can be foundDocumentReference.content.attachment.url
patientreferenceWho/what is the subject of the documentDocumentReference.subject.where(resolve() is Patient)
(Patient)
29 Resources
perioddateTime of service that is being documentedDocumentReference.context.period
relatedreferenceRelated identifiers or resourcesDocumentReference.context.related
(Any)
relatestoreferenceTarget of the relationshipDocumentReference.relatesTo.target
(DocumentReference)
relationtokenreplaces | transforms | signs | appendsDocumentReference.relatesTo.code
relationshipcompositeCombination of relation and relatesToOn DocumentReference.relatesTo:
  relatesto: code
  relation: target
security-labeltokenDocument security-tagsDocumentReference.securityLabel
settingtokenAdditional details about where the content was created (e.g. clinical specialty)DocumentReference.context.practiceSetting
statustokencurrent | superseded | entered-in-errorDocumentReference.status
subjectreferenceWho/what is the subject of the documentDocumentReference.subject
(Practitioner, Group, Device, Patient)
typetokenKind of document (LOINC if possible)DocumentReference.type5 Resources