Canadian Baseline
1.2.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: Document Reference Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-documentreference Version: 1.2.0
Draft as of 2026-01-09 Computable Name: DocumentReferenceProfile

Proposed constraints on the DocumentReference resource for the minimal set of data required to reference to a document of any kind for any purpose.

CA Core DocumentReference Profile

This DocumentReference profile sets minimum expectations for mandatory core elements, constraints and value sets required to provide metadata about the document of any kind so that the document can be published, discovered and managed.

This profile defines core localisation concepts for use in an Canadian context.

Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

Required elements:

  • status of the refence
  • document referenced

Usage Note

The following are example usage scenarios for the DocumentReference profile.

  • Publishing a new document. This can be done using the IHE MHD Provide Document Bundle [ITI-65] transaction that carries both the document and its metadata.
  • Querying the document repository for specific document(s) matching various metadata parameters. This is similar to the IHE MHD Find Document References [ITI-67] transaction.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code current | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.
... author Σ 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... custodian 0..1 Reference(Organization Profile) Organization which maintains the document
... content Σ 1..* BackboneElement Document referenced
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... attachment ΣC 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DocumentReference.status Base required DocumentReferenceStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()
dom-2 error DocumentReference If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DocumentReference If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DocumentReference A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from DocumentReference

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... subject 0..1 Reference(Patient Profile | Practitioner Profile (General) | Device Profile (Implantable)) Who/what is the subject of the document
... author 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... content
.... attachment C 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1
... context
.... encounter 0..* Reference(Encounter Profile) Context of the document content
.... practiceSetting 0..1 CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.
.... sourcePatientInfo 0..1 Reference(Patient Profile) Patient demographics from source

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DocumentReference.context.​practiceSetting Base preferred PractitionerSpecialty 📦1.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... 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 Σ 0..* Identifier Other identifiers for the document
... status ?!Σ 1..1 code current | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.
... docStatus Σ 0..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.
... type Σ 0..1 CodeableConcept Kind of document (LOINC if possible)
Binding: DocumentTypeValueSet (preferred): Precise type of clinical document.
... category Σ 0..* CodeableConcept Categorization of document
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
... subject Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | Device Profile (Implantable)) Who/what is the subject of the document
... date Σ 0..1 instant When this document reference was created
... author Σ 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... custodian 0..1 Reference(Organization Profile) Organization which maintains the document
... relatesTo Σ 0..* BackboneElement Relationships to other documents
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.
.... target Σ 1..1 Reference(DocumentReference) Target of the relationship
... description Σ 0..1 string Human-readable description
... securityLabel Σ 0..* CodeableConcept Document security-tags
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
... content Σ 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 ΣC 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1
.... format Σ 0..1 Coding Format/content rules for the document
Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes.
... context Σ 0..1 BackboneElement Clinical context of document
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... encounter 0..* Reference(Encounter Profile) Context of the document content
.... event 0..* CodeableConcept Main clinical acts documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
.... period Σ 0..1 Period Time of service that is being documented
.... facilityType 0..1 CodeableConcept Kind of facility where patient was seen
Binding: FacilityTypeCodeValueSet (example): XDS Facility Type.
.... practiceSetting 0..1 CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.
.... sourcePatientInfo 0..1 Reference(Patient Profile) Patient demographics from source
.... related 0..* Reference(Resource) Related identifiers or resources

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DocumentReference.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DocumentReference.status Base required DocumentReferenceStatus 📍4.0.1 FHIR Std.
DocumentReference.docStatus Base required CompositionStatus 📍4.0.1 FHIR Std.
DocumentReference.type Base preferred Document Type Value Set 📍4.0.1 FHIR Std.
DocumentReference.category Base example Document Class Value Set 📍4.0.1 FHIR Std.
DocumentReference.relatesTo.​code Base required DocumentRelationshipType 📍4.0.1 FHIR Std.
DocumentReference.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
DocumentReference.content.​format Base preferred DocumentReference Format Code Set 📍4.0.1 FHIR Std.
DocumentReference.context.​event Base example v3 Code System ActCode 📦3.0.0 THO v7.0
DocumentReference.context.​facilityType Base example Facility Type Code Value Set 📍4.0.1 FHIR Std.
DocumentReference.context.​practiceSetting Base preferred PractitionerSpecialty 📦1.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()
dom-2 error DocumentReference If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DocumentReference If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DocumentReference A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code current | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.
... author Σ 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... custodian 0..1 Reference(Organization Profile) Organization which maintains the document
... content Σ 1..* BackboneElement Document referenced
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... attachment ΣC 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DocumentReference.status Base required DocumentReferenceStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()
dom-2 error DocumentReference If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DocumentReference If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DocumentReference A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from DocumentReference

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... subject 0..1 Reference(Patient Profile | Practitioner Profile (General) | Device Profile (Implantable)) Who/what is the subject of the document
... author 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... content
.... attachment C 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1
... context
.... encounter 0..* Reference(Encounter Profile) Context of the document content
.... practiceSetting 0..1 CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.
.... sourcePatientInfo 0..1 Reference(Patient Profile) Patient demographics from source

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DocumentReference.context.​practiceSetting Base preferred PractitionerSpecialty 📦1.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DocumentReference 0..* DocumentReference DocumentReference Profile
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... 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 Σ 0..* Identifier Other identifiers for the document
... status ?!Σ 1..1 code current | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.
... docStatus Σ 0..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.
... type Σ 0..1 CodeableConcept Kind of document (LOINC if possible)
Binding: DocumentTypeValueSet (preferred): Precise type of clinical document.
... category Σ 0..* CodeableConcept Categorization of document
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.
... subject Σ 0..1 Reference(Patient Profile | Practitioner Profile (General) | Device Profile (Implantable)) Who/what is the subject of the document
... date Σ 0..1 instant When this document reference was created
... author Σ 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Device Profile (Implantable) | Patient Profile) Who and/or what authored the document
... authenticator 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) Who/what authenticated the document
... custodian 0..1 Reference(Organization Profile) Organization which maintains the document
... relatesTo Σ 0..* BackboneElement Relationships to other documents
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.
.... target Σ 1..1 Reference(DocumentReference) Target of the relationship
... description Σ 0..1 string Human-readable description
... securityLabel Σ 0..* CodeableConcept Document security-tags
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
... content Σ 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 ΣC 1..1 Attachment Where to access the document
Constraints: ca-baseline-documentreference-1
.... format Σ 0..1 Coding Format/content rules for the document
Binding: DocumentReferenceFormatCodeSet (preferred): Document Format Codes.
... context Σ 0..1 BackboneElement Clinical context of document
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... encounter 0..* Reference(Encounter Profile) Context of the document content
.... event 0..* CodeableConcept Main clinical acts documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
.... period Σ 0..1 Period Time of service that is being documented
.... facilityType 0..1 CodeableConcept Kind of facility where patient was seen
Binding: FacilityTypeCodeValueSet (example): XDS Facility Type.
.... practiceSetting 0..1 CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.
.... sourcePatientInfo 0..1 Reference(Patient Profile) Patient demographics from source
.... related 0..* Reference(Resource) Related identifiers or resources

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DocumentReference.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DocumentReference.status Base required DocumentReferenceStatus 📍4.0.1 FHIR Std.
DocumentReference.docStatus Base required CompositionStatus 📍4.0.1 FHIR Std.
DocumentReference.type Base preferred Document Type Value Set 📍4.0.1 FHIR Std.
DocumentReference.category Base example Document Class Value Set 📍4.0.1 FHIR Std.
DocumentReference.relatesTo.​code Base required DocumentRelationshipType 📍4.0.1 FHIR Std.
DocumentReference.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
DocumentReference.content.​format Base preferred DocumentReference Format Code Set 📍4.0.1 FHIR Std.
DocumentReference.context.​event Base example v3 Code System ActCode 📦3.0.0 THO v7.0
DocumentReference.context.​facilityType Base example Facility Type Code Value Set 📍4.0.1 FHIR Std.
DocumentReference.context.​practiceSetting Base preferred PractitionerSpecialty 📦1.2.0 This IG

Constraints

Id Grade Path(s) Description Expression
ca-baseline-documentreference-1 error DocumentReference.content.attachment DocumentReference.content.attachment.url or DocumentReference.content.attachment.data or both SHALL be present. url.exists() or data.exists()
dom-2 error DocumentReference If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DocumentReference If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DocumentReference If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DocumentReference A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron