# Sampling
Warning!
If you edit anything in your sampling while your study is already running, the changes won't propagate automatically to your participants' devices.
To fetch the changes on your participants' devices, they need to follow the steps described in the chapter App usage.
# Sampling Graph
The sampling defines in a visual language when an action will be performed. With this visual language several sampling blocks can be combined to design a sampling scheme that fits nearly every study.
You can drag the blocks from the left side to the white sampling document on the right side. You can rearrange the blocks by dragging them around. You can adjust the view of the sampling document by dragging the white background.
After placing the blocks you can configure them. You can do so by double-clicking the block or clicking on the edit pen in the right top corner of the block. In the appearing window you need to configure the block. As soon as you saved the block configuration the block shows its configuration in an abbreviated version. The "Form" block only shows the internal id of the form. With the root block Sampling Running you can configure the study like the pin code or the lockout mode.
The sampling blocks can be combined in a specific order (the grammar of the visual language). This order is represented through the colors of a traffic light (red, yellow, green).
- One or more red conditions. These conditions narrow down the range of the sampling.
- One yellow trigger. This trigger defines when the actions below start.
- One or more green actions. These actions execute as soon as the trigger applies.
As soon as you have placed some blocks in the sampling document you can connect them. Do this by dragging the handle on the bottom of the block to the top of the subsequent block. The handle of the block (square or circle) assures that you only place one trigger in each path.
You can save your sampling by pressing the save button in the top right corner.
WARNING
If you leave the sampling page without saving, your changes will be lost!
# Alarm Configuration
The alarm block triggers the participant to e.g. fill out a form. In the default configuration the alarm reminds the participant over five minutes.
By changing the Sound/Vibration duration, the Display duration and the Number of alarms, you can configure how often and how long the participant will be reminded. You can also allow the participant to delay or dismiss the alarm if he is currently busy.
# Random Time Trigger
The random time trigger follows a stratified randomization instead of allowing random prompts at any possible time. It takes the set time frame and divides it equally to accommodate the number of required prompts. It’s within these smaller chunks that the random prompt appears, only governed by the minimum time between prompts.
For Example, you set the Start Time to 8:00 and the End Time to 20:00, the Number of Prompts to 6 and the Minimum Time Between Prompts to 0:30 (30 minutes). The random time trigger will now divide the 12 hour time frame between start time and end time into 6 chunks of 2 hours. So the 6 prompts appear randomly in the following time frames:
Note: If a prompt occurs near the end of its time frame, the next prompt actually falls in a smaller time frame due to the minimum time between prompts. E.g. in the example above, if the first prompt occurs at 09:50 and the minimum time between prompts is set to 0:30, the second prompt triggers sometime between 10:20 and 12:00.
WARNING
There are 2 different messages which could be displayed by the smartphone after starting a study with the random time trigger:
- Configuration warning in 'Random Time': 'Minimum Time Between Prompts' is too high to get a good random distribution.
This message will be displayed, when two times the Minimum Time Between Prompts is higher than the potential time frame. This may lead to a bad randomization. - Configuration error in 'Random Time': 'Number of Prompts' do not fit into day because of 'Minimum Time Between Prompts'.
This message will be displayed when the configured Minimum Time Between Prompts is higher than the potential time frame. This will lead to a non-functional randomization.
# Best practice
# Simple Scheme
Sampling every day between 08:00 and 20:00, 8 alarms with one form. If you have a SIM-Card and mobile data contract installed in your smartphone you can instantly upload the collected forms by adding an upload block. For simplicity we only added this block to this example.
# Simple Scheme + Participant Can Start the Form
The same scheme as before, but now the participant starts a form himself by pressing the button Start form. An alarm is not necessary if the participant triggered the form himself.
# Weekday/Weekend Sampling Scheme
In this scheme we added two weekday blocks and two fixed time blocks. From Monday to Friday, the random sampling is active. At the weekend only at the fixed time 14:00 and 18:00 o’clock an alarm comes up.
# Different Forms at Different Days
If you want to have different forms to appear at different days of the study you can use the Sampling Day blocks. In the example below the first path is only executed at day one, the second path is executed at day two.
# Different Forms at Different Times
If you want to have different forms to appear at different times you can have a different path (with an alarm block and a form block) for each time.
# Mixed Scheme
Of course you can also mix all the examples above, but we recommend keeping it as simple as possible.
# Different Start Dates for Each Participant
It is very common, that you run a study with multiple participants that start at different days. Please try to keep your sampling scheme as date independent as possible and try not to use the Date Range block. Instead just define a start and end date for each participant in the Participants tab of your study.
In the example below the sampling for the first participant starts at 2013-03-12 and ends at 2013-03-19 (both days included). The sampling for the second participant starts one day later but does not end until you stop it on the smartphone. The sampling for the third participant starts as soon as you start the sampling on the device and will only stop if you stop it on the smartphone.
# Sampling Blocks Library version 8455
Mobile Sensing, Advanced Features and Sensor Trigger contain additional information about more sampling blocks and their function.
# Enabled by default
Time
Initial Play
This event fires only once after the previous node is true.
Immediately Play
This event fires as soon as the previous node is true.
Fixed Time Play
This event fires if the specified time is reached and triggers the successor nodes. A.k.a. Interval-contingent.
Label | Description | Type | Default-Value |
---|---|---|---|
Time | Time in the format HH:mm | Date | 14:00 |
Repeated Play
This trigger fires in the configured interval as long as the previous condition stays true.
Label | Description | Type | Default-Value |
---|---|---|---|
Repeat interval | Interval to trigger in seconds. 3600 = 1 hour. | Integer | 3600 |
Reset time, when other triggers happen On request | When enabled, the interval time is reset, if another trigger happened during the interval time. | Boolean | false |
Randomization time On request | Time to randomize the repeat interval in seconds. e.g. 600 = ±10 minutes. | Integer | 0 |
Random Time Play
This event fires randomly a specified number of prompts in the specified time period and triggers the successor nodes. A.k.a. Signal-contingent.
Label | Description | Type | Default-Value |
---|---|---|---|
Start Time | Time in the format HH:mm | Date | 08:00 |
End Time | Time in the format HH:mm | Date | 20:00 |
Mutable Value Name for Start Time On request | Name of mutable value which defines the start time. | String | |
Mutable Value Name for End Time On request | Name of mutable value which defines the end time. | String | |
Number of Prompts | Number of Prompts between start and end time | Integer | 8 |
Minimum Time Between Prompts | Time in the format HH:mm | Date | 00:30 |
Date Range Play
This condition is true if the current date is in the selected range. Start and end date is included.
Label | Description | Type | Default-Value |
---|---|---|---|
Start date | Start date of the condition. Dates must be formatted as yyyy-MM-dd | Date | |
End date | End date of the condition. Dates must be formatted as yyyy-MM-dd | Date |
Weekday Play
This condition is true if the enabled weekday is reached.
Label | Description | Type | Default-Value |
---|---|---|---|
Weekdays | Comma-seperated list of enabled weekdays. [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday] | String | Monday, Tuesday |
Time Range Play
This condition is true if the current time is between the specified time range.
Label | Description | Type | Default-Value |
---|---|---|---|
Start Time | Time in the format HH:mm | Date | 08:00 |
End Time | Time in the format HH:mm | Date | 20:00 |
Mutable Value Name for Start Time On request | Name of mutable value which defines the start time. | String | |
Mutable Value Name for End Time On request | Name of mutable value which defines the end time. | String |
Sampling Day Play
This condition is true if the sampling day is in the defined range (Sampling day starts with day 1 and increments at midnight if sampling is running).
Label | Description | Type | Default-Value |
---|---|---|---|
Start day | Start day as number | Integer | 1 |
End day | End day as number | Integer | 2 |
Forms
Form Play
This action runs the specified form. Place an alarm before to notifiy the participant about the form!
More information about randomization and page indicators can be found here.
Label | Description | Type | Default-Value |
---|---|---|---|
Form ID | Id of the form to run | String | |
Timeout Interval | After how many seconds of inactivity a timeout warning will be shown. (0 = disable) | Integer | 60 |
Timeout Length | Length of the timeout alarm in seconds. | Integer | 20 |
Display back button | Allows the user to go back to the previous question. | Boolean | true |
Show Page Indicator | Shows a small page indicator at the top of the form. | Boolean | true |
Screen orientation | Locks the screen orientation [Free, Portrait, Landscape]. | String | Free |
Randomized On request | If marked, the questions are displayed in a random order. | Boolean | false |
Include Form to Gamification On request | If marked, the the completions or incompletions will be used in gamification score calculation. | Boolean | true |
Count of random items On request | Shows only the given count of all items in a stratified randomized order (if randomized is activated). If 0 all items will be randomized. | Integer | 0 |
Alarm Play
This notifies the participant about a task he has to perform e.g. fill out a form.
Label | Description | Type | Default-Value |
---|---|---|---|
Title | Title text of the alarm. | String | Alarm |
Sound/Vibration duration | How long the sound and vibration lasts per alarm in seconds. | Integer | 10 |
Display duration | How long one alarm will be shown after sound and vibration in seconds. | Integer | 50 |
Number of alarms | How often a alarm shows. | Integer | 5 |
Maximum delay time | How long the participant can delay the alarm in minutes (0=disabled). | Integer | 20 |
Delay Step Length On request | In which step length the delay time should be devided. | Integer | 5 |
Dismissable | The participant can dismiss the alarm. | Boolean | true |
Upload Results Play
This action uploads the collected results to the server.
Label | Description | Type | Default-Value |
---|---|---|---|
Automatic upload retry | Retry upload automatically if no internet connection was available. WARNING: All upload blocks will automatically using the highest choosen option. Please don't mix Wlan and Any (None will be ignored in the future). Options [None, Wlan, Any] | String | Wlan |
Study
Button pressed Play
This event fires if the participant presses a presented button and triggers the successor nodes. A.k.a. Event-contingent.
Label | Description | Type | Default-Value |
---|---|---|---|
Button label | Label of the button that is shown in the home screen | String | Start form |
Button order | The order of the buttons on the home screen. The higher the order/weight, the deeper it sinks. | Integer | 1 |
One time button | If you activate this the button is only once clickable. | Boolean | false |
Button Group On request | Button will be added to the defined button group and can be minimized. | String |
Advanced
Delay Play
This event delays the previous event for the specified time and then triggers the successor nodes.
Label | Description | Type | Default-Value |
---|---|---|---|
Delay | Time to delay the source signal in seconds | Integer | 10 |
# Available on request
Sampling blocks or features which are marked "On request" can be requested by contacting our support team.
Time
Calendar Trigger On request Play
This event fires if the time of the calendar event is reached and triggers the successor nodes. Events can be set through the calendar item format.
Label | Description | Type | Default-Value |
---|---|---|---|
Calendar Event Type On request | Comma separated list of enabled calendar events. [Start, End, Both] | String | Both |
Lead Time On request | Time range in minutes to trigger before an event starts. | Integer | 5 |
Participant Time Trigger On request Play
This event fires if the time of the mutable value is reached and triggers the successor nodes. The mutable value can be set by the participant with the time item format in a form.
You can also use the datetime itemformat, which will then trigger on the exact date and time. In such cases, you should not set repeated to true.
Label | Description | Type | Default-Value |
---|---|---|---|
Mutable Value On request | Name of the Mutable Value. | String | Time_1 |
Repeated On request | Trigger should be repeated every day. | Boolean | true |
Study
Number of Responses On request Play
This condition is true if the number of responses are in the defined range (Response number starts with 0 and increments if a form is completed).
Label | Description | Type | Default-Value |
---|---|---|---|
Minimum responses | Minimum responses to be true | Integer | 0 |
Maximum responses | Maximum responses to be true | Integer | 50 |
Smartphone
Battery Low On request Play
This condition is true if the battery level is below the configured level.
Label | Description | Type | Default-Value |
---|---|---|---|
Level On request | The low battery level. | Integer | 20 |
Internet Available On request Play
This condition is true if a internet connection is available.
Label | Description | Type | Default-Value |
---|---|---|---|
Only when on WiFi On request | If enabled this condition is only true if a internet connection over WiFi is established. | Boolean | false |
Vibrate On request Play
This action let the device vibrate.
Label | Description | Type | Default-Value |
---|---|---|---|
Duration On request | Duration of the vibration in milliseconds | Long | 500 |
Context
Multi Geofence Trigger On request Play
This event fires if a given geofence was entered, left or the participant is staying in it over some time.
The geofences have to be specified in the following csv format:
id,name,latitude,longitude,radius,mode,durationOfStay 0,Mensa,49.0118868,8.4168792,100,enter 1,Oxford,49.0098936,8.4144250,100,stay 2,Studierendenwerk,49.01136560000001,8.4172656,100,exit 3,Fachschaft Informatik,49.0143397,8.4178346,100,stay,600
- id integer value which should be ascending. No duplicates allowed.
- name or description of the geofence in alphanumerical characters.
- latitude latitude of the geofence. Ranges between -90 and 90.
- longitude longitude of the geofence. Ranges between -180 and 180.
- radius integervalue in meter.
- modus one of stay, enter or exit.
- durationOfStay integer value in seconds(optional, default=300).
Label | Description | Type | Default-Value |
---|---|---|---|
Geofences (CSV) On request | Geofences in a CSV format ('id,name,latitude,longitude,radius,mode,durationOfStay'). The mode requires one of 'stay', 'enter' or 'exit'. | String |
WiFi Available On request Play
This trigger fires if the specified WiFi network is available.
Label | Description | Type | Default-Value |
---|---|---|---|
Check interval On request | Interval to check if a WiFi network is around in seconds. Because WiFi scanning consumes lots of power a practical value is 15 Minutes. | Integer | 900 |
WiFi names On request | Comma-seperated list of WiFi networks (SSIDs). | String |
User Present On request Play
This condition is true if the user is currently using the smartphone.
Geofence Trigger On request Play
This event fires if a given geofence was entered, left or the participant is staying in it over some time.
Label | Description | Type | Default-Value |
---|---|---|---|
Latitude On request | Latitude of the geofence. | Double | 0 |
Longitude On request | Longitude of the geofence. | Double | 0 |
Radius On request | Radius of the given geofence in meter. | Integer | 100 |
Geofence Type On request | Specifies if the trigger will be triggered by entering, leaving or staying in the bounds of the geofence. Options [Enter, Stay, Exit]. | String | Enter |
Duration of Stay On request | Specifies how long the participant must stay in the geofence in seconds to trigger it. Only needed if the geofence type is 'Stay'. | Integer | 300 |
Initial Trigger On request | Specifies if the geofence should trigger the initial location of the participant dependent on the geofence. | Boolean | false |
Notification Trigger On request Play
Trigger when a notification arrives. Please note: Notifications arrive very often, keep in mind to not bother your participants to often.
Label | Description | Type | Default-Value |
---|---|---|---|
Filter On request | Only react to the given packages (Separated with ';') | String | com.whatsapp |
App Used On request Play
This trigger fires if the specified app or activity is opened/closed. This functionality may not work on Android 5.0 or higher.
Label | Description | Type | Default-Value |
---|---|---|---|
Type On request | Defines if triggers on open or close of the application (AppOpened, AppClosed). | String | AppClosed |
Package or activity identifier On request | The identifier of an app (e.g. com.android.settings) or of an activity (e.g. com.android.settings/.Settings) to trigger on. | String | com.android.settings/.Settings |
GIS Trigger On request Play
This trigger fires if the GIS returns a trigger.
Label | Description | Type | Default-Value |
---|---|---|---|
GIS url On request | GIS url | String | |
Distance On request | Distance the device must travel to check the GIS. Distance in meters. | Integer | 100 |
Location Changed On request Play
This trigger fires if the location changed.
Label | Description | Type | Default-Value |
---|---|---|---|
Distance On request | Distance the device must travel to trigger a location change. Distance in meters. Accuracy varies between 10 and 1000 meters. | Integer | 1000 |
Location Stationary On request Play
Condition is true if the part. is stationary or not. It transitions to a stationary state when the part. remains within 100m of a central position or no location update occurs for 120s. No more tracking will be done until the part. leaves the 100m radius.
Label | Description | Type | Default-Value |
---|---|---|---|
Stationary On request | Specifies if the condition should be true if the participant is stationary or not. | Boolean | true |
Nearby Devices Condition On request Play
This condition will be true when at least one matching beacon is in range. It will send a bluetooth advertisement through IBeacon standard on supported devices and will take all other devices which are broadcasting with a beacon standard into account.
An IBeacon consists of three parts:
ID | Description | movisensXS broadcast content |
---|---|---|
ID1 | UUID | 7ab97c36-b634-11e6-80f5-76304dec7eb7 |
ID2 | Major value | StudyId |
ID3 | Minor value | ParticipantID |
7ab97c36-b634-11e6-80f5-76304dec7eb7
and uses the StudyId as the Major value and the ParticipantID as the Minor value. This feature can e.g. be used to identify situations where partners are close to each other by specifying the movisensXS UUID in ID1, the StudyID in ID2 and the ParticipantID of e.g. participant 1 in the ID3 field of participant 2. You find the StudyId in the browser url of movisensXS e.g. https://xs.movisens.com/studies/111. This block is typically used in conjunction with the Log Nearby Devices mobile sensing block to log the nearby devices seen.Label | Description | Type | Default-Value |
---|---|---|---|
Broadcast Signal On request | Enable to broadcast nearby signal. | Boolean | true |
Scanning interval On request | Determines how long the scan should last. Beacon scanning consumes power, a practical value is 10 seconds. | Integer | 10 |
Time Between Scans On request | Interval between scans if a beacon is around in seconds. Beacon scanning consumes power, a practical value is 300 seconds. | Integer | 300 |
ID1/URL Regex On request | Regex of ID1 or URL in case of Eddystone URL | String | [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12} |
ID2 Regex On request | Regex of ID2 | String | .* |
ID3 Regex On request | Regex of ID3 | String | .* |
Location Accuracy On request Play
This action changes the location accuracy.
Label | Description | Type | Default-Value |
---|---|---|---|
Accuracy On request | Requested Accuracy (Auto, High, Passive) | String | Auto |
SMS received On request Fullfeature
This condition is true if the user has received an SMS.
On the phone On request Fullfeature
This condition is true if the user is currently talking on the phone.
Logging
Log Physical Activity On request Play
This logs the physical activity of the user (IN_VEHICLE: 0, ON_BICYCLE: 1, ON_FOOT: 2, STILL: 3, UNKNOWN: 4, TILTING: 5). This implementation is based on Google Play Services which detection algorithm could change even during a running study.
Label | Description | Type | Default-Value |
---|---|---|---|
Log interval On request | Minimal interval to log the physical activity in seconds. Activity may be logged more often, if requested by other apps. | Integer | 60 |
Log Notifications On request Play
This Logs all incoming notifications in an eventbased manner.
Label | Description | Type | Default-Value |
---|---|---|---|
Filter On request | Only react to the given packages (Separated with ';') | String |
Log Steps On request Play
This logs the steps.
Log Location On request Play
This logs the location in an energy efficient way.
Log Static Locations On request Play
This logs static locations which were detected by the location functionality of movisensXS. It will only save new static location. They can be labeled via the 'Label Static Location' item.
For more information about the geocoder feature, please see here.
Label | Description | Type | Default-Value |
---|---|---|---|
Location Radius On request | Location radius | Integer | 100 |
High Accuracy Timeout On request | Handles after how many seconds without location update the transition to stationary state should happen. | Integer | 120 |
Tags On request | Potential tags which can be used in 'Label Static Location' item. (Separated by ';') | String |
Log Device Running On request Play
This logs device running to a unisens log once per minute.
Log Display On/Off On request Play
This condition is true if the display is on.
Log App Usage On request Play
This logs the used applications.
Label | Description | Type | Default-Value |
---|---|---|---|
Limit to Apps On request | Applications which should be logged only. All other applications will not be written in log files. Please split with ';' if you want to specify more than one. | String |
Log Nearby Device Count On request Play
This logs the nearby devices count in an unsisens log file. It will send a bluetooth advertisement through IBeacon standard on supported devices and will protocol all other devices which are broadcasting with a beacon standard.
Label | Description | Type | Default-Value |
---|---|---|---|
Broadcast Signal On request | Enable to broadcast nearby signal. | Boolean | true |
Scanning interval On request | Determines how long the scan should last. Beacon scanning consumes power, a practical value is 10 seconds. | Integer | 10 |
Time Between Scans On request | Interval between scans in seconds. Beacon scanning consumes power, a practical value is 300 seconds. | Integer | 300 |
ID1/URL Regex On request | Regex of ID1 or URL in case of Eddystone URL | String | |
Types On request | Type of beacon which should be considered. Many of \ibeacon\, \eddystone\, \altbeacon\, \gaen\ | String | ibeacon, eddystone, altbeacon, gaen |
Log Music Listening On request Play
This logs the currently listened music metadata and the current playback state.
Log Record Audio Condition On request Play
This condition records the audio of the microphone till the condition is set to false. Files are stored on the sdcard in the folder 'Android/data'. Please Note: If you use this, you shouldn't use other item formats which connect to the microphone.
Label | Description | Type | Default-Value |
---|---|---|---|
Maximum Duration On request | Maximum Time before finishing the recording if not stopped before in seconds | Integer | 45 |
Uncompressed On request | The files are saved as uncompressed .wav files | Boolean | false |
Password On request | The password which is used to encrypt the .wav files | String |
Log Battery Level On request Play
This logs the battery level to a unisens log.
Log Mutable Values On request Play
This logs the creation and manipulation of mutable values.
Log Nearby Devices On request Play
This logs nearby devices in an unsisens log file. It will send a bluetooth advertisement through IBeacon standard on supported devices and will protocol all other devices which are broadcasting with a beacon standard.
Label | Description | Type | Default-Value |
---|---|---|---|
Broadcast Signal On request | Enable to broadcast nearby signal. | Boolean | true |
Scanning interval On request | Determines how long the scan should last. Beacon scanning consumes power, a practical value is 10 seconds. | Integer | 10 |
Time Between Scans On request | Interval between scans in seconds. Beacon scanning consumes power, a practical value is 300 seconds. | Integer | 300 |
Log Audio Volume & Frequency On request Play
This logs the volumen and frequency of the microfone.
Record Audio On request Play
This action records the audio of the microphone for the specified duration. Files are stored on the sdcard in the folder 'movisensXS/EAR'. Please Note: If you use this, you shouldn't use other item formats which connect to the microphone (video, audio).
Label | Description | Type | Default-Value |
---|---|---|---|
Duration On request | Time to record audio in seconds | Integer | 45 |
Uncompressed On request | The files are saved as uncompressed .wav files | Boolean | false |
Log Traffic On request Play
This action logs the traffic usage.
Log Download On request Play
This action downloads a file.
Label | Description | Type | Default-Value |
---|---|---|---|
URL On request | URL of the file to download | String | http://www.google.com |
Log CPU and Memory On request Play
This action logs the CPU and Memory usage.
Log Ambient Light On request Play
This action logs the ambient light detected by the smartphone sensor.
Log Phone Call On request Fullfeature
This logs the phone activity in an anonymized way (Hashing of phone numbers).
Log SMS On request Fullfeature
This logs the SMS activity in an anonymized way (Hashing of phone numbers).
Sensors
For more information about the sensor trigger feature, please see here.
Log Sensor Connection State On request Play
Logs connection states of coupled movisens sensors.
Activity/Inactivity On request Play
Triggers when periods of activity/inactivity are detected.
Label | Description | Type | Default-Value |
---|---|---|---|
Activity Aggregation Length On request | Aggregation length for moving average filter in [min] | Integer | 10 |
Activity Threshold Start On request | Start value of activity threshold in [g] | Double | 0.2 |
Inactivity Threshold Start On request | Start value of inactivity threshold in [g] | Double | 0.01 |
Trigger Timeout On request | Trigger timeout, when no activity/inactivity trigger occurs, in [min] | Integer | 100 |
Time Between Triggers On request | Minimal time between triggers in [min] | Integer | 40 |
Threshold Change On request | Change of activity and inactivity thresholds in [%] | Double | 5.0 |
Upper Activity Inactivity Ratio Limit On request | Upper Activity Inactivity Ratio Limit | Double | 2.05 |
Lower Activity Inactivity Ratio Limit On request | Lower Activity Inactivity Ratio Limit | Double | 0.95 |
Minimal Triggers for Ratio Adaption On request | Minimal number of triggers before threshold adjustment starts | Integer | 6 |
Decreased Rmssd On request Play
Triggers when stress periods causing a decrease of the rmssd.
Label | Description | Type | Default-Value |
---|---|---|---|
Window length of Movement Acceleration [min] On request | Window length of Movement Acceleration [min] | Integer | 5 |
Regression method On request | Regression method [LINEAR, INVERSE] | String | LINEAR |
RMSSD Assessment Window [min] On request | RMSSD Assessment Window [min] | Integer | 10 |
No. of periods in Low RMSSD [min] On request | No. of periods in Low RMSSD [min] | Integer | 8 |
Minimal distance between prompts [min] On request | Minimal distance between prompts [min] | Integer | 60 |
Minimum time from last Low RMSSD [min] On request | Minimum time from last Low RMSSD [min] | Integer | 10 |
Mutable Value for External Triggering On request | Mutable value name for external triggering. | String | |
History Length On request | History length in external triggering mode. | Integer | 20 |
Adaptive Eda Scl On request Play
Adaptive Eda Scl.
Label | Description | Type | Default-Value |
---|---|---|---|
Sub Window Size On request | Sub Window Size in [min] | Integer | 100 |
Minimum Time Between Triggers On request | Minimum Time Between Triggers in [min] | Integer | 30 |
Maximum Time Without Trigger On request | Maximum Time Without Trigger in [min] | Integer | 150 |
Minimum Consecutive Eda Scl Values under Threshold On request | Minimum Consecutive Eda Scl Values under Threshold in [min] | Integer | 2 |
Eda Scl Running Mean Length On request | Eda Scl Running Mean Length | Integer | 2 |
Physical Activity Cutpoint On request | Physical Activity Cutpoint | Double | 0.05 |
Minimum Timeout After Activity On request | Minimum Timeout After Activity | Integer | 5 |
Threshold Tolerance Percent On request | thresholdTolerancePercent | Double | 20.0 |
Enable High Activity Triggers On request | Enable High Activity Triggers | Boolean | true |
Adaptive Rmssd On request Play
Adaptive Rmssd Algorithm.
Label | Description | Type | Default-Value |
---|---|---|---|
Sub Window Size On request | Sub Window Size in [min] | Integer | 100 |
Minimum Time Between Triggers On request | Minimum Time Between Triggers in [min] | Integer | 30 |
Maximum Time Without Trigger On request | Maximum Time Without Trigger in [min] | Integer | 150 |
Minimum Consecutive Rmssd Values under Threshold On request | Minimum Consecutive Rmssd Values under Threshold in [min] | Integer | 2 |
Rmssd Running Mean Length On request | Rmssd Running Mean Length | Integer | 2 |
Physical Activity Cutpoint On request | Physical Activity Cutpoint | Double | 0.05 |
Minimum Timeout After Activity On request | Minimum Timeout After Activity | Integer | 5 |
Threshold Tolerance Percent On request | thresholdTolerancePercent | Double | 20.0 |
Enable High Activity Triggers On request | Enable High Activity Triggers | Boolean | true |
Simple Rmssd On request Play
Triggers when rmssd value is below a specific threshold.
Label | Description | Type | Default-Value |
---|---|---|---|
Settle After Active Duration On request | Settling duration after active period in [min] | Integer | 10 |
Minimum Duration in Low Rmssd On request | Minimum duration of low RMSSD state for triggering in [min] | Integer | 5 |
Rmssd Ratio On request | Ratio between low and baseline RMSSD | Double | 0.7 |
Simple Eda Scl Mean On request Play
Triggers when 'eda scl mean' differs from previous value with a given threshold percentage.
Label | Description | Type | Default-Value |
---|---|---|---|
Eda Threshold (%) On request | Percentual change of last value should trigger movisensXS | Integer | 80 |
Sensor Value On request Play
Compares sensor values against simple thresholds, values, ranges or percentage changes.
Label | Description | Type | Default-Value |
---|---|---|---|
Movisens Characteristic On request | Characteristic or parameter to assess | String | Movement Acceleration |
Absolute or Percentage On request | Defines if borders are absolute values or percentage changes | String | absolute |
Comparison Operator On request | Compares operators between sensor value and comparison value. E.g. is true if sensor value greater than comparison value | String | equal |
1st Compare Value On request | First comparison value to activate the condition | Double | 0 |
2nd Compare Value On request | Second comparison value to activate the condition. Only used for inside/outside range. | Double | 0 |
Temporal Operator On request | Temporal operator which determines if the proposition should be true X times in a row, or at least once in X minutes. | String | at least |
Temporal Value On request | Temporal value related to the temporal operator | Integer | 1 |
Calculation Type On request | Defines which calculation type will be used in window. | String | sum |
Heart Rate On request Play
Triggers when heart rate reaches specified threshold (specified at study start)
MET Level On request Play
Triggers when the 'Metabolic Equivalent of task level Algorithm' triggers
Sensor Battery Low On request Play
Triggers when one of the coupled sensors has a low battery.
Label | Description | Type | Default-Value |
---|---|---|---|
Battery Level On request | Battery threshold. | Integer | 30 |
Eda Scl Steps On request Play
Triggers when eda scl rises considering step count increase.
Movement Acceleration On request Play
Triggers when the movement acceleration reaches specified threshold.
Label | Description | Type | Default-Value |
---|---|---|---|
Movement Acceleration Threshold [g] On request | Threshold of movement acceleration | Double | 0.2 |
Sensor Stopped On request Play
Triggers when one of the coupled sensors stops recording.
Sensor Paused On request Play
Triggers when one of the coupled sensors is in an paused state.
Sedentary On request Play
Triggers when participant is sitting for a configured time span.
Label | Description | Type | Default-Value |
---|---|---|---|
Minimum Duration [min] On request | Minimum duration in sedentary activity [min] | Integer | 30 |
Sensor Disconnected On request Play
Triggers when one of the coupled sensors disconnects from the smartphone.
Label | Description | Type | Default-Value |
---|---|---|---|
Trigger Time On request | Time to trigger after connection loss (in s). | Integer | 60 |
Write Current Time to Sensor On request Play
This action will write the current time to all connected times
Stop Sensor On request Play
This action stops all coupled movisens sensors
Advanced
Follow-up On request Play
This condition is true for the specified time as soon as it is activated.
Label | Description | Type | Default-Value |
---|---|---|---|
Duration On request | Time this condition is true in seconds | Integer | 10 |
All sources valid On request Play
This condition is true if all source conditions are valid (Logic AND).
Invert On request Play
This condition inverts the previous condition. It is true if the previous condition is false (Logic NOT).
Check Mutable Value On request Play
This condition is true if the mutable value is equal to the compare value.
For more information about the mutable value feature, please see here.
Label | Description | Type | Default-Value |
---|---|---|---|
Mutable Value On request | Name of the Mutable Value. [Predefined Mutable Values are SamplingDay, SamplingNumber] | String | Counter |
Comparison Operator On request | Comparison operators between Mutable Value and Compare Value, e.g. is true if Mutable Value is 'greater' than Compare Value (equal, unequal, greater, less) | String | equal |
Compare Value On request | Value to compare the mutable value to (Not case sensitive). | String | 1 |
Start Analysis On request Play
This action will trigger a analysis on a remote server.
Label | Description | Type | Default-Value |
---|---|---|---|
URL On request | URL to call for analysis. | String | |
Add Participant metadata to request. On request | Add Participant metadata to request. | Boolean | false |
Number of retries. On request | Indicates how often the analysis should be retried if there are errors. | Integer | 5 |
Mutable values. On request | List of mutable value names, which should be sent as JSON (separated by ';') | String |
Change Mutable Value On request Play
This action can change a mutable value.
For more information about the mutable value feature, please see here.
Label | Description | Type | Default-Value |
---|---|---|---|
Mutable Value On request | Name of the mutable value | String | Counter |
Operation On request | Operation to perform (set, increment, decrement) | String | increment |
Value On request | Value of the operation (If operation='set' the mutable value is changed to this value. If operation='increment/decrement' the variable is changed by this amount). | String | 1 |
Check Mutable Value Action On request Play
This action can check a mutable value and blocks following nodes if defined condition not applies.
For more information about the mutable value feature, please see here.
Label | Description | Type | Default-Value |
---|---|---|---|
Mutable Value On request | Name of the Mutable Value. [Predefined Mutable Values are SamplingDay, SamplingNumber] | String | Counter |
Comparison Operator On request | Comparison operators between Mutable Value and Compare Value, e.g. is true if Mutable Value is 'greater' than Compare Value (equal, unequal, greater, less) | String | equal |
Compare Value On request | Value to compare the mutable value to (Not case sensitive). | String | 1 |
One Of On request Play
Triggers stratified randomized one of the underlying destination nodes.
Label | Description | Type | Default-Value |
---|---|---|---|
Mutable Value Name On request | Name of mutable value in which already shown items will be stored. Needed to reset shown items. | String |
Frequency Limit On request Play
This action prevents too much triggers.
Label | Description | Type | Default-Value |
---|---|---|---|
Time between triggers On request | Minimal time between triggers in seconds | Integer | 3600 |
Gamification
For more information about the gamification feature, please see here.
Log Gamification Score On request Play
Adds Gamification capabilities to movisensXS.
Label | Description | Type | Default-Value |
---|---|---|---|
Added Score for Form completed On request | Count which should be added to gamification score when a form will be completed. | Integer | 5 |
Subtracted Score for Form incomplete On request | Count which should be subtracted from gamification score when a form will be incomplete. | Integer | 1 |
Subtracted Score for Alarm dismissed On request | Count which should be subtracted from gamification score when a alarm will be dismissed. | Integer | 2 |
Subtracted Score for Alarm missed On request | Count which should be subtracted from gamification score when a alarm will be missed. | Integer | 1 |
Active Streaks as JSON On request | Describes which streaks are active, which names they have, which multiplier they give and how many forms should be completed. | String | |
Active Level as JSON On request | Count which should be subtracted from gamification score when a alarm will be missed. | String | |
Gamification Notifications On request | Enables notifications for gamification events. | Boolean | true |
Change Gamification Score On request Play
This action lowers or highers the total gamification score.
Label | Description | Type | Default-Value |
---|---|---|---|
Score delta On request | Count which should be added or removed (negative values allowed) from gamification score. | Integer | 5 |
Development
Intent Received On request Play
This condition listens to an android broadcast intent operation.
Label | Description | Type | Default-Value |
---|---|---|---|
Intent On request | An Android broadcast intent is an abstract description of an operation to listen on. | String | com.yourApp.YourBroadcastName |
Send Intent On request Play
This action executes an android intent operation. An Android intent is an abstract description of an operation to be performed.
Label | Description | Type | Default-Value |
---|---|---|---|
Action On request | The general action to be performed, such as 'android.intent.action.VIEW'. | String | com.yourApp.YourReceiverName |
Data On request | The data to operate on, such as a web url. | String | |
Type On request | The type of intent [App, Activity, Broadcast, StartSerice or StopService]. | String | Broadcast |
Study Running Play
This node is active if the study is running.
Label | Description | Type | Default-Value |
---|---|---|---|
Enable Messaging | Allow participant to write/receive messages to/from the study supervisor. | Boolean | true |
Full Screen | movisensXS runs in fullscreen during the study. | Boolean | false |
Lock other Applications | If you activate this other applications are not accessible for the participant. | Boolean | false |
Allowed Apps On request | Specify apps that are allowed to run (e.g. 'com.yourApp'). This is required if you are using your own apps in the forms. This functionality may not work on Android 5.0 or higher. | String | com.yourApp |
Not Allowed Apps On request | Specify apps that are not allowed to run (e.g. 'com.yourApp'). | String | |
PIN code | This pin code allows the supervisor to control the study. The pin code '0' enables accessing the study control without pin. | Integer | 2486 |
Log Node Status and Variables On request | Logging of node status changes into the unisens file format under /sdcard/movisensXS/logs/ | Boolean | false |
Mutable Value Editor On request | Enables mutable value editor which is accessible via study management screen. | Boolean | false |
Form Starter On request | Enables form starter which is accessible via study management screen. | Boolean | false |
Disable home screen On request | Disables the home screen from showing. Only necessary if movisensXS is used to trigger actions in the background. | Boolean | false |
← Forms Mobile Sensing →