Contents
Introduction
The GP Appointment Booking plugin allows members of the public to book and cancel GP appointments using Digital Interactive TV.
As a Starter Kit plugin, the functionality is presented in the context of a Starter Kit microsite, in the theme (colours, logos etc) of the microsite.
The plugin is essentially a "presentation proxy" for the EMIS Access application, a third party API which links to EMIS systems used by around 5000 GP surgeries nationwide.
The following sequence of figures shows screenshots from the TV service, and the XML generated by the plugin for each screen.
Model-View-Controller pattern
The GP plugin uses a MVC Model 2 design paradigm to separate control, business, and presentation logic. This is implemented in J2EE using the Struts and Spring MVC frameworks. Form action targets are specified using logical action references, serviced by action classes which handle workflow concerns and delegate presentation (i.e. XML generation) to JSPs. This approach has proven invaluable in this reasonably complex plugin. There are many ways to achieve the same thing with different technologies.
For more on MVC:
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html
For an approach to MVC in .NET:
http://builder.com.com/5100-6387-1044951.html
Workflow diagram
The following diagram describes the logical sequence of screens in the GP plugin.
| Workflow diagram |
(click thumbnail to enlarge) |
Screenshots and XML
Login screen
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Your appointments (none booked)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Your appointments (1 booked)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Your appointments (2 booked)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Select date (1 of 2)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Select date (2 of 2)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Select surgery
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Select time
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Confirm booking
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Select cancellation
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Confirm cancellation
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
How to sign up
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Data protection (1 of 3)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Data protection (2 of 3)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Data protection (3 of 3)
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration step 1
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration step 2
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration step 3
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration step 4
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration step 5
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|
Registration confirmation
| Screenshot |
XML |
| (click thumbnail to enlarge) |
|