Skip to content

Appointments Consumer Tests 1.2.7

BabarNHS edited this page Jun 10, 2020 · 1 revision

Consumer Tests - Appointments

Test ID Scenario Name Description Requirement ID Demonstrator Patient ID Provider Test?
CONS-AppointmentsAPITest1 Search for slots with only mandatory parameter values included in the request (Execute Test Twice i) BST Summer Time and ii) GMT Winter Time)
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule

When I make a GET request

Then I shall get a successful response status code

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range.

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And the consumer system shall display the following information for a free slot shall include Start date and time (as in the response not corrected for BST), End date and time (as in the response not corrected for BST), or duration, Delivery channel (in-person, telephone, video), Location name and address, Practitioner role (e.g. General Medical Practitioner, Nurse), Practitioner name, gender , schedule type and slot type (For all slots and schedules for day + 2 onwards for data setup in the demonstrator)

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-01 GPC-SFS-02 GPC-SFS-03 GPC-SFS-07 9658218873 Yes
CONS-AppointmentsAPITest2 Request Practitioner resource to be included in search for slots results
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add _include:recurse=Schedule:actor:Practitioner

When I make a GET request

Then I shall get a successful response status code

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range.

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include Practitioner resource associated with Schedule resources in the response bundle

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And the consumer system shall display the following information for a free slot shall include Start date and time, End date and time, or duration, Delivery channel (in-person, telephone, video), Location name and address, Practitioner role (e.g. General Medical Practitioner, Nurse), Practitioner name, gender, schedule type and slot type (For all slots and schedules for day + 2 onwards for data setup in the demonstrator)

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-01 GPC-SFS-07 9658218873 Yes
CONS-AppointmentsAPITest3 Request Location to be included in search for slots results
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add _include:recurse=Schedule:actor:Location

When I make a GET request

Then I shall get a successful response status code,

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range.

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include Location resource associated with Schedule resources in the response bundle

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And the consumer system shall display the following information for a free slot shall include Start date and time, End date and time, or duration, Delivery channel (in-person, telephone, video), Location name and address, Practitioner role (e.g. General Medical Practitioner, Nurse), Practitioner name, gender , schedule type and slot type (For all slots and schedules for day + 2 onwards for data setup in the demonstrator)

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-01 GPC-SFS-07 9658218873 Yes
CONS-AppointmentsAPITest4 Include Organisation type filter in the search for slots request
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add searchFilter https://fhir.nhs.uk/STU3/CodeSystem/GPConnect-OrganisationType-1 system and value elements

When I make a GET request

Then I shall get a successful response status code,

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range and are appropriate for consumer organisation

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-04 9658218873 Yes
CONS-AppointmentsAPITest5 Include Organisation ODS Code in the search for slots request
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add searchFilter https://fhir.nhs.uk/Id/ods-organization-code system and value elements,

When I make a GET request

Then I shall get a successful response status code

And the response shall include the free Slot details for the organisation which have a status of 'free' and fall fully within the requested date range and are appropriate for consumer organisation

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-05 9658218873 Yes
CONS-AppointmentsAPITest6 Include an other valid search filter in the request
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add a searchFilter

When I make a GET request

Then I shall get a successful response status code

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page
GPC-SFS-06 Yes
CONS-AppointmentsAPITest7 Attempt to search for slots for an invalid period
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start and end parameters for more than two weeks,

And I add status=free,

And I add _include=Slot:schedule

When I make a GET request

Then I shall get an unsuccessful response error code 422 'INVALID_PARAMETER' and information about the failure in an OperationOutcome resource

And I shall displayed an appropriate error message
GPC-SFS-01 9658218873 No
CONS-AppointmentsAPITest8 Request Manageing Organisation resource to be included in search for slots results
Given I am using the default server

And I have completed the Find Organisation API interaction

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:slot-1' interaction for patient ID X

And I add the start parameter search prefix 'ge',

And I add the end parameter search prefix 'le',

And I add status=free,

And I add _include=Slot:schedule,

And I add _include:recurse=Location:managingOrganization

When I make a GET request

Then I shall get a successful response status code

And the response shall include the free Slot details for the organisation which have a status of “free” and fall fully within the requested date range.

And shall include the Schedule and Slot details associated with the returned slots as defined by the search parameter which have been specified. Practitioner is required in the searchset Bundle only if available.

And shall only contain Bundle with Schedule, Organization, Practitioner and Location Resources related to the returned free Slot Resources.

And shall include Practitioner resource associated with Schedule resources in the response bundle

And shall include slot start and end times to indicate which slots can be considered adjacent as part of a multi slot appointment booking.

And shall return resources conforming to the GP Connect profiled versions of the base FHIR resources listed on the Appointment Management Resources page

