What is the problem being addressed?
This project acts as a proof of concept for medical providers interested in the capabilities available in everyday wearables.
Partnering with LT (Lean Techniques) and Boon Logic, our task was to develop a solution that could capture ECG data and use Boon Logic's anomaly detection to identify anomalous ECG data of the end-user wearing the device.
What is the solution?
Design and implement a backend (Java) API and a WatchOS (Swift) application that collects ECG data from an end user's Apple Watch, stream/store this data within a MySQL database (MariaDB on a server), and stream it to Boon Logic’s Machine Learning API (Boon Amber) where a sensor computes the ECG data and returns any detected anomalies.
After having collected the detected anomalies from the Boon Amber API, we then stream the anomalous data to a custom web application/UI where the data can be viewed.
Software/Tools being used:
Swift/Apple Watch Application:
- WatchOS (Swift) Application
- WatchKit Framework
- HealthKit API
- HTTP/POST
- Used to send ECG data from WatchOS application to our server-side database.
Frontend Web Application:
- Web Portal constructed using AngularJS and TypeScript
- Functions communicate with the Backend API via HTTP Requests
- Fontawesome icons
- Created an anomaly table on user homepage to display anomaly data detected by Boon Logic
Backend API:
- Spring Boot (Java) API Application
- Maven Dependencies
- OKHTTP3
- For constructing our REST API to send our collected data via JSON requests to Boon Logic.
- Jackson (Object Mapping)
- Serializing JSON in Boon Logic API requests and responses
- OKHTTP3
- JDBC (MySQL Connector)
- MariaDB
- For running the server-side database
- Maven Dependencies
Boon Amber REST API: docs.boonlogic.com/docs/Amber_REST.html