Introduction
The GP Connect API 1.2.3 release contains a number of changes and clarifications to all capabilities, including changes for provider and consumer systems.
Please note: Some changes affect more than one capability - please see the Affects label for a full list of changed capabilities.
1.2.3 changes
Core
Don’t use Bundle.entry.fullUrl
Affects: Foundations, Appointment Management, Access Record Structured
Description:
- After discussion with suppliers, it has been decided that
Bundle.entry.fullUrl
should not be populated for Foundations and Appointments, and must not be populated for Access Record Structured. The reasoning behind this is as follows:- Lack of use case for GP Connect consumers
- Inconsistency in ability to populate - requires an absolute URL and therefore not able to populate for resources that don’t have read endpoint (e.g. AllergyIntolerance, MedicationStatement, Slot, Schedule)
- Consumers must not use this element.
Pages changed:
- FHIR resource guidance
- Added cross capability Bundle.entry.fullUrl requirement
- Access Record Structured - Bundle
- Added Bundle.entry.fullUrl to do not populate list
- Allergies examples
- Medication examples
- Search for free slots
- Retrieve a patient’s appointments
- Find a patient
- Find a practitioner
- Find an organization
- Remove fullUrl from examples
Minimise likelihood of rejected tokens due to clock skew
Tickets: #640
Affects: Core
Description:
-
When determining validity of the JWT token, clock skew between consumer and provider may cause a token to be rejected.
-
The following addition has been made:
- Providers and consumers must synchronise their system clocks with NTP time servers
-
The following related clause has been added as was not previously explicitly stated:
- Providers must reject tokens that have expired (validate the
exp
element)
- Providers must reject tokens that have expired (validate the
-
Please note:
iat
should not be validated by providers
Pages changed:
Clarify ASID requirements and topologies for “aggregators”
Tickets: #616
Affects: Core
Description:
- Clarify that GP Connect consumer systems must have a unique ASID per organisation using the consumer system
- Where GP Connect consumer applications are hosted or provisioned by another organisation, the ASID sent in the
Ssp-From
header, and therequesting_organization
resource sent in the JWT must reflect the organisation from where the request originated, rather than the hosting organisation
Pages changed:
SDS query changes to support multiple consumers at a site
Tickets: #638
Affects: Core
Description:
-
Update SDS queries used by a consumer to locate a provider’s FHIR service root URL
-
Instead of querying the AS record first, query the MHS record first
-
Only provider systems hold GP Connect interaction IDs on their MHS record, this enables the new queries to return the providers endpoint deterministically
-
-
Adding information where a consumer system wants to lookup its own ASID
-
Please see the new queries on Overview and querying SDS for more information
Pages changed:
- Overview and querying SDS
- Rewrite and change of queries
- Spine integration illustrated
- Change order of SDS queries
- Registering systems in SDS
- Expand information to include requirement for consumer system registration
Consumer shall not amend the Provider service root URL as retrieved from SDS
Tickets: #652
Affects: Core
Description:
-
When a consumer systems construct a full URL to be sent to the SSP, they must not amend any part of the provider service root URL, except for prefixing with the SSP URL, and suffixing with the FHIR request path
-
The following examples will cause the SSP to reject the request:
- Changing the provider’s hostname to an IP address
- Adding an explicit
:443
port declaration where none exists in SDS
Pages changed:
Improve clarity of JWT population page for new consumers (cosmetic)
Tickets: #634
Affects: Core
Description:
- Clarifications to JWT population guidance for consumers
- Improved formatting and layout
Pages changed:
Change spec name of “GP Connect” to “GP Connect API” (cosmetic)
Tickets: #616
Affects: Core
Description:
- Specification name has changed from GP Connect to GP Connect API to maintain consistency with release of GP Connect Messaging specification
Pages changed:
Foundations
Change version number in CapabilityStatement to 1.2.3
Tickets: #637
Affects: Foundations
Description:
-
Update version number in CapabilityStatement to 1.2.3
-
Please note: the CapabilityStatement is also amended in change Organization resource in Search for free slots below
Pages changed:
Some CareConnect-HumanLanguage-1 code system language descriptions do not match the ISO639-2 list
Tickets: #643
Affects: Foundations, Access Record Structured
Description:
-
The descriptions for some language codes in the CareConnect-HumanLanguage-1 code system have been updated to correctly match the in the ISO639-2 list
-
Language codes affected: bh, ii, ps, ro
FHIR profiles changed:
Appointment Management
Amending a cancelled appointment is no longer supported
Tickets: #601
Affects: Appointment Management
Description:
-
A cancelled appointment can no longer be amended
-
Please note: whilst this change is technically breaking against the previous specification, all providers and consumers engaged in building solutions for Appointments first of type were made aware this functionality was being removed.
Pages changed:
- Amend an appointment
- Remove ability to amend a cancelled appointment
- Design decisions
- Update design decisions in line with change
Organization resource in Search for free slots Bundle
Tickets: #645
Affects: Appointment Management
Description:
- In order progress the fix for the search for free slots _include parameter issue, consumers should now pass the
_include:recurse=Location:managingOrganization
parameter if they wish to return theOrganization
resource in the Search for free slotsBundle
Pages changed:
- Search for free slots
- Add parameter to _include parameters list
- Include parameter in API usage and examples
- Update payload response body requirements to permit consumers to start sending the parameter
- Known issues
- Add consumer requirement to send
_include:recurse=Location:managingOrganization
parameter where they wish to receive related Organization resources
- Add consumer requirement to send
- Get the FHIR® capability statement
- Add
Location:managingOrganization
as a parameter to the/Slot
resource endpoint
- Add
Search for free slots - Consumer display requirements
Tickets: #606
Affects: Appointment Management
Description:
- Added requirements for consumers to display fields allowing a patient to determine, and attend, the most appropriate appointment for them
Pages changed:
Clarify date / time component use in appointments
Tickets: #646
Affects: Appointment Management
Description:
-
Clarify that Appointment, Schedule and Slot date/time elements (start, end, planningHorizon, created) to be populated in local time in the format
yyyy-mm-ddThh:mm:ss+hh:mm
, using timezone offset+00:00
for UTC and+01:00
for BST -
Clarify Search for free slots start and end parameters may be:
- dates in the format
yyyy-mm-dd
, - or date and times in local time in the format
yyyy-mm-ddThh:mm:ss+hh:mm
, using timezone offset+00:00
for UTC and+01:00
for BST
- dates in the format
Pages changed:
Book appointment - description and comment field character limit handling clarification
Tickets: #625
Affects: Appointment Management
Description:
-
Clarify and tidy requirements around provider handling of description and comment fields
-
Key points:
- Providers shall support storing the limits of 100 characters (description field) and 500 characters (comment field)
- Providers shall not truncate description or comment fields when storing in their system
- Providers shall return an error where consumers send more data than can be stored by the provider
Pages changed:
Book appointment - Clarify error handling for Appointment reason & speciality elements
Tickets: #743
Affects: Appointment Management
Description:
- Bring error handling for Appointment reason & speciality elements in line with request payload requirements
Pages changed:
Clarify meaning of organisation groups in Appointments Availability Management (cosmetic)
Tickets: #608
Affects: Appointment Management
Description:
-
Use term ‘list of organisations’ in place of ‘organisation groups’ as it is clearer, and does not imply an organisation hierarchy
-
Add clarification that ODS organisation codes are used to identify individual or lists of organisations
Pages changed:
Consumer sent patient temporary contact details when booking an appointment (cosmetic)
Tickets: #592
Affects: Appointment Management
Description:
- Move the paragraph relating to the workaround for sending temporary contact details in the description element of the Appointment resource from the Book Appointment page to the Known issues page
- Make consumers aware that sending temporary contact details in this field will not result in them being stored in the usual place in the patient’s demographic record
Pages changed:
Access Record Structured
Change text for patient transfers in List warning code
Tickets: #650
Affects Access Record Structured
Description:
- The text for the warning code for data in transit has been updated. “Patient record transfer from previous GP practice not yet complete; any information recorded before dd-Mmm-yyyy has been excluded.” has been changed to “Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing.”
Pages Changed: