Interweave Implementation Guide
0.1.0 - ci-build

Interweave Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: InterweaveDocumentReference

Official URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Interweave-DocumentReference Version: 0.1.0
Active as of 2024-03-08 Computable Name: InterweaveDocumentReference

Interweave DocumentReference resource profile.

  Status: Active: Approved (STU)

Introduction

This profile sets minimum expectations for the DocumentReference resource.

Mandatory fields

The following mandatory fields are defined in order to properly describe a DocumentReference:

  1. Status - already mandatory in FHIR, and will generally contain “current”. (A practical challenge for many systems can be to accurately maintain this, eg updating to “superseded” when necessary)
  2. DocStatus - will generally contain “final”, as most documents will only be published for regional sharing once they are finalised. However there may be exceptions where it is useful to collaborate on preliminary versions of a document. (It is anticipated that additional guidance on the use of this field for collaborating on specific types of document may be added in future.)
  3. Type - essential information to help categorise the type of document.

    The categorisation of document types is a much debated topic, with a number of alternative standards still vying for precedence. See discussion of code list options for further details. However for practical purposes of consistency a regional design decision has been made based on the SNOMED refset 24501000000105: EHR composition types. This is therefore specified as “preferred” and we ask that SNOMED coding based on this list is provided.

    • It is, of course, permissible to provide more than one code to also support other coding schemes if desired
    • We accept that this is an area where we will need to remain open to consultation as National standards continue to evolve.
  4. Indexed - already mandatory in FHIR and essential for date-based searching and sorting
  5. Subject - every document must be linked to a Patient
  6. Content - usually a link to retrieve the actual document content (see further guidance below).
  7. Content Type It is mandatory to populate the Content Type, so that consumers can be aware and process accordingly.

Data Providers and Data Consumers SHOULD support the following contentTypes:

  • application/pdf
  • text/html
  • image/tiff (no longer supported and is not recommended for web use)
  • image/jpeg
  • image/png (currently not supported in Interweave Portal, however it is on the roadmap)

(This list may be added to by request and discussion)

Other contentTypes should only be used with caution, as not all Data Consumers may be able to view them.

Must Support fields

In addition the following fields are “Must Support” - ie they must be populated if relevant and known:

  1. Identifier - a Local document id should be provided (non-version-specific), such that could be quoted if manually getting in touch to find out more
  2. Author - This is very useful as it provides a person to speak to if more information about the document is needed. Preferably we want exactly one author - the main practitioner involved who should be contacted. (The profile is, however, left open to allow for other more collaborative models of document creation in future).
  3. Context - Encounter - If relevant and possible then it is very useful to link documents back to the Encounter they relate to
  4. Context - Period - A document may related to a period of time (eg a care plan for the coming 6 months). Where this is the case then this field must be populated

Optional fields

Other fields are optional and may be populated if known - on the understanding that not all data consumers will necessarily make use of them. Points of note include:

  • Master Identifier - FHIR also makes provision for both a “master identifier” (version specific). Generally this will link with a Data Provider’s in-house document management system, and is therefore an internal implementation detail and of limited relevance for external sharing. If provided then Data Consumers should exercise caution in relying upon it.
  • Class - This provides a higher-level categorisation over-and-above the document “type”
  • Authenticator - More likely to be relevant for internal records management rather than external sharing, but may be populated if desired
  • Description - May be used if there is additional “title” or summary “description” information about the document which is useful to provide. It is not necessary to populate with a repeat of the document “type” - instead feel free to omit if there is nothing additional to add.
  • Additional Context Fields - These include the Event, Facility Type, and Practice Setting. There is also the sourcePatientInfo which may be useful to populate with a version-specific pointer to the patient record at the time the document was created.

