Data Overview

When working with the various APIs and SDKs, it can be helpful to understand the RKStudio data model. Each interface may present the data in different ways, befitting the use cases for that interface. This section provides you with an overview of the general data concepts.


In RKStudio, a project represents the whole set of participants and all of the points of interaction (surveys, notifications, sensor data collection, etc.) with those participants. A project will contain all of the collected data and responses from participants.


Project participant data includes demographics information and project-specific custom fields.

It is important to understand the different kinds of participant identifiers:

  • Participant Identifier (e.g., participantIdentifier) is the main, project-specific identifier, visible in the RKStudio participants screen. This can be set in the participant’s invitation to the project, or will be auto-generated. It can be edited at any time, but must remain unique within the project.
  • ID (e.g., participantId) is an auto-generated, internal identifier for the participant. It cannot be changed, and is not visible in the RKStudio screens.
  • Secondary Identifier is an optional project-specific identifier.
  • Link Identifier is an auto-generated identifier code used only if the project has allowed survey completion via link.


Participants typically contribute data by completing surveys. These surveys can be completed in mobile apps, in web browsers, and even by project coordinators on the participants’ behalf. The following concepts relate to how survey data is stored.

Survey Names and Identifiers

Each survey has several different names and identifiers:

  • ID - An auto-generated identifier.
  • Name - A project-assigned name (e.g. “Sleep Survey”).
  • Display Name - An optional override used to display the survey name to participants. For example, if the survey is named “Second Week Follow-Up” for your own reference, you may want participants to see “Weekly Check-In.”
  • Version Number - Each revision of the survey is differentiated by a sequential version number.

Survey Tasks

Survey tasks allow you to assign specific surveys to participants to complete. They show up on the default “tasks” view, but can also be accessed through the SDK.

Some surveys, such as coordinator-initiated surveys, may not have an associated task.

Survey Steps

Survey steps are the individual questions, prompts, and instructions that constitute the survey. Many steps will require responses, which are stored as survey answers.

Survey Results

A survey result is a collection of all the responses to survey steps in a single completion of a survey. This result may or may not be associated with a task. Each result has a unique identifier.

Survey Answers

In a given survey result, there are likely responses to several different survey steps. The responses to each step are grouped into survey answers. Multiple-choice questions and forms can have multiple answers for a single step.

Survey steps have individual step identifiers, e.g., “Sleep Hours” or “painScore”. Form steps also have separate identifiers for each form item. A survey answer’s resultIdentifier field will refer to either the form item identifier (for form steps) or the step identifier (for non-form steps).

Thus, a given answer is associated with a survey, possibly a task, a survey result, a step, and possibly a form item.

Survey Answer Links
Survey Answer Links

Device and Sensor Data

In addition to survey data, participants may contribute data collected from a variety of devices, such as smart watches or fitness trackers.

Other sensor data, such as weather and air quality results, are also stored as device data even though they do not come from a device.


Notifications can be sent to participants based on time-based triggers or project-specified triggers (adherence, events, and more.) Notifications can take the form of mobile device push notifications, email or SMS messages.

External Accounts

Participants frequently have accounts with services external to RKStudio, such as:

  • Provider - Healthcare providers’ patient accounts, typically through an electronic medical record system.
  • Health Plan - Health plans and associated payers.
  • Device Manufacturer - Wearable devices and other consumer-facing medical technology.

RKStudio can enhance your project with health or sensor data imported from these external services, providing:

  1. The service is compatible with RKStudio.
  2. The participant connects their external account with RKStudio.

Once connected, RKStudio periodically polls and persists data from connected external accounts. Data is downloaded directly from the external provider’s server, and can be used to lead interventions or contextualize research outcomes.