And the consumer system shall display the following information for a free slot shall include Start date and time, End date and time, or duration, Delivery channel (in-person, telephone, video), Location name and address, Practitioner role (e.g. General Medical Practitioner, Nurse), Practitioner name and gender

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-SFS-01 GPC-SFS-07 9658218873 Yes
CONS-AppointmentsAPITest12 Book an appointment using mandatory parameter values only
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X,

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include appointment description -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment. -

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one slot to be booked -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile, contains at least Name and Telecom details and include the type element with a value matching the organization type sent as a searchFilter with the Search for free slots request -

And I include the created element with the date and time of the appointment was created.

When I make a POST request

Then I shall get a successful response status code

And the response shall include a Location header as described in FHIR API Guidance.

And shall include an Appointment resource that conform to the GPConnect-Appointment-1 profile (including the description and comments)

And shall the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of each appointment resource

And the consumer system shall display the following information for a free slot shall include Start date and time, End date and time, or duration, Delivery channel (in-person, telephone, video), Location name and address, Practitioner role (e.g. General Medical Practitioner, Nurse), Practitioner name, gender, schedule type and slot type (For all slots and schedules for day + 2 onwards for data setup in the demonstrator)

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-04 9658218873 No
CONS-AppointmentsAPITest13 Where practitioner details are available, book an appointment including practitioner details
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X,

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile.

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include a practitioner participant of the appointment -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment.

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one or more free slots to be booked. -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile and contains at least Name and Telecom details. -

And I include the created element with the date and time of the appointment was created.

When I make a POST request

Then I shall get a successful response status code

And the response shall include a Location header as described in FHIR API Guidance.

And shall include an Appointment resource that conform to the GPConnect-Appointment-1 profile (including the description and comments)

And shall the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of each appointment resource

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-04 9658218873 Yes
CONS-AppointmentsAPITest14 Where booking adjacent slots is supported, book an appointment covering adjacent slots
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile.

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment. -

And I include the status identifying the appointment as “booked”. -

And I identify adjacent slot e.g start time of Slot B equals the end time of Slot A -

And I include the slot details of more than one free slots to be booked -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile and contains at least Name and Telecom details. -

And I include the created element with the date and time of the appointment was created.

When I make a POST request

Then I shall get a successful response status code

And the response shall include a Location header as described in FHIR API Guidance.

And shall include an Appointment resource that conform to the GPConnect-Appointment-1 profile (including the description and comments)

And shall the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of each appointment resource

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-03 9658218873 Yes
CONS-AppointmentsAPITest15 Attempt to book an Appointment including a description length
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile,

And I incude Appointment.description > 100 characters,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment. -

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one or more free slots to be booked. -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile and contains at least Name and Telecom details. -

And I include the created element SHALL be populate with the date and time of the appointment was created.

When I make a POST request

Then the request should not be allowed

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-04 9658218873 No
CONS-AppointmentsAPITest16 Attempt to book an Appointment including a comment length
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile.

And I incude Appointment.comment > 500 characters,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment.

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one or more free slots to be booked. -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile and contains at least Name and Telecom details. -

And I include the created element SHALL be populate with the date and time of the appointment was created.

When I make a POST request

Then the request should not be allowed

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-04 9658218873 No
CONS-AppointmentsAPITest18 Attempt to book an appointment where the slot date in the request do not match dates in the GP system
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile.

And I include all mandatory data items

And I include the start and end date range for a slot whose start/end dates have now been changed in provider system

When I make a POST request

Then I shall get an unsuccessful response error code 422 invalid resource and information about the failure in an OperationOutcome resource

And I shall display an appropriate
GPC-BPA-04 NA for Demonstrator Yes
CONS-AppointmentsAPITest19 Attempt to book an appointment where the slot status is not 'free' in the GP system
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conforms to the GPConnect-Appointment-1 profile.

And I include all mandatory data items

And I include a previously available slot with status now changed to busy in provider system

When I make a POST request

Then I shall get an unsuccessful response error code 422 invalid resource and information about the failure in an OperationOutcome resource

And I shall display an appropriate
GPC-BPA-04 NA for Demonstrator Yes
CONS-AppointmentsAPITest20 Attempt to book an appointment where the referenced practitioner resource in the request differs to that the GP system
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X

And I add an Appointment resource that conforms to the GPConnect-Appointment-1 profile.

And I include all mandatory data items

And I include a previously available slot with participant reference that has now changed in the provider system

When I make a POST request

Then I shall get an unsuccessful response error code 422 invalid resource and information about the failure in an OperationOutcome resource

And I shall display an appropriate
GPC-BPA-04 NA for Demonstrator Yes
CONS-AppointmentsAPITest21 Retrieve a Patient Appointments
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:patient_appointments-1' interaction for patient with valid NHS number X