Discouraged or Removed fields

  • Created - Whilst this is a field often used currently, its use is deprecated in FHIR R4, so in the longer term a reliance on it may not be wise
    • Note that the Exchange has a “docxsort” feature to allow sorting by created date where known, or else indexed date. However as noted, the direction of FHIR is towards a simpler approach based on indexed date only.
  • Custodian - this information is instead provided by the provenance tags
  • Relates To - This is a potentially useful field that may be used to record relationships between documents. However it is not used as-yet, and there is unlikely to be any behaviour in consumer systems to honour it. Please get in touch for further discussion if planning to use it.
  • Content - Related - This provides the opportunity to link to other types of resources – in addition to Encounters. It is anticipated that additional guidance on the use of this field may be added in future, based on specific document types and use-cases. Please get in touch if planning to use this field meanwhile.
  • Security Label - This field is not used and will not be honoured. All data published to the Interweave Exchange will be shared with other participants. (It is possible that additional security mechanisms may be added in future, however this would be subject to further consultation at the time).

Approaches to document content

The DocumentReference this offers three different ways to transmit the document content and it is important to understand the details of this. The sections below cover each option in turn.

  • (1) Embedded document (only supported for messaging NOT online query)

    This is the “simplest” approach, as the document content is embedded directly into the DocumentReference. Note that the contentType (mime-type) is provided so that the consumer is able to judge whether it has the ability to display this format of document eg PDF, etc. (This is the same for all three approaches).

    For example the “content” section of a DocumentReference would look like:

"content": [{​​​​​
       "attachment": {​​​​​
           "contentType": "text/html",
       "data":"PGRpdiB4123ucz0iaHR0cDovL123dy53My5vcmcvMTk5OS94aHRtbCI ... etc..."
       }​​​​​​​​​​​​
   }​​​​​​​​​​​​]

This embedded approach is often suitable for messaging, where a relevant document is being specifically sent (eg Ambulance Transfer of Care). However for online query it has the significant disadvantage of making the DocumentReference resources very large - as the whole document is transferred even when just viewing the list of documents available. Typically there may be many documents about a patient, but only one or two which are relevant for the user to actually view. It is very inefficient (and slow) to transfer the entirety of the documents when a user is only perusing the list.

(NB: Despite this limitation, GP Connect is an important use-case which returns embedded document content. However GP Connect documents are not returned from ordinary online queries and instead must be specifically requested from a screen developed to meet NHSD accreditation requirements. The reason for embedding is that, having requested a patient’s GP Record, it is almost always going to be desired to view the document content).

  • (2) Linked document (recommended)

    This replaces the content in the DocumentReference with a link. For example:

"content": [{​​​​​​​​​​​​
       "attachment": {​​​​​​​​​​​​
           "contentType": "text/html",
           "url": "https://my.server.com/documents/21f51e78-a46d-402c-aa22-dd43e0fec530"
       }​​​​​​​​​​​​
   }​​​​​​​​​​​​]

This is clearly much more efficient. This list of DocumentReferences contains only metadata about the documents, and if the user wants to open the document then it is a case of following the link to download it. This performs a simple binary download of the document bytes – as would be provided by hosting the document on any standard web server.

Note that InterWeave Connect offers a proxy service to avoid the need for point-to-point networking for document downloads. Instead the urls in the DocumentReference are automatically rewritten to point at a central hub which in turn connects to the Data Provider and streams document downloads.

  • (3) FHIR Binary Resource (only recommended if implemented comprehensively)

    Yet another possible approach is to replace the content in the DocumentReference with a link to a FHIR Binary Resource http://hl7.org/fhir/stu3/binary.html. This is similar in principle to the Linked document approach, but adds an extra layer of wrappings and complexity to the Data Provider’s implementation. For that reason it is not recommended unless a Data Provider is working with a local system which already exposes documents in this way. Note: that the contentType of the document reference must be the mime type of the document encoded by the binary resource (see GET behaviour below)

    The “content” section of a DocumentReference with a linked Binary Resource would now look like this:

     "content": [{​​​​​​​​​​​​
       "attachment": {​​​​​​​​​​​​
           "contentType": "text/html",
           "url": "https://my.server.com/fhirpath/Binary/21f51e78-a46d-402c-aa22-dd43e0fec530"
       }​​​​​​​​​​​​
     }​​​​​​​​​​​​]

