MS Ambulance project

MS Ambulance is a multi-tiered software solution created for Republic of Kazakhstan healthcare, ambulance and emergency services. The solution was created to replace previously existing system which had significant disadvantages:

  • Poor performance;
  • Legacy not ergonomic poorly designed user interface;
  • Insufficient set of user roles;
  • Insufficient scalability / clustering capabilities;
  • Multiple bugs in mission-critical sections of the software.

The implemented solution had significant improvement in performance, which combined with extended scalability of the application, resolved previous issues with server-side hardware. Improved and significantly reworked user interface also improved the speed of manipulations with data for end users. This all increased efficiency of the application users by roughly 40%.

Solution

There were three major problems in the existing application which we had to resolve:

  • Server-side performance
  • Client-side performance
  • User interface usability

In order to resolve server side performance issue with no need to buy expensive server-side hardware the application scalability has been improved by means of code improvements, clustering support, creation of asynchronous processing where possible, improvements of database structure and data access techniques using entity framework.

Client-side performance improvements were achieved by getting rid of 3rd party components and by creation of plug-in based application where core verifies user role upon application startup and loads only plug-ins relevant to the specific user role (i.e. it does not load administrative plug-ins for a nurse). This improved application start-up time as well as run-time performance and memory consumption. Client side performance was also improved by the improved communication to server-side components, asynchronous and partial data loading using WCF technology.

User interface usability was significantly improved by re-designing layouts of screens in a more logical and “flow” manner and also by utilization of powerful WPF technology. Interface has been enriched by auto-completion functions, spell-checking, dictionaries, favorites, recently used, etc.

Various application modules allow keeping track of ambulance cars and teams, patients and histories, clinics and occupations, drug storages, availability, assignments and orders, keep track of personnel working hours and distribute tasks accordingly. It has multiple business rules for handling various possible scenarios which in turn are not restrictive, but are more suggestive and are all set to improve work of personnel and speed up reaction time to emergency cases.

Architecture

The entire solution consists of the following layers:

  • MS SQL 2008 database for data storage.
  • Server-side components for data access, access control and transformation of data to application objects. This has been designed to support clustering, regions, regional centers, global center.
  • Client application if WPF-based plug-in enabled user interface of the application.

Tools and Technologies

  • MS Windows XP, 2003, Vista, 7; MS SQL 2008; Visual studio 2010; .NET 4.0, C#, WPF, EF, cryptography, WCF.

Benefits

Benefits of the solution are obvious: improved (and easily extendable) performance, no need to buy specific and expensive hardware, improved emergency reaction speed, overall increased personnel efficiency, support for regional and centralized data storage.