Name: Medical Information Technology Company
Industry/Sector: Digital health
Project Type: Regulated software medical device
Technology Used: Android, React native, OAuth, WAMP protocol (microservices), websockets, Redis, Haskell
The client was attempting to develop a system that would record a patient’s activity and blood chemistry using wearable medical devices. This data, and its analysis would be provided to clinicians to help them monitor and advise their patients. The client needed our help to develop the software so that data from the patients could be gathered, uploaded to a secure cloud infrastructure and made available to clinical organizations, with the data subject to European Union privacy rules and reliability guidelines, on a robust yet highly secure online system.
They had insufficient cloud infrastructure in place to start with, and their front-end technology was not capable of meeting their requirements. More essentially, they needed to quickly demonstrate progress to their investors to ensure continued funding for the project.
There were many essential requirements for the project:
The data was to be collected by a variety of off the shelf, wearable devices.
FP Complete had to ensure that the solution integrated with existing OAuth2 authenticated APIs to connect with off-the-shelf medical devices and other cloud services.
Develop back-end services capable of receiving data from many connected devices.
The data was to be uploaded to a cloud-based infrastructure that was secure and scalable.
It had to integrate with existing cloud analytics platforms.
Develop data cleansing and parsing modules for raw device data.
Implement custom machine learning modules to analyze the data.
Uploading was to be performed by publicly available smartphones that utilized major operating systems like Android and iOS.
All the data collection and stored and transmitted would need to conform to stringent European Union mandated privacy guidelines.
Finally, the client needed secure web portals and mobile applications for authorized physicians to visualize and interpret a patient’s data.
Our full-stack solution was developed iteratively with the client. We delivered a custom software infrastructure applying Agile development practices to help them meet their development and financing milestones.
We first worked with the client to expand on an existing data storage backend
We refined the initial code base to conform to software engineering best practices
We developed a real-time web-based visualization frontend for the client's demo days
We developed a REST API to access the stored data using high-performance Haskell code
We integrated statistical analysis using the R language into the custom back end
After successful client demos, we expanded the system’s data processing abilities to a scalable cloud architecture
We created additional secure mobile frontend apps using React Native
We developed a custom and secure WebSocket protocol for data transfer from backend to front end.
During the course of development, a number of hurdles needed to be overcome, including:
Integrating statistical packages (R, Python) into a Web API
Creation of a queue based messaging system to allow for multiple physicians to receive real-time data
DevOps automation targeting multiple cloud providers
Develop secure and performant data transmission using cryptographic protocols
The project goals were accomplished on time, and the client has since secured additional funding to continue the development of the platform. We have also provided training to the client’s engineering department—educating them on state of the art engineering practices—and have provided documentation and tools enabling them to expand their team. Our mathematicians on staff have advised the client on advanced machine learning techniques and developed custom modules. Our DevOps team has delivered to the client a cloud-based solution hosting a custom REST and WebSocket API for transmitting the data- and the solution includes extensive DevOps automation to ensure the client will be able to accommodate additional demand.
Throughout the engagement, our client was consistently satisfied with our ability to rapidly prototype solutions, and then ramp up development in business critical areas. All of our goals were accomplished under budget, demonstrating our ability to deeply embed with a client to deliver an IT solution. The client continues to use our services advising on technology and delivering custom software enhancements.