Schemas
Profile#
{ "data": { "id": "da39d827-53e5-4a6b-a4b2-5bebdebc6066", "replyToId": "3ad97c83-91f9-4519-af76-f0a1ff5c37c7", "tenant": "utwente", "collection": "users", "entity": { "_id": "61b013eb62729c7b9ef404eb", "email": "ut-telem-group00@utwente.nl", "firstname": "Telem", "lastname": "Group00", "birthday": "2021-12-08T01:33:05.712Z", "weight": 0, "language": "en_US", "sex": "female", "studies": [ "61b0183a79250b00149e4e0c" ], "schedules": [], "sub": "auth0|61b012e605566d0069ee9c57", "createdAt": "2021-12-08T01:44:39.318Z", "updatedAt": "2021-12-08T01:44:39.318Z", "_syncAt": "2021-12-08T01:44:38.754Z" }, "operationType": "update", "reply": true }, "type": "profile"}Device#
{ "data": { "tenant": "utwente", "entity": { "model": "Pixel 6 Pro", "manufacturer": "Google", "platform": "android", "uniqueId": "7fe085efc8a2d5ae", "systemVersion": "12", "hasNotch": false, "fingerprint": "google/raven/raven:12/SD1A.210817.036/7805805:user/release-keys", "userId": "auth0|61b012e605566d0069ee9c57" }, "id": "db7cc4c3-6dc6-4f85-8e89-428181554864" }, "type": "phone"}Questionnaire Answers#
{ "data": { "id": "849743b4-d588-4200-8c9d-2256574fafae", "replyToId": "a9c5fc3a-80d3-41c7-93c3-c4373bade211", "tenant": "utwente", "collection": "answers", "entity": { "userId": "61b013eb62729c7b9ef404eb", "type": "questionnaire", "studyId": "default", "result": { "questionnaireId": "61b018683312af00140a953d", "answers": [ { "questionId": "61b017713312af00140a953a", "timestamp": "2021-12-08T02:39:09.451Z", "value": 1 }, { "questionId": "61b017893312af00140a953b", "timestamp": "2021-12-08T02:39:13.598Z", "value": 3 }, { "questionId": "61b017953312af00140a953c", "timestamp": "2021-12-08T02:39:15.260Z", "value": 4 } ] }, "createdAt": "2021-12-08T02:39:16.470Z", "updatedAt": "2021-12-08T02:39:16.470Z", "_id": "61b01ad43312af00140a953e" }, "operationType": "insert", "reply": true }, "type": "questionnaire"}IMU (Gyroscope & Accelerometer)#
{ "data": { "data": [ { "values": [ -0.10980302840471268, 0.02229658141732216, -0.0354301854968071 ], "timestamp": "1671018999438284146" }, { "values": [ -0.11575896292924881, 0.030085112899541855, -0.02535090781748295 ], "timestamp": "1671018999447252658" }, ... ], "deviceId": "google/raven/raven:13/TP1A.220624.021/8877034:user/release-keys", "imuType": "GYROSCOPE", "userId": "62264e14191e680015b53be7", "appVersion": "1.8.0-alpha.15" }, "id": "b54c4d1e-e5f5-42e2-8b78-b33d28ae768e", "type": "imu"}The gyroscope and accelerometer data (data.data field) is formatted as an array, where each element is a single sample.
The samples array elements in each sample are defined as follows:
imuType: "GYROSCOPE"#
| index | name | description |
|---|---|---|
| 0 | timestamp | Unix Timestamp in ms |
| 1 | x | Angular velocity around x-axis in rad/s |
| 2 | y | Angular velocity around y-axis in rad/s |
| 3 | z | Angular velocity around z-axis in rad/s |
imuType: "ACCELEROMETER"#
| index | name | description |
|---|---|---|
| 0 | timestamp | Unix Timestamp in ms |
| 1 | x | Acceleration on x-axis in m/s² |
| 2 | y | Acceleration on y-axis in m/s² |
| 3 | z | Acceleration on z-axis in m/s² |
Insoles#
{ "data": { "tenant":"utwente", "entity": { "data": [ [ 1624543575123, 1379544, 1427, "LEFT", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017089844, 0.111816406, -1.0117188, 0.0, 0.0, -0.84000003, 4.69, -1.75, 3, 24.191406 ], [ 1624543575123, 1379554, 1427, "LEFT", 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017089844, 0.111328125, -1.0151367, 0.0, 0.0, -0.98, 4.69, -1.82, 6, 24.191406 ], [ 1624543575123, 1379564, 1427, "LEFT", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.021484375, 0.107910156, -1.0131836, 0.0, 0.0, -1.05, 4.62, -1.75, 3, 24.195312 ], ... ], "deviceId": "7fe085efc8a2d5ae" , "userId": "auth0|61b012e605566d0069ee9c57" }, }, "id": "b54c4d1e-e5f5-42e2-8b78-b33d28ae768e", "type": "insoles"}The actual insoles data (data.entity.data field) is formatted as an array, where each element is a single sample.
The samples array elements in each sample are defined as follows:
| index | name | description |
|---|---|---|
| 0 | timestamp | Unix Timestamp System time in ms |
| 1 | insoleTime | Insoles time in ms |
| 2 | counter | Counter |
| 3 | side | LEFT or RIGHT insole |
| 4 | P1 | Pressure 1 in 1/4 N/cm² |
| 5 | P2 | Pressure 2 in 1/4 N/cm² |
| 6 | P3 | Pressure 3 in 1/4 N/cm² |
| 7 | P4 | Pressure 4 in 1/4 N/cm² |
| 8 | P5 | Pressure 5 in 1/4 N/cm² |
| 9 | P6 | Pressure 6 in 1/4 N/cm² |
| 10 | P7 | Pressure 7 in 1/4 N/cm² |
| 11 | P8 | Pressure 8 in 1/4 N/cm² |
| 12 | P9 | Pressure 9 in 1/4 N/cm² |
| 13 | P10 | Pressure 10 in 1/4 N/cm² |
| 14 | P11 | Pressure 11 in 1/4 N/cm² |
| 15 | P12 | Pressure 12 in 1/4 N/cm² |
| 16 | P13 | Pressure 13 in 1/4 N/cm² |
| 17 | P14 | Pressure 14 in 1/4 N/cm² |
| 18 | P15 | Pressure 15 in 1/4 N/cm² |
| 19 | P16 | Pressure 16 in 1/4 N/cm² |
| 20 | accX | Acceleration on x-axis in g |
| 21 | accY | Acceleration on y-axis in g |
| 22 | accZ | Acceleration on z-axis in g |
| 23 | copX | Center of pressure (COP) on x-axis in percent of insole length/width |
| 24 | copY | Center of pressure (COP) on y-axis in percent of insole length/width |
| 25 | angularX | Angular rate around x-axis in deg/s |
| 26 | angularY | Angular rate around y-axis in deg/s |
| 27 | angularZ | Angular rate around z-axis in deg/s |
| 28 | totalForce | Total force in N |
| 29 | temperature | Insole temperature in °C |
Sensor placement#