And I add Appointment.start parameter (ge with date component of todays date or future date)

And I add Appointment.start parameter (le with date component of todays date or future date)

When I make a GET request

Then I shall get a response code to indicate success

And the response shall contain only appointments where the start dateTime is in the future

And the consumer system shall display the following information for the retrieved appointment shall include Start date and time (as in the response not corrected for BST), End date and time, , schedule type and slot type ((For all slots and schedules for day + 2 onwards for data setup in the demonstrator)) (as in the response not corrected for BST)

And shall return zero or more matching GPConnect-Appointment-1 resources in a Bundle of type searchset.

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned Appointment resources.

And shall include the versionId and fullUrl of the current version of each Appointment resource returned.

And shall contain all appointments for the patient within the requested period signified by the search parameter(s) including cancelled appointments, and no additional filtering should be applied.

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-RPA-01 9658218873 Yes
CONS-AppointmentsAPITest30 Retrieve a Patient Appointments - start dateTime is in the future
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:patient_appointments-1'' interaction for patient with valid NHS number X

And I send a request for the patients appointment which is in the future

When I make a GET request

Then I shall get a response code to indicate success

And the response shall contain Appointment resources that conform to the GPConnect-Appointment-1 resource profile

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of the appointment resource.

And shall include all relevant business identifier details (if any) for the appointment resource.

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-RPA-01 9658218873 Yes
CONS-AppointmentsAPITest31 Retrieve a Patient Appointments- start dateTime is in the past
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:search:patient_appointments-1' interaction for patient with valid NHS number X

And I send a request for the patients appointment which is now in the past (i.e date/time has changed since last retrieval and the appointment is now in the past)

When I make a GET request

Then I shall get a 422 Invalid Parameter response code to indicate failure,

And I will display appropriate error message
GPC-RPA-01 NA for Demonstrator Yes
CONS-AppointmentsAPITest32 Read Patient Appointment
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:read:appointment-1' interaction for patient valid NHS number X

And I add an invalid patient ID

When I make a GET request

Then I shall get a response code to indicate success

And the response shall contain only appointments where the start dateTime is in the future

And shall return zero or more matching GPConnect-Appointment-1 resources in a Bundle of type searchset.

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned Appointment resources.

And shall include the versionId and fullUrl of the current Appointment resource returned.

And I shall handle the returned resource to accurately reflect what is held in the GP system

And the consumer system shall display the following information for the appointment shall include Start date and time (as in the response not corrected for BST), End date and time (as in the response not corrected for BST)
GPC-RPA-02 9658218873 Yes
CONS-AppointmentsAPITest32a Read Patient Appointment- invalid ID
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:read:appointment-1' interaction for patient valid NHS number X

And I add an invalid patient ID

When I make a GET request

Then I shall get an unsuccessful response error code 404 and information about the failure in an OperationOutcome resource

And I shall display an appropriate error message
GPC-RPA-02 9658218873 Yes
CONS-AppointmentsAPITest33 Amend Appointment - description
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change the description

When I make a PUT request

Then I shall get a response code to indicate success

And the response shall contain Appointment resources that conform to the GPConnect-Appointment-1 resource profile

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of the appointment resource.

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-APA-01 9658218873 Yes
CONS-AppointmentsAPITest33a Amend Appointment - description length
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change the description to be > 100 Characters

When I make a PUT request

Then Then the request should not be allowed

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-APA-01 9658218873 Yes
CONS-AppointmentsAPITest34 Amend Appointment - comment
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change the comment

When I make a PUT request

Then I shall get a response code to indicate success

And the response shall contain Appointment resources that conform to the GPConnect-Appointment-1 resource profile

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of the appointment resource.

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-APA-01 9658218873 Yes
CONS-AppointmentsAPITest34a Amend Appointment - comment length
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change the comment to be greater than 500 Characters

When I make a PUT request

Then Then the request should not be allowed

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-APA-01 9658218873 Yes
CONS-AppointmentsAPITest35 Amend Appointment - cancellation reason
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And whose appointment status is cancelled

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change the cancellation reason

When I make a PUT request

Then I shall get an operation outcome with details of the failuer
GPC-APA-01 9658218873 Yes
CONS-AppointmentsAPITest36 Amend Appointment - invalid change1
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And whose appointment status is cancelled

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change anything other than cancellation reason

When I make a PUT request

Then I shall get an unsuccessful response error code 422 'INVALID_RESOURCE' and information about the failure in an OperationOutcome resource

And I shall display an appropriate error message
GPC-APA-01 NA for Demonstrator Yes
CONS-AppointmentsAPITest37 Amend Appointment - invalid change2
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X whose appointment start dateTime is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I change anything other than the comment or description

