$schema: "http://json-schema.org/draft-07/schema#" description: RAPIDS configuration schema required: - DATABASE_GROUP - TIMEZONE - PIDS - CREATE_PARTICIPANT_FILES - TIME_SEGMENTS - PHONE_DATA_STREAMS - PHONE_ACCELEROMETER - PHONE_ACTIVITY_RECOGNITION - PHONE_APPLICATIONS_CRASHES - PHONE_APPLICATIONS_FOREGROUND - PHONE_APPLICATIONS_NOTIFICATIONS - PHONE_AWARE_LOG - PHONE_BATTERY - PHONE_BLUETOOTH - PHONE_CALLS - PHONE_CONVERSATION - PHONE_DATA_YIELD - PHONE_KEYBOARD - PHONE_LOCATIONS - PHONE_MESSAGES - PHONE_SCREEN - PHONE_WIFI_CONNECTED - PHONE_WIFI_VISIBLE - FITBIT_DATA_STREAMS - FITBIT_DATA_YIELD - FITBIT_HEARTRATE_SUMMARY - FITBIT_HEARTRATE_INTRADAY - FITBIT_SLEEP_SUMMARY - FITBIT_SLEEP_INTRADAY - FITBIT_STEPS_SUMMARY - FITBIT_STEPS_INTRADAY - HISTOGRAM_PHONE_DATA_YIELD - HEATMAP_PHONE_DATA_YIELD_PER_PARTICIPANT_PER_TIME_SEGMENT - HEATMAP_SENSORS_PER_MINUTE_PER_TIME_SEGMENT - HEATMAP_SENSOR_ROW_COUNT_PER_TIME_SEGMENT - HEATMAP_FEATURE_CORRELATION_MATRIX definitions: PROVIDER: type: object required: [COMPUTE, SRC_FOLDER, SRC_LANGUAGE, FEATURES] properties: COMPUTE: type: boolean FEATURES: type: [array, object] SRC_FOLDER: type: string SRC_LANGUAGE: type: string enum: [python, r] DORYAB_BLUETOOTH_FEATURE: type: object required: [DEVICES, SCANS_MOST_FREQUENT_DEVICE, SCANS_LEAST_FREQUENT_DEVICE] properties: DEVICES: type: array uniqueItems: True items: type: string enum: ["countscans", "uniquedevices", "meanscans", "stdscans"] SCANS_MOST_FREQUENT_DEVICE: type: array uniqueItems: True items: type: string enum: ["withinsegments", "acrosssegments", "acrossdataset"] SCANS_LEAST_FREQUENT_DEVICE: type: array uniqueItems: True items: type: string enum: ["withinsegments", "acrosssegments", "acrossdataset"] APPLICATION_CATEGORIES_FEATURE: type: object required: [CATALOGUE_SOURCE, CATALOGUE_FILE, UPDATE_CATALOGUE_FILE, SCRAPE_MISSING_CATEGORIES] properties: CATALOGUE_SOURCE: type: string enum: ["FILE", "GOOGLE"] CATALOGUE_FILE: type: string pattern: "^.*\\.csv$" UPDATE_CATALOGUE_FILE: type: boolean SCRAPE_MISSING_CATEGORIES: type: boolean DATA_CONFIGURATION: type: object required: [SOURCE, TIMEZONE] properties: SOURCE: type: object required: [TYPE, DATABASE_GROUP] properties: TYPE: type: string DATABASE_GROUP: type: string TIMEZONE: type: object required: [TYPE, VALUE] properties: TYPE: type: string VALUE: type: string properties: DATABASE_GROUP: type: string TIMEZONE: type: object required: [TYPE, SINGLE, MULTIPLE] properties: TYPE: type: string enum: ["MULTIPLE", "SINGLE"] SINGLE: type: object required: [TZCODE] properties: TZCODE: type: string MULTIPLE: type: object required: [TZCODES_FILE, IF_MISSING_TZCODE, DEFAULT_TZCODE, FITBIT] properties: TZCODES_FILE: type: string pattern: "^.*\\.csv$" IF_MISSING_TZCODE: type: string enum: [USE_DEFAULT] DEFAULT_TZCODE: type: string FITBIT: type: object required: [ALLOW_MULTIPLE_TZ_PER_DEVICE, INFER_FROM_SMARTPHONE_TZ] properties: ALLOW_MULTIPLE_TZ_PER_DEVICE: type: boolean INFER_FROM_SMARTPHONE_TZ: type: boolean PIDS: type: array uniqueItems: True items: type: string CREATE_PARTICIPANT_FILES: type: object required: [SOURCE, PHONE_SECTION, FITBIT_SECTION] properties: SOURCE: type: object required: [TYPE] properties: TYPE: type: string enum: [AWARE_DEVICE_TABLE, CSV_FILE] DATABASE_GROUP: type: string CSV_FILE_PATH: type: string pattern: "^.*\\.csv$" TIMEZONE: type: string PHONE_SECTION: type: object properties: ADD: type: boolean DEVICE_ID_COLUMN: type: string IGNORED_DEVICE_IDS: type: array items: type: string FITBIT_SECTION: properties: ADD: type: boolean DEVICE_ID_COLUMN: type: string IGNORED_DEVICE_IDS: type: array items: type: string TIME_SEGMENTS: type: object required: [TYPE, FILE, INCLUDE_PAST_PERIODIC_SEGMENTS] properties: TYPE: type: string enum: ["FREQUENCY", "PERIODIC", "EVENT"] FILE: type: string pattern: "^.*\\.csv$" INCLUDE_PAST_PERIODIC_SEGMENTS: type: boolean PHONE_DATA_STREAMS: type: object properties: USE: type: string aware_mysql: type: object properties: DATABASE_GROUP: type: string PHONE_ACCELEROMETER: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: type: array uniqueItems: True items: type: string enum: ["maxmagnitude", "minmagnitude", "avgmagnitude", "medianmagnitude", "stdmagnitude"] PANDA: allOf: - $ref: "#/definitions/PROVIDER" - properties: VALID_SENSED_MINUTES: type: boolean FEATURES: type: object required: [exertional_activity_episode, nonexertional_activity_episode] properties: exertional_activity_episode: type: array uniqueItems: True items: type: string enum: ["sumduration", "maxduration", "minduration", "avgduration", "medianduration", "stdduration"] nonexertional_activity_episode: type: array uniqueItems: True items: type: string enum: ["sumduration", "maxduration", "minduration", "avgduration", "medianduration", "stdduration"] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_ACTIVITY_RECOGNITION: type: object required: [TABLE, EPISODE_THRESHOLD_BETWEEN_ROWS, PROVIDERS] properties: TABLE: type: object required: [ANDROID, IOS] properties: ANDROID: type: string IOS: type: string EPISODE_THRESHOLD_BETWEEN_ROWS: type: integer maximum: 1440 minimum: 0 PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["count", "mostcommonactivity", "countuniqueactivities", "durationstationary", "durationmobile", "durationvehicle"] ACTIVITY_CLASSES: type: object required: [STATIONARY, MOBILE, VEHICLE] properties: STATIONARY: type: array uniqueItems: True items: type: string enum: ["still", "tilting"] MOBILE: type: array uniqueItems: True items: type: string enum: ["on_foot", "walking", "running", "on_bicycle"] VEHICLE: type: array uniqueItems: True items: type: string enum: ["in_vehicle"] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_APPLICATIONS_CRASHES: type: object required: [TABLE, APPLICATION_CATEGORIES, PROVIDERS] properties: TABLE: type: string APPLICATION_CATEGORIES: allOf: - $ref: "#/definitions/APPLICATION_CATEGORIES_FEATURE" PROVIDERS: additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_APPLICATIONS_FOREGROUND: type: object required: [TABLE, APPLICATION_CATEGORIES, PROVIDERS] properties: TABLE: type: string APPLICATION_CATEGORIES: allOf: - $ref: "#/definitions/APPLICATION_CATEGORIES_FEATURE" PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: SINGLE_CATEGORIES: type: array uniqueItems: True items: type: string MULTIPLE_CATEGORIES: type: object additionalProperties: type: array uniqueItems: True items: type: string SINGLE_APPS: type: array uniqueItems: True items: type: string EXCLUDED_CATEGORIES: type: ["null", array] uniqueItems: True items: type: string EXCLUDED_APPS: type: array uniqueItems: true items: type: string FEATURES: uniqueItems: True items: type: string enum: ["count", "timeoffirstuse", "timeoflastuse", "frequencyentropy"] PHONE_APPLICATIONS_NOTIFICATIONS: type: object required: [TABLE, APPLICATION_CATEGORIES, PROVIDERS] properties: TABLE: type: string APPLICATION_CATEGORIES: allOf: - $ref: "#/definitions/APPLICATION_CATEGORIES_FEATURE" PROVIDERS: type: ["null", object] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_AWARE_LOG: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_BATTERY: type: object required: [TABLE, PROVIDERS, EPISODE_THRESHOLD_BETWEEN_ROWS] properties: TABLE: type: string EPISODE_THRESHOLD_BETWEEN_ROWS: type: integer maximum: 1440 minimum: 0 PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["countdischarge", "sumdurationdischarge", "countcharge", "sumdurationcharge", "avgconsumptionrate", "maxconsumptionrate"] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_BLUETOOTH: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["countscans", "uniquedevices", "countscansmostuniquedevice"] DORYAB: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: type: object required: [ALL, OWN, OTHERS] properties: ALL: allOf: - $ref: "#/definitions/DORYAB_BLUETOOTH_FEATURE" OWN: allOf: - $ref: "#/definitions/DORYAB_BLUETOOTH_FEATURE" OTHERS: allOf: - $ref: "#/definitions/DORYAB_BLUETOOTH_FEATURE" additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_CALLS: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: CALL_TYPES: type: array items: type: string enum: [missed, incoming, outgoing] FEATURES: type: object required: [missed, incoming, outgoing] properties: missed: type: array uniqueItems: True items: type: string enum: [count, distinctcontacts, timefirstcall, timelastcall, countmostfrequentcontact] incoming: type: array uniqueItems: True items: type: string enum: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] outgoing: type: array uniqueItems: True items: type: string enum: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_CONVERSATION: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: object required: [ANDROID, IOS] properties: ANDROID: type: string IOS: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: items: type: string enum: ["minutessilence", "minutesnoise", "minutesvoice", "minutesunknown","sumconversationduration","avgconversationduration", "sdconversationduration","minconversationduration","maxconversationduration","timefirstconversation","timelastconversation","noisesumenergy", "noiseavgenergy","noisesdenergy","noiseminenergy","noisemaxenergy","voicesumenergy", "voiceavgenergy","voicesdenergy","voiceminenergy","voicemaxenergy","silencesensedfraction","noisesensedfraction", "voicesensedfraction","unknownsensedfraction","silenceexpectedfraction","noiseexpectedfraction","voiceexpectedfraction", "unknownexpectedfraction","countconversation"] RECORDING_MINUTES: type: integer minimum: 1 maximum: 1440 PAUSED_MINUTES: type: integer minimum: 1 maximum: 1440 additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_DATA_YIELD: type: object required: [SENSORS, PROVIDERS] properties: SENSORS: type: ["null", array] items: type: string enum: ["PHONE_ACCELEROMETER", "PHONE_ACTIVITY_RECOGNITION", "PHONE_APPLICATIONS_CRASHES", "PHONE_APPLICATIONS_FOREGROUND", "PHONE_APPLICATIONS_NOTIFICATIONS", "PHONE_AWARE_LOG", "PHONE_BATTERY", "PHONE_BLUETOOTH", "PHONE_CALLS", "PHONE_CONVERSATION", "PHONE_KEYBOARD", "PHONE_LIGHT", "PHONE_LOCATIONS", "PHONE_MESSAGES", "PHONE_SCREEN", "PHONE_WIFI_CONNECTED", "PHONE_WIFI_VISIBLE"] PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: [ratiovalidyieldedminutes, ratiovalidyieldedhours] MINUTE_RATIO_THRESHOLD_FOR_VALID_YIELDED_HOURS: type: number minimum: 0 maximum: 1 additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_KEYBOARD: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_LIGHT: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["count", "maxlux", "minlux", "avglux", "medianlux", "stdlux"] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_LOCATIONS: type: object required: [TABLE, LOCATIONS_TO_USE, FUSED_RESAMPLED_CONSECUTIVE_THRESHOLD, PROVIDERS] properties: TABLE: type: string LOCATIONS_TO_USE: type: string enum: [ALL, GPS, ALL_RESAMPLED, FUSED_RESAMPLED] FUSED_RESAMPLED_CONSECUTIVE_THRESHOLD: type: integer exclusiveMinimum: 0 FUSED_RESAMPLED_TIME_SINCE_VALID_LOCATION: type: integer exclusiveMinimum: 0 HOME_INFERENCE: type: object required: [DBSCAN_EPS, DBSCAN_MINSAMPLES, THRESHOLD_STATIC, CLUSTERING_ALGORITHM] properties: DBSCAN_EPS: type: integer exclusiveMinimum: 0 DBSCAN_MINSAMPLES: type: integer exclusiveMinimum: 0 THRESHOLD_STATIC: type: integer exclusiveMinimum: 0 CLUSTERING_ALGORITHM: type: string enum: ["DBSCAN", "OPTICS"] PROVIDERS: type: ["null", object] properties: DORYAB: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: type: array uniqueItems: True items: type: string enum: [locationvariance,loglocationvariance,totaldistance,averagespeed,varspeed,circadianmovement,numberofsignificantplaces,numberlocationtransitions,radiusgyration,timeattop1location,timeattop2location,timeattop3location,movingtostaticratio,outlierstimepercent,maxlengthstayatclusters,minlengthstayatclusters,meanlengthstayatclusters,stdlengthstayatclusters,locationentropy,normalizedlocationentropy,timeathome] ACCURACY_LIMIT: type: integer exclusiveMinimum: 0 DBSCAN_EPS: type: integer exclusiveMinimum: 0 DBSCAN_MINSAMPLES: type: integer exclusiveMinimum: 0 THRESHOLD_STATIC: type: integer exclusiveMinimum: 0 MAXIMUM_ROW_GAP: type: integer exclusiveMinimum: 0 MAXIMUM_ROW_DURATION: type: integer exclusiveMinimum: 0 MINUTES_DATA_USED: type: boolean CLUSTER_ON: type: string enum: ["PARTICIPANT_DATASET", "TIME_SEGMENT"] CLUSTERING_ALGORITHM: type: string enum: ["DBSCAN", "OPTICS"] BARNETT: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: type: array uniqueItems: True items: type: string enum: ["hometime","disttravelled","rog","maxdiam","maxhomedist","siglocsvisited","avgflightlen","stdflightlen","avgflightdur","stdflightdur","probpause","siglocentropy","circdnrtn","wkenddayrtn"] ACCURACY_LIMIT: type: integer exclusiveMinimum: 0 IF_MULTIPLE_TIMEZONES: type: string enum: [USE_MOST_COMMON] MINUTES_DATA_USED: type: boolean additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_MESSAGES: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: MESSAGES_TYPES: type: array uniqueItems: True items: type: string enum: ["received", "sent"] FEATURES: type: object required: [received, sent] properties: received: type: array uniqueItems: True items: type: string enum: ["count", "distinctcontacts", "timefirstmessage", "timelastmessage", "countmostfrequentcontact"] sent: type: array uniqueItems: True items: type: string enum: ["count", "distinctcontacts", "timefirstmessage", "timelastmessage", "countmostfrequentcontact"] PHONE_SCREEN: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: REFERENCE_HOUR_FIRST_USE: type: integer minimum: 0 maximum: 23 IGNORE_EPISODES_SHORTER_THAN: type: integer minimum: 0 IGNORE_EPISODES_LONGER_THAN: type: integer minimum: 0 FEATURES: uniqueItems: True items: type: string enum: ["countepisode", "sumduration", "maxduration", "minduration", "avgduration", "stdduration", "firstuseafter"] EPISODE_TYPES: type: array uniqueItems: True items: type: string enum: ["unlock"] PHONE_WIFI_CONNECTED: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["countscans", "uniquedevices", "countscansmostuniquedevice"] additionalProperties: $ref: "#/definitions/PROVIDER" PHONE_WIFI_VISIBLE: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["countscans", "uniquedevices", "countscansmostuniquedevice"] additionalProperties: $ref: "#/definitions/PROVIDER" FITBIT_DATA_STREAMS: type: object properties: USE: type: string fitbitjson_mysql: type: object properties: DATABASE_GROUP: type: string FITBIT_DATA_YIELD: type: object required: [SENSOR, PROVIDERS] properties: SENSOR: type: string enum: ["FITBIT_HEARTRATE_INTRADAY"] PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["ratiovalidyieldedminutes", "ratiovalidyieldedhours"] MINUTE_RATIO_THRESHOLD_FOR_VALID_YIELDED_HOURS: type: number minimum: 0 maximum: 1 FITBIT_HEARTRATE_SUMMARY: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["maxrestinghr", "minrestinghr", "avgrestinghr", "medianrestinghr", "moderestinghr", "stdrestinghr", "diffmaxmoderestinghr", "diffminmoderestinghr", "entropyrestinghr"] FITBIT_HEARTRATE_INTRADAY: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["maxhr", "minhr", "avghr", "medianhr", "modehr", "stdhr", "diffmaxmodehr", "diffminmodehr", "entropyhr", "minutesonoutofrangezone", "minutesonfatburnzone", "minutesoncardiozone", "minutesonpeakzone"] additionalProperties: $ref: "#/definitions/PROVIDER" FITBIT_SLEEP_SUMMARY: type: object required: [TABLE, SLEEP_EPISODE_TIMESTAMP, PROVIDERS] properties: TABLE: type: string SLEEP_EPISODE_TIMESTAMP: type: string enum: ["start", "end"] PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["countepisode", "avgefficiency", "sumdurationafterwakeup", "sumdurationasleep", "sumdurationawake", "sumdurationtofallasleep", "sumdurationinbed", "avgdurationafterwakeup", "avgdurationasleep", "avgdurationawake", "avgdurationtofallasleep", "avgdurationinbed"] SLEEP_TYPES: type: array uniqueItems: True items: type: string enum: ["main", "nap", "all"] additionalProperties: $ref: "#/definitions/PROVIDER" FITBIT_SLEEP_INTRADAY: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: type: object required: [LEVELS_AND_TYPES_COMBINING_ALL, LEVELS_AND_TYPES, RATIOS_TYPE, RATIOS_SCOPE, ROUTINE] properties: LEVELS_AND_TYPES_COMBINING_ALL: type: boolean LEVELS_AND_TYPES: type: array uniqueItems: True items: type: string enum: [countepisode, sumduration, maxduration, minduration, avgduration, medianduration, stdduration] RATIOS_TYPE: type: array uniqueItems: True items: type: string enum: [count, duration] RATIOS_SCOPE: type: array uniqueItems: True items: type: string enum: [ACROSS_LEVELS, ACROSS_TYPES, WITHIN_LEVELS, WITHIN_TYPES] ROUTINE: type: array uniqueItems: True items: type: string enum: [starttimefirstmainsleep, endtimelastmainsleep, starttimefirstnap, endtimelastnap] SLEEP_LEVELS: type: object required: [CLASSIC, STAGES, UNIFIED] properties: CLASSIC: type: array uniqueItems: True items: type: string enum: [awake, restless, asleep] STAGES: type: array uniqueItems: True items: type: string enum: [wake, deep, light, rem] UNIFIED: type: array uniqueItems: True items: type: string enum: [awake, asleep] SLEEP_TYPES: type: array uniqueItems: True items: type: string enum: [main, nap] INCLUDE_SLEEP_LATER_THAN: type: number minimum: 0 maximum: 1439 REFERENCE_TIME: type: string enum: [MIDNIGHT, START_OF_THE_SEGMENT] PRICE: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: [avgduration, avgratioduration, avgstarttimeofepisodemain, avgendtimeofepisodemain, avgmidpointofepisodemain, "stdstarttimeofepisodemain", "stdendtimeofepisodemain", "stdmidpointofepisodemain", socialjetlag, meanssdstarttimeofepisodemain, meanssdendtimeofepisodemain, meanssdmidpointofepisodemain, medianssdstarttimeofepisodemain, medianssdendtimeofepisodemain, medianssdmidpointofepisodemain] SLEEP_LEVELS: type: object required: [CLASSIC, STAGES, UNIFIED] properties: CLASSIC: type: array uniqueItems: True items: type: string enum: [awake, restless, asleep] STAGES: type: array uniqueItems: True items: type: string enum: [wake, deep, light, rem] UNIFIED: type: array uniqueItems: True items: type: string enum: [awake, asleep] DAY_TYPES: type: array uniqueItems: True items: type: string enum: [WEEKEND, WEEK, ALL] GROUP_EPISODES_WITHIN: type: object required: [START_TIME, LENGTH] properties: START_TIME: type: number minimum: 0 maximum: 1439 LENGTH: type: number minimum: 0 maximum: 1440 additionalProperties: $ref: "#/definitions/PROVIDER" FITBIT_STEPS_SUMMARY: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: uniqueItems: True items: type: string enum: ["maxsumsteps", "minsumsteps", "avgsumsteps", "mediansumsteps", "stdsumsteps"] FITBIT_STEPS_INTRADAY: type: object required: [TABLE, PROVIDERS] properties: TABLE: type: string PROVIDERS: type: ["null", object] properties: RAPIDS: allOf: - $ref: "#/definitions/PROVIDER" - properties: FEATURES: required: [STEPS, SEDENTARY_BOUT, ACTIVE_BOUT] properties: STEPS: type: array uniqueItems: True items: type: string enum: ["sum", "max", "min", "avg", "std"] SEDENTARY_BOUT: type: array uniqueItems: True items: type: string enum: ["countepisode", "sumduration", "maxduration", "minduration", "avgduration", "stdduration"] ACTIVE_BOUT: type: array uniqueItems: True items: type: string enum: ["countepisode", "sumduration", "maxduration", "minduration", "avgduration", "stdduration"] THRESHOLD_ACTIVE_BOUT: type: integer minimum: 0 INCLUDE_ZERO_STEP_ROWS: type: boolean HISTOGRAM_PHONE_DATA_YIELD: type: object required: [PLOT] properties: PLOT: type: boolean HEATMAP_PHONE_DATA_YIELD_PER_PARTICIPANT_PER_TIME_SEGMENT: type: object required: [PLOT] properties: PLOT: type: boolean HEATMAP_SENSORS_PER_MINUTE_PER_TIME_SEGMENT: type: object required: [PLOT] properties: PLOT: type: boolean HEATMAP_SENSOR_ROW_COUNT_PER_TIME_SEGMENT: type: object required: [PLOT, SENSORS] properties: PLOT: type: boolean SENSORS: type: array uniqueItems: True items: type: string enum: ["PHONE_ACCELEROMETER", "PHONE_ACTIVITY_RECOGNITION", "PHONE_APPLICATIONS_FOREGROUND", "PHONE_BATTERY", "PHONE_BLUETOOTH", "PHONE_CALLS", "PHONE_CONVERSATION", "PHONE_LIGHT", "PHONE_LOCATIONS", "PHONE_MESSAGES", "PHONE_SCREEN", "PHONE_WIFI_CONNECTED", "PHONE_WIFI_VISIBLE"] HEATMAP_FEATURE_CORRELATION_MATRIX: type: object required: [PLOT, MIN_ROWS_RATIO, CORR_THRESHOLD, CORR_METHOD] properties: PLOT: type: boolean MIN_ROWS_RATIO: type: number minimum: 0 maximum: 1 CORR_THRESHOLD: type: number minimum: 0 maximum: 1 CORR_METHOD: type: string enum: ["pearson", "kendall", "spearman"]