ELI5: How GP Connect works
I couldn’t find any good introductory articles for the beginner on how to query GP Connect, so I’ve written a bit of a starter, purely because we were talking about these kind of things in the office and it seemed like it might be helpful to someone.
GP connect sketch diagram
1) Spine Personal Demographics Service (PDS)
GP Connect Consumer queries the Spine’s Personal Demographics Service (PDS) to obtain the NHS number for the patient by supplying other demographic details such as name, date of birth, address details etc.
If the GP Connect Consumer already has the patient’s NHS number this step is still required, whereupon it is regarded as an identity cross-check that the patient’s details are all correct.
GP Connect Consumer requests details of the patient’s GP Practice from the PDS, which will be returned as an ODS Code. Note: in the case of appointment booking within a GP federation this step may be instead use a local organisation directory to determine the intended practice.
2) Spine Directory Service (SDS)
GP Connect Consumer queries the Spine Directory Service, supplying the ODS Code obtained in the previous step.
The Spine Directory service returns a web endpoint for FHIR REST API queries along with an ASID (a Spine identifier for the target system), based on the ODS code for that practice.
The GP Connect Consumer can then use this web endpoint and ASID in the next step.
3) Spine Security Proxy (SSP) FHIR REST API
The GP Connect Consumer can now send REST API requests to the Spine Security Proxy, which passes them along to the endpoint obtained in the previous step.
The Security Proxy checks that a valid Data Sharing Agreement exists between the Consumer organisation and the ‘owning’ organisation of the target patient’s GP Practice.
Requests use the GP Connect FHIR Profiles and the consumer can now obtain clinical data, and book appointments for the patient.
Further articles on how to connect to and use GP Connect are coming soon!
Links to the official documentation
GP Connect 1.2.1 (FHIR STU3) for Appointments & Access Record Structured
Introduction to GP Connect | gpconnect
GP Connect 0.5.0 (FHIR DSTU2) for Access Record HTML
Introduction to GP Connect
Corrections and comments on this article are welcome