[Draft] GP Connect (Patient Facing) Appointment Management

This guidance is under active development by NHS Digital and content may be added or updated on a regular basis.

Interactions

For details on the general structure of the interactions, see FHIR

Slot availability management

There is a requirement to better ensure that the right appointment slots are made available to patients by:

  • enhancing the ability of provider organisations to control those appointments which can be booked by patients
  • ensuring that consumer system obtains only available appointments which are appropriate to patients
  • providing a more standardised categorisation of available appointment slots across provider systems so that inappropriate appointment booking is reduced
  • providing where applicable the GP branch surgery location of available appointment slots

Appointment availability control

Provider systems SHALL:

  • enable provider system end users to designate the slots within their appointment books as 'PFS Appointments bookable'. This is a broad control to make slots in the appointment book available for booking through the (Patient Facing) Appointment Management FHIR API
  • enable provider system end users to additionally specify which schedules/slots can be booked by a patient

The provider system end user SHALL be presented with an 'Organisation Type' list which reflects the Organisation type valueset.

The consumer system SHOULD send their booking Organisation Type and booking organization ODS code in the searchFilter parameter, as specified in the How to search for free slots page, which the provider system will then use to determine the matching availability.

If the consumer system does not send any searchFilter parameters then the provider system will only return slots that are not restricted for booking to a patient.

The following table describes the matching rules for a provider system when applying the search filter passed by a consumer to the How to search for free slots call:

Search filter sent by consumer Slots are returned that:
(no search filter) • Are marked as GP Connect bookable

Booking window/embargo

It is recommended that provider systems also provide the functionality to enable the provider system end user to control how far in advance external organisations should be allowed to book slots and how near to the actual slot time - that is, via 'Booking Window' or 'Embargo' rules.

Where such rules have been set, provider systems SHALL only return slots which respect these rules.

Appointment slot categorisation

Providers systems SHALL enable and require the mandatory selection by provider system end users of a 'Practitioner Role' and 'Delivery Channel' for schedules/slots as part of the end user GP Connect appointment configuration.

  • the 'Practitioner Role' list SHALL reflect the Practitioner Role valueset
  • the 'Delivery Channel' list SHALL reflect the Delivery Channel valueset
  • provider systems SHALL maintain alignment with the value sets
  • these values SHALL NOT be configurable/modifiable by end users

Branch surgery location

The Schedule resource has a mandatory 'Location' reference within the actor element. The referenced location SHALL be populated by provider systems with the name and address of the location where the appointment will take place. This will either be the GP practice where there are no branch surgeries OR the branch surgery.

See Branch surgeries.

Appointment consumer sessions

The Appointment Management consumer application makes use of individual API calls described in 'API use cases' to perform business processes.

Consumer session - booking an appointment

The sequence diagram below illustrates which individual API calls are required by a consumer (that is, the patient using a consumer application) to book an appointment at a GP practice in the simplest case. It describes interactions of the consumer system with the provider FHIR endpoint at the practice.

Sequence diagram for booking an appointment - simplest case:

pfs_sequence_book_simple

Step Description
1a Consumer makes an API call to How to search for free slots at the practice in the specified timeframe.
1b Provider responds with details of what slots are available for booking. Should no applicable slots be returned, the consumer may make repeated calls to How to search for free slots with amended date ranges.
2a Consumer calls How to book an appointment indicating the slots selected in the UI together with the logical ID of the patient.
2b Provider responds with details of the booked appointment as confirmation of success.

Consumer session - booking an appointment at a collection of federating practices

Where a consumer user interface provides a view of available bookings across a collection of federating practices, some steps are repeated for each practice, as shown below:

Sequence diagram for booking an appointment - no patient found:

pfs_sequence_book_simple_federated

Step Description
Repeat step 1 for each federated practice to gain a view of slot availability across the federation.
1a Consumer makes an API call to How to search for free slots at the practice in the specified timeframe.
1b Provider responds with details of what slots are available for booking. Should no applicable slots be returned, the consumer may make repeated calls to How to search for free slots with amended date ranges.
2a Consumer calls How to book an appointment indicating the slots selected in the UI together with the logical ID of the patient.
2b Provider responds with details of the booked appointment as confirmation of success.
back to top