...
Considered Design Alternatives
Implementation
The EZ-ICU interface is designed to be a persistent, dynamic, client-side interface. Since we had no need for complex server-side logic or interfaces with other systems, we decided to create our entire application without a traditional backend. We chose the backbone.js library to handle data storage and the overal architecture of the program. Backbone allows us to be clear about specifying the models and views in our application, and allows persistence of those models. For testing purposes, we can use backbone to store patient information on the user's machine, using Local Storage, but backbone also supports synchronization to an external server, which might be necessary for future implementations of the project.
The primary advantage of this decision is that absence of a centralized server means there is one less component which can fail when users interact with our application. Users can note the administration of medication and see patient status, even when offline, and they are never stuck waiting for a server response or dealing with internal server errors. On the other hand, the local storage method means that users on different machines will have no way to see one another's data. Full implementation of backbone.js synchronization to a server would solve this problem.
This meant that all data about the current status of the patients in the ICU is stored locally within the user's brHere we describe the internals of our implementation at a high level.
Important design decisions for implementation.
...