Inspired by event-driven integration system like Zapier and IFTTT, we felt we could automate care and increase adherence by reacting to events, measurements, and responses for and from the patient and her care team.
What it does
Zeleo is a cloud-based event-driven rule engine that can be easily configured to send tasks, assessments, and files to patients and their care team, as well as react to tasks that exceed a deadline. It is not Healthcare exclusive, but that was our first vertical and the one where we have been most successful.
A care team is defined through a social graph of related people and can be referenced by their relationship type in the Rule Builder. By leveraging Redox, we can connect to the EMR and the Rule Builder can be used to author condition-consequence logic to send the necessary tasks and information.
Tasks are created as templates, and can deliver pdfs, videos, or assessments.
Almost any system or device can be easily connected to Zeleo by creating a service that sends events and/or receives WebHooks as consequences.
You can also author assessments in Zeleo and react to the question answers. This way a care provider or care team member can react to any negative responses, even including mental state and mood. Assessments can be delivered as part of a task and can be taken on a PC or Mobile device.
How we built it
The core of Zeleo is a proprietary Rule Engine that generates Clojure code from a JSON rule definition. The events are flat JSON documents that can easily be interrogated by the Rule Builder, and enact any Consequences if the condition is true.
When an event comes in, it is stored in a REDIS queue. We have any number (depending on the length of the queue) of microservices monitoring and processing events from this queue; by increasing or decreasing the number of Rule Execution services, we can scale horizontally to handle the load of event traffic.
Anyone can hook any system into Zeleo, for their own team or to publish to the greater Zeleo community.
Our client is written in AngularJS, and we have a mobile app written in the Ionic Framework, though the mobile app is just for consuming tasks at this point.
Challenges we ran into
We initially used a Drools rule engine, but found quickly that this system was designed with a monolithic architecture in mind. We wanted a low memory microservice architecture to scale horizontally, and as such used Clojure as a DSL to generate and execute rules quickly and efficiently.
Accomplishments that we're proud of
- We were accepted into the Startup health Moonshot Academy, beating ~75 companies in a competition sponsored by Aurora Health.
- Zeleo was deployed successfully as the backend to Axis, the Care Management product made by AxisPoint Health.
What we learned
Our biggest challenge was staying lean when targeting a space occupied largely by mature software.
What's next for Zeleo
- We are working to branch into the enterprise space outside healthcare as well as grow our provider footprint.