Skip to main content

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"#

indexnamedescription
0timestampUnix Timestamp in ms
1xAngular velocity around x-axis in rad/s
2yAngular velocity around y-axis in rad/s
3zAngular velocity around z-axis in rad/s

imuType: "ACCELEROMETER"#

indexnamedescription
0timestampUnix Timestamp in ms
1xAcceleration on x-axis in m/s²
2yAcceleration on y-axis in m/s²
3zAcceleration 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:

indexnamedescription
0timestampUnix Timestamp System time in ms
1insoleTimeInsoles time in ms
2counterCounter
3sideLEFT or RIGHT insole
4P1Pressure 1 in 1/4 N/cm²
5P2Pressure 2 in 1/4 N/cm²
6P3Pressure 3 in 1/4 N/cm²
7P4Pressure 4 in 1/4 N/cm²
8P5Pressure 5 in 1/4 N/cm²
9P6Pressure 6 in 1/4 N/cm²
10P7Pressure 7 in 1/4 N/cm²
11P8Pressure 8 in 1/4 N/cm²
12P9Pressure 9 in 1/4 N/cm²
13P10Pressure 10 in 1/4 N/cm²
14P11Pressure 11 in 1/4 N/cm²
15P12Pressure 12 in 1/4 N/cm²
16P13Pressure 13 in 1/4 N/cm²
17P14Pressure 14 in 1/4 N/cm²
18P15Pressure 15 in 1/4 N/cm²
19P16Pressure 16 in 1/4 N/cm²
20accXAcceleration on x-axis in g
21accYAcceleration on y-axis in g
22accZAcceleration on z-axis in g
23copXCenter of pressure (COP) on x-axis in percent of insole length/width
24copYCenter of pressure (COP) on y-axis in percent of insole length/width
25angularXAngular rate around x-axis in deg/s
26angularYAngular rate around y-axis in deg/s
27angularZAngular rate around z-axis in deg/s
28totalForceTotal force in N
29temperatureInsole temperature in °C

Sensor placement#

Insoles Sensors

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"}