HL7 UK - UK Core Access
0.1.0 - ci-build United Kingdom flag

HL7 UK - UK Core Access, published by HL7 UK. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-UK/UK-Core-Access/ and changes regularly. See the Directory of published versions

Patient Index

capabilities

A Patient Index Provider SHALL support the capabilities interaction so that a Consumer can retrieve a CapabilityStatement resource of type instance that specifies which resource types and interactions are supported by the FHIR endpoint:

GET [base]/metadata

The CapabilityStatement SHALL be conformant with this implementation guide and SHOULD state that the FHIR endpoint instantiates the UKCore Access Patient Index capabilities. The Provider MAY provide further capabilities at this FHIR endpoint, in addition to those required by a Patient Index Provider.

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/metadata the Provider would respond with a CapabilityStatement resource. [Example]

A Patient Index Provider SHALL support the search interaction on the Patient resource so that a Consumer can retrieve a set of Patient resources matching the search criteria and conforming to the UK Core Access PatientIndexPatient profile.

A Patient Index Provider supports at least the following search parameters:

Conformance Parameter Type Description
SHOULD _id token  
SHALL identifier token A patient identifier
SHOULD family string A portion of the family name of the patient
SHOULD given string A portion of the given name of the patient
SHALL name string A server defined search that may match any of the string fields in the HumanName, including family, given, prefix, suffix, and/or text
SHALL gender token Gender of the patient
SHOULD birthdate date The patient's date of birth

A Patient Index Provider supports at least the following search parameter combinations:

Conformance Parameters Example
SHOULD birthdate+family GET [base]/Patient?birthdate=[date]&family=[name]
SHOULD birthdate+name GET [base]/Patient?birthdate=[date]&name=[name]
SHOULD gender+family GET [base]/Patient?gender=[gender]&family=[name]
SHOULD gender+name GET [base]/Patient?gender=[gender]&name=[name]

Patient _id

The Provider SHOULD support search by the logical identifier of the Patient resource:

GET [base]/Patient?_id=[id]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?_id=b88f0099-5213-4502-a49d-cc3887027bdd the Provider would respond with a Bundle containing Patient resources with id b88f0099-5213-4502-a49d-cc3887027bdd. [Example]

Patient identifier

The Provider SHALL support search by identifier:

GET [base]/Patient?identifier=[system]|[value]
Find a patient by NHS Number

The national identifier within England, Wales and the Isle of Man is the NHS Number which uses the identifier system https://fhir.nhs.uk/Id/nhs-number.

The Provider MAY support search by NHS Number:

GET [base]/Patient?identifier=https://fhir.nhs.uk/Id/nhs-number|[NHS Number]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?identifier=https://fhir.nhs.uk/Id/nhs-number|9912003888 the Provider would respond with a Bundle containing Patient resources with NHS Number 9912003888. [Example]

Find a patient by CHI Number

The national identifier within Scotland is the CHI Number.

The Provider MAY support search by CHI Number.

No identifier system has been published. Potential implementers are recommended to contact the data standards team for this domain.

Find a patient by H&C Number

The national identifier within Northern Ireland is the H&C Number.

The Provider MAY support search by H&C Number.

No identifier system has been published. Potential implementers are recommended to contact the data standards team for this domain.

Find a patient by local identifier

Organisations holding patient data are likely to have their own identifier systems e.g. a hospital number from a PAS system. Organisations may use existing OIDs or allocate their own system but SHALL ensure that these do not clash with those used elsewhere. Health and Care organisations in Wales should adopt the NHS Wales Data Standards for Welsh Patient Identifiers.

The Provider MAY support search by local identifier:

GET [base]/Patient?identifier=[Local system]|[PAS Identifier]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?identifier=https://fhir.example-provider.nhs.uk/Id/pas-identifier|12345 the Provider would respond with a Bundle containing Patient resources with hospital number 12345 issued by the provider organisation. [Example]

Find a patient by identifier value

It is possible to search for patient by providing an identifier without specifying the identifier system.

The Provider MAY support search by identifier value:

GET [base]/Patient?identifier=[Identifier]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?identifier=12345 the Provider would respond with a Bundle containing any Patient resources with identifier 12345 issued by any organisation. [Example]

Patient family

The Provider SHOULD support search by patient family name:

GET [base]/Patient?family=[name]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?family=Smith the Provider would respond with a Bundle containing Patient resources with family name starting with Smith. [Example]

Patient given

The Provider SHOULD support search by patient given name:

GET [base]/Patient?given=[name]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?given=Rich the Provider would respond with a Bundle containing Patient resources with given name starting with Rich. [Example]

Patient name

The Provider SHALL support search by patient name:

GET [base]/Patient?name=[name]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?name=Rich the Provider would respond with a Bundle containing Patient resources where part of the name starts with Rich. [Example]

Patient gender

A Provider SHALL support search by patient gender:

GET [base]/Patient?gender=[code]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?gender=female the Provider would respond with a Bundle containing Patient resources with gender female. [Example]

Patient birthdate

The Provider SHOULD support search by patient birthdate:

GET [base]/Patient?birthdate=[date]

For example, when a Consumer sends the request GET https://fhir.example-provider.nhs.uk/Patient?birthdate=1970-09-11 the Provider would respond with a Bundle containing Patient resources with birthdate 1970-09-11. [Example]

Where a Provider supports search by patient birthdate, the Provider SHOULD support:

  • partial dates e.g. birthdate=1970-09
  • the eq, ge, le operators e.g. birthdate=ge1970-09-01
  • multiple date parameters e.g. birthdate=ge1970-09-01&birthdate=le1970-10-01