From c0f6122aef4ac1515e95a3a9db709922bc24f813 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 00:35:14 +0100 Subject: [PATCH 01/24] Add generic healthkit schemas --- commons/connector/health/healthkit_data.avsc | 24 ++++++++++++ .../health/healthkit_data_typed.avsc | 39 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 commons/connector/health/healthkit_data.avsc create mode 100644 commons/connector/health/healthkit_data_typed.avsc diff --git a/commons/connector/health/healthkit_data.avsc b/commons/connector/health/healthkit_data.avsc new file mode 100644 index 00000000..0115ffb8 --- /dev/null +++ b/commons/connector/health/healthkit_data.avsc @@ -0,0 +1,24 @@ +{ + "namespace": "org.radarcns.active.healthkit", + "name": "HealthKitData", + "type": "record", + "doc": "HealthKit generic data schema.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { + "name": "timeReceived", + "type": "double", + "doc": "Time that the data was received from the Apple Healthkit API." + }, + { + "name": "key", + "type": "string", + "doc": "Type of data retrived e.g. weight, height, etc." + }, + { + "name": "value", + "type": ["null", "double", "int", "string"], + "doc": "Value of the data retrieved." + } + ] + } \ No newline at end of file diff --git a/commons/connector/health/healthkit_data_typed.avsc b/commons/connector/health/healthkit_data_typed.avsc new file mode 100644 index 00000000..e1868868 --- /dev/null +++ b/commons/connector/health/healthkit_data_typed.avsc @@ -0,0 +1,39 @@ +{ + "namespace": "org.radarcns.active.healthkit", + "name": "HealthKitTypedData", + "type": "record", + "doc": "HealthKit generic typed data schema.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { + "name": "timeReceived", + "type": "double", + "doc": "Time that the data was received from the Apple Healthkit API." + }, + { + "name": "key", + "type": "string", + "doc": "Type of data retrived e.g. weight, height, etc." + }, + { + "name": "intValue", + "type": ["null", "int"], + "doc": "Value of the int data retrieved." + }, + { + "name": "floatValue", + "type": ["null", "float"], + "doc": "Value of the float data retrieved." + }, + { + "name": "doubleValue", + "type": ["null", "double"], + "doc": "Value of the double data retrieved." + }, + { + "name": "stringValue", + "type": ["null", "string"], + "doc": "Value of the string data retrieved." + } + ] + } \ No newline at end of file From 19f10659b0100f694c934d1720eb2551b64111fd Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 00:42:12 +0100 Subject: [PATCH 02/24] Add null defaults --- commons/connector/health/healthkit_data.avsc | 3 ++- commons/connector/health/healthkit_data_typed.avsc | 14 +++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/commons/connector/health/healthkit_data.avsc b/commons/connector/health/healthkit_data.avsc index 0115ffb8..c6e44872 100644 --- a/commons/connector/health/healthkit_data.avsc +++ b/commons/connector/health/healthkit_data.avsc @@ -18,7 +18,8 @@ { "name": "value", "type": ["null", "double", "int", "string"], - "doc": "Value of the data retrieved." + "doc": "Value of the data retrieved.", + "default" : null } ] } \ No newline at end of file diff --git a/commons/connector/health/healthkit_data_typed.avsc b/commons/connector/health/healthkit_data_typed.avsc index e1868868..35ce94bd 100644 --- a/commons/connector/health/healthkit_data_typed.avsc +++ b/commons/connector/health/healthkit_data_typed.avsc @@ -8,7 +8,7 @@ { "name": "timeReceived", "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API." + "doc": "Time that the data was received from the Apple Healthkit API.", }, { "name": "key", @@ -18,22 +18,26 @@ { "name": "intValue", "type": ["null", "int"], - "doc": "Value of the int data retrieved." + "doc": "Value of the int data retrieved.", + "default" : null }, { "name": "floatValue", "type": ["null", "float"], - "doc": "Value of the float data retrieved." + "doc": "Value of the float data retrieved.", + "default" : null }, { "name": "doubleValue", "type": ["null", "double"], - "doc": "Value of the double data retrieved." + "doc": "Value of the double data retrieved.", + "default" : null }, { "name": "stringValue", "type": ["null", "string"], - "doc": "Value of the string data retrieved." + "doc": "Value of the string data retrieved.", + "default" : null } ] } \ No newline at end of file From b57925e00d5340407820c53e2d2d1319234e73a7 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 01:16:19 +0100 Subject: [PATCH 03/24] Fix null values --- commons/connector/health/healthkit_data.avsc | 2 +- commons/connector/health/healthkit_data_typed.avsc | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/commons/connector/health/healthkit_data.avsc b/commons/connector/health/healthkit_data.avsc index c6e44872..cb1b2cc8 100644 --- a/commons/connector/health/healthkit_data.avsc +++ b/commons/connector/health/healthkit_data.avsc @@ -19,7 +19,7 @@ "name": "value", "type": ["null", "double", "int", "string"], "doc": "Value of the data retrieved.", - "default" : null + "default": null } ] } \ No newline at end of file diff --git a/commons/connector/health/healthkit_data_typed.avsc b/commons/connector/health/healthkit_data_typed.avsc index 35ce94bd..85c27638 100644 --- a/commons/connector/health/healthkit_data_typed.avsc +++ b/commons/connector/health/healthkit_data_typed.avsc @@ -8,7 +8,7 @@ { "name": "timeReceived", "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API.", + "doc": "Time that the data was received from the Apple Healthkit API." }, { "name": "key", @@ -19,25 +19,25 @@ "name": "intValue", "type": ["null", "int"], "doc": "Value of the int data retrieved.", - "default" : null + "default": null }, { "name": "floatValue", "type": ["null", "float"], "doc": "Value of the float data retrieved.", - "default" : null + "default": null }, { "name": "doubleValue", "type": ["null", "double"], "doc": "Value of the double data retrieved.", - "default" : null + "default": null }, { "name": "stringValue", "type": ["null", "string"], "doc": "Value of the string data retrieved.", - "default" : null + "default": null } ] } \ No newline at end of file From 8fa02afb568aaf0baede8d10842e09298fb3bf15 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 01:20:23 +0100 Subject: [PATCH 04/24] Rename healthkit schema file --- .../{healthkit_data_typed.avsc => healthkit_typed_data.avsc} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename commons/connector/health/{healthkit_data_typed.avsc => healthkit_typed_data.avsc} (100%) diff --git a/commons/connector/health/healthkit_data_typed.avsc b/commons/connector/health/healthkit_typed_data.avsc similarity index 100% rename from commons/connector/health/healthkit_data_typed.avsc rename to commons/connector/health/healthkit_typed_data.avsc From b6ef9069a3cb655bc8248327b1ecd99aa422ad70 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 12:57:26 +0100 Subject: [PATCH 05/24] Fix healthkit directory --- .../{connector/health => active/healthkit}/healthkit_data.avsc | 0 .../health => active/healthkit}/healthkit_typed_data.avsc | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename commons/{connector/health => active/healthkit}/healthkit_data.avsc (100%) rename commons/{connector/health => active/healthkit}/healthkit_typed_data.avsc (100%) diff --git a/commons/connector/health/healthkit_data.avsc b/commons/active/healthkit/healthkit_data.avsc similarity index 100% rename from commons/connector/health/healthkit_data.avsc rename to commons/active/healthkit/healthkit_data.avsc diff --git a/commons/connector/health/healthkit_typed_data.avsc b/commons/active/healthkit/healthkit_typed_data.avsc similarity index 100% rename from commons/connector/health/healthkit_typed_data.avsc rename to commons/active/healthkit/healthkit_typed_data.avsc From 51371074fbbb676890163228b2c8d99427238921 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Sep 2022 15:39:18 +0100 Subject: [PATCH 06/24] Add initial healthkit specs --- specifications/active/aRMT-healthkit-1.0.0.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 specifications/active/aRMT-healthkit-1.0.0.yml diff --git a/specifications/active/aRMT-healthkit-1.0.0.yml b/specifications/active/aRMT-healthkit-1.0.0.yml new file mode 100644 index 00000000..4c128c20 --- /dev/null +++ b/specifications/active/aRMT-healthkit-1.0.0.yml @@ -0,0 +1,13 @@ +name: aRMT +vendor: RADAR +model: aRMT-App +version: 1.0.0 +assessment_type: QUESTIONNAIRE +doc: aRMT Healthkit data definition. +data: + - type: HEALTHKIT_GENERIC_DATA + topic: healthkit_generic_data + value_schema: .active.healthkit.HealthKitData + - type: HEALTHKIT_GENERIC_TYPED_DATA + topic: healthkit_generic_typed_data + value_schema: .active.healthkit.HealthKitTypedData \ No newline at end of file From fa9de8925004a9dbc8a901081026953d4e419161 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Mon, 12 Sep 2022 12:06:44 +0100 Subject: [PATCH 07/24] Add aggregated exercise data --- .../healthkit_aggregated_exercise_data.avsc | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 commons/active/healthkit/healthkit_aggregated_exercise_data.avsc diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc new file mode 100644 index 00000000..c6aba3a3 --- /dev/null +++ b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc @@ -0,0 +1,51 @@ +{ + "namespace": "org.radarcns.active.healthkit", + "name": "HealthKitAggregatedExerciseData", + "type": "record", + "doc": "HealthKit aggregated exercise data schema.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { + "name": "timeReceived", + "type": "double", + "doc": "Time that the data was received from the Apple Healthkit API." + }, + { "name": "timeInterval", "type": "int", "doc": "Chronological window size (s)." }, + { + "name": "steps", + "type": ["null","int"], + "default": null, + "doc": "Users's steps taken, unit is count" + }, + { + "name": "distance", + "type": ["null","double"], + "default": null, + "doc": "Users's distance traveled, unit is m" + }, + { + "name": "calories", + "type": ["null","double"], + "default": null, + "doc": "Users's calories, unit is kcal" + }, + { + "name": "calories_active", + "type": ["null","int"], + "default": null, + "doc": "Users's active calories, unit is kcal" + }, + { + "name": "calories_basal", + "type": ["null","int"], + "default": null, + "doc": "Users's basal calories, unit is kcal" + }, + { + "name": "activity", + "type": "enum", + "doc": "Activity taken in this period.", + "symbols" : ["UNKNOWN","AEROBICS", "BADMINTON", "ARCHERY", "BARRE","BASEBALL","BASKETBALL","BIATHLON","BIKING","BIKINGHAND","BIKINGMOUNTAIN","BIKINGROAD","BIKINGSPINNING","BIKINGSTATIONARY","BIKINGUTILITY","BOWLING","BOXING","CALISTHENICS","CIRCUITTRAINING","CRICKET","COOLDOWN","STRENGTHTRAINING","CROSSFIT","CURLING","DANCING","DANCINGSOCIAL","DISCSPORTS","DIVING","ELEVATOR","ELLIPTICAL","ERGOMETER","ESCALATOR","FENCING","FITNESSGAMING","FISHING","FLEXIBILITY","FOOTBALLAMERICAN","FOOTBALLAUSTRALIAN"," FOOTBALLSOCCER","FRISBEEDISC","FUNCTIONALSTRENGTH","GARDENING","GOLF","GYMNASTICS","HANDBALL","HIKING","HIGHINTENSITYINTERVALTRAINING","HOCKEY","HORSEBACKRIDING","HOUSEWORK","HUNTING","ICESKATING","INVEHICLE","INTERVALTRAINING","JUMPROPE","KAYAKING","KETTLEBELLTRAINING","KICKSCOOTER","KITESURFING","LACROSSE","MARTIALARTS","MEDITATION","MIXEDMARTIALARTS","ONFOOT","MIXEDCARDIO","P90X","PADDLESPORTS","PARAGLIDING","PILATES","PLAY","PICKLEBALL","POLO","PREPARATIONANDRECOVERY","RACQUETBALL","ROCKCLIMBING","ROWING","ROWINGMACHINE","RUGBY","RUNNING","RUNNINGJOGGING","RUNNINGSAND","RUNNINGTREADMILL","SAILING","SCUBADIVING","SKATEBOARDING","SKATING","SKATINGCROSS","SKATINGINDOOR","SKATINGINLINE","SKIING","SKIINGBACKCOUNTRY","SKIINGCROSSCOUNTRY","SKIINGDOWNHILL","SKIINGKITE","SKIINGROLLER","SLEDDING","SLEEP","SLEEPLIGHT","SLEEPDEEP","SLEEPREM","AWAKE","OUTOFBED","SNOWBOARDING","SNOWMOBILE","SNOWSHOEING","SNOWSPORTS","SOFTBALL","SQUASH","STAIRCLIMBING","STAIRCLIMBINGMACHINE","STANDUPPADDLEBOARDING","STILL","STRENGTHTRAINING","SURFING","SWIMMING","SWIMMINGOPENWATER","SWIMMINGPOOL","TABLETENNIS","TEAMSPORTS","TAICHI","TENNIS","TILTING","TREADMILL","VOLLEYBALL","WAKEBOARDING","WALKING","WEIGHTLIFTING","WHEELCHAIR","WINDSURFING","YOGA","ZUMBA","WRESTLING","OTHER"] + } + ] + } \ No newline at end of file From 9c68014a05822dac7d1d49af97ffdada3bbf1b23 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Mon, 12 Sep 2022 12:07:40 +0100 Subject: [PATCH 08/24] Fix healthkit exercise data --- .../active/healthkit/healthkit_aggregated_exercise_data.avsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc index c6aba3a3..c6763844 100644 --- a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc +++ b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc @@ -31,13 +31,13 @@ }, { "name": "calories_active", - "type": ["null","int"], + "type": ["null","double"], "default": null, "doc": "Users's active calories, unit is kcal" }, { "name": "calories_basal", - "type": ["null","int"], + "type": ["null","double"], "default": null, "doc": "Users's basal calories, unit is kcal" }, From bcff8b87b0319f6c6a8cf6973cdc803d0f7fb020 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Mon, 12 Sep 2022 12:13:10 +0100 Subject: [PATCH 09/24] Fix healhtkit exercise activity --- .../active/healthkit/healthkit_aggregated_exercise_data.avsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc index c6763844..305cc3e0 100644 --- a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc +++ b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc @@ -43,9 +43,9 @@ }, { "name": "activity", - "type": "enum", + "type": { "name": "HealthKitActivityName", "type": "enum", "symbols": ["UNKNOWN","AEROBICS", "BADMINTON", "ARCHERY", "BARRE","BASEBALL","BASKETBALL","BIATHLON","BIKING","BIKINGHAND","BIKINGMOUNTAIN","BIKINGROAD","BIKINGSPINNING","BIKINGSTATIONARY","BIKINGUTILITY","BOWLING","BOXING","CALISTHENICS","CIRCUITTRAINING","CRICKET","COOLDOWN","STRENGTHTRAINING","CROSSFIT","CURLING","DANCING","DANCINGSOCIAL","DISCSPORTS","DIVING","ELEVATOR","ELLIPTICAL","ERGOMETER","ESCALATOR","FENCING","FITNESSGAMING","FISHING","FLEXIBILITY","FOOTBALLAMERICAN","FOOTBALLAUSTRALIAN","FOOTBALLSOCCER","FRISBEEDISC","FUNCTIONALSTRENGTH","GARDENING","GOLF","GYMNASTICS","HANDBALL","HIKING","HIGHINTENSITYINTERVALTRAINING","HOCKEY","HORSEBACKRIDING","HOUSEWORK","HUNTING","ICESKATING","INVEHICLE","INTERVALTRAINING","JUMPROPE","KAYAKING","KETTLEBELLTRAINING","KICKSCOOTER","KITESURFING","LACROSSE","MARTIALARTS","MEDITATION","MIXEDMARTIALARTS","ONFOOT","MIXEDCARDIO","P90X","PADDLESPORTS","PARAGLIDING","PILATES","PLAY","PICKLEBALL","POLO","PREPARATIONANDRECOVERY","RACQUETBALL","ROCKCLIMBING","ROWING","ROWINGMACHINE","RUGBY","RUNNING","RUNNINGJOGGING","RUNNINGSAND","RUNNINGTREADMILL","SAILING","SCUBADIVING","SKATEBOARDING","SKATING","SKATINGCROSS","SKATINGINDOOR","SKATINGINLINE","SKIING","SKIINGBACKCOUNTRY","SKIINGCROSSCOUNTRY","SKIINGDOWNHILL","SKIINGKITE","SKIINGROLLER","SLEDDING","SLEEP","SLEEPLIGHT","SLEEPDEEP","SLEEPREM","AWAKE","OUTOFBED","SNOWBOARDING","SNOWMOBILE","SNOWSHOEING","SNOWSPORTS","SOFTBALL","SQUASH","STAIRCLIMBING","STAIRCLIMBINGMACHINE","STANDUPPADDLEBOARDING","STILL","STRENGTHTRAINING","SURFING","SWIMMING","SWIMMINGOPENWATER","SWIMMINGPOOL","TABLETENNIS","TEAMSPORTS","TAICHI","TENNIS","TILTING","TREADMILL","VOLLEYBALL","WAKEBOARDING","WALKING","WEIGHTLIFTING","WHEELCHAIR","WINDSURFING","YOGA","ZUMBA","WRESTLING","OTHER"], "doc": "Activity types provided by Healthkit"}, "doc": "Activity taken in this period.", - "symbols" : ["UNKNOWN","AEROBICS", "BADMINTON", "ARCHERY", "BARRE","BASEBALL","BASKETBALL","BIATHLON","BIKING","BIKINGHAND","BIKINGMOUNTAIN","BIKINGROAD","BIKINGSPINNING","BIKINGSTATIONARY","BIKINGUTILITY","BOWLING","BOXING","CALISTHENICS","CIRCUITTRAINING","CRICKET","COOLDOWN","STRENGTHTRAINING","CROSSFIT","CURLING","DANCING","DANCINGSOCIAL","DISCSPORTS","DIVING","ELEVATOR","ELLIPTICAL","ERGOMETER","ESCALATOR","FENCING","FITNESSGAMING","FISHING","FLEXIBILITY","FOOTBALLAMERICAN","FOOTBALLAUSTRALIAN"," FOOTBALLSOCCER","FRISBEEDISC","FUNCTIONALSTRENGTH","GARDENING","GOLF","GYMNASTICS","HANDBALL","HIKING","HIGHINTENSITYINTERVALTRAINING","HOCKEY","HORSEBACKRIDING","HOUSEWORK","HUNTING","ICESKATING","INVEHICLE","INTERVALTRAINING","JUMPROPE","KAYAKING","KETTLEBELLTRAINING","KICKSCOOTER","KITESURFING","LACROSSE","MARTIALARTS","MEDITATION","MIXEDMARTIALARTS","ONFOOT","MIXEDCARDIO","P90X","PADDLESPORTS","PARAGLIDING","PILATES","PLAY","PICKLEBALL","POLO","PREPARATIONANDRECOVERY","RACQUETBALL","ROCKCLIMBING","ROWING","ROWINGMACHINE","RUGBY","RUNNING","RUNNINGJOGGING","RUNNINGSAND","RUNNINGTREADMILL","SAILING","SCUBADIVING","SKATEBOARDING","SKATING","SKATINGCROSS","SKATINGINDOOR","SKATINGINLINE","SKIING","SKIINGBACKCOUNTRY","SKIINGCROSSCOUNTRY","SKIINGDOWNHILL","SKIINGKITE","SKIINGROLLER","SLEDDING","SLEEP","SLEEPLIGHT","SLEEPDEEP","SLEEPREM","AWAKE","OUTOFBED","SNOWBOARDING","SNOWMOBILE","SNOWSHOEING","SNOWSPORTS","SOFTBALL","SQUASH","STAIRCLIMBING","STAIRCLIMBINGMACHINE","STANDUPPADDLEBOARDING","STILL","STRENGTHTRAINING","SURFING","SWIMMING","SWIMMINGOPENWATER","SWIMMINGPOOL","TABLETENNIS","TEAMSPORTS","TAICHI","TENNIS","TILTING","TREADMILL","VOLLEYBALL","WAKEBOARDING","WALKING","WEIGHTLIFTING","WHEELCHAIR","WINDSURFING","YOGA","ZUMBA","WRESTLING","OTHER"] + "default": "UNKNOWN" } ] } \ No newline at end of file From ac025f63c4179013ddaab55485c07317e664319f Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Mon, 12 Sep 2022 13:09:03 +0100 Subject: [PATCH 10/24] Fix healhtkit exercise activity --- .../healthkit_aggregated_exercise_data.avsc | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc index 305cc3e0..fb67ffb2 100644 --- a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc +++ b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc @@ -29,18 +29,6 @@ "default": null, "doc": "Users's calories, unit is kcal" }, - { - "name": "calories_active", - "type": ["null","double"], - "default": null, - "doc": "Users's active calories, unit is kcal" - }, - { - "name": "calories_basal", - "type": ["null","double"], - "default": null, - "doc": "Users's basal calories, unit is kcal" - }, { "name": "activity", "type": { "name": "HealthKitActivityName", "type": "enum", "symbols": ["UNKNOWN","AEROBICS", "BADMINTON", "ARCHERY", "BARRE","BASEBALL","BASKETBALL","BIATHLON","BIKING","BIKINGHAND","BIKINGMOUNTAIN","BIKINGROAD","BIKINGSPINNING","BIKINGSTATIONARY","BIKINGUTILITY","BOWLING","BOXING","CALISTHENICS","CIRCUITTRAINING","CRICKET","COOLDOWN","STRENGTHTRAINING","CROSSFIT","CURLING","DANCING","DANCINGSOCIAL","DISCSPORTS","DIVING","ELEVATOR","ELLIPTICAL","ERGOMETER","ESCALATOR","FENCING","FITNESSGAMING","FISHING","FLEXIBILITY","FOOTBALLAMERICAN","FOOTBALLAUSTRALIAN","FOOTBALLSOCCER","FRISBEEDISC","FUNCTIONALSTRENGTH","GARDENING","GOLF","GYMNASTICS","HANDBALL","HIKING","HIGHINTENSITYINTERVALTRAINING","HOCKEY","HORSEBACKRIDING","HOUSEWORK","HUNTING","ICESKATING","INVEHICLE","INTERVALTRAINING","JUMPROPE","KAYAKING","KETTLEBELLTRAINING","KICKSCOOTER","KITESURFING","LACROSSE","MARTIALARTS","MEDITATION","MIXEDMARTIALARTS","ONFOOT","MIXEDCARDIO","P90X","PADDLESPORTS","PARAGLIDING","PILATES","PLAY","PICKLEBALL","POLO","PREPARATIONANDRECOVERY","RACQUETBALL","ROCKCLIMBING","ROWING","ROWINGMACHINE","RUGBY","RUNNING","RUNNINGJOGGING","RUNNINGSAND","RUNNINGTREADMILL","SAILING","SCUBADIVING","SKATEBOARDING","SKATING","SKATINGCROSS","SKATINGINDOOR","SKATINGINLINE","SKIING","SKIINGBACKCOUNTRY","SKIINGCROSSCOUNTRY","SKIINGDOWNHILL","SKIINGKITE","SKIINGROLLER","SLEDDING","SLEEP","SLEEPLIGHT","SLEEPDEEP","SLEEPREM","AWAKE","OUTOFBED","SNOWBOARDING","SNOWMOBILE","SNOWSHOEING","SNOWSPORTS","SOFTBALL","SQUASH","STAIRCLIMBING","STAIRCLIMBINGMACHINE","STANDUPPADDLEBOARDING","STILL","STRENGTHTRAINING","SURFING","SWIMMING","SWIMMINGOPENWATER","SWIMMINGPOOL","TABLETENNIS","TEAMSPORTS","TAICHI","TENNIS","TILTING","TREADMILL","VOLLEYBALL","WAKEBOARDING","WALKING","WEIGHTLIFTING","WHEELCHAIR","WINDSURFING","YOGA","ZUMBA","WRESTLING","OTHER"], "doc": "Activity types provided by Healthkit"}, From eabea415da29adcc025276e87d517a38f5ab7509 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Tue, 13 Sep 2022 11:03:57 +0100 Subject: [PATCH 11/24] Fix healthkit schema enums --- .../healthkit_aggregated_exercise_data.avsc | 211 +++++++++++++++--- .../active/aRMT-healthkit-1.0.0.yml | 5 +- 2 files changed, 178 insertions(+), 38 deletions(-) diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc index fb67ffb2..7e534735 100644 --- a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc +++ b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc @@ -1,39 +1,176 @@ { - "namespace": "org.radarcns.active.healthkit", - "name": "HealthKitAggregatedExerciseData", - "type": "record", - "doc": "HealthKit aggregated exercise data schema.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { - "name": "timeReceived", - "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API." + "namespace": "org.radarcns.active.healthkit", + "name": "HealthKitAggregatedExerciseData", + "type": "record", + "doc": "HealthKit aggregated exercise data schema.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { + "name": "timeReceived", + "type": "double", + "doc": "Time that the data was received from the Apple Healthkit API." + }, + { "name": "timeInterval", "type": "int", "doc": "Chronological window size (s)." }, + { + "name": "steps", + "type": ["null", "int"], + "default": null, + "doc": "Users's steps taken, unit is count." + }, + { + "name": "distance", + "type": ["null", "double"], + "default": null, + "doc": "Users's distance traveled, unit is m." + }, + { + "name": "calories", + "type": ["null", "double"], + "default": null, + "doc": "Users's calories, unit is kcal." + }, + { + "name": "activity", + "type": { + "name": "HealthkitActivityName", + "type": "enum", + "symbols": [ + "UNKNOWN", + "AEROBICS", + "BADMINTON", + "ARCHERY", + "BARRE", + "BASEBALL", + "BASKETBALL", + "BIATHLON", + "BIKING", + "BIKINGHAND", + "BIKINGMOUNTAIN", + "BIKINGROAD", + "BIKINGSPINNING", + "BIKINGSTATIONARY", + "BIKINGUTILITY", + "BOWLING", + "BOXING", + "CALISTHENICS", + "CIRCUITTRAINING", + "CRICKET", + "COOLDOWN", + "STRENGTHTRAINING", + "CROSSFIT", + "CURLING", + "DANCING", + "DANCINGSOCIAL", + "DISCSPORTS", + "DIVING", + "ELEVATOR", + "ELLIPTICAL", + "ERGOMETER", + "ESCALATOR", + "FENCING", + "FITNESSGAMING", + "FISHING", + "FLEXIBILITY", + "FOOTBALLAMERICAN", + "FOOTBALLAUSTRALIAN", + "FOOTBALLSOCCER", + "FRISBEEDISC", + "FUNCTIONALSTRENGTH", + "GARDENING", + "GOLF", + "GYMNASTICS", + "HANDBALL", + "HIKING", + "HIGHINTENSITYINTERVALTRAINING", + "HOCKEY", + "HORSEBACKRIDING", + "HOUSEWORK", + "HUNTING", + "ICESKATING", + "INVEHICLE", + "INTERVALTRAINING", + "JUMPROPE", + "KAYAKING", + "KETTLEBELLTRAINING", + "KICKSCOOTER", + "KITESURFING", + "LACROSSE", + "MARTIALARTS", + "MEDITATION", + "MIXEDMARTIALARTS", + "ONFOOT", + "MIXEDCARDIO", + "P90X", + "PADDLESPORTS", + "PARAGLIDING", + "PILATES", + "PLAY", + "PICKLEBALL", + "POLO", + "PREPARATIONANDRECOVERY", + "RACQUETBALL", + "ROCKCLIMBING", + "ROWING", + "ROWINGMACHINE", + "RUGBY", + "RUNNING", + "RUNNINGJOGGING", + "RUNNINGSAND", + "RUNNINGTREADMILL", + "SAILING", + "SCUBADIVING", + "SKATEBOARDING", + "SKATING", + "SKATINGCROSS", + "SKATINGINDOOR", + "SKATINGINLINE", + "SKIING", + "SKIINGBACKCOUNTRY", + "SKIINGCROSSCOUNTRY", + "SKIINGDOWNHILL", + "SKIINGKITE", + "SKIINGROLLER", + "SLEDDING", + "SLEEP", + "SLEEPLIGHT", + "SLEEPDEEP", + "SLEEPREM", + "AWAKE", + "OUTOFBED", + "SNOWBOARDING", + "SNOWMOBILE", + "SNOWSHOEING", + "SNOWSPORTS", + "SOFTBALL", + "SQUASH", + "STAIRCLIMBING", + "STAIRCLIMBINGMACHINE", + "STANDUPPADDLEBOARDING", + "STILL", + "SURFING", + "SWIMMING", + "SWIMMINGOPENWATER", + "SWIMMINGPOOL", + "TABLETENNIS", + "TEAMSPORTS", + "TAICHI", + "TENNIS", + "TILTING", + "TREADMILL", + "VOLLEYBALL", + "WAKEBOARDING", + "WALKING", + "WEIGHTLIFTING", + "WHEELCHAIR", + "WINDSURFING", + "YOGA", + "ZUMBA", + "WRESTLING" + ], + "doc": "Types of activity provided by Apple Healthkit." }, - { "name": "timeInterval", "type": "int", "doc": "Chronological window size (s)." }, - { - "name": "steps", - "type": ["null","int"], - "default": null, - "doc": "Users's steps taken, unit is count" - }, - { - "name": "distance", - "type": ["null","double"], - "default": null, - "doc": "Users's distance traveled, unit is m" - }, - { - "name": "calories", - "type": ["null","double"], - "default": null, - "doc": "Users's calories, unit is kcal" - }, - { - "name": "activity", - "type": { "name": "HealthKitActivityName", "type": "enum", "symbols": ["UNKNOWN","AEROBICS", "BADMINTON", "ARCHERY", "BARRE","BASEBALL","BASKETBALL","BIATHLON","BIKING","BIKINGHAND","BIKINGMOUNTAIN","BIKINGROAD","BIKINGSPINNING","BIKINGSTATIONARY","BIKINGUTILITY","BOWLING","BOXING","CALISTHENICS","CIRCUITTRAINING","CRICKET","COOLDOWN","STRENGTHTRAINING","CROSSFIT","CURLING","DANCING","DANCINGSOCIAL","DISCSPORTS","DIVING","ELEVATOR","ELLIPTICAL","ERGOMETER","ESCALATOR","FENCING","FITNESSGAMING","FISHING","FLEXIBILITY","FOOTBALLAMERICAN","FOOTBALLAUSTRALIAN","FOOTBALLSOCCER","FRISBEEDISC","FUNCTIONALSTRENGTH","GARDENING","GOLF","GYMNASTICS","HANDBALL","HIKING","HIGHINTENSITYINTERVALTRAINING","HOCKEY","HORSEBACKRIDING","HOUSEWORK","HUNTING","ICESKATING","INVEHICLE","INTERVALTRAINING","JUMPROPE","KAYAKING","KETTLEBELLTRAINING","KICKSCOOTER","KITESURFING","LACROSSE","MARTIALARTS","MEDITATION","MIXEDMARTIALARTS","ONFOOT","MIXEDCARDIO","P90X","PADDLESPORTS","PARAGLIDING","PILATES","PLAY","PICKLEBALL","POLO","PREPARATIONANDRECOVERY","RACQUETBALL","ROCKCLIMBING","ROWING","ROWINGMACHINE","RUGBY","RUNNING","RUNNINGJOGGING","RUNNINGSAND","RUNNINGTREADMILL","SAILING","SCUBADIVING","SKATEBOARDING","SKATING","SKATINGCROSS","SKATINGINDOOR","SKATINGINLINE","SKIING","SKIINGBACKCOUNTRY","SKIINGCROSSCOUNTRY","SKIINGDOWNHILL","SKIINGKITE","SKIINGROLLER","SLEDDING","SLEEP","SLEEPLIGHT","SLEEPDEEP","SLEEPREM","AWAKE","OUTOFBED","SNOWBOARDING","SNOWMOBILE","SNOWSHOEING","SNOWSPORTS","SOFTBALL","SQUASH","STAIRCLIMBING","STAIRCLIMBINGMACHINE","STANDUPPADDLEBOARDING","STILL","STRENGTHTRAINING","SURFING","SWIMMING","SWIMMINGOPENWATER","SWIMMINGPOOL","TABLETENNIS","TEAMSPORTS","TAICHI","TENNIS","TILTING","TREADMILL","VOLLEYBALL","WAKEBOARDING","WALKING","WEIGHTLIFTING","WHEELCHAIR","WINDSURFING","YOGA","ZUMBA","WRESTLING","OTHER"], "doc": "Activity types provided by Healthkit"}, - "doc": "Activity taken in this period.", - "default": "UNKNOWN" - } - ] - } \ No newline at end of file + "doc": "Activity taken by user.", + "default": "UNKNOWN" + } + ] +} diff --git a/specifications/active/aRMT-healthkit-1.0.0.yml b/specifications/active/aRMT-healthkit-1.0.0.yml index 4c128c20..b74d9243 100644 --- a/specifications/active/aRMT-healthkit-1.0.0.yml +++ b/specifications/active/aRMT-healthkit-1.0.0.yml @@ -10,4 +10,7 @@ data: value_schema: .active.healthkit.HealthKitData - type: HEALTHKIT_GENERIC_TYPED_DATA topic: healthkit_generic_typed_data - value_schema: .active.healthkit.HealthKitTypedData \ No newline at end of file + value_schema: .active.healthkit.HealthKitTypedData + - type: HEALTHKIT_AGGREGATED_EXERCISE_DATA + topic: healthkit_aggregated_exercise_data + value_schema: .active.healthkit.HealthKitAggregatedExerciseData From 2c3e0d4732dbe9bbc73766cbcf0ef1ee0ae33401 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Wed, 26 Apr 2023 12:51:15 +0100 Subject: [PATCH 12/24] Update Healthkit generic typed data schema --- .../healthkit_aggregated_exercise_data.avsc | 176 ------------------ commons/active/healthkit/healthkit_data.avsc | 25 --- .../healthkit/healthkit_typed_data.avsc | 108 ++++++----- 3 files changed, 66 insertions(+), 243 deletions(-) delete mode 100644 commons/active/healthkit/healthkit_aggregated_exercise_data.avsc delete mode 100644 commons/active/healthkit/healthkit_data.avsc diff --git a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc b/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc deleted file mode 100644 index 7e534735..00000000 --- a/commons/active/healthkit/healthkit_aggregated_exercise_data.avsc +++ /dev/null @@ -1,176 +0,0 @@ -{ - "namespace": "org.radarcns.active.healthkit", - "name": "HealthKitAggregatedExerciseData", - "type": "record", - "doc": "HealthKit aggregated exercise data schema.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { - "name": "timeReceived", - "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API." - }, - { "name": "timeInterval", "type": "int", "doc": "Chronological window size (s)." }, - { - "name": "steps", - "type": ["null", "int"], - "default": null, - "doc": "Users's steps taken, unit is count." - }, - { - "name": "distance", - "type": ["null", "double"], - "default": null, - "doc": "Users's distance traveled, unit is m." - }, - { - "name": "calories", - "type": ["null", "double"], - "default": null, - "doc": "Users's calories, unit is kcal." - }, - { - "name": "activity", - "type": { - "name": "HealthkitActivityName", - "type": "enum", - "symbols": [ - "UNKNOWN", - "AEROBICS", - "BADMINTON", - "ARCHERY", - "BARRE", - "BASEBALL", - "BASKETBALL", - "BIATHLON", - "BIKING", - "BIKINGHAND", - "BIKINGMOUNTAIN", - "BIKINGROAD", - "BIKINGSPINNING", - "BIKINGSTATIONARY", - "BIKINGUTILITY", - "BOWLING", - "BOXING", - "CALISTHENICS", - "CIRCUITTRAINING", - "CRICKET", - "COOLDOWN", - "STRENGTHTRAINING", - "CROSSFIT", - "CURLING", - "DANCING", - "DANCINGSOCIAL", - "DISCSPORTS", - "DIVING", - "ELEVATOR", - "ELLIPTICAL", - "ERGOMETER", - "ESCALATOR", - "FENCING", - "FITNESSGAMING", - "FISHING", - "FLEXIBILITY", - "FOOTBALLAMERICAN", - "FOOTBALLAUSTRALIAN", - "FOOTBALLSOCCER", - "FRISBEEDISC", - "FUNCTIONALSTRENGTH", - "GARDENING", - "GOLF", - "GYMNASTICS", - "HANDBALL", - "HIKING", - "HIGHINTENSITYINTERVALTRAINING", - "HOCKEY", - "HORSEBACKRIDING", - "HOUSEWORK", - "HUNTING", - "ICESKATING", - "INVEHICLE", - "INTERVALTRAINING", - "JUMPROPE", - "KAYAKING", - "KETTLEBELLTRAINING", - "KICKSCOOTER", - "KITESURFING", - "LACROSSE", - "MARTIALARTS", - "MEDITATION", - "MIXEDMARTIALARTS", - "ONFOOT", - "MIXEDCARDIO", - "P90X", - "PADDLESPORTS", - "PARAGLIDING", - "PILATES", - "PLAY", - "PICKLEBALL", - "POLO", - "PREPARATIONANDRECOVERY", - "RACQUETBALL", - "ROCKCLIMBING", - "ROWING", - "ROWINGMACHINE", - "RUGBY", - "RUNNING", - "RUNNINGJOGGING", - "RUNNINGSAND", - "RUNNINGTREADMILL", - "SAILING", - "SCUBADIVING", - "SKATEBOARDING", - "SKATING", - "SKATINGCROSS", - "SKATINGINDOOR", - "SKATINGINLINE", - "SKIING", - "SKIINGBACKCOUNTRY", - "SKIINGCROSSCOUNTRY", - "SKIINGDOWNHILL", - "SKIINGKITE", - "SKIINGROLLER", - "SLEDDING", - "SLEEP", - "SLEEPLIGHT", - "SLEEPDEEP", - "SLEEPREM", - "AWAKE", - "OUTOFBED", - "SNOWBOARDING", - "SNOWMOBILE", - "SNOWSHOEING", - "SNOWSPORTS", - "SOFTBALL", - "SQUASH", - "STAIRCLIMBING", - "STAIRCLIMBINGMACHINE", - "STANDUPPADDLEBOARDING", - "STILL", - "SURFING", - "SWIMMING", - "SWIMMINGOPENWATER", - "SWIMMINGPOOL", - "TABLETENNIS", - "TEAMSPORTS", - "TAICHI", - "TENNIS", - "TILTING", - "TREADMILL", - "VOLLEYBALL", - "WAKEBOARDING", - "WALKING", - "WEIGHTLIFTING", - "WHEELCHAIR", - "WINDSURFING", - "YOGA", - "ZUMBA", - "WRESTLING" - ], - "doc": "Types of activity provided by Apple Healthkit." - }, - "doc": "Activity taken by user.", - "default": "UNKNOWN" - } - ] -} diff --git a/commons/active/healthkit/healthkit_data.avsc b/commons/active/healthkit/healthkit_data.avsc deleted file mode 100644 index cb1b2cc8..00000000 --- a/commons/active/healthkit/healthkit_data.avsc +++ /dev/null @@ -1,25 +0,0 @@ -{ - "namespace": "org.radarcns.active.healthkit", - "name": "HealthKitData", - "type": "record", - "doc": "HealthKit generic data schema.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { - "name": "timeReceived", - "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API." - }, - { - "name": "key", - "type": "string", - "doc": "Type of data retrived e.g. weight, height, etc." - }, - { - "name": "value", - "type": ["null", "double", "int", "string"], - "doc": "Value of the data retrieved.", - "default": null - } - ] - } \ No newline at end of file diff --git a/commons/active/healthkit/healthkit_typed_data.avsc b/commons/active/healthkit/healthkit_typed_data.avsc index 85c27638..ee351b4d 100644 --- a/commons/active/healthkit/healthkit_typed_data.avsc +++ b/commons/active/healthkit/healthkit_typed_data.avsc @@ -1,43 +1,67 @@ { - "namespace": "org.radarcns.active.healthkit", - "name": "HealthKitTypedData", - "type": "record", - "doc": "HealthKit generic typed data schema.", - "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, - { - "name": "timeReceived", - "type": "double", - "doc": "Time that the data was received from the Apple Healthkit API." - }, - { - "name": "key", - "type": "string", - "doc": "Type of data retrived e.g. weight, height, etc." - }, - { - "name": "intValue", - "type": ["null", "int"], - "doc": "Value of the int data retrieved.", - "default": null - }, - { - "name": "floatValue", - "type": ["null", "float"], - "doc": "Value of the float data retrieved.", - "default": null - }, - { - "name": "doubleValue", - "type": ["null", "double"], - "doc": "Value of the double data retrieved.", - "default": null - }, - { - "name": "stringValue", - "type": ["null", "string"], - "doc": "Value of the string data retrieved.", - "default": null - } - ] - } \ No newline at end of file + "namespace": "org.radarcns.active.healthkit", + "name": "HealthKitTypedData", + "type": "record", + "doc": "HealthKit generic typed data schema.", + "fields": [ + { + "name": "startTime", + "type": "double", + "doc": "Start time of this activity period in UTC (s)." + }, + { + "name": "endTime", + "type": "double", + "doc": "End time of this activity period in UTC (s)." + }, + { + "name": "timeReceived", + "type": "double", + "doc": "Time that the data was received from the Apple Healthkit ." + }, + { + "name": "sourceId", + "type": "string", + "doc": "The identifier of the app that produced the data." + }, + { + "name": "sourceName", + "type": "string", + "doc": "The name of the app that produced the data (as it appears to the user)." + }, + { + "name": "unit", + "type": "string", + "doc": "The unit of the measurement." + }, + { + "name": "key", + "type": "string", + "doc": "Type of data retrived e.g. weight, height, etc." + }, + { + "name": "intValue", + "type": ["null", "int"], + "doc": "Value of the int data retrieved.", + "default": null + }, + { + "name": "floatValue", + "type": ["null", "float"], + "doc": "Value of the float data retrieved.", + "default": null + }, + { + "name": "doubleValue", + "type": ["null", "double"], + "doc": "Value of the double data retrieved.", + "default": null + }, + { + "name": "stringValue", + "type": ["null", "string"], + "doc": "Value of the string data retrieved.", + "default": null + } + ] +} From 7ee04968e8099ab6404dae23841120451d3a4333 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Wed, 26 Apr 2023 15:58:25 +0100 Subject: [PATCH 13/24] Update Healthkit specifications --- .../active/aRMT-healthkit-1.0.0.yml | 84 +++++++++++++++++-- 1 file changed, 75 insertions(+), 9 deletions(-) diff --git a/specifications/active/aRMT-healthkit-1.0.0.yml b/specifications/active/aRMT-healthkit-1.0.0.yml index b74d9243..f542d02a 100644 --- a/specifications/active/aRMT-healthkit-1.0.0.yml +++ b/specifications/active/aRMT-healthkit-1.0.0.yml @@ -5,12 +5,78 @@ version: 1.0.0 assessment_type: QUESTIONNAIRE doc: aRMT Healthkit data definition. data: - - type: HEALTHKIT_GENERIC_DATA - topic: healthkit_generic_data - value_schema: .active.healthkit.HealthKitData - - type: HEALTHKIT_GENERIC_TYPED_DATA - topic: healthkit_generic_typed_data - value_schema: .active.healthkit.HealthKitTypedData - - type: HEALTHKIT_AGGREGATED_EXERCISE_DATA - topic: healthkit_aggregated_exercise_data - value_schema: .active.healthkit.HealthKitAggregatedExerciseData + - doc: A quantity sample type that measures the number of steps the user has taken, unit is count. + topic: active_healthkit_steps + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the number flights of stairs that the user has climbed, unit is count. + topic: active_healthkit_stairs + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the distance the user has moved by walking, running or cycling, unit is m. + topic: active_healthkit_distance + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the amount of time the user spent exercising, unit is min. + topic: active_healthkit_apple_exercise_time + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the amount of active and basal energy the user has burned, unit is kcal. + topic: active_healthkit_calories + value_schema: .active.healthkit.HealthKitTypedData + - doc: A workout sample that stores information about a single physical activity, unit is activityType. + topic: active_healthkit_activity + value_schema: .active.healthkit.HealthKitTypedData + - doc: A category sample type describing the user's sleep stage, unit is sleepType. + topic: active_healthkit_sleep_stage + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s heart rate, unit is count/min. + topic: active_healthkit_heart_rate + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s respiratory rate, unit is count/min. + topic: active_healthkit_resp_rate + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s oxygen saturation, unit is %. + topic: active_healthkit_oxygen_saturation + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample that measures the maximal oxygen consumption during exercise, unit is ml/(kg * min). + topic: active_healthkit_vo2max + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s body temperature, unit is Celsius. + topic: active_healthkit_temperature + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s body fat percentage, unit is %. + topic: active_healthkit_fat_percentage + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s waist circumference, unit is m. + topic: active_healthkit_waist_circumference + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s blood glucose level, unit is mmol/L. + topic: active_healthkit_blood_glucose + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample that measures the amount of insulin delivered, unit is IU. + topic: active_healthkit_insulin + value_schema: .active.healthkit.HealthKitTypedData + - doc: A correlation sample that combines a systolic sample and a diastolic sample into a single blood pressure reading, unit is mmHg. + topic: active_healthkit_blood_pressure + value_schema: .active.healthkit.HealthKitTypedData + - doc: A characteristic type identifier for the user’s sex. + topic: active_healthkit_gender + value_schema: .active.healthkit.HealthKitTypedData + - doc: A characteristic type identifier for the user’s date of birth. + topic: active_healthkit_date_of_birth + value_schema: .active.healthkit.HealthKitTypedData + - doc: A category sample type for recording a mindful session, unit is sec. + topic: active_healthkit_mindfulness + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that shows the user's nutrition data, unit varies across types. + topic: active_healthkit_nutrition + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s exposure to UV radiation, unit is count. + topic: active_healthkit_uv_exposure + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s height, unit is m. + topic: active_healthkit_height + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s weight, unit is kg. + topic: active_healthkit_weight + value_schema: .active.healthkit.HealthKitTypedData + - doc: A quantity sample type that measures the user’s body mass index, unit is count. + topic: active_healthkit_bmi + value_schema: .active.healthkit.HealthKitTypedData From 05d344eec51745e36427b33674cbfa7e66408418 Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Wed, 17 May 2023 17:19:31 +0200 Subject: [PATCH 14/24] Fix healthkit docs --- .../active/aRMT-healthkit-1.0.0.yml | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/specifications/active/aRMT-healthkit-1.0.0.yml b/specifications/active/aRMT-healthkit-1.0.0.yml index f542d02a..c616cca6 100644 --- a/specifications/active/aRMT-healthkit-1.0.0.yml +++ b/specifications/active/aRMT-healthkit-1.0.0.yml @@ -3,80 +3,80 @@ vendor: RADAR model: aRMT-App version: 1.0.0 assessment_type: QUESTIONNAIRE -doc: aRMT Healthkit data definition. +doc: aRMT Healthkit data definition. In this specification, a generic schema is used for all data types. Data received from Apple Healthkit follow a similar schema, thus a shared schema can be used. Each Healthkit source type can have a different data type (this can either be a numerical or string value). The appropriate key (floatValue, doubleValue, stringValue, etc) can then be filled. data: - doc: A quantity sample type that measures the number of steps the user has taken, unit is count. - topic: active_healthkit_steps + topic: active_apple_healthkit_steps value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the number flights of stairs that the user has climbed, unit is count. - topic: active_healthkit_stairs + topic: active_apple_healthkit_stairs value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the distance the user has moved by walking, running or cycling, unit is m. - topic: active_healthkit_distance + topic: active_apple_healthkit_distance value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the amount of time the user spent exercising, unit is min. - topic: active_healthkit_apple_exercise_time + topic: active_apple_healthkit_exercise_time value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the amount of active and basal energy the user has burned, unit is kcal. - topic: active_healthkit_calories + topic: active_apple_healthkit_calories value_schema: .active.healthkit.HealthKitTypedData - doc: A workout sample that stores information about a single physical activity, unit is activityType. - topic: active_healthkit_activity + topic: active_apple_healthkit_activity value_schema: .active.healthkit.HealthKitTypedData - doc: A category sample type describing the user's sleep stage, unit is sleepType. - topic: active_healthkit_sleep_stage + topic: active_apple_healthkit_sleep_stage value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s heart rate, unit is count/min. - topic: active_healthkit_heart_rate + topic: active_apple_healthkit_heart_rate value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s respiratory rate, unit is count/min. - topic: active_healthkit_resp_rate + topic: active_apple_healthkit_resp_rate value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s oxygen saturation, unit is %. - topic: active_healthkit_oxygen_saturation + topic: active_apple_healthkit_oxygen_saturation value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample that measures the maximal oxygen consumption during exercise, unit is ml/(kg * min). - topic: active_healthkit_vo2max + topic: active_apple_healthkit_vo2max value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s body temperature, unit is Celsius. - topic: active_healthkit_temperature + topic: active_apple_healthkit_temperature value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s body fat percentage, unit is %. - topic: active_healthkit_fat_percentage + topic: active_apple_healthkit_fat_percentage value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s waist circumference, unit is m. - topic: active_healthkit_waist_circumference + topic: active_apple_healthkit_waist_circumference value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s blood glucose level, unit is mmol/L. - topic: active_healthkit_blood_glucose + topic: active_apple_healthkit_blood_glucose value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample that measures the amount of insulin delivered, unit is IU. - topic: active_healthkit_insulin + topic: active_apple_healthkit_insulin value_schema: .active.healthkit.HealthKitTypedData - doc: A correlation sample that combines a systolic sample and a diastolic sample into a single blood pressure reading, unit is mmHg. - topic: active_healthkit_blood_pressure + topic: active_apple_healthkit_blood_pressure value_schema: .active.healthkit.HealthKitTypedData - doc: A characteristic type identifier for the user’s sex. - topic: active_healthkit_gender + topic: active_apple_healthkit_gender value_schema: .active.healthkit.HealthKitTypedData - doc: A characteristic type identifier for the user’s date of birth. - topic: active_healthkit_date_of_birth + topic: active_apple_healthkit_date_of_birth value_schema: .active.healthkit.HealthKitTypedData - doc: A category sample type for recording a mindful session, unit is sec. - topic: active_healthkit_mindfulness + topic: active_apple_healthkit_mindfulness value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that shows the user's nutrition data, unit varies across types. - topic: active_healthkit_nutrition + topic: active_apple_healthkit_nutrition value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s exposure to UV radiation, unit is count. - topic: active_healthkit_uv_exposure + topic: active_apple_healthkit_uv_exposure value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s height, unit is m. - topic: active_healthkit_height + topic: active_apple_healthkit_height value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s weight, unit is kg. - topic: active_healthkit_weight + topic: active_apple_healthkit_weight value_schema: .active.healthkit.HealthKitTypedData - doc: A quantity sample type that measures the user’s body mass index, unit is count. - topic: active_healthkit_bmi + topic: active_apple_healthkit_bmi value_schema: .active.healthkit.HealthKitTypedData From 0dd79c40efee9e1b5f0f1946e8d115b5ce8ad84c Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Sat, 27 May 2023 16:05:37 +0530 Subject: [PATCH 15/24] Added schema for google SleepSegmentEvent --- .../google/google_sleep_segment_event.avsc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 commons/passive/google/google_sleep_segment_event.avsc diff --git a/commons/passive/google/google_sleep_segment_event.avsc b/commons/passive/google/google_sleep_segment_event.avsc new file mode 100644 index 00000000..cac7d7ef --- /dev/null +++ b/commons/passive/google/google_sleep_segment_event.avsc @@ -0,0 +1,19 @@ +{ + "namespace": "org.radarcns.passive.google", + "type": "record", + "name": "GoogleSleepSegmentEvent", + "doc": "Represents the result of sleep data after the user is awake.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "sleepStartTime", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user goes to sleep." }, + { "name": "sleepEndTime", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user wakes up." }, + { "name": "sleepDuration", "type": "double", "doc": "The amount of elapsed time (s), that the user was asleep." }, + { "name": "sleepStatus", "type": { + "name": "SleepStatus", + "type": "enum", + "doc": "The status of the sleep segment detection.", + "symbols": ["STATUS_SUCCESSFUL", "STATUS_MISSING_DATA", "STATUS_NOT_DETECTED", "UNKNOWN"] + }, "doc": "Status that indicates whether the system succeeded in detecting sleep.", "default": "UNKNOWN" } + ] +} From 51e3553f7ec3fc3e1cf9fb32fa3326e7afa4f782 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Sat, 27 May 2023 16:19:26 +0530 Subject: [PATCH 16/24] Added schema for google SleepClassifyEvent --- .../passive/google/google_sleep_classify_event.avsc | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 commons/passive/google/google_sleep_classify_event.avsc diff --git a/commons/passive/google/google_sleep_classify_event.avsc b/commons/passive/google/google_sleep_classify_event.avsc new file mode 100644 index 00000000..8e510d81 --- /dev/null +++ b/commons/passive/google/google_sleep_classify_event.avsc @@ -0,0 +1,13 @@ +{ + "namespace": "org.radarcns.passive.google", + "type": "record", + "name": "GoogleSleepClassifyEvent", + "doc": "Sleep classification event including the sleep confidence, device motion and ambient light level.", + "fields": [ + { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, + { "name": "sleepConfidence", "type": "int", "doc": "Sleep confidence value between 0 and 100." }, + { "name": "light", "type": "int", "doc": "The brightness of the space around the device. Value ranges from 1 to 6, inclusive." }, + { "name": "motion", "type": "int", "doc": "The amount of device motion. Value ranges from 1 to 6, inclusive." } + ] +} From c88e0c02541f193f5f0a3c7a0d63fd935110e9b2 Mon Sep 17 00:00:00 2001 From: this-Aditya Date: Sat, 27 May 2023 16:49:10 +0530 Subject: [PATCH 17/24] added specifications for google sleep api --- .../passive/android_google-1.0.0.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 specifications/passive/android_google-1.0.0.yml diff --git a/specifications/passive/android_google-1.0.0.yml b/specifications/passive/android_google-1.0.0.yml new file mode 100644 index 00000000..e9986988 --- /dev/null +++ b/specifications/passive/android_google-1.0.0.yml @@ -0,0 +1,23 @@ +#======================================== Google APIs =============================================# +vendor: ANDROID +model: GOOGLE +version: 1.0.0 +data: + #Google Sleep + - type: SLEEP_SEGMENT_EVENT + app_provider: .google.GoogleSleepProvider + unit: NON_DIMENSIONAL + processing_state: RAW + topic: android_google_sleep_segment_event + value_schema: .passive.google.GoogleSleepSegmentEvent + sample_rate: + dynamic: true + - type: SLEEP_CLASSIFY_EVENT + app_provider: .google.GoogleSleepProvider + unit: NON_DIMENSIONAL + processing_state: RAW + topic: android_google_sleep_classify_event + value_schema: .passive.google.GoogleSleepClassifyEvent + sample_rate: + interval: 600 + dynamic: true From e5ac42ce46997388a173984f8b0bc29a7a044ecf Mon Sep 17 00:00:00 2001 From: mpgxvii Date: Thu, 8 Jun 2023 12:05:00 +0100 Subject: [PATCH 18/24] Update time field in Healthkit generic schema --- commons/active/healthkit/healthkit_typed_data.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/active/healthkit/healthkit_typed_data.avsc b/commons/active/healthkit/healthkit_typed_data.avsc index ee351b4d..dff68674 100644 --- a/commons/active/healthkit/healthkit_typed_data.avsc +++ b/commons/active/healthkit/healthkit_typed_data.avsc @@ -5,7 +5,7 @@ "doc": "HealthKit generic typed data schema.", "fields": [ { - "name": "startTime", + "name": "time", "type": "double", "doc": "Start time of this activity period in UTC (s)." }, From 5bafad8ad8c08daf579e4535dc19d67e05b6f72e Mon Sep 17 00:00:00 2001 From: Aditya Mishra Date: Mon, 19 Jun 2023 20:37:29 +0530 Subject: [PATCH 19/24] Renamed vendor and model --- specifications/passive/android_google-1.0.0.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specifications/passive/android_google-1.0.0.yml b/specifications/passive/android_google-1.0.0.yml index e9986988..51cf21cb 100644 --- a/specifications/passive/android_google-1.0.0.yml +++ b/specifications/passive/android_google-1.0.0.yml @@ -1,6 +1,6 @@ #======================================== Google APIs =============================================# -vendor: ANDROID -model: GOOGLE +vendor: GOOGLE +model: SLEEP version: 1.0.0 data: #Google Sleep From 662fc1c083122a2ca149393a0171b7679fe5b16a Mon Sep 17 00:00:00 2001 From: Joris Borgdorff Date: Tue, 20 Jun 2023 09:45:12 +0200 Subject: [PATCH 20/24] Bump snapshot version --- java-sdk/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-sdk/build.gradle.kts b/java-sdk/build.gradle.kts index c7308db7..7cfa7230 100644 --- a/java-sdk/build.gradle.kts +++ b/java-sdk/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } allprojects { - version = "0.8.3" + version = "0.8.4-SNAPSHOT" group = "org.radarbase" } From cf6c50bbd46da9691a8421050a4cc29d33f79d03 Mon Sep 17 00:00:00 2001 From: Aditya Mishra Date: Tue, 20 Jun 2023 15:25:17 +0530 Subject: [PATCH 21/24] Addressed PR feedback: Incorporated suggested changes --- .../google/google_sleep_classify_event.avsc | 8 ++++---- .../passive/google/google_sleep_segment_event.avsc | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/commons/passive/google/google_sleep_classify_event.avsc b/commons/passive/google/google_sleep_classify_event.avsc index 8e510d81..af8aa30f 100644 --- a/commons/passive/google/google_sleep_classify_event.avsc +++ b/commons/passive/google/google_sleep_classify_event.avsc @@ -2,12 +2,12 @@ "namespace": "org.radarcns.passive.google", "type": "record", "name": "GoogleSleepClassifyEvent", - "doc": "Sleep classification event including the sleep confidence, device motion and ambient light level.", + "doc": "Sleep classification event that indicates that the user is probably sleeping. Includes sleep confidence, device motion and ambient light level.", "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "sleepConfidence", "type": "int", "doc": "Sleep confidence value between 0 and 100." }, - { "name": "light", "type": "int", "doc": "The brightness of the space around the device. Value ranges from 1 to 6, inclusive." }, - { "name": "motion", "type": "int", "doc": "The amount of device motion. Value ranges from 1 to 6, inclusive." } + { "name": "sleepConfidence", "type": "int", "doc": "Sleep confidence value. Higher values indicate that the user is more likely sleeping, while lower values indicate that the user is more likely awake." }, + { "name": "light", "type": "int", "doc": "The brightness of the space around the device, based on the device's ambient light sensor readings. Value ranges from 1 to 6, inclusive. Higher values indicate brighter surroundings, while lower values indicate darker surroundings." }, + { "name": "motion", "type": "int", "doc": "The amount of device motion, based on the device's accelerometer readings. Value ranges from 1 to 6, inclusive. Higher values indicate more movement of the device." } ] } diff --git a/commons/passive/google/google_sleep_segment_event.avsc b/commons/passive/google/google_sleep_segment_event.avsc index cac7d7ef..e690fe43 100644 --- a/commons/passive/google/google_sleep_segment_event.avsc +++ b/commons/passive/google/google_sleep_segment_event.avsc @@ -4,16 +4,14 @@ "name": "GoogleSleepSegmentEvent", "doc": "Represents the result of sleep data after the user is awake.", "fields": [ - { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, + { "name": "time", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user goes to sleep." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "sleepStartTime", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user goes to sleep." }, - { "name": "sleepEndTime", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user wakes up." }, - { "name": "sleepDuration", "type": "double", "doc": "The amount of elapsed time (s), that the user was asleep." }, - { "name": "sleepStatus", "type": { - "name": "SleepStatus", + { "name": "endTime", "type": "double", "doc": "The UNIX epoch time (s) for the moment when the user wakes up." }, + { "name": "status", "type": { + "name": "SleepClassificationStatus", "type": "enum", - "doc": "The status of the sleep segment detection.", - "symbols": ["STATUS_SUCCESSFUL", "STATUS_MISSING_DATA", "STATUS_NOT_DETECTED", "UNKNOWN"] + "doc": "The status of the sleep segment detection. \nSUCCESSFUL indicates successful detection of sleep segment in the past day.\nNOT_DETECTED indicates Sleep segment is not detected in the past day, or there isn't enough confidence that the user slept during the past day. This could happen for a variety of reasons, including the following: too much missing data, the user sleeps with the light, the user interacts with their device often, or the user's device doesn't support the sensors needed for sleep detection. \nMISSING_DATA indicates sleep segment was detected, but there was some missing data near the detected sleep segment. This could happen for a variety of reasons, including the following: the user turned off their device, the user delayed logging into their device after a system reboot or system upgrade, or an event occurred that paused the detection.", + "symbols": ["SUCCESSFUL", "MISSING_DATA", "NOT_DETECTED", "UNKNOWN"] }, "doc": "Status that indicates whether the system succeeded in detecting sleep.", "default": "UNKNOWN" } ] } From 65458444bb2136f78e4da324b2e547abbf167a1b Mon Sep 17 00:00:00 2001 From: Aditya Mishra Date: Tue, 20 Jun 2023 15:41:52 +0530 Subject: [PATCH 22/24] Updated type of sleepConfidence to float --- commons/passive/google/google_sleep_classify_event.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/passive/google/google_sleep_classify_event.avsc b/commons/passive/google/google_sleep_classify_event.avsc index af8aa30f..541dde7b 100644 --- a/commons/passive/google/google_sleep_classify_event.avsc +++ b/commons/passive/google/google_sleep_classify_event.avsc @@ -6,7 +6,7 @@ "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "sleepConfidence", "type": "int", "doc": "Sleep confidence value. Higher values indicate that the user is more likely sleeping, while lower values indicate that the user is more likely awake." }, + { "name": "sleepConfidence", "type": "float", "doc": "Sleep confidence value. Higher value indicate that the user is more likely sleeping, while lower values indicate that the user is more likely awake." }, { "name": "light", "type": "int", "doc": "The brightness of the space around the device, based on the device's ambient light sensor readings. Value ranges from 1 to 6, inclusive. Higher values indicate brighter surroundings, while lower values indicate darker surroundings." }, { "name": "motion", "type": "int", "doc": "The amount of device motion, based on the device's accelerometer readings. Value ranges from 1 to 6, inclusive. Higher values indicate more movement of the device." } ] From 7e6468ac701491f9c723597c0c70fb759a94f785 Mon Sep 17 00:00:00 2001 From: Aditya Mishra Date: Tue, 20 Jun 2023 17:07:58 +0530 Subject: [PATCH 23/24] Added range of sleep confidenece in doc --- commons/passive/google/google_sleep_classify_event.avsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commons/passive/google/google_sleep_classify_event.avsc b/commons/passive/google/google_sleep_classify_event.avsc index 541dde7b..87f6bd5d 100644 --- a/commons/passive/google/google_sleep_classify_event.avsc +++ b/commons/passive/google/google_sleep_classify_event.avsc @@ -6,7 +6,7 @@ "fields": [ { "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." }, { "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." }, - { "name": "sleepConfidence", "type": "float", "doc": "Sleep confidence value. Higher value indicate that the user is more likely sleeping, while lower values indicate that the user is more likely awake." }, + { "name": "sleepConfidence", "type": "float", "doc": "Sleep confidence value between 0-1. Higher value indicate that the user is more likely sleeping, while lower values indicate that the user is more likely awake." }, { "name": "light", "type": "int", "doc": "The brightness of the space around the device, based on the device's ambient light sensor readings. Value ranges from 1 to 6, inclusive. Higher values indicate brighter surroundings, while lower values indicate darker surroundings." }, { "name": "motion", "type": "int", "doc": "The amount of device motion, based on the device's accelerometer readings. Value ranges from 1 to 6, inclusive. Higher values indicate more movement of the device." } ] From aa3dd1663f6032d7eb4a9be9fd3ae423283602e3 Mon Sep 17 00:00:00 2001 From: Yatharth Ranjan Date: Fri, 30 Jun 2023 14:02:50 +0530 Subject: [PATCH 24/24] release version --- java-sdk/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-sdk/build.gradle.kts b/java-sdk/build.gradle.kts index 7cfa7230..c125ce17 100644 --- a/java-sdk/build.gradle.kts +++ b/java-sdk/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } allprojects { - version = "0.8.4-SNAPSHOT" + version = "0.8.4" group = "org.radarbase" }