(EPSRC Grant EP/F042469/1 and EP/F044216/1 - October 2008 to April 2012)
Healthcare providers world-wide are developing electronic solutions to improve patient care and reduce costs. This is a complex and challenging endeavour: such systems need to integrate many distributed and heterogeneous applications and coordinate widely distributed operations as events occur, such as the referral of a patient from a GP to a specialist clinic. All of this has to be done without compromising patient safety and privacy. Not surprisingly, healthcare IT efforts in many countries suffer from cost explosion and project overruns.
In healthcare systems, middleware software acts as the "plumbing" that interconnects the various applications. A major problem is that commercial, off-the-shelf middleware used for this task is inflexible and unable to adapt to the special requirements of the medical domain. For example, a healthcare system must audit all access to a patient's records as they flow through the network and yet the audit data must not itself compromise confidentiality. This kind of confidential audit is not supported by current middleware, yet the best place to reliably provide these guarantees is at the middleware level. Similarly, a haematology department would need to detect patterns of events: abnormal blood results sent to the electronic patient notes. Again, middleware support for this does not exist, yet would be vital for an efficient solution. A major challenge in supporting such novel middleware functionality is that there is no single set of services that covers all application requirements. Instead, middleware functionality must evolve as new applications are added to a healthcare infrastructure.
The focus of this project is to address this challenge with research into an extendable, event-based middleware architecture, SmartFlow, which can securely integrate heterogeneous systems and provide a framework for dynamically managing middleware extensions. The figure on the side illustrates a potential deployment of the SmartFlow middleware in a clinical setting.
Large and heterogeneous applications link independent hospital departments with varying middleware requirements, including features unique to clinical environments. Since medical applications must respond quickly to numerous simultaneous events, applications coordinate all activity by sending and receiving messages using an event-driven approach.
By pushing this functionality into an intelligent middleware layer, all applications in a medical system can use these services, thus simplifying application design and deployment and improving performance. As new departments with new applications (and requirements) join the system, units can be added dynamically to SmartFlow nodes in a secure and consistent manner. To describe a middleware and its configurations, we devise a formalism that can capture high-level middleware features, their decomposition into lower-level SmartFlow units, and the dependencies and exclusion relationships between them.
Research in the SmartFlow project has focused in three separate, but closely related, areas:
The list of SmartFlow related publications can be found in the corresponding section of this website.
This work was supported by grants EP/F042469 and EP/F044216 (``SmartFlow: Extendable Event-Based Middleware'') from the UK Engineering and Physical Sciences Research Council (EPSRC).