Identifiers

This section provides guidance on the different identifier types and patterns used within the Pathology FHIR Implementation Guide.

Identifiers SHOULD be represented using the FHIR Identifier datatype and SHOULD follow the relevant UK Core identifier guidance.

The appropriate identifier pattern depends on the type of identifier being represented, the organisation or system responsible for assigning it, and the context in which it is used.

An Identifier consists primarily of a system and a value:

  • system identifies the namespace or authority that assigns and manages the identifier.
  • value contains the identifier assigned within that namespace.

Where a recognised identifier system exists, it should be used rather than creating a local identifier system. Where no suitable recognised identifier system exists, a locally defined system URI may be used in accordance with the guidance below.

For pathology implementations, identifiers may be assigned by different organisations or systems during the requesting and reporting process. It is therefore important that the identifier system clearly identifies the organisation or namespace responsible for assigning the identifier.

Identifier types

This implementation guide provides guidance for the following identifier types:

The individual pages provide guidance on how each identifier type should be represented using the FHIR Identifier datatype.

General guidance

When implementing an identifier:

  1. Use an established identifier system where one is available.
  2. Populate Identifier.system with the URI that identifies the namespace or assigning authority.
  3. Populate Identifier.value with the identifier assigned within that namespace.
  4. Do not use the FHIR resource id to represent a business identifier.
  5. Do not create a new local identifier system where an appropriate national or established identifier system already exists.
  6. Where a local identifier is required and no suitable standard identifier system exists, use a system URI that uniquely identifies the namespace responsible for the identifier.
  7. Where an identifier is assigned by a particular organisation, the identifier system should make the assigning organisation or namespace clear.

NamingSystems

A NamingSystem provides information about the identifiers and namespaces used within a particular domain.

Where an identifier namespace is defined by a NamingSystem, the identifier system specified by the NamingSystem should be used as the value of Identifier.system.

The NamingSystem itself is not referenced from Identifier.system.

This guidance should be read in conjunction with the UK Core Identifier Guidance and the UK NamingSystems.

NHS Number

The NHS Number is the national identifier used to uniquely identify a patient within NHS healthcare services.

The NHS Number should be represented using the FHIR Identifier datatype.

When to use

The NHS Number SHOULD be used to identify a patient where it is available.

The NHS Number is represented using the FHIR Identifier datatype. The system identifies the NHS Number namespace and the value contains the patient's NHS Number.

Identifier system

The Identifier.system for an NHS Number is:

https://fhir.nhs.uk/Id/nhs-number

Identifier value

Identifier.value contains the patient's NHS Number.

The NHS Number should be represented without spaces or other formatting characters.

Example

{
  "identifier": [
    {
      "system": "https://fhir.hl7.org.uk/Id/nhs-number",
      "value": "9876543210"
    }
  ]
}

ODS Code

An ODS Code is an identifier assigned to an organisation registered with the NHS Organisation Data Service (ODS).

ODS Codes can be used to identify organisations involved in the requesting, ordering, processing and reporting of pathology information.

When to use

An ODS Code SHOULD be used where an organisation needs to be identified using its nationally recognised NHS organisation identifier.

The ODS Code is represented using the FHIR Identifier datatype.

Identifier system

The Identifier.system identifies the namespace used for the ODS Code.

The appropriate ODS identifier system should be used according to the type of ODS Code being represented.

Identifier value

Identifier.value contains the ODS Code assigned to the organisation.

Example

{
  "identifier": [
    {
      "system": "https://fhir.nhs.uk/Id/ods-organization-code",
      "value": "RJC"
    }
  ]
}

Identifier using a NamingSystem

A NamingSystem provides information about an identifier namespace and the identifiers used within that namespace.

Where an identifier namespace is defined by a recognised NamingSystem, the identifier system defined by the NamingSystem should be used as the value of Identifier.system.

The NamingSystem itself is not referenced directly from Identifier.system.

When to use

An identifier using a NamingSystem SHOULD be used where an established identifier namespace has been defined by a relevant organisation or programme.

The identifier system SHALL identify the namespace in which the identifier is valid.

Identifier system

Identifier.system contains the identifier system defined by the relevant NamingSystem.

The appropriate NamingSystem should be used to determine the identifier system and identifier format.

Identifier value

Identifier.value contains the identifier assigned within the namespace defined by the NamingSystem.

Example

{
  "identifier": [
    {
      "system": "https://fhir.hl7.org.uk/Id/gmc-number",
      "value": "1234567"
    }
  ]
}

Local identifier using ODS Code as the organisation

A local identifier may be used where no suitable national or established identifier system exists.

Where a local identifier is assigned by an organisation with an ODS Code, the ODS Code can be used to identify the organisation responsible for assigning the identifier.

The local identifier and the organisation responsible for assigning it should be distinguishable.

When to use

This pattern SHOULD be used where:

  • an identifier is locally assigned by an organisation; and
  • the organisation responsible for assigning the identifier can be identified using an ODS Code.

The local identifier should not be assumed to be globally unique. The organisation that assigned the identifier provides the context required to interpret the identifier.

Identifier system

Identifier.system should identify the namespace in which the local identifier is unique.

Where the agreed identifier pattern uses an ODS Code to qualify the organisation responsible for the local identifier, the appropriate ODS identifier system should be used in accordance with the relevant profile guidance.

Identifier value

Identifier.value contains the local identifier assigned by the organisation.

Example

{
  "identifier": [
    {
      "system": "https://example.nhs.uk/identifiers/local",
      "value": "123456789",
      "assigner": {
        "identifier": {
          "system": "https://fhir.nhs.uk/Id/ods-organization-code",
          "value": "RJC"
        }
      }
    }
  ]
}

Local identifier using own system URI

A local identifier may be used where no suitable national or established identifier system exists.

Where an organisation maintains its own identifier namespace, a stable URI representing that namespace may be used as Identifier.system.

The system URI identifies the namespace in which the identifier is unique.

When to use

This pattern SHOULD be used where:

  • an identifier is assigned by a local system; and
  • there is no appropriate national identifier system or ODS-based identifier namespace; and
  • the assigning system has a URI that can be used to identify its identifier namespace.

Identifier system

Identifier.system contains the stable URI representing the organisation's identifier namespace.

Identifier value

Identifier.value contains the local identifier assigned within that namespace.

Example

{
  "identifier": [
    {
      "system": "https://example.nhs.uk/diagnostic-report-identifier/laboratory",
      "value": "LAB123456"
    }
  ]
}