John Gilfillan, Software Engineer from Miracle Electronics, created Nurse Call or Care Call systems for Hospitals and Rest Homes. They wanted a REST API that could interact with their software, as well as to give users the ability to make changes to the system remotely. They run a software application called "Angel" on a P.C. which monitors call points located at the bedside of each Hospital patient or in the home of a Rest Home occupant.
DreamFactory's provision of script and database functionality as well as all its security features and flexibility make it a perfect fit for their application.
“We were able to install and get DreamFactory up and running quickly, which allowed us to focus on the things we needed to for our application.”
Since many of their customer's have their own IT systems, they wanted to be able to interact with Angel in order to make changes to Angel's configuration in real time in response to their own changing needs. For example, the customer might want to add a new occupant to the system, or change an occupant's details, or change the nurse who will be paged if an occupant activates their call button.
All these configuration settings are contained in the SQLite database at each Angel Station. They can be changed from the Angel application itself, but customers want to be able to make these changes remotely in real time from their own IT system.
So here is where DreamFactory comes in, as a way to provide a REST API for a customer's IT system to interface with their Angel application.
Most installations will have just one Angel Station, but you can have as many as as you need. Above, is a diagram showing the way a system might be configured with two Angel Stations.
“You can see from the diagram that we have DreamFactory set up on a network server. The customer's IT system (which can be many and varied) provides a URI to DreamFactory which in turn can run a script that makes the required changes to the appropriate Angel Station.”
When a call point is activated, an alert is raised in the Angel application and also a Pager can be activated, email sent or whatever other form of notification the customer requires. The information to configure Angel is stored in a SQLite database local to each Angel application or Angel Station. This makes each Angel Station - together with its associated call points - independent and still able to function in the event of a power outage or network failure. (Note: The call points are run off a proprietary bus connecting to Angel.)
DreamFactory really stood out as a solution, especially around the scripting, security and database handling features. John used PHP and V8js for custom scripting within DreamFactory, and deployed in a Microsoft Visual Studio environment.