Fitbit#
The fitbit data schema is mostly unchanged from the raw Fitbit output:
{ "data": { "id": "auth0|61b02b7f5a1234006809f582/2021-12-11", "data": { "activities": [], "goals": { "activeMinutes": 30, "caloriesOut": 2183, "distance": 8.05, "floors": 10, "steps": 10000 }, "summary": { "activeScore": -1, "activityCalories": 0, "caloriesBMR": 1280, "caloriesOut": 1280, "distances": [ { "activity": "total", "distance": 0 }, { "activity": "tracker", "distance": 0 }, { "activity": "loggedActivities", "distance": 0 }, { "activity": "veryActive", "distance": 0 }, { "activity": "moderatelyActive", "distance": 0 }, { "activity": "lightlyActive", "distance": 0 }, { "activity": "sedentaryActive", "distance": 0 } ], "elevation": 0, "fairlyActiveMinutes": 0, "floors": 0, "lightlyActiveMinutes": 0, "marginalCalories": 0, "sedentaryMinutes": 1440, "steps": 0, "veryActiveMinutes": 0 }, "activities-heart": [ { "customHeartRateZones": [], "dateTime": "2021-12-11", "heartRateZones": [ { "caloriesOut": 1279.271, "max": 113, "min": 30, "minutes": 1439, "name": "Out of Range" }, { "caloriesOut": 0, "max": 141, "min": 113, "minutes": 0, "name": "Fat Burn" }, { "caloriesOut": 0, "max": 176, "min": 141, "minutes": 0, "name": "Cardio" }, { "caloriesOut": 0, "max": 220, "min": 176, "minutes": 0, "name": "Peak" } ], "value": "0" } ], "activities-heart-intraday": [], "sleep": [], "activities-steps": [ { "dateTime": "2021-12-11", "value": "0" } ], "activities-steps-intraday": [ { "t": "00:00:00", "v": 0 }, { "t": "23:59:00", "v": 0 } ], "activities-calories": [ { "dateTime": "2021-12-11", "value": "1280" } ], "activities-calories-intraday": [ { "t": "00:00:00", "v": 0.8889999985694885 }, { "t": "23:59:00", "v": 0.8889999985694885 } ], "activities-floors": [ { "dateTime": "2021-12-11", "value": "0" } ], "activities-floors-intraday": [ { "t": "00:00:00", "v": 0 }, { "t": "23:59:00", "v": 0 } ], "activities-distance": [ { "dateTime": "2021-12-11", "value": "0.0" } ], "activities-distance-intraday": [ { "t": "00:00:00", "v": 0 }, { "t": "23:59:00", "v": 0 } ], "activities-elevation": [ { "dateTime": "2021-12-11", "value": "0" } ], "activities-elevation-intraday": [ { "t": "00:00:00", "v": 0 }, { "t": "23:59:00", "v": 0 } ], "fitbitUserId": "9Q3PV3", "userId": "auth0|61b02b7f5a1234006809f582", "date": "2021-12-11T00:00:00.000Z", "version": "2" } }, "type": "fitbit"}