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.
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).
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.
Like many other CARP components, CAWS is available as open source. This allows others to host their own CAWS service.