When the link is followed then it again returns the binary content – as would be provided by hosting the document on any standard web server.

(This is because of a feature of the FHIR specification that treats Binary resources differently from any other resource. When a FHIR server receives a GET request for a Binary resource then it MUST return the binary document content rather than the Binary resource. However the FHIR specification also requires that this behaviour can be overridden by a consumer by inserting the HTTP Accept header with value “application/fhir+json” (or even “application/fhir+xml”). This then returns a more complete FHIR data structure with the document content embedded – although for document viewing purposes it is difficult to envisage why a consumer would desire this)

Summary of Requirements for DocumentReference content

  • Data Providers SHOULD use the “linked document” mechanism when publishing documents for on-demand retrieval

    • This is (2) above, which is recommended as a simple and efficient approach.

    • Data Providers MUST NOT embed documents for on-demand retrieval, as this is inefficient

    • Data Providers MAY publish documents as FHIR Binary Resources. This is equivalent from a Data Consumer perspective as it provides a link to follow to download the document. However it is not recommended due to the additional complexity for a Data Provider. If this option is chosen then the Data Provider MUST fully support the FHIR specification.

  • Data Consumers MUST support viewing of documents via a DocumentReference resource which contains a link for downloading the actual document content

    • This covers both of (2) and (3) above as, in practice, both contain a link to download the document content
  • Data Consumers MAY leave the HTTP “Accept” header blank, and SHOULD NOT populate it with anything other than the mime-type advertised by the Data Provider in the DocumentReference

    • There is no expectation of Data Providers being able to offer translation capabilities between mime-types

Usage:

Formal Views of Profile Content

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

This structure is derived from CareConnect-DocumentReference-1

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id S0..1idLogical id of this artifact
... meta
.... versionId S0..1idVersion specific identifier
.... lastUpdated S0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile S0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security 0..*CodingDISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code S1..1codeThe Data Provider Id of the system supplying the data
...... display S1..1stringName of the system supplying the data
..... tag:Provenance S0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code S1..1codeThe ODS Code of the organisation responsible for the data
...... display S1..1stringName of the organisation supplying the data
... implicitRules 0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for identifier 0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:localIdentifier S0..1IdentifierOther identifiers for the document
..... system S1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value S1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
... status S1..1codecurrent | superseded | entered-in-error
... docStatus S1..1codepreliminary | final | appended | amended | entered-in-error
... type S1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
... subject S1..1Reference(CareConnectPatient1)Who is the subject of the document
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 1..1stringDescription of the referenced resource
... created 0..1dateTimeDISCOURAGED - deprecated in R4
... indexed S1..1instantWhen this document reference was created
... author S0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 1..1stringDescription of the referenced resource
... custodian 0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo 0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
... description 0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel 0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
... content S1..*BackboneElementDocument referenced
.... attachment S1..1AttachmentWhere to access the document
..... contentType S1..1codeMime type of the content, with charset etc.
... context
.... encounter S0..1Reference(CareConnect-Encounter-1)Context of the document content
..... reference 1..1stringReference to a resource (could be Contained)
..... identifier 0..1IdentifierIf relevant could include an id
..... display 0..1stringIf relevant, description of the referenced resource
.... period S0..1PeriodTime of service that is being documented
.... related 0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
DocumentReference.typepreferredInterweave Document Type
NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
.... identifier:localIdentifier SΣ0..1IdentifierOther identifiers for the document
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value SΣ1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
... status ?!SΣ1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.

... docStatus SΣ1..1codepreliminary | final | appended | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.

