HL7 UK - UK Core Access
0.1.0 - ci-build
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
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] |
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]
The Provider SHALL support search by identifier:
GET [base]/Patient?identifier=[system]|[value]
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]
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.
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.
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]
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]
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]
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]
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]
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]
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:
birthdate=1970-09
eq
, ge
, le
operators e.g. birthdate=ge1970-09-01
birthdate=ge1970-09-01&birthdate=le1970-10-01