What we did: We designed and developed a multi-user networked system with bedside terminals for patient meal selection and intake monitoring. The Nurse and Consultant applications allowed real-time monitoring of patients nutritional intake over time and raised alerts if levels were below expectation. The applications were developed in Adobe FlexBuilder with a Zend server providing database access.
Nutritional wellbeing is a crucial issue for the elderly and infirm in our hospitals and care homes. emobix and its UX design partners developed a trial system for networked food ordering and monitoring system to allow healthcare professionals to track patients' intake.
Foodie Demonstrator is a proof of concept demonstrator for integrated food ordering and nutritional monitoring as part of the <span "font-family: arial;">hospitalfoodie system which is being developed by the <span "font-family: arial;">mappmal research project.
The demonstrator began as an interactive tool to present a user interface model for bedside meal ordering, combined with staff interfaces for nutritional monitoring and management of proactive and remedial actions. It has been extended to provide a multi-terminal interactive system intended to run on a 5-6 bed ward to evaluate usability and garner feedback.
Foodie Demonstrator comprises a number of subsystems which collectively cover patient assessment, food ordering and nutritional monitoring.
User interfaces are provided for a number of different user roles allowing tailored functionality and access to patient data. The users log in to the system and are presented with a UI based on their role such as consultant, nutritionist, nurse etc.
The Patient interface was designed to be easy to use for elderly or infirm patients and aesthetically pleasing, accessed through a graphically rich touchscreen UI allowing patients to view available meals, check their orders and provide feedback on the quality of the meals provided. This interface would be available on bedside touchscreen monitors for easy access.
The Staff interface provides different views based on roles and permissions. Dietitians and consultants can review caseload and track issues with patients on their list, providing direction and actions to nursing staff. Nurse can access a ward-level view of patients and their specific needs, and provide assessments of patient welfare. HCAs can review patient orders and confirm nutritional intake. All data is centralised allowing concurrent access to the live data.
The UI provides simple, intuitive screens with button-based menu selection and visual feedback.
The Techy Stuff
The Foodie demonstrator began as a UI demonstration to deliver the concept of the Hospital Foodie project in a live scenario, and was used in focus group sessions to generate some initial feedback on usability. The demonstrator was built around pre-canned data and was a single-terminal demonstration. Due to the highly visual and interactive nature of the demo, desire to run on Mac or PC and the fluidity of requirements it was decided to use Adobe Flash / Catalyst for the UI. The Patient and Staff demonstrators were completely separate systems.
The interactive demonstrator system also used Flash for the UI, but moved away from the use of Catalyst and focussed on Flex. The patient and staff systems were integrated in order to be able to run both from the Patient terminal, and the system was redeveloped as a client server model with a centralised database of Patient details and order selections.
The system comprises:
- a central server holding the patient, staff and nutrition databases and providing a server process to interface between the database and the patient/staff UI terminals.
- Patient UI (bedside terminals)
- Staff UI (bedside terminals or desktop PC/laptop)
The terminals, PCs and server communicate over a standard TCP/IP network (either Ethernet or wireless)
On startup, the UI communicates with the server and retrieves information on patients and staff from the database. This data is used to populate login dialogs and ward views.
When a bed is selected (implicitly in the patient view or explicitly by staff in the ward or caseload views) the UI requests the relevant patient details from the database. Any changes or notes added will be sent back to the database and may be downloaded and browsed by other terminals.
The system was developed using a number of complementary technologies.
The patient details, staff information and order databases are all held in a MySQL database on the server. The database is managed through a phpMyAdmin front end allowing it to be populated and managed easily by staff demonstrating the system.
The UI for patient terminals and staff workstations was developed in Adobe Flash Builder (using Adobe Flex, Flash MX classes, custom components and actionscript).
The UI talked to the database on the server using Zend controller which provides reflection of the system’s objects (Patient, Order, Staff) which are stored in the database. This reflection allows the UI to talk to the server using objects accessible to Flash and Actionscript, but handles serialisation and update notification for the objects’ data allowing us to have concurrent access to live data across the separate terminals.
The server hosts the SQL database, phpMyAdmin and the Zend Controller process. The UI clients connect to the server through the Zend interface objects described above.
All code is written in Adobe Flex, a combination of actionscript and mxml markup (an Adobe xml DTD)