For an innovative company like TPP, we needed an innovative booking system. Amazon Alexa is the perfect platform for this task, it can essentially be a receptionist in everyone's home making it easier and more accessible to book GP appointments.
What it does
It provides a simple voice interface for booking and reviewing GP appointments. Just ask Apollo to book an appointment and it'll walk you through the process, sorting out the dates and times according the free slots in the booking system, recommending other free slots if the slot you've chosen is taken.
How we built it
We are using TPPs sample GPConnect API to enumerate the free slots using a flask script hosted on the Azure platform. This acts as the endpoint for an Amazon Alexa skill that has multiple different intents - first of all one to run you through the process of booking an appointment, and the next that allows you to review your appointments.
Challenges we ran into
There was some difficulties in working out how to use the TPP API, it has a special type of public-private key authentication as well as a lot of parameters - the abstraction of this into something nice and usable took quite a while.
Accomplishments that we're proud of
That we've completed a full end to end solution that can actually properly interact with the database, and book appointments in something that could be a full end product.
What we learned
Learnt about using flask to make an API, more in depth details about Alexa skills, how to deal with APIs that were more complex than we had previously encountered.
What's next for Apollo - Booking NHS appointments through Amazon Alexa
Flesh out the Alexa skill with more abilities - should be able to easily incorporate cancelling of appointments, prioritising of patient appointments using risk factors based on their medical files, as well as using more of the data to do things other than just appointment booking