High-Fidelity Activity Wearable Monitor


Engineering and Applied Sciences


Cecilia Fitler Moore Professor in the Department of Computer and Information Science and Director of PRECISE Center

Project Summary

This past summer, PURM gave me the opportunity to work with the members of the PRECISE lab in the department of computer and information science. The goal of the project I was assigned was to create a platform that accesses real-time data (e.g. heart rate) from wearable activity monitors and transmit the data to OpenICE-lite, an architecture that enables the integration of medical devices. OpenICE-lite utilizes MQTT middleware, a messaging protocol that allows clients to send and receive to and from a server. Therefore, my project enables other users within OpenICE-lite to monitor and analyze data from wearable activity monitors worn by patients in every-day settings.  
The wearable activity monitor I was tasked with was the Apple Watch. Because I have never programmed for Apple products before, this experience allowed me to learn Swift, the programming language for Apple. Accessing real-time data from the watch app also introduced me to many of Apple’s built-in frameworks, including HealthKit (to retrieve heart rate data) and CoreMotion (to retrieve accelerometer and gyroscope data). As the app requires tracking the user’s data, it taught me a lot about requesting user authorization and privacy measures in devices, which is a crucial aspect of many programs used in the real-world. Additionally, incorporating MQTT into the watch application allowed me to learn through trial and error as it is not a common task with direct steps to follow. This allowed me to experience what it is like to be a programmer in the real-world, where there are no set guidelines on how to complete a project. 
Participating in this research project also helped me develop professional work values. By working amongst other faculty members in PRECISE lab, I was able to practice professional communication through presentations and discussions. Having my own project to work on also allowed me to practice my self-management and direct my own work. Overall, this experience was challenging but it helped me build necessary skills that I can apply in the future as a programmer.