FHIR Artifacts > Structure Definition: DocumentReference Profile

Structure Definition: DocumentReference Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-DocumentReference

Simplifier project page:

Command 'link' could not render: Object reference not set to an instance of an object.

Derived from: DocumentReference (R4)

Formal Views of Profile Content

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

Differential View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
masterIdentifierΣ0..1Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingFixed Value
docStatusΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
authenticatorI0..1Reference(Practitioner | PractitionerRole | Organization)
custodianI0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1codeBinding
targetΣ I1..1Reference(DocumentReference)
descriptionΣ0..1string
securityLabelΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
contentTypeS Σ0..1codeBinding
languageS Σ0..1codeBinding
dataS0..1base64Binary
urlS Σ0..1url
sizeS Σ0..1unsignedInt
hashS Σ0..1base64Binary
titleS Σ1..1string
creationΣ0..1dateTime
formatΣ0..1CodingBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
encounterI0..*Reference(Encounter | EpisodeOfCare)
event0..*CodeableConcept
periodΣ I0..1Period
facilityType0..1CodeableConcept
practiceSetting0..1CodeableConcept
sourcePatientInfoI0..1Reference(Patient)
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string

Hybrid View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
masterIdentifierΣ0..1Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingFixed Value
docStatusΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
authenticatorI0..1Reference(Practitioner | PractitionerRole | Organization)
custodianI0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1codeBinding
targetΣ I1..1Reference(DocumentReference)
descriptionΣ0..1string
securityLabelΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
contentTypeS Σ0..1codeBinding
languageS Σ0..1codeBinding
dataS0..1base64Binary
urlS Σ0..1url
sizeS Σ0..1unsignedInt
hashS Σ0..1base64Binary
titleS Σ1..1string
creationΣ0..1dateTime
formatΣ0..1CodingBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
encounterI0..*Reference(Encounter | EpisodeOfCare)
event0..*CodeableConcept
periodΣ I0..1Period
facilityType0..1CodeableConcept
practiceSetting0..1CodeableConcept
sourcePatientInfoI0..1Reference(Patient)
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string

Snapshot View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
masterIdentifierΣ0..1Identifier
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ0..1uri
valueS Σ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingFixed Value
docStatusΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
authenticatorI0..1Reference(Practitioner | PractitionerRole | Organization)
custodianI0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1codeBinding
targetΣ I1..1Reference(DocumentReference)
descriptionΣ0..1string
securityLabelΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
contentTypeS Σ0..1codeBinding
languageS Σ0..1codeBinding
dataS0..1base64Binary
urlS Σ0..1url
sizeS Σ0..1unsignedInt
hashS Σ0..1base64Binary
titleS Σ1..1string
creationΣ0..1dateTime
formatΣ0..1CodingBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
encounterI0..*Reference(Encounter | EpisodeOfCare)
event0..*CodeableConcept
periodΣ I0..1Period
facilityType0..1CodeableConcept
practiceSetting0..1CodeableConcept
sourcePatientInfoI0..1Reference(Patient)
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string

Table View

