CARP Web Services (CAWS) is a cloud-based runtime infrastructure for the 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 has two main types of users: Researchers who create, run, and analyze studies, and Participants who are participating in studies. CAWS enables user authentication (OAuth2) and authorization for these users.
  • Data Collection – CAWS supports data collection in many ways, including streaming data as JSON objects, files (such as ECG recordings in EDF format or audio/video recordings), and collections of JSON documents.
  • Data Analysis – CAWS allow for setting up data analysis pipelines, which enables data to be analyzed 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 upload, storage, and management
  • file upload, storage, and management
  • research study, protocols, and deployments management
  • data management as documents & collections
  • management of informed consent documents (from the Research Package)

Overall, the CAWS web-service architecture is divided into three layers: Security, Services, and the Persistence layer.

API Gateway

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 authorization), 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 allows a researcher to create and manage multiple studies, including creating study protocols, running several deployments (i.e., instances) of a study, and managing 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).

Data Processing

A simple data processing pipeline allows researchers to write data processing scripts for further analysis of the data collected and stored in the CAWS database. A simple Python-based API allows 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 an instance of CAWS. This instance is hosted on Computerome, which is the Danish national life science supercomputing center.

Researchers affiliated with CACHET can use this service for creating CARP-based research projects, such as mCardia, MUBS, and DiaFocus. It is important to emphasize that DTU is the data controller of data collected using this CACHET-based hosted service and that this data collection is subject to our privacy policy. The service is provided on a best-effort basis. Although we strive to maintain a high level of service, no guarantees are made for system uptime or data integrity unless specified in project-specific contracts.

Like many other CARP components, CAWS is available as open source. This allows others to host their own CAWS service.