... type SΣ1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
... subject SΣ1..1Reference(CareConnectPatient1)Who is the subject of the document
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... created Σ0..1dateTimeDISCOURAGED - deprecated in R4
... indexed SΣ1..1instantWhen this document reference was created
... author SΣ0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... custodian Σ0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo ?!Σ0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target Σ1..1Reference(CareConnect-DocumentReference-1)Target of the relationship
... description Σ0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel Σ0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... content SΣ1..*BackboneElementDocument referenced
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... attachment SΣ1..1AttachmentWhere to access the document
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: mimetypes (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
... context Σ0..1BackboneElementClinical context of document
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... encounter SΣ0..1Reference(CareConnect-Encounter-1)Context of the document content
..... reference ΣC1..1stringReference to a resource (could be Contained)
..... identifier Σ0..1IdentifierIf relevant could include an id
..... display Σ0..1stringIf relevant, description of the referenced resource
.... period SΣ0..1PeriodTime of service that is being documented
.... related Σ0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
DocumentReference.meta.securityextensibleAll Security Labels
DocumentReference.meta.tagexampleCommon Tags
DocumentReference.meta.tag:SourceexampleCommon Tags
DocumentReference.meta.tag:ProvenanceexampleCommon Tags
DocumentReference.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.identifier.userequiredIdentifierUse
DocumentReference.identifier:localIdentifier.userequiredIdentifierUse
DocumentReference.statusrequiredDocumentReferenceStatus
DocumentReference.docStatusrequiredCompositionStatus
DocumentReference.typepreferredInterweave Document Type
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
DocumentReference.securityLabelextensibleAll Security Labels
DocumentReference.content.attachment.contentTyperequiredhttp://hl7.org/fhir/ValueSet/mimetypes

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4errorDocumentReferenceIf 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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... masterIdentifier Σ0..1IdentifierMaster Version Specific Identifier
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ1..1stringThe value that is unique
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
... Slices for identifier Σ0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ0..1IdentifierOther identifiers for the document
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value SΣ1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
... status ?!SΣ1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.

... docStatus SΣ1..1codepreliminary | final | appended | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.

... type SΣ1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... class Σ0..1CodeableConceptCategorization of document
Binding: Document Class Value Set (example): High-level kind of a clinical document at a macro level.

... subject SΣ1..1Reference(CareConnectPatient1)Who is the subject of the document
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... created Σ0..1dateTimeDISCOURAGED - deprecated in R4
... indexed SΣ1..1instantWhen this document reference was created
... author SΣ0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... authenticator Σ0..1Reference(CareConnect-Practitioner-1 | CareConnect-Organization-1)Who/what authenticated the document
... custodian Σ0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo ?!Σ0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target Σ1..1Reference(CareConnect-DocumentReference-1)Target of the relationship
... description Σ0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel Σ0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... content SΣ1..*BackboneElementDocument referenced
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... attachment SΣ1..1AttachmentWhere to access the document
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: mimetypes (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding

Example General: en-AU
..... data 0..1base64BinaryData inline, base64ed
..... url Σ0..1uriUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... format Σ0..1CodingFormat/content rules for the document
Binding: DocumentReference Format Code Set (preferred): Document Format Codes.

... context Σ0..1BackboneElementClinical context of document
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... encounter SΣ0..1Reference(CareConnect-Encounter-1)Context of the document content
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC1..1stringReference to a resource (could be Contained)
..... identifier Σ0..1IdentifierIf relevant could include an id
..... display Σ0..1stringIf relevant, description of the referenced resource
.... event Σ0..*CodeableConceptMain clinical acts documented
Binding: ActCode (example): This list of codes represents the main clinical acts being documented.


.... period SΣ0..1PeriodTime of service that is being documented
.... facilityType Σ0..1CodeableConceptKind of facility where patient was seen
Binding: Facility Type Code Value Set (example): XDS Facility Type.

.... practiceSetting Σ0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Binding: Care Connect Care Setting Type (preferred): Care setting type of the document

.... sourcePatientInfo Σ0..1Reference(CareConnectPatient1)Patient demographics from source
.... related Σ0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... identifier Σ0..1IdentifierIdentifier of related objects or events
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value Σ0..1stringThe value that is unique
Example General: 123456
...... period Σ0..1PeriodTime period when id is/was valid for use
...... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
..... ref Σ0..1Reference(Resource)Related Resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
DocumentReference.meta.securityextensibleAll Security Labels
DocumentReference.meta.tagexampleCommon Tags
DocumentReference.meta.tag:SourceexampleCommon Tags
DocumentReference.meta.tag:ProvenanceexampleCommon Tags
DocumentReference.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.masterIdentifier.userequiredIdentifierUse
DocumentReference.masterIdentifier.typeextensibleIdentifier Type Codes
DocumentReference.identifier.userequiredIdentifierUse
DocumentReference.identifier.typeextensibleIdentifier Type Codes
DocumentReference.identifier:localIdentifier.userequiredIdentifierUse
DocumentReference.identifier:localIdentifier.typeextensibleIdentifier Type Codes
DocumentReference.statusrequiredDocumentReferenceStatus
DocumentReference.docStatusrequiredCompositionStatus
DocumentReference.typepreferredInterweave Document Type
DocumentReference.classexampleDocument Class Value Set
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
DocumentReference.securityLabelextensibleAll Security Labels
DocumentReference.content.attachment.contentTyperequiredhttp://hl7.org/fhir/ValueSet/mimetypes
DocumentReference.content.attachment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.content.formatpreferredDocumentReference Format Code Set
DocumentReference.context.eventexamplev3 Code System ActCode
DocumentReference.context.facilityTypeexampleFacility Type Code Value Set
DocumentReference.context.practiceSettingpreferredCare Connect Care Setting Type
DocumentReference.context.related.identifier.userequiredIdentifierUse
DocumentReference.context.related.identifier.typeextensibleIdentifier Type Codes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())

This structure is derived from CareConnect-DocumentReference-1

Summary

Mandatory: 5 elements (9 nested mandatory elements)
Must-Support: 24 elements
Fixed Value: 3 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element DocumentReference.meta.tag is sliced based on the value of value:system
  • The element DocumentReference.identifier is sliced based on the value of value:system

Differential View

This structure is derived from CareConnect-DocumentReference-1

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id S0..1idLogical id of this artifact
... meta
.... versionId S0..1idVersion specific identifier
.... lastUpdated S0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile S0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security 0..*CodingDISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code S1..1codeThe Data Provider Id of the system supplying the data
...... display S1..1stringName of the system supplying the data
..... tag:Provenance S0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code S1..1codeThe ODS Code of the organisation responsible for the data
...... display S1..1stringName of the organisation supplying the data
... implicitRules 0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for identifier 0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:localIdentifier S0..1IdentifierOther identifiers for the document
..... system S1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value S1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
... status S1..1codecurrent | superseded | entered-in-error
... docStatus S1..1codepreliminary | final | appended | amended | entered-in-error
... type S1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
... subject S1..1Reference(CareConnectPatient1)Who is the subject of the document
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 1..1stringDescription of the referenced resource
... created 0..1dateTimeDISCOURAGED - deprecated in R4
... indexed S1..1instantWhen this document reference was created
... author S0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 1..1stringDescription of the referenced resource
... custodian 0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo 0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
... description 0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel 0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
... content S1..*BackboneElementDocument referenced
.... attachment S1..1AttachmentWhere to access the document
..... contentType S1..1codeMime type of the content, with charset etc.
... context
.... encounter S0..1Reference(CareConnect-Encounter-1)Context of the document content
..... reference 1..1stringReference to a resource (could be Contained)
..... identifier 0..1IdentifierIf relevant could include an id
..... display 0..1stringIf relevant, description of the referenced resource
.... period S0..1PeriodTime of service that is being documented
.... related 0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
DocumentReference.typepreferredInterweave Document Type

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:All Slices Content/Rules for all slices
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
.... identifier:localIdentifier SΣ0..1IdentifierOther identifiers for the document
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value SΣ1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
... status ?!SΣ1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.

... docStatus SΣ1..1codepreliminary | final | appended | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.

... type SΣ1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
... subject SΣ1..1Reference(CareConnectPatient1)Who is the subject of the document
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... created Σ0..1dateTimeDISCOURAGED - deprecated in R4
... indexed SΣ1..1instantWhen this document reference was created
... author SΣ0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... custodian Σ0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo ?!Σ0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target Σ1..1Reference(CareConnect-DocumentReference-1)Target of the relationship
... description Σ0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel Σ0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... content SΣ1..*BackboneElementDocument referenced
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... attachment SΣ1..1AttachmentWhere to access the document
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: mimetypes (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
... context Σ0..1BackboneElementClinical context of document
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... encounter SΣ0..1Reference(CareConnect-Encounter-1)Context of the document content
..... reference ΣC1..1stringReference to a resource (could be Contained)
..... identifier Σ0..1IdentifierIf relevant could include an id
..... display Σ0..1stringIf relevant, description of the referenced resource
.... period SΣ0..1PeriodTime of service that is being documented
.... related Σ0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
DocumentReference.meta.securityextensibleAll Security Labels
DocumentReference.meta.tagexampleCommon Tags
DocumentReference.meta.tag:SourceexampleCommon Tags
DocumentReference.meta.tag:ProvenanceexampleCommon Tags
DocumentReference.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.identifier.userequiredIdentifierUse
DocumentReference.identifier:localIdentifier.userequiredIdentifierUse
DocumentReference.statusrequiredDocumentReferenceStatus
DocumentReference.docStatusrequiredCompositionStatus
DocumentReference.typepreferredInterweave Document Type
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
DocumentReference.securityLabelextensibleAll Security Labels
DocumentReference.content.attachment.contentTyperequiredhttp://hl7.org/fhir/ValueSet/mimetypes

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-2errorDocumentReferenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDocumentReferenceIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4errorDocumentReferenceIf 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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DocumentReference 0..*CareConnect-DocumentReference-1A reference to a document
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... masterIdentifier Σ0..1IdentifierMaster Version Specific Identifier
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ1..1stringThe value that is unique
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
... Slices for identifier Σ0..*IdentifierOther identifiers for the document
Slice: Unordered, Open by value:system
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
.... identifier:localIdentifier SΣ0..1IdentifierOther identifiers for the document
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-documentreference-identifier
..... value SΣ1..1stringThe Local documentreference Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
... status ?!SΣ1..1codecurrent | superseded | entered-in-error
Binding: DocumentReferenceStatus (required): The status of the document reference.

... docStatus SΣ1..1codepreliminary | final | appended | amended | entered-in-error
Binding: CompositionStatus (required): Status of the underlying document.

... type SΣ1..1CodeableConceptType of document
Binding: Interweave Document Type (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... class Σ0..1CodeableConceptCategorization of document
Binding: Document Class Value Set (example): High-level kind of a clinical document at a macro level.

... subject SΣ1..1Reference(CareConnectPatient1)Who is the subject of the document
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... created Σ0..1dateTimeDISCOURAGED - deprecated in R4
... indexed SΣ1..1instantWhen this document reference was created
... author SΣ0..*Reference(Device | CareConnect-RelatedPerson-1 | CareConnect-Practitioner-1 | CareConnectPatient1 | CareConnect-Organization-1)Who and/or what authored the document. NB: For most use-cases this should contain a single practitioner who is the main contact for any further questions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ1..1stringDescription of the referenced resource
... authenticator Σ0..1Reference(CareConnect-Practitioner-1 | CareConnect-Organization-1)Who/what authenticated the document
... custodian Σ0..1Reference(CareConnect-Organization-1)DISCOURAGED - this information is already covered by the provenance tags
... relatesTo ?!Σ0..*BackboneElementDISCOURAGED - use with great caution as consumer systems are likely to display a simple list of documents, and may not interpret these relationships
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target Σ1..1Reference(CareConnect-DocumentReference-1)Target of the relationship
... description Σ0..1stringHuman-readable description (title). Useful to populate, but acceptable to omit if nothing to add over-and-above the 'type'
... securityLabel Σ0..*CodeableConceptDISCOURAGED - unlikely to be honoured by consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


... content SΣ1..*BackboneElementDocument referenced
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... attachment SΣ1..1AttachmentWhere to access the document
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... contentType SΣ1..1codeMime type of the content, with charset etc.
Binding: mimetypes (required): The mime type of an attachment. Any valid mime type is allowed.


Example General: text/plain; charset=UTF-8, image/png
..... language Σ0..1codeHuman language of the content (BCP-47)
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding

Example General: en-AU
..... data 0..1base64BinaryData inline, base64ed
..... url Σ0..1uriUri where the data can be found
Example General: http://www.acme.com/logo-small.png
..... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
..... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
..... title Σ0..1stringLabel to display in place of the data
Example General: Official Corporate Logo
..... creation Σ0..1dateTimeDate attachment was first created
.... format Σ0..1CodingFormat/content rules for the document
Binding: DocumentReference Format Code Set (preferred): Document Format Codes.

... context Σ0..1BackboneElementClinical context of document
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... encounter SΣ0..1Reference(CareConnect-Encounter-1)Context of the document content
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC1..1stringReference to a resource (could be Contained)
..... identifier Σ0..1IdentifierIf relevant could include an id
..... display Σ0..1stringIf relevant, description of the referenced resource
.... event Σ0..*CodeableConceptMain clinical acts documented
Binding: ActCode (example): This list of codes represents the main clinical acts being documented.


.... period SΣ0..1PeriodTime of service that is being documented
.... facilityType Σ0..1CodeableConceptKind of facility where patient was seen
Binding: Facility Type Code Value Set (example): XDS Facility Type.

.... practiceSetting Σ0..1CodeableConceptAdditional details about where the content was created (e.g. clinical specialty)
Binding: Care Connect Care Setting Type (preferred): Care setting type of the document

.... sourcePatientInfo Σ0..1Reference(CareConnectPatient1)Patient demographics from source
.... related Σ0..*BackboneElementDISCOURAGED - see above for linkage to Encounter. Other linkages may be defined in future only if use-cases arise
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... identifier Σ0..1IdentifierIdentifier of related objects or events
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

...... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value Σ0..1stringThe value that is unique
Example General: 123456
...... period Σ0..1PeriodTime period when id is/was valid for use
...... assigner Σ0..1Reference(CareConnect-Organization-1)Organization that issued id (may be just text)
..... ref Σ0..1Reference(Resource)Related Resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
DocumentReference.meta.securityextensibleAll Security Labels
DocumentReference.meta.tagexampleCommon Tags
DocumentReference.meta.tag:SourceexampleCommon Tags
DocumentReference.meta.tag:ProvenanceexampleCommon Tags
DocumentReference.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.masterIdentifier.userequiredIdentifierUse
DocumentReference.masterIdentifier.typeextensibleIdentifier Type Codes
DocumentReference.identifier.userequiredIdentifierUse
DocumentReference.identifier.typeextensibleIdentifier Type Codes
DocumentReference.identifier:localIdentifier.userequiredIdentifierUse
DocumentReference.identifier:localIdentifier.typeextensibleIdentifier Type Codes
DocumentReference.statusrequiredDocumentReferenceStatus
DocumentReference.docStatusrequiredCompositionStatus
DocumentReference.typepreferredInterweave Document Type
DocumentReference.classexampleDocument Class Value Set
DocumentReference.relatesTo.coderequiredDocumentRelationshipType
DocumentReference.securityLabelextensibleAll Security Labels
DocumentReference.content.attachment.contentTyperequiredhttp://hl7.org/fhir/ValueSet/mimetypes
DocumentReference.content.attachment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
DocumentReference.content.formatpreferredDocumentReference Format Code Set
DocumentReference.context.eventexamplev3 Code System ActCode
DocumentReference.context.facilityTypeexampleFacility Type Code Value Set
DocumentReference.context.practiceSettingpreferredCare Connect Care Setting Type
DocumentReference.context.related.identifier.userequiredIdentifierUse
DocumentReference.context.related.identifier.typeextensibleIdentifier Type Codes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())

This structure is derived from CareConnect-DocumentReference-1

Summary

Mandatory: 5 elements (9 nested mandatory elements)
Must-Support: 24 elements
Fixed Value: 3 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element DocumentReference.meta.tag is sliced based on the value of value:system
  • The element DocumentReference.identifier is sliced based on the value of value:system

 

Other representations of profile: CSV, Excel, Schematron