DocumentReference..
DocumentReference.meta1..
DocumentReference.meta.profile1..
DocumentReference.identifier..
DocumentReference.identifier.system..
DocumentReference.identifier.value..
DocumentReference.status..
DocumentReference.docStatus..
DocumentReference.type..
DocumentReference.type.coding..1
DocumentReference.type.coding.system..
DocumentReference.type.coding.code..
DocumentReference.type.coding.display..
DocumentReference.type.text..
DocumentReference.subjectReference(Patient)..
DocumentReference.subject.reference1..
DocumentReference.date..
DocumentReference.authorReference(Practitioner)..
DocumentReference.author.reference1..
DocumentReference.content..
DocumentReference.content.attachment..
DocumentReference.content.attachment.contentType..
DocumentReference.content.attachment.language..
DocumentReference.content.attachment.data..
DocumentReference.content.attachment.url..
DocumentReference.content.attachment.size..
DocumentReference.content.attachment.hash..
DocumentReference.content.attachment.title1..
DocumentReference.context..
DocumentReference.context.relatedReference(ServiceRequest)1..
DocumentReference.context.related.reference1..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-DocumentReference",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-DocumentReference",
    "version": "1.0.0",
    "name": "EReferralDocumentReference",
    "title": "DocumentReference",
    "status": "draft",
    "description": "A DocumentReference resource is used to index a document, clinical note, and other binary objects to make them 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",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "DocumentReference",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DocumentReference",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "DocumentReference.meta",
                "path": "DocumentReference.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.meta.profile",
                "path": "DocumentReference.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-DocumentReference|1.0.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.identifier",
                "path": "DocumentReference.identifier",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.identifier.system",
                "path": "DocumentReference.identifier.system",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.identifier.value",
                "path": "DocumentReference.identifier.value",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.status",
                "path": "DocumentReference.status",
                "fixedCode": "current",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.org/fhir/ValueSet/document-reference-status"
                }
            },
            {
                "id": "DocumentReference.docStatus",
                "path": "DocumentReference.docStatus",
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.org/fhir/ValueSet/composition-status"
                }
            },
            {
                "id": "DocumentReference.type",
                "path": "DocumentReference.type",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type.coding",
                "path": "DocumentReference.type.coding",
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type.coding.system",
                "path": "DocumentReference.type.coding.system",
                "fixedUri": "https://loinc.org/",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type.coding.code",
                "path": "DocumentReference.type.coding.code",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type.coding.display",
                "path": "DocumentReference.type.coding.display",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type.text",
                "path": "DocumentReference.type.text",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject",
                "path": "DocumentReference.subject",
                "comment": "#### **_`FOR EREFERRAL USAGE: The DocumentReference.subject must match the ServiceRequest.subject which is a reference to Patient resource. `_**\n\nReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject.reference",
                "path": "DocumentReference.subject.reference",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.date",
                "path": "DocumentReference.date",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author",
                "path": "DocumentReference.author",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Practitioner"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author.reference",
                "path": "DocumentReference.author.reference",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content",
                "path": "DocumentReference.content",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment",
                "path": "DocumentReference.content.attachment",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.contentType",
                "path": "DocumentReference.content.attachment.contentType",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.language",
                "path": "DocumentReference.content.attachment.language",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.data",
                "path": "DocumentReference.content.attachment.data",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.url",
                "path": "DocumentReference.content.attachment.url",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.size",
                "path": "DocumentReference.content.attachment.size",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.hash",
                "path": "DocumentReference.content.attachment.hash",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment.title",
                "path": "DocumentReference.content.attachment.title",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context",
                "path": "DocumentReference.context",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related",
                "path": "DocumentReference.context.related",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related.reference",
                "path": "DocumentReference.context.related.reference",
                "min": 1,
                "mustSupport": true
            }
        ]
    }
}

Usage

The primary use of the DocumentReference in this IG is to exchange binary .content (attachments to ServiceRequests) in DirectMessaging integrations.

In the referral workflow multiple, large binary files could potentially be referenced as ServiceRequest.supportingInfo. To reduce message size, message performance and scalability, implementers are strongly recommended to use .content.attachment.url to enable asyncronous retrieval of binary attachments from a secure server instead of passing attachments within a message as base64 .content.attachment.data. For further background and discussion about potential approaches see: https://infocentral.infoway-inforoute.ca/en/resources/docs/3551-documentreference/view-document

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-DocumentReference|1.0.0

.identifier

  • business identifier(s)

.status

  • populate with a fixed value "current"

.subject

  • MAY be used to associate the DocumentReference with the Patient it is about
  • where .subject is populated, it SHALL reference the same Patient resource as ServiceRequest.subject
  • for DirectMessaging integrations, the Patient resource SHALL be included in the message as a Bundle.entry and, if a persistent resource is available, MAY also be resolvable at a RESTful FHIR endpoint

.date

  • populate with the instant in time when the DocumentReference was created for transmission to the recipient
  • format: YYYY-MM-DDThh:mm:ss.sss+zz:zz (e.g. 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z).

.content.attachment