When I make a PUT request,

Then I shall get an unsuccessful response error code 422 'INVALID_RESOURCE' and information about the failure in an OperationOutcome resource,

And I shall display an appropriate error message
GPC-APA-01 NA for Demonstrator Yes
CONS-AppointmentsAPITest38 Amend Appointment - start dateTime is in the past
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:update:appointment-1' interaction for patient with valid NHS number X,

And I add appointment start dateTime that is in the past

When I make a PUT request,

Then I shall get an unsuccessful response error code 422 'INVALID_RESOURCE' and information about the failure in an OperationOutcome resource,

And I shall display an appropriate error message
GPC-APA-01 NA for Demonstrator Yes
CONS-AppointmentsAPITest39 Cancel a patients Appointment
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:cancel:appointment-1' interaction for patient with valid NHS number X,

And I add an appointment start dateTime that is in the future,

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource,

And I change the status to 'cancelled'

And I add details in the cancellation-reason extension

When I make a PUT request

Then I shall get a response code to indicate success

And the response shall contain Appointment resources that conform to the GPConnect-Appointment-1 resource profile

And shall include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of the appointment resource.

And shall include updated the appointment status of “cancelled”.

And shall include the appointment cancellation-reason in line with any details supplied in the request.

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-CPA-01 9658218873 Yes
CONS-AppointmentsAPITest40 Cancel Appointment - invalid request
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:cancel:appointment-1' interaction for patient with valid NHS number X

And I add appointment start dateTime that is in the future

And I add the Appointment resource that conforms to the GPConnect-Appointment-1 profile

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource

And I add anything other than the status=cancelled and cancellation reason

When I make a PUT request

Then I shall get an unsuccessful response error code 400 'BAD REQUEST' and information about the error

And I shall display an appropriate error message e failure in an OperationOutcome resource
GPC-CPA-01 9658218873 Yes
CONS-AppointmentsAPITest41 Cancel Appointment - start dateTime is in the past
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:cancel:appointment-1' interaction for patient with valid NHS number X

And I add appointment start dateTime that is in the past

When I make a PUT request

Then the request should not be allowed
GPC-CPA-01 9658218873 Yes
CONS-AppointmentsAPITest42 Book Appointment for unregistered patient
Given I have received an empty patient search result for patient X

And I have received a successful registration response

And I add valid parameters for booking an appointment

When I make a valid appointment booking request including all the mandatory appointment booking details

Then I shall get a successful response status code

And the response shall include a Location header as described in FHIR API Guidance.

And shall include an Appointment resource that conform to the GPConnect-Appointment-1 profile (including the description and comments)

And shall the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the returned appointment resource.

And shall include the versionId of the current version of each appointment resource

And I shall handle the returned resources to accurately reflect what is held in the GP system
GPC-BPA-02 9658218873 Yes
CONS-AppointmentsAPITest43 Book an appointment incuding Speciality Field In Request
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X,

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include appointment description -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment. -

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one slot to be booked -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile, contains at least Name and Telecom details and include the type element with a value matching the organization type sent as a searchFilter with the Search for free slots request -

And I include the created element with the date and time of the appointment was created.

And I include the speciality element with a value

When I make a POST request

Then the request should not be allowed

And Then I shall get an unsuccessful response and information about the failure in an OperationOutcome resource FHIR API Guidance.
GPC-BPA-04 9658218873 No
CONS-AppointmentsAPITest44 Book an appointment incuding Reason Field In Request
Given I am using the default server

And I am performing the 'urn:nhs:names:services:gpconnect:fhir:rest:create:appointment-1' interaction for patient ID X,

And I add an Appointment resource that conform to the GPConnect-Appointment-1 profile,

And I include the URI of the GPConnect-Appointment-1 profile StructureDefinition in the Appointment.meta.profile element of the appointment resource. -

And I include appointment description -

And I include a patient participant of the appointment. -

And I include a location participant of the appointment, representing the physical location where the appointment is to take place (see design decisions page). -

And I include an actor reference in any supplied participant -

And I include the start and end of the appointment. -

And I include the status identifying the appointment as “booked”. -

And I include the slot details of one slot to be booked -

And I include the bookingOrganisation extension referencing a contained organization resource within the appointment resource which represents the consumer organisation, conform to CareConnect-GPC-Organization-1 profile, contains at least Name and Telecom details and include the type element with a value matching the organization type sent as a searchFilter with the Search for free slots request -

And I include the created element with the date and time of the appointment was created.

And I include the reason element with a value

When I make a POST request

Then the request should not be allowed

And Then I shall get an unsuccessful response and information about the failure in an OperationOutcome resource FHIR API Guidance.
GPC-BPA-04 9658218873 No
Clone this wiki locally