CARP Web Services (CAWS) is a cloud-based runtime infrastructure for management of research studies collecting data from participants. CAWS implements an infrastructure according to the domain model specified in CARP Core.
CAWS is an infrastructure that supports:
- Study Management – CAWS handles a research study including a study protocol and its deployment to different participants using different devices and services (aka. clients).
- User Management – CAWS have two main types of users: Researchers who create, run, and analyse studies, and Participants who are participating in studies. CAWS enables user authentication (OAuth2) and authorisation for these users.
- Data Collection – CAWS supports data collection in many ways, including json objects (such as Open mHealth data), files (such as ECG recordings in EDF format), and collections of documents.
- Data Analysis – CAWS allow for setting up data analysis pipelines, which enables data to be analysed using state-of-the-art data analysis algorithm, including ML/AI based methods.
Architecture & Components
CARP Web Services
The CARP Web Services is the main service with loosely coupled sub-services for:
- user authentication & authorisation,
- json data point upload, storage, and mangement
- file upload, storage, and mangement
- research study, protocols, and deployments management
- data management as documents & collections
- management of informed consent documents (from Research Package)
Overall, the CAWS web-service architecture is divided into three layers: Security, Services, and the Persistence layer.
The API Gateway acts as an entry point to the CARP Web Services providing REST endpoints for its sub-services. It is used for validation of user identity and access (i.e. authentication and authorisation), load balancing, etc.
Study Management Portal
The CARP Study Management Portal is a web application for accessing the CAWS service. The user interface is shown below.
The Study Management Portal allow a researcher to create and manage multiple studies, including creating a study protocols, running several deployments (i.e., instances) of a study, and manage participants and their roles to ensure security and privacy. The Management Portal provides the primary user interface for planning and managing multiple studies, enrolling participants, and managing the assignment of participants to appropriate data sources (i.e., devices).
A simple data processing pipeline allow researchers to write data processing scripts for further analysis of the data collected and stored in the CAWS database. A simple python-based API allow researchers to program analysis scripts in Python and deploy these to the data processing pipeline.
Availability / Hosting
The Copenhagen Center for Health Technology (CACHET) at the Department of Health Technology at the Technical University of Denmark (DTU) hosts and operates a version of CAWS.
Like all other CARP components, CAWS is developed as open source. This will allow others to host their own CAWS service. However, at the time of writing, the implementation is not stable (or documented) and hence has not been released yet.