UK Core FHIR Profiles

UK Core FHIR Profiles

UK Core is the national FHIR R4 profile set for England, published jointly by NHS England and HL7 UK. It is the UK equivalent of US Core — the shared conformance baseline that systems must meet to connect to NHS England FHIR APIs and exchange data with other NHS organisations.

UK Core constrains base FHIR R4 with UK-specific extensions, value set bindings, and cardinality rules. It does not mandate the depth of constraint that individual NHS APIs add on top — those add their own profiles derived from UK Core. But UK Core is the floor: an NHS API will not accept a resource that violates UK Core even if it passes base FHIR validation.

For the NHS technical infrastructure layer (APIs, authentication, supplier onboarding) see NHS England Digital Standards. For how profiles work mechanically, see FHIR Profiling.

Scope

UK Core profiles exist for the most commonly used FHIR resource types. As of the current release, this includes: Patient, Practitioner, PractitionerRole, Organization, Location, Encounter, Appointment, Slot, Schedule, AllergyIntolerance, Condition, Observation, DiagnosticReport, Procedure, MedicationRequest, MedicationStatement, MedicationDispense, Medication, Immunization, RelatedPerson, ServiceRequest, Composition, DocumentReference, Questionnaire, QuestionnaireResponse, and List.

Resources not yet profiled by UK Core — including some less common resource types — fall back to base FHIR R4.

Key UK-specific extensions

UK Core defines a set of extensions that carry information required in UK health contexts but absent from base FHIR.

NHS number verification status

The most important. NHS number is mandatory on Patient resources exchanged in NHS systems, and the verification status must be declared:

{
  "resourceType": "Patient",
  "id": "example",
  "identifier": [
    {
      "extension": [
        {
          "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus",
          "valueCodeableConcept": {
            "coding": [
              {
                "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatusEngland",
                "code": "01",
                "display": "Number present and verified"
              }
            ]
          }
        }
      ],
      "system": "https://fhir.nhs.uk/Id/nhs-number",
      "value": "9000000009"
    }
  ]
}

Valid verification status codes: 01 (present and verified), 02 (present but not traced), 03 (trace required), 04 (trace attempted — not traced), 05 (trace needs to be resolved), 06 (trace in progress), 07 (number not present), 08 (number present but invalid).

Sending a Patient resource with an NHS number but without the verification status extension is a validation failure on most NHS APIs.

Ethnic category

UK Core defines Extension-UKCore-EthnicCategory using the NHS Data Dictionary ethnic category code system. This replaces the US-centric race/ethnicity extensions from US Core. The code system is specific to the UK census classification.

Other commonly used extensions

  • Extension-UKCore-BirthSex — recorded biological sex at birth, distinct from administrative gender
  • Extension-UKCore-DeathNotificationStatus — indicates whether death has been formally notified (important for PDS integration)
  • Extension-UKCore-ContactRank — priority ranking for patient contacts
  • Extension-UKCore-AddressKey — structured address key for UK address matching (PAF, UPRN)
  • Extension-UKCore-MedicationRepeatInformation — repeat prescription authorisation details, used on MedicationRequest

Profile highlights

UKCore-Patient

The most impacted profile. Key constraints beyond base FHIR:

  • NHS number identifier slice: system must be https://fhir.nhs.uk/Id/nhs-number; the NHSNumberVerificationStatus extension must be present
  • name must include at least one HumanName with family name present
  • Administrative gender follows base FHIR codes; birth sex uses the UK Core extension
  • Address should use UK-standard structured address where possible

UKCore-Medication

The medication profile is where UK Core departs most significantly from US practice. dm+d (Dictionary of Medicines and Devices) is the required coding system for medications, replacing RxNorm.

dm+d has four relevant concept types for prescribing:

dm+d typeWhat it representsUse case
VTM (Virtual Therapeutic Moiety)The therapeutic substance (e.g., amoxicillin)Allergy recording
VMP (Virtual Medicinal Product)Generic product with dose form and strengthMost prescribing
AMP (Actual Medicinal Product)Branded productBrand-specific prescribing
AMPP (Actual Medicinal Product Pack)Specific pack sizeDispensing

