The Project Requirements
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.
- FP Complete would need to develop web and mobile clients for both patients and physicians.
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.
New Challenges for FP Complete
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.