Skip to content

Commit 9e7e60d

Browse files
authored
Merge pull request #412 from RADAR-base/release-0.8.15
Release 0.8.15
2 parents bc22010 + 279a570 commit 9e7e60d

18 files changed

+371
-10
lines changed

commons/monitor/questionnaire/questionnaire_application_interaction_event.avsc

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,40 @@
77
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
88
{ "name": "eventType", "type": {
99
"name": "InteractionEventType",
10-
"doc": "NOTIFICATION_OPEN = When a user presses the notification to open the app, APP_OPEN = When a user opens the app directly, QUESTIONNAIRE_STARTED = When a user starts a questionnaire, QUESTIONNAIRE_FINISHED = When a user completes a questionnaire, QUESTIONNAIRE_CANCELLED = When a user closes a questionnaire without completing it., QUESTIONNAIRE_TRIGGERED = When a data message triggers a new questionnaire.",
10+
"doc": "Interaction event types:\n- NOTIFICATION_OPEN: User taps notification to open the app\n- APP_OPEN: User opens the app directly\n- QUESTIONNAIRE_STARTED: User begins a questionnaire\n- QUESTIONNAIRE_FINISHED: User completes and submits a questionnaire\n- QUESTIONNAIRE_CANCELLED: User exits a questionnaire without submitting\n- OTHER: Event that does not match any known category\n- UNKNOWN: Event type could not be determined\n- RECORDING_STARTED: An embedded task/recording started (e.g., audio or sensor)\n- RECORDING_STOPPED: The embedded task/recording stopped normally\n- QR_CODE_SCANNED: A QR code was scanned in the app\n- RECORDING_ERROR: The embedded task/recording failed due to an error\n- HEALTHKIT_STARTED: HealthKit sync/import started\n- HEALTHKIT_FINISHED: HealthKit sync/import finished successfully\n- HEALTHKIT_ERROR: HealthKit sync/import failed\n- HEALTHKIT_RETRY: HealthKit sync/import was retried\n- HEALTHKIT_EXIT: User exited the HealthKit sync flow\n- HEALTHKIT_TIMEOUT: HealthKit sync/import timed out\n- SIGN_UP: User sign-up flow started or completed\n- SIGN_UP_FAIL: User sign-up failed validation or server-side checks\n- SIGN_UP_ERROR: Unexpected error during sign-up\n- PROTOCOL_CHANGE: Study protocol changed on device\n- APP_VERSION_CHANGE: App version changed after an update\n- TIMEZONE_CHANGE: Device timezone changed\n- CONFIG_ERROR: Client configuration error detected\n- APP_RESET: Full app reset performed\n- APP_RESET_PARTIAL: Partial app reset performed\n- NOTIFICATION_CANCELLED: Scheduled notification was cancelled\n- NOTIFICATION_REFRESHED: Notification content or schedule refreshed\n- NOTIFICATION_RESCHEDULED: Notification rescheduled\n- NOTIFICATION_TEST: Test notification event.",
1111
"type": "enum",
12-
"symbols": ["NOTIFICATION_OPEN", "APP_OPEN", "QUESTIONNAIRE_STARTED", "QUESTIONNAIRE_FINISHED", "QUESTIONNAIRE_CANCELLED", "OTHER", "UNKNOWN", "RECORDING_STARTED", "RECORDING_STOPPED", "QUESTIONNAIRE_TRIGGERED"]
12+
"symbols": [
13+
"NOTIFICATION_OPEN",
14+
"APP_OPEN",
15+
"QUESTIONNAIRE_STARTED",
16+
"QUESTIONNAIRE_FINISHED",
17+
"QUESTIONNAIRE_CANCELLED",
18+
"OTHER",
19+
"UNKNOWN",
20+
"RECORDING_STARTED",
21+
"RECORDING_STOPPED",
22+
"QR_CODE_SCANNED",
23+
"RECORDING_ERROR",
24+
"HEALTHKIT_STARTED",
25+
"HEALTHKIT_FINISHED",
26+
"HEALTHKIT_ERROR",
27+
"HEALTHKIT_RETRY",
28+
"HEALTHKIT_EXIT",
29+
"HEALTHKIT_TIMEOUT",
30+
"SIGN_UP",
31+
"SIGN_UP_FAIL",
32+
"SIGN_UP_ERROR",
33+
"PROTOCOL_CHANGE",
34+
"APP_VERSION_CHANGE",
35+
"TIMEZONE_CHANGE",
36+
"CONFIG_ERROR",
37+
"APP_RESET",
38+
"APP_RESET_PARTIAL",
39+
"NOTIFICATION_CANCELLED",
40+
"NOTIFICATION_REFRESHED",
41+
"NOTIFICATION_RESCHEDULED",
42+
"NOTIFICATION_TEST"
43+
]
1344
},
1445
"doc": "Questionnaire app activity usage event type.",
1546
"default": "UNKNOWN"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.ios",
3+
"type": "record",
4+
"name": "IosMagneticField",
5+
"doc": "Data from the 3-axis magnetometer.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "x", "type": "float", "doc": "Magnetic field in the x-axis (μT)." },
10+
{ "name": "y", "type": "float", "doc": "Magnetic field in the y-axis (μT)." },
11+
{ "name": "z", "type": "float", "doc": "Magnetic field in the z-axis (μT)." }
12+
]
13+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"name": "SensorKitAcceleration",
4+
"type": "record",
5+
"doc": "Data from 3-axis accelerometer sensor with gravitational constant g as unit.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "x", "type": "float", "doc": "Acceleration in the x-axis (g)." },
11+
{ "name": "y", "type": "float", "doc": "Acceleration in the y-axis (g)." },
12+
{ "name": "z", "type": "float", "doc": "Acceleration in the z-axis (g)." }
13+
]
14+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitAmbientLight",
5+
"doc": "Data describes the amount of ambient light in the user’s environment.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "chromaticityX", "type": "float", "doc": "Chromaticity x coordinate of the ambient light in the CIE xy color space (dimensionless)." },
11+
{ "name": "chromaticityY", "type": "float", "doc": "Chromaticity y coordinate of the ambient light in the CIE xy color space (dimensionless)." },
12+
{ "name": "lux", "type": "float", "doc": "Illuminance (lx)." },
13+
{ "name": "placement", "type": {
14+
"name": "SensorPlacement",
15+
"type": "enum",
16+
"doc": "Directional values that describe light-source location with respect to the sensor.",
17+
"symbols": ["FRONT_BOTTOM", "FRONT_BOTTOM_LEFT", "FRONT_BOTTOM_RIGHT", "FRONT_LEFT", "FRONT_RIGHT", "FRONT_TOP", "FRONT_TOP_LEFT", "FRONT_TOP_RIGHT", "UNKNOWN"]
18+
}, "doc": "The light’s location relative to the sensor.", "default": "UNKNOWN"}
19+
]
20+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitAmbientPressure",
5+
"doc": "A measurement of the ambient pressure and temperature.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "pressure", "type": "double", "doc": "The ambient pressure (Pascal)." },
11+
{ "name": "temperature", "type": "double", "doc": "The temperature (Celsius)." }
12+
]
13+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitDeviceUsage",
5+
"doc": "Describes the frequency and relative duration that the user uses their device, particular Apple apps, or websites.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "duration", "type": "double", "doc": "The duration that the report spans (s)." },
11+
{ "name": "totalScreenWakes", "type": "int", "doc": "The total number of screen wakes for the device." },
12+
{ "name": "totalUnlocks", "type": "int", "doc": "The total number of unlocks for the device." },
13+
{ "name": "totalUnlockDuration", "type": "double", "doc": "The duration of time the device is in an unlocked state (s)." },
14+
{ "name": "version", "type": "string", "doc": "Version of the SensorKit device usage report format." },
15+
{ "name": "applicationUsageByCategory", "type": "string", "doc": "The usage time of apps per category." },
16+
{ "name": "notificationUsageByCategory", "type": "string", "doc": "The frequency of notifications per category." },
17+
{ "name": "webUsageByCategory", "type": "string", "doc": "The amount of time the user accesses domains per category." }
18+
]
19+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitKeyboardMetrics",
5+
"doc": "Data that describes the configuration of a device’s keyboard and its usage patterns.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "totalWords", "type": "int", "doc": "The total number of typed words for the keyboard." },
11+
{ "name": "totalAlteredWords", "type": "int", "doc": "The total number of altered words for the keyboard." },
12+
{ "name": "totalTaps", "type": "int", "doc": "The total number of taps for the keyboard." },
13+
{ "name": "totalEmojis", "type": "int", "doc": "The total number of emojis for the keyboard." },
14+
{ "name": "totalTypingDuration", "type": "double", "doc": "The total amount of typing time for the keyboard." },
15+
{ "name": "totalPauses", "type": "int", "doc": "The total number of pauses during the session." },
16+
{ "name": "totalTypingEpisodes", "type": "int", "doc": "The total number of continuous typing episodes during the session." }
17+
]
18+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitMessageUsage",
5+
"doc": "Data that describes the user’s Messages app activity over a period of time.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "duration", "type": "double", "doc": "The duration that the report spans (s)." },
11+
{ "name": "totalIncomingMessages", "type": "int", "doc": "The number of messages the user receives." },
12+
{ "name": "totalOutgoingMessages", "type": "int", "doc": "The number of messages the user sends." },
13+
{ "name": "totalUniqueContacts", "type": "int", "doc": "The user’s number of contacts." }
14+
]
15+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitOnWrist",
5+
"doc": "Data about the configuration of a watch on the wearer’s wrist.",
6+
"fields": [
7+
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{ "name": "crownOrientation", "type": {
11+
"name": "CrownOrientation",
12+
"type": "enum",
13+
"doc": "Directions the Digital Crown can face with respect to the wearer.",
14+
"symbols": ["LEFT", "RIGHT"]
15+
}, "doc": "A value that indicates the direction the Digital Crown faces with respect to the wearer." },
16+
{ "name": "onWrist", "type": "boolean", "doc": "A value that indicates whether the watch is on the user’s wrist." },
17+
{ "name": "wristLocation", "type": {
18+
"name": "WristLocation",
19+
"type": "enum",
20+
"doc": "Preferences for where a user wears a watch.",
21+
"symbols": ["LEFT", "RIGHT"]
22+
}, "doc": "A value that indicates the wrist where the user wears the watch." },
23+
{ "name": "offWristDate", "type": "double", "doc": "Off Wrist Date timestamp in UTC (s)." },
24+
{ "name": "onWristDate", "type": "double", "doc": "On Wrist Date timestamp in UTC (s)." }
25+
]
26+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"namespace": "org.radarcns.passive.apple.sensorkit",
3+
"type": "record",
4+
"name": "SensorKitPedometer",
5+
"doc": "Data about the distance traveled by a user on foot.",
6+
"fields": [
7+
{"name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
8+
{"name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
9+
{ "name": "device", "type": "string", "doc": "Device model." },
10+
{"name": "startDate", "type": "double", "doc": "The start time for the pedometer data timestamp in UTC (s)." },
11+
{"name": "endDate", "type": "double", "doc": "The end time for the pedometer data timestamp in UTC (s)." },
12+
{"name": "numberOfSteps", "type": "int", "doc": "Number of steps taken between this and the previous record." },
13+
{"name": "distance", "type": "double", "doc": "The estimated distance (in meters) traveled by the user." },
14+
{"name": "averageActivePace", "type": "double", "doc": "The average pace of the user, measured in seconds per meter." },
15+
{"name": "currentPace", "type": "double", "doc": "The current pace of the user, measured in seconds per meter." },
16+
{"name": "currentCadence", "type": "double", "doc": "The rate at which steps are taken, measured in steps per second." },
17+
{"name": "floorsAscended", "type": "int", "doc": "The approximate number of floors ascended by walking." },
18+
{"name": "floorsDescended", "type": "int", "doc": "The approximate number of floors descended by walking." }
19+
]
20+
}

0 commit comments

Comments
 (0)