NHS England FHIR Implementation Guide (deprecated)

Important Announcement regarding this Implementation Guide
  • As of 04/10/2023, this implementation guide has been deprecated and all development on the legacy NHS England FHIR Implementation Guide assets has ceased.
  • Therefore, vendors looking to start new implementations or looking to update existing implementations should use the new NHS England Implementation Guide. Vendors continuing to implement legacy NHS England FHIR Implementation Guide based solutions do so at their own risk and on the understanding that no maintenance or support will be available.

NHSDigital-DocumentReference

Conformance url FHIR Module Maturity Level
https://fhir.nhs.uk/StructureDefinition/NHSDigital-DocumentReference draft




with UK Core DocumentReference

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
statusS Σ ?!1..1codeBinding
docStatusΣ0..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
categoryS Σ1..*CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
dateS Σ0..1instant
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
codeΣ1..1codeBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
descriptionΣ0..1string
securityLabelΣ0..*CodeableConceptBinding
contentTypeΣ0..1codeBinding
languageΣ0..1codeBinding
dataS0..1base64Binary
urlS Σ0..1url
sizeΣ0..1unsignedInt
hashΣ0..1base64Binary
titleΣ0..1string
creationΣ0..1dateTime
formatΣ0..1CodingBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
event0..*CodeableConcept
periodΣ I0..1Period
facilityType0..1CodeableConcept
practiceSettingS0..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string

from UK Core DocumentReference

useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
statusS Σ ?!1..1codeBinding
docStatusΣ0..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
categoryS Σ1..*CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
dateS Σ0..1instant
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
codeΣ1..1codeBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
descriptionΣ0..1string
securityLabelΣ0..*CodeableConceptBinding
contentTypeΣ0..1codeBinding
languageΣ0..1codeBinding
dataS0..1base64Binary
urlS Σ0..1url
sizeΣ0..1unsignedInt
hashΣ0..1base64Binary
titleΣ0..1string
creationΣ0..1dateTime
formatΣ0..1CodingBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
event0..*CodeableConcept
periodΣ I0..1Period
facilityType0..1CodeableConcept
practiceSettingS0..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string


Constraint Profiles

nameprofile
NHSDigitalDocumentReferenceNRLhttps://fhir.nhs.uk/StructureDefinition/NHSDigital-DocumentReference-NRL

Definition

A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralised object with a mime-type, so includes formal patient centric documents (CDA), clinical notes, scanned paper, and non-patient specific documents like policy text.

Comment

Usually, this is used for documents other than those defined by FHIR.

identifier

Element Id DocumentReference.identifier
Cardinality 0..*
type Identifier

Definition

Other identifiers associated with the document, including version independent identifiers.

status

Element Id DocumentReference.status
Cardinality 1..1
Terminology Binding DocumentReferenceStatus (Required)
The status of the document reference.
type code

Definition

The status of this document reference.

Comment

This is the status of the DocumentReference object, which might be independent from the docStatus element. This element is labelled as a modifier because the status contains the codes that mark the document or reference as not currently valid.

type

Element Id DocumentReference.type
Cardinality 0..1
Terminology Binding NHSDigitalDocumentType (Extensible)
type CodeableConcept

Definition

Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.

"type": {
        "coding":  [
            {
                "system": "http://snomed.info/sct",
                "code": "736253002",
                "display": "Mental health crisis plan"
            }
        ]
    }

Comment

Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents.

category

Element Id DocumentReference.category
Cardinality 0..*
Terminology Binding DocumentClassValueSet (Example)
High-level kind of a clinical document at a macro level.
type CodeableConcept

Definition

A categorisation for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.

"category":  [
        {
            "coding":  [
                {
                    "system": "http://snomed.info/sct",
                    "code": "734163000",
                    "display": "Care plan"
                }
            ]
        }
    ]

Comment

Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching.

subject

Element Id DocumentReference.subject
Cardinality 0..1
type Reference(Group Device UKCorePractitioner NHSDigitalPatient)

Definition

A reference to a NHSDigital-Patient and/or an identifier reference using NHSNumber. Only traced NHS Numbers may be used.


    "subject": {
        "reference": "urn:uuid:edea022a-2d81-11eb-adc1-0242ac120002",
        "identifier": [
            {
                "system": "https://fhir.nhs.uk/Id/nhs-number",
                "value": "9912003888"
            }
        ]
    },


Preference is for a reference to a Patient resource, however current document flows may only support limited metadata.

Constraints

  • patient-reference (WARNING) subject - An identifier reference or resource reference must be provided
  • patient-nhs (ERROR) Supplied NHS Number is outside the English and Welsh NHS Number range or length of the number is wrong.

date

Element Id DocumentReference.date
Cardinality 0..1
type instant

Definition

When the document reference was created.

Comment

Referencing/indexing time is used for tracking, organising versions and searching.

author

Element Id DocumentReference.author
Cardinality 0..*
type Reference(NHSDigitalOrganization Device NHSDigitalPatient UKCoreRelatedPerson NHSDigitalPractitionerRole)

Definition

A resource reference to a contained NHSDigital-PractitionerRole


    "author": [
        {
          "reference" : "#author",
        }
    ]

The contained resource:

{
  "resourceType": "DocumentReference",
  "id": "a9b9f0f4-cc37-4ea3-bd4b-16d15ddbe63b",
  "contained": [
    {
      "resourceType": "PractitionerRole",
      "id": "author",
      "practitioner": {
        "identifier": {
          "system": "https://fhir.nhs.uk/Id/sds-user-id",
          "value": "0987654321"
        }
      },
      "organization": {
        "identifier": {
          "system": "https://fhir.nhs.uk/Id/ods-organization-code",
          "value": "RR8"
        },
        "display": "LEEDS TEACHING HOSPITALS NHS TRUST"
      }
    }
  ],

Comment

Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).

custodian

Element Id DocumentReference.custodian
Cardinality 0..1
type Reference(NHSDigitalOrganization)

Definition

An identifier reference to an ODS Organisation.


        "custodian": {
                "identifier": {
                    "system": "https://fhir.nhs.uk/Id/ods-organization-code",
                    "value": "VNE51"
                },
                "display": "The Pharmacy System"
        }

Comment

Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.

content

Element Id DocumentReference.content
Cardinality 1..*
type BackboneElement

Definition

The document and format referenced. There may be multiple content element repetitions, each with a different format.

"content": [
        {
            "attachment": {
                "extension": [
                    {
                        "url": "https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-AttachedBy",
                        "valueReference": {
                            "identifier": {
                                "system": "https://fhir.nhs.uk/Id/sds-user-id",
                                "value": "987654321"
                            }
                        }
                    }
                ],
                "contentType": "application/pdf",
                "url": "Binary/att-70001-70002",
                "size": 18592,
                "title": "upload.png",
                "creation": "2022-01-31"
            }
        }
    ]

content.attachment

Element Id DocumentReference.content.attachment
Cardinality 1..1
type Attachment

Definition

The document or URL of the document along with critical metadata to prove content has integrity.

content.attachment.data

Element Id DocumentReference.content.attachment.data
Cardinality 0..1
type base64Binary

Definition

SHOULD not be used. Use url to link to the actual document

Requirements

The data needs to able to be transmitted inline.

Comment

The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.

content.attachment.url

Element Id DocumentReference.content.attachment.url
Cardinality 0..1
type url

Definition

For REST interactions this MUST be a url to the actual document. For messaging interactions this must be an internal resource reference to the actual document.

Requirements

The data needs to be transmitted by reference.

Comment

If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.

context

Element Id DocumentReference.context
Cardinality 0..1
type BackboneElement

Definition

The clinical context in which the document was prepared.

"context": {
        "related" : [
            {
                "type": "ServiceRequest",
                "reference": "ServiceRequest/be735573-9f24-42e1-ae98-af89d632e4bf"
            },
            {
                "type": "Task",
                "reference": "Task/f66e4cd7-207c-4b7d-9ac9-80630c451125"
            }
        ]
    }

Comment

These values are primarily added to help with searching for interesting/relevant documents.

context.practiceSetting

Element Id DocumentReference.context.practiceSetting
Cardinality 0..1
Terminology Binding NHSDigitalCareSettingType (Extensible)
type CodeableConcept

Definition

It is recommended a care setting code should be provided

Requirements

This is an important piece of metadata that providers often rely upon to quickly sort and/or filter out to find specific content.

Comment

This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC.

context.related

Element Id DocumentReference.context.related
Cardinality 0..*
type Reference(NHSDigitalServiceRequest NHSDigitalTask)

Definition

Related identifiers or resources associated with the DocumentReference.

In eRS this is used to link a DocumentReference (i.e. a document) to a ServiceRequest and/or Task.

Comment

May be identifiers or resources that caused the DocumentReference or referenced Document to be created.

back to top