For a MedicationRequest, the preferred coding is VMP (or AMP when brand matters). dm+d codes are SNOMED CT identifiers from the SNOMED UK Drug Extension — the system URI is https://dmd.nhs.uk.

{
  "resourceType": "Medication",
  "id": "amoxicillin-vmp",
  "code": {
    "coding": [
      {
        "system": "https://dmd.nhs.uk",
        "code": "39732311000001104",
        "display": "Amoxicillin 500mg capsules"
      }
    ]
  }
}

UKCore-Observation

Clinical observations must use SNOMED CT UK Clinical Extension codes where a SNOMED code exists. LOINC is used for laboratory results where SNOMED is insufficient or absent — primarily quantitative lab tests. The observation category uses SNOMED-based UK Core value sets.

UKCore-AllergyIntolerance

Allergy substance coding must use SNOMED CT UK Edition, VTM codes for drug allergies, or UK Core value sets for other substances. The verification status and clinical status cardinality are more restrictive than base FHIR.

Care Connect — the predecessor

Care Connect was the previous NHS FHIR profile set, based on FHIR STU3. Many NHS systems deployed between 2017 and 2022 implement Care Connect rather than UK Core. Care Connect is no longer being maintained and NHS England has deprecated it, but live systems continue to exchange Care Connect STU3 resources.

The practical consequence: if you are integrating with an older NHS system (many GP clinical systems, legacy EPR integrations), you may receive Care Connect STU3 resources rather than UK Core R4. Your integration layer needs to handle both, or you need a clear contractual statement about which version the counterparty supports.

Key differences from UK Core:

  • FHIR version: STU3 vs R4 (substantial structural differences)
  • Extension URLs differ (Care Connect used https://fhir.hl7.org.uk/STU3/... paths)
  • Profile canonical URLs differ
  • Care Connect did not have the NHS number verification status extension — it used a separate extension

Do not plan new development against Care Connect. If an integration partner still uses it, agree a migration timeline.

Conformance and validation

Package and tooling

The UK Core FHIR package is published on Simplifier.net (fhir.r4.ukcore.stu3.currentbuild for the development build; versioned packages for stable releases). To validate against UK Core:

  • HAPI FHIR: load the UK Core NPM package alongside the base R4 package
  • Firely SDK / Firely Terminal: supports UK Core package loading natively
  • HL7 FHIR Validator: use --ig hl7.fhir.r4.ukcore.stu3.currentbuild or the specific release version

Versioning

UK Core follows a STU (Standard for Trial Use) versioning model through HL7 UK’s ballot process. The current active release sequence is STU3. Releases are versioned independently of FHIR R4 releases.

NHS England publishes API-specific implementation guides that state which version of UK Core they require. An API may lag behind the current UK Core release — always check the specific API’s conformance documentation.

Common validation failures

  • Missing NHS number verification status extension
  • Incorrect dm+d system URI (using SNOMED system URI instead of https://dmd.nhs.uk)
  • Care Connect STU3 extensions on R4 resources (extension URLs from the wrong version)
  • Ethnic category coded with US-style OMB codes rather than NHS Data Dictionary codes
  • Using LOINC where SNOMED UK is required (or vice versa)

Relationship to NHS England FHIR APIs

Individual NHS England APIs publish their own implementation guides on top of UK Core. For example:

  • GP Connect Access Record (Structured) has its own profile set that derives from UK Core, adding further constraints on medication and allergy representation
  • EPS FHIR API adds prescribing-specific constraints on MedicationRequest
  • PDS FHIR API constrains Patient with PDS-specific identifier requirements

UK Core compliance is necessary but not sufficient for any specific NHS API. You must validate against both UK Core and the API-specific IG.

See also

Section: regulation Content Type: compliance-guide Audience: technical
UK
NHS England
interoperability
Published: 08/11/2023 Modified: 23/10/2025 12 min read
Keywords: UK Core UK Core FHIR NHS FHIR profiles Care Connect dm+d NHS England FHIR
Sources: