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
]rest
for RESTful API interactionsoperation
for 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.