Details of which operations a FHIR® server should expose to be a fully compliant GP Connect solution
FHIR® operations
Mechanism
- RESTful APIs in line with the FHIR® standard (with limited/targeted usage of custom operations as/if required).
Interactions
All InteractionIDs are expected to follow the following format urn:nhs:names:services:[program]:[standard]:[mechanism]:[operation]:[subject].
- Program =
gpconnect - Standard =
fhir - Mechanism = [
rest,operation]restfor RESTful API interactionsoperationfor custom Operation API interactions
- Operation
- RESTful style API = [
create,read,update,delete,search] + any more specific actions (for example,cancel) - Remote Procedure Call (RPC) style API = [
gpc.getcarerecord,gpc.registerpatient]
- RESTful style API = [
- Subject = [
resourceType,operationName]- Resource Type is the name of a FHIR resource, such as
Patient,Appointment,Organization - Operation Name is the name of a custom FHIR operation, such as
gpc.getcarerecord
- Resource Type is the name of a FHIR resource, such as
Foundations capability interactions
| Operation | InteractionID | HTTP verb | Example URL pattern |
|---|---|---|---|
| Read metadata | urn:nhs:names:services:gpconnect:fhir:rest:read:metadata-1 |
GET |
[base]/metadata |
| Read patient | urn:nhs:names:services:gpconnect:fhir:rest:read:patient-1 |
GET |
[base]/Patient/[id] |
| Patient search | urn:nhs:names:services:gpconnect:fhir:rest:search:patient-1 |
GET |
[base]/Patient?identifier=https://fhir.nhs.uk/Id/nhs-number|[nhsNumber] |
| Read practitioner | urn:nhs:names:services:gpconnect:fhir:rest:read:practitioner-1 |
GET |
[base]/Practitioner/[id] |
| Practitioner search | urn:nhs:names:services:gpconnect:fhir:rest:search:practitioner-1 |
GET |
[base]/Practitioner?identifier=https://fhir.nhs.uk/Id/sds-user-id|[sdsUserID] |
| Read organisation | urn:nhs:names:services:gpconnect:fhir:rest:read:organization-1 |
GET |
[base]/Organization/[id] |
| Organisation search | urn:nhs:names:services:gpconnect:fhir:rest:search:organization-1 |
GET |
[base]/Organization?identifier=https://fhir.nhs.uk/Id/ods-organization-code|[odsCode] |
| Read location | urn:nhs:names:services:gpconnect:fhir:rest:read:location-1 |
GET |
[base]/Location/[id] |
| Register patient | urn:nhs:names:services:gpconnect:fhir:operation:gpc.registerpatient-1 |
POST |
[base]/Patient/$gpc.registerpatient |
Appointments capability interactions
| Operation | InteractionID | HTTP verb | Example URL pattern |
|---|---|---|---|
| Search for free slots | urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1 |
POST |
[base]/Slot |
| Read appointment | urn:nhs:names:services:gpconnect:fhir:rest:read:appointment-1 |
GET |
[base]/Appointment/[id] |
| Create appointment | urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1 |
POST |
[base]/Appointment |
| Amend appointment | urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1 |
PUT |
[base]/Appointment/[id] |
| Cancel appointment | urn:nhs:names:services:gpconnect:fhir:rest:cancel:appointment-1 |
PUT |
[base]/Appointment/[id] |
| Get patient appointments | urn:nhs:names:services:gpconnect:fhir:rest:search:patient_appointments-1 |
GET |
[base]/Patient/[id]/Appointment |
Access Record Structured capability interactions
| Operation | InteractionID | HTTP verb | Example URL pattern |
|---|---|---|---|
| Get Structured Record | urn:nhs:names:services:gpconnect:fhir:operation:gpc.getstructuredrecord-1 |
POST |
[base]/Patient/$gpc.getstructuredrecord |
Access Record HTML capability interactions
Access Record HTML interactions are not available at this specification version.
Task capability interactions
Task interactions are not available at this specification version.
