DRAFT - The specification is currently in development and subject to significant change. It is not ready for limited roll-out or production level use.

DocumentReference (CA:eReC)

Structure Definition: DocumentReference Profile

Canonical URL:http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-DocumentReference

Simplifier project page: DocumentReference

Derived from: DocumentReference (R4)

Formal Views of Profile Content

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

idΣ0..1string
metaΣ0..1Meta
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 Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingPattern
docStatusΣ0..1codeBinding
typeS Σ0..1CodeableConceptBinding
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
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
attachmentS Σ I1..1Attachment
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 Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
idΣ0..1string
metaΣ0..1Meta
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 Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingPattern
docStatusΣ0..1codeBinding
typeS Σ0..1CodeableConceptBinding
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
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
attachmentS Σ I1..1Attachment
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 Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
idΣ0..1string
metaΣ0..1Meta
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 Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusS Σ ?!1..1codeBindingPattern
docStatusΣ0..1codeBinding
typeS Σ0..1CodeableConceptBinding
categoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
dateS Σ0..1instant
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
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
attachmentS Σ I1..1Attachment
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 Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
DocumentReference..
DocumentReference.identifier..
DocumentReference.identifier.system1..
DocumentReference.identifier.value1..
DocumentReference.status..
DocumentReference.type..
DocumentReference.subjectReference(Patient)..
DocumentReference.subject.reference..
DocumentReference.subject.identifier..
DocumentReference.subject.identifier.system1..
DocumentReference.subject.identifier.value1..
DocumentReference.date..
DocumentReference.authorReference(Practitioner | PractitionerRole)..
DocumentReference.author.reference..
DocumentReference.author.identifier..
DocumentReference.author.identifier.system1..
DocumentReference.author.identifier.value1..
DocumentReference.content..
DocumentReference.content.attachment..
DocumentReference.context1..1
DocumentReference.context.relatedReference(ServiceRequest)1..1
DocumentReference.context.related.reference..
DocumentReference.context.related.identifier..
DocumentReference.context.related.identifier.system1..
DocumentReference.context.related.identifier.value1..

{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-DocumentReference",
    "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-DocumentReference",
    "version": "1.0.0",
    "name": "DocumentReference",
    "status": "draft",
    "description": "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses any serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "DocumentReference",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DocumentReference",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "DocumentReference.identifier",
                "path": "DocumentReference.identifier",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.identifier.system",
                "path": "DocumentReference.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.identifier.value",
                "path": "DocumentReference.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.status",
                "path": "DocumentReference.status",
                "patternCode": "current",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.type",
                "path": "DocumentReference.type",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject",
                "path": "DocumentReference.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject.reference",
                "path": "DocumentReference.subject.reference",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject.identifier",
                "path": "DocumentReference.subject.identifier",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject.identifier.system",
                "path": "DocumentReference.subject.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.subject.identifier.value",
                "path": "DocumentReference.subject.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.date",
                "path": "DocumentReference.date",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author",
                "path": "DocumentReference.author",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole"
                        ],
                        "aggregation":  [
                            "referenced"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author.reference",
                "path": "DocumentReference.author.reference",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author.identifier",
                "path": "DocumentReference.author.identifier",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author.identifier.system",
                "path": "DocumentReference.author.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.author.identifier.value",
                "path": "DocumentReference.author.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content",
                "path": "DocumentReference.content",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.content.attachment",
                "path": "DocumentReference.content.attachment",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context",
                "path": "DocumentReference.context",
                "min": 1,
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related",
                "path": "DocumentReference.context.related",
                "min": 1,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related.reference",
                "path": "DocumentReference.context.related.reference",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related.identifier",
                "path": "DocumentReference.context.related.identifier",
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related.identifier.system",
                "path": "DocumentReference.context.related.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "DocumentReference.context.related.identifier.value",
                "path": "DocumentReference.context.related.identifier.value",
                "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)

.identifier

  • MAY be populated to share business identifers used to reference this resource in subsequent messages
  • identifier.system and identifier.value SHALL be mustSupport whenever there is a reference or identifier present

.status

  • Populate with a fixed value "current"

.type

  • Type of document being referenced (i.e. Patient Summary)

.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, this element SHALL either:
    • .reference a resource included in the message as a Bundle.entry, or
    • include an .identifier previously known to both systems

.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