Extensions

The UK Core extensions that are particularly relevant to pathology are listed below.

For a detailed description of all of the UK Core extensions (including examples) refer to UK Core Implementation Guide (STU3 Sequence) - Profiles and Extensions - Extensions Index.

It should be noted most of the pathology related extensions are linked to pre-adopted FHIR R5/R6 elements. For further information refer to UK Core Implementation Guide (STU3 Sequence) - Profiles and Extensions - Extensions Index - Pre-adopted R5/R6 Elements.

ext-R5-DiagnosticReport.composition

This extension allows a Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition|0.1.0'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition|0.1.0'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition|0.1.0'

Example Usage

"extension": [
    {
        "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition",
        "valueReference": {
            "reference": "urn:uuid:604765c4-0e8a-4cd6-96a0-a2651fb5ab19"
        }
    }
],

ext-R5-DiagnosticReport.note

An extension to support adding comments about the DiagnosticReport.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note|0.1.0'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note|0.1.0'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note|0.1.0'

ext-R5-DiagnosticReport.supportingInfo

An extension to support adding additional information relating to the DiagnosticReport.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.supportingInfo|0.1.0'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.supportingInfo|0.1.0'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.supportingInfo|0.1.0'

ext-R5-Observation.bodyStructure

An extension to support adding a BodyStructure on an Observation.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure|0.1.0'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure|0.1.0'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure|0.1.0'

Extension-UKCore-ObservationOrganizer

This extension indicates that an Observation is functioning as an organizer or grouper, referencing one or more subordinate Observations through hasMember element links. Within this implementation guide, the extension signifies that the Observation represents a test group — for example, a test battery, panel, or profile.

The extension is based on the organizer element introduced in FHIR R6. Refer to the description of Observation.organizer in the base FHIR R6 Specification (Ballot - 3rd Draft) for more details.

Tree View

id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueBooleanboolean

Table View

Extension0..1
Extension.idstring0..1
Extension.extensionExtension0..*
Extension.urluri1..1
Extension.value[x]boolean1..1

JSON View

{
"resourceType": "StructureDefinition",
"id": "Extension-UKCore-ObservationOrganizer",
"url": "http://hl7.org/fhir/6.0/StructureDefinition/extension-Observation.organizer",
"version": "0.1.0",
"name": "ExtensionUKCoreObservationOrganizer",
"title": "Extension UK Core Observation Organizer",
"status": "draft",
"date": "2025-08-05",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "An extension to replicate the changes within R6 to support adding the organizer element to denote if the Observation instance is an organizer (other names are grouper / panel).",
"purpose": "This is a Pathology use case to support the backporting of R6 functionality.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "complex-type",
"abstract": false,
"context": [
{
"type": "element",
"expression": "Observation"
}
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"element": [
{
"id": "Extension",
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "normative"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
"valueCode": "4.0.0"
}
],
"path": "Extension",
"short": "Optional Extensions Element",
"definition": "Optional Extension Element - found in all resources.",
"min": 0,
"max": "1",
"base": {
"path": "Extension",
"min": 0,
"max": "*"
},
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"isModifier": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.id",
"path": "Extension.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "http://hl7.org/fhir/6.0/StructureDefinition/extension-Observation.organizer",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"element": [
{
"id": "Extension",
"path": "Extension",
"max": "1"
},
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "http://hl7.org/fhir/6.0/StructureDefinition/extension-Observation.organizer"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"min": 1,
"max": "1",
"type": [
{
"code": "boolean"
}
]
}
]
}
}

Example Usage

"extension": [
    {
        "url": "http://hl7.org/fhir/6.0/StructureDefinition/extension-Observation.organizer",
        "valueBoolean": true
    }
],

ext-R5-Observation.triggeredBy

This extension supports the sharing of the Observation(s) that triggered the performance of the main observation.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy|0.1.0'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy|0.1.0'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy|0.1.0'

Extension-UKCore-SpecimenCollectionCollector

This extension allows the referencing of Patient and RelatedPerson within Specimen.collection.

Tree View

Command 'tree' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector'

Table View

Command 'table' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector'

JSON View

Command 'json' could not render: Resource was not found for 'canonical=http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector'

Extension-valueset-reference

This extension allows the referencing of codes to a specific valueset. Within this implementation guide it is used to differentiate the SNOMED CT reference sets in the Observation.code element slicing.

Tree View

id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri

Table View

Extension0..1
Extension.idstring0..1
Extension.extensionExtension0..0
Extension.urluri1..1
Extension.value[x]uri1..1

JSON View

{
"resourceType": "StructureDefinition",
"id": "valueset-reference",
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode": "vocab"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
}
],
"url": "http://hl7.org/fhir/StructureDefinition/valueset-reference",
"version": "4.0.1",
"name": "reference",
"status": "draft",
"date": "2019-11-01T09:29:23+11:00",
"publisher": "HL7",
"description": "A logical reference (e.g. a reference to ValueSet.url) that identifies the value set/version that identifies the set of possible coded values this coding was chosen from or constrained by.",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "v2",
"uri": "http://hl7.org/v2",
"name": "HL7 v2 Mapping"
},
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "complex-type",
"abstract": false,
"context": [
{
"type": "element",
"expression": "Coding"
}
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Url of Value set the code was chosen from",
"definition": "A logical reference (e.g. a reference to ValueSet.url) that identifies the value set/version that identifies the set of possible coded values this coding was chosen from or constrained by.",
"comment": "If this extension is used with an [extensible binding](terminologies.html#extensible), and the concept comes from outside the bound valueset, the value set SHALL be different from the bound valueset.",
"min": 0,
"max": "1",
"base": {
"path": "Extension",
"min": 0,
"max": "*"
},
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"mapping": [
{
"identity": "v2",
"map": "CWE."
},
{
"identity": "rim",
"map": "CD.valueSet/CD.valueSetVersion"
}
]
},
{
"id": "Extension.id",
"path": "Extension.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.url",
"path": "Extension.url",
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "http://hl7.org/fhir/StructureDefinition/valueset-reference",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/extensibility.html) for a list).",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Url of Value set the code was chosen from",
"definition": "A logical reference (e.g. a reference to ValueSet.url) that identifies the value set/version that identifies the set of possible coded values this coding was chosen from or constrained by.",
"comment": "If this extension is used with an [extensible binding](terminologies.html#extensible), and the concept comes from outside the bound valueset, the value set SHALL be different from the bound valueset.",
"min": 0,
"max": "1",
"isModifier": false,
"mapping": [
{
"identity": "v2",
"map": "CWE."
},
{
"identity": "rim",
"map": "CD.valueSet/CD.valueSetVersion"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"max": "0"
},
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "http://hl7.org/fhir/StructureDefinition/valueset-reference"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"min": 1,
"type": [
{
"code": "uri"
}
]
}
]
}
}

Example Usage

The following shows the code 1000821000000103 | Serum albumin level | which is from the SNOMED CT PBCL Observables reference set. This code is equivalent to 1105861000000106 | Albumin mass concentration in serum | from the SNOMED CT PaLM Observables reference set.

"code": {
    "coding": [
        {
            "extension": [
                {
                    "url": "http://hl7.org/fhir/StructureDefinition/valueset-reference",
                    "valueUri": "https://fhir.nhs.uk/England/ValueSet/England-PathologyBoundedCodeListObservables"
                }
            ],
            "system": "http://snomed.info/sct",
            "code": "1000821000000103",
            "display": "Serum albumin level"
        },
        {
            "extension": [
                {
                    "url": "http://hl7.org/fhir/StructureDefinition/valueset-reference",
                    "valueUri": "https://fhir.nhs.uk/England/ValueSet/England-PathologyAndLaboratoryMedicineObservables"
                }
            ],
            "system": "http://snomed.info/sct",
            "code": "1105861000000106",
            "display": "Albumin mass concentration in serum"
        }
    ]
}