carp_core library

This library contains the entire carp_core API the CARP Mobile Sensing (CAMS) framework implemented in Flutter.

Classes

Acceleration
Change in velocity, including gravity, along perpendicular x, y, and z axes in meters per second squared (m/s^2). Typically captured by an accelerometer.
Account
Uniquely identifies an account and its associated identity.
AccountIdentity
Identifies an Account.
ActiveParticipationInvitation
An invitation to participate in an active study deployment using the assignedDevices. Some of the devices which the participant is invited to might already be registered. If the participant wants to use a different device, they will need to unregister the existing device first.
Add
AddressInput
The full address of a participant.
AddVersion
AltBeacon
A beacon meeting the open AltBeacon standard.
AltBeaconDeviceRegistration
A DeviceRegistration for AltBeacon specifying which beacon to listen to.
AppendToDataStreams
AssignedPrimaryDevice
Primary device and its current registration assigned to participants as part of a participant group.
AssignedTo
Determines which participant roles to assign to something.
BackgroundTask
A task which specifies that all containing measures and/or outputs should immediately start running in the background once triggered. The task runs for the specified duration, or until stopped, or until all measures and/or outputs have completed.
BatteryAwareSamplingConfiguration
A sampling configuration which changes based on how much battery the device has left.
BLEHeartRateDevice
A Bluetooth Low Energy (BLE) device which implements a GATT Heart Rate service (https://www.bluetooth.com/specifications/gatt/services/).
CarpDataTypes
Contains CARP data type definitions, as defined in CARP Core.
ClientManager<TPrimaryDevice extends PrimaryDeviceConfiguration<TRegistration>, TRegistration extends DeviceRegistration>
Allows managing StudyRuntimes on a client device.
CloseDataStreams
CompletedTask
Indicates the interactive task with taskName was completed. taskData holds the result of a completed interactive task, or null if no result is collected.
Core
Base class for the carp_core library.
CreateCustomProtocol
CreateStudyDeployment
A request for creating a deployment based on the protocol.
CustomInput
Custom input data as requested by a researcher.
CustomProtocolDevice
A general-purpose primary device for custom protocols. Only used when downloading custom protocols from the CARP web service.
CustomProtocolTask
A task which contains a definition of a custom protocol which differs from the CARP domain model.
Data
Holds data for a DataType. This is an abstract class and contains no data as such.
DataStreamBatch
A collection of non-overlapping, ordered, data measurements.
DataStreamId
Identifies a data stream of collected dataType data on the device with deviceRoleName in a deployed study protocol with studyDeploymentId.
DataStreamsConfiguration
Configures the set of ExpectedDataStream for a study deployment.
DataStreamService
Store and retrieve data streams for study deployments.
DataStreamServiceRequest
DataType
Specifies the type of a Measure.
DataTypeMetaData
Contains meta data about type.
DataTypeSamplingScheme
Specifies the sampling scheme for a data type (dataType), including possible options, defaults, and constraints.
DataTypeSamplingSchemeMap
A set of DataTypeSamplingScheme mapped to their data type as String.
DefaultDeviceConfiguration
A default device configuration just implementing the basics.
DefaultDeviceRegistration
A concrete DeviceRegistration which solely implements the base properties and nothing else.
DeploymentService
Application service which allows deploying study protocols to participants and retrieving PrimaryDeviceDeployment's for participating primary devices as defined in the protocol.
DeploymentServiceRequest
A DeploymentServiceRequest and all its sub-classes contain the data for sending a RPC request to the CARP web service.
DeviceConfiguration<TRegistration extends DeviceRegistration>
Describes any type of electronic device, such as a sensor, video camera, desktop computer, or smartphone that collects data which can be incorporated into the platform after it has been processed by a primary device (potentially itself). Optionally, a device can present output and receive user input.
DeviceConnection
DeviceDataCollector<TDeviceConfiguration extends DeviceConfiguration<DeviceRegistration>>
Collects Data for a single device.
DeviceDataCollectorFactory
Supports creating and holding a registry of DeviceDataCollectors for devices.
DeviceDeployed
A request for reporting this deployment as successful.
DeviceDeploymentStatus
A DeviceDeploymentStatus represents the status of a device in a deployment.
DeviceRegistration
A DeviceRegistration configures a DeviceConfiguration as part of the deployment of a StudyProtocol.
DiagnosisInput
The diagnosis of a patient.
ECG
Electrocardiogram data of a single lead.
EDA
Single-channel electrodermal activity (EDA) data, represented as skin conductance. Among others, also known as galvanic skin response (GSR) or skin conductance response/level.
ElapsedTimeTrigger
A trigger which starts a task after elapsedTime has elapsed since the start of a study deployment, i.e. when a protocol is deployed on the phone for the first time.
EmailAccountIdentity
Identifies an account by a unique emailAddress.
End
Specify how a RecurrenceRule ends.
Error
Indicates that some error occurred during data collection. message holds any message about the error which might have been captured.
ExpectedDataStream
The expected data type for a device with a specific role name.
ExpectedParticipantData
Describes a participant attribute that pertains to all or specified participants in a study.
Geolocation
Geolocation data as latitude and longitude in decimal degrees within the World Geodetic System 1984.
GetActiveParticipationInvitations
A request for getting the deployment invitations for an account id.
GetAllForOwner
GetBy
GetDataStream
GetDeviceDeploymentFor
A request for getting the deployment for this primary device.
GetParticipantData
A request for getting the status of a study deployment.
GetParticipantDataList
A request for getting the list of participant data for this a list of studyDeploymentIds.
GetStudyDeploymentStatus
A request for getting the status of a study deployment.
GetStudyDeploymentStatusList
A request for getting the status of a list of study deployment.
GetVersionHistoryFor
GranularitySamplingConfiguration
A SamplingConfiguration which allows specifying a desired level of granularity, corresponding to expected degrees of power consumption.
HeartRate
Heart rate data in beats per minute (bpm).
InformedConsentInput
The informed consent from a participant.
InputType
Custom input data as requested by a researcher.
MACAddressDeviceRegistration
A DeviceRegistration for devices which have a MAC address.
MagneticField
Magnetic field of the device in 3D space, measured in microteslas μT for each three-dimensional axis. Typically captured by a magnetometer sensor.
ManualTrigger
A trigger initiated by a user, i.e., the user decides when to start a task.
Measure
Defines data that needs to be measured/collected passively as part of a task defined by TaskConfiguration.
Measurement
The result of a measurement of data of a given dataType at a specific point or interval in time. When sensorEndTime is set, the data pertains to an interval in time; otherwise, a point in time.
NameInput
The full name of a participant.
NameSpace
Enumeration of data type namespaces.
NoOptionsSamplingConfiguration
A sampling configuration which does not provide any configuration options.
OpenDataStreams
ParticipantAttribute
Describes expected data to be input by users related to one or multiple participants in a study.
ParticipantData
Expected participant data for all participants in a study deployment with studyDeploymentId.
ParticipantInvitation
The information which needs to be provided when inviting a participant to a deployment.
ParticipantRole
Describes a participant playing a role in a study, and whether this role isOptional.
ParticipantStatus
Provides information on the status of a participant in a study deployment.
Participation
Uniquely identifies the participation of an account in a study deployment.
ParticipationService
Application service which allows inviting participants, retrieving participations for study deployments, and managing data related to participants which is input by users.
ParticipationServiceRequest
A ParticipationServiceRequest and its sub-classes contain the data for sending a participant request to the CARP web service.
PersonalComputer
Configuration of an internet-connected personal computer with no built-in sensors.
PersonalComputerRegistration
A DeviceRegistration for a PersonalComputer specifying details of the PC.
PhoneNumberInput
The social security number (SSN) of a participant.
PrimaryDeviceConfiguration<TRegistration extends DeviceRegistration>
A device which aggregates, synchronizes, and optionally uploads incoming data received from one or more connected devices (potentially just itself).
PrimaryDeviceDeployment
Contains the entire description and configuration for how a single primary device participates in running a study.
ProtocolFactoryService
Factory methods to create a StudyProtocol according to predefined templates.
ProtocolService
Application service which allows managing (multiple versions of) StudyProtocols.
ProtocolServiceRequest
Serializable application service requests to ProtocolService.
ProtocolVersion
Specifies a specific version for a StudyProtocol, identified by a tag.
RecurrenceRule
Represents the iCalendar RFC 5545 standard recurrence rule to specify repeating events: https://tools.ietf.org/html/rfc5545#section-3.3.10
RegisterDevice
A request for registering this device.
RemoveDataStreams
RoleData
Expected participant data for all participants with a specific roleName.
Rotation
Rate of rotation of the device in 3D space. Typically captured by a gyroscope.
SamplingConfiguration
Contains configuration on how to sample a data stream of a given type.
Schedulable
An interface marking that a TriggerConfiguration can be scheduled.
ScheduledTrigger
A trigger which starts a task according to a recurring schedule starting on the date that the study starts.
SensorData
Holds data for a DataType collected by a sensor which may include additional sensorSpecificData.
ServiceRequest
An abstract base class for all RPC requests to CARP.
SetParticipantData
A request for adding data for a participant.
SexInput
The biological sex assigned at birth of a participant.
SignalStrength
The relative received signal strength of a wireless device. The unit of the received signal strength indicator (rssi) is arbitrary and determined by the chip manufacturer, but the greater the value, the stronger the signal.
Smartphone
Configuration of an internet-connected smartphone with built-in sensors.
SmartphoneClient
Allows managing studies on a smartphone.
SmartphoneDeviceRegistration
A DeviceRegistration for a Smartphone specifying details of the phone.
Snapshot
An immutable snapshot of a CARP Core domain object. Used as the base class for serializable CARP domain objects.
SocialSecurityNumberInput
The social security number (SSN) of a participant.
StepCount
Step count data as number of steps taken in a corresponding time interval.
Stop
A request for permanently stopping a study deployment.
Study
A study deployment, identified by studyDeploymentId, which a client device participates in with the role deviceRoleName.
StudyDeployment
A single instantiation of a StudyProtocol, taking care of common concerns related to devices when 'running' a study.
StudyDeploymentStatus
A StudyDeploymentStatus represents the status of a deployment as returned from the CARP web service.
StudyInvitation
A description of a study, shared with participants once they are invited to a study.
StudyProtocol
A description of how a study is to be executed, defining the type(s) of primary device(s) (PrimaryDeviceConfiguration) responsible for aggregating data, the optional devices (DeviceConfiguration) connected to them, and the TaskControl's which lead to data collection on said devices.
StudyRuntime<TRegistration extends DeviceRegistration>
Manage data collection for a specific primary device deployment on a client device.
TaskConfiguration
Describes requested measures and/or output to be presented on a device.
TaskControl
Specifies that once a condition of the trigger with triggerId applies, the task with taskName on destinationDeviceRoleName should be started or stopped (as specified by the control parameter).
TimeOfDay
A time on a day in 24-hour format. Used in a ScheduledTrigger.
TriggerConfiguration
Any condition on a device (DeviceConfiguration) which starts or stops TaskConfigurations at certain points in time when the condition applies. The condition can either be time-bound, based on data streams, initiated by a user of the platform, or a combination of these.
TriggeredTask
Indicates the task with taskName was started or stopped (control) by the trigger with triggerId on the device with destinationDeviceRoleName, referring to identifiers in the study protocol. triggerData may contain additional information related to the circumstances which caused the trigger to fire.
UnregisterDevice
A request for unregistering this device.
UpdateParticipantDataConfiguration
UsernameAccountIdentity
Identifies an account by a unique username.
WebBrowser
Configuration of an internet-connected web browser device with no built-in sensors.
WebBrowserRegistration
A DeviceRegistration for a WebBrowser specifying details of the browser.
WebTask
Redirects to a web page which contains the task which needs to be performed. The passive measures are started when the website is opened and stopped when it is closed.

Enums

Control
Determines what to do with a task once the condition of a trigger is met.
DataTimeType
Describes how Data for a DataType is stored temporally.
DeviceDeploymentStatusTypes
The types of device deployment status.
EndType
Specify how a RecurrenceRule may end as specified in End.
Frequency
Specify repeating events in a RecurrenceRule based on an interval of a chosen type or multiples thereof.
Granularity
The level of detail a data stream should be sampled at, corresponding to expected degrees of power consumption.
Sex
Biological sex of a person.
StudyDeploymentStatusTypes
The types of study deployment status.
StudyStatus
Describes the status of a Study.