Joris Borgdorff

Software Engineer

@TheHyveNL

In recent years, the amount of programmable and affordable wearable sensors has increased enormously. Medically-inspired wearable devices such as the Empatica E4 can be read out with any phone. Smart watches can even send fitness data directly. For patients with Parkinson’s disease, or someone suffering from epilepsy, multiple sclerosis or depression, these wearable devices provide enough information to monitor patients outside the clinic. Possibly, we can even predict relapses. This approach requires a good user interface, a reliable data streaming service, and a data warehouse to monitor and analyse these data.

Since mid 2016, The Hyve is actively developing and integrating technologies to gather data from wearables and make the data accessible as part of the RADAR-CNS project. The RADAR-CNS project is a 22M research programme funded by IMI.

In the project, we jointly creating a scalable data infrastructure as shown in the figure below. This figure is part of a poster that was presented at the UCL Populations & Lifelong Health Domain Symposium by our close collaborator Francesco Nobilia from King’s College London. The infrastructure consists of an Android application to gather data, an Apache Kafka service to process it, Apache HDFS and MongoDB to store the data, and a schematised REST API and visual dashboard to view the data.

RADAR-CNS platform infrastructure

Within this infrastructure, we specialise in data gathering, management and processing. On the data gathering side, we have developed a mobile Android application that gathers data from Bluetooth-enabled devices, such as the Empatica E4, and phone data such as acceleration. This approach has been tested on several phones but also with the small IoT UDOO NEO device. The application sends wearable data to the backend server over a secure HTTPS connection. It also stores the data on the device to ensure a reliable data stream. All data are schematised before sending, for a consistent data view across data sources. The backend checks conformance to the schema. Also, according to the authorization scheme used, the backend can verify whether the data originates from the user that submitted them. The backend immediately rejects data that do not conform to our standards so the application can notify the user and erroneous data do not pollute our data streams. The following video shows an impression of the application that runs on the UDOO NEO.

Once the data arrive at the Apache Kafka cluster, the backend monitors their contents and immediately processes the data with Kafka Streams. The results of these processing steps are stored in a MongoDB for fast access. All raw data is stored to HDFS for offline processing, like machine-learning with Apache Spark, or to export to external processing tools.

The entire infrastructure is deployed as a set of Docker containers, making deployment reproducible. The code to all components is available on GitHub under the open source Apache 2 License.

So far, we have shown successful end-to-end tests from an Empatica E4 device to an internet dashboard, while maintaining full raw data logs. During a pilot study next month, the infrastructure will also be tested in a clinical setting. For larger deployments than in the RADAR project, we are investigating more elaborate authorization and data sharing schemes.

If you want to learn more about how to include wearable and smartphone data in your study, feel free to contact us. We can help you plan and implement solutions for optimal data collection, management and storage.

Leave a Reply

Your email address will not be published. Required fields are marked *

Joris Borgdorff

Software Engineer

@TheHyveNL