Search loading...

API Hub

Explore and Make use of Nationally Defined Messaging APIs

 

Operation guidance

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 interactions
    • operation 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 ]
  • 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

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.


All content is available under the Open Government Licence v3.0, except where otherwise stated