# Valid database table names SENSORS: [applications_crashes, applications_foreground, applications_notifications, battery, bluetooth, calls, locations, messages, plugin_ambient_noise, plugin_device_usage, plugin_google_activity_recognition, screen] FITBIT_TABLE: [fitbit_data] FITBIT_SENSORS: [heartrate, steps, sleep] # Participants to include in the analysis # You must create a file for each participant # named pXXX containing their device_id PIDS: [p01, p02] # Global var with common day segments DAY_SEGMENTS: &day_segments [daily, morning, afternoon, evening, night] # Global timezone # Use codes from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones # Double check your code, for example EST is not US Eastern Time. TIMEZONE: &timezone America/New_York # Download data config DOWNLOAD_DATASET: GROUP: AAPECS # Readable datetime config READABLE_DATETIME: FIXED_TIMEZONE: *timezone # Communication SMS features config, TYPES and METRICS keys need to match SMS: TYPES : [received, sent] METRICS: received: [count, distinctcontacts, timefirstsms, timelastsms, countmostfrequentcontact] sent: [count, distinctcontacts, timefirstsms, timelastsms, countmostfrequentcontact] DAY_SEGMENTS: *day_segments # Communication call features config, TYPES and METRICS keys need to match CALLS: TYPES: [missed, incoming, outgoing] METRICS: missed: [count, distinctcontacts, timefirstcall, timelastcall, countmostfrequentcontact] incoming: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, hubermduration, varqnduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] outgoing: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, hubermduration, varqnduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] DAY_SEGMENTS: *day_segments APPLICATION_GENRES: CATALOGUE_SOURCE: FILE # FILE (genres are read from CATALOGUE_FILE) or GOOGLE (genres are scrapped from the Play Store) CATALOGUE_FILE: "data/external/stachl_application_genre_catalogue.csv" UPDATE_CATALOGUE_FILE: false # if CATALOGUE_SOURCE is equal to FILE, whether or not to update CATALOGUE_FILE, if CATALOGUE_SOURCE is equal to GOOGLE all scraped genres will be saved to CATALOGUE_FILE SCRAPE_MISSING_GENRES: false # whether or not to scrape missing genres, only effective if CATALOGUE_SOURCE is equal to FILE. If CATALOGUE_SOURCE is equal to GOOGLE, all genres are scraped anyway PHONE_VALID_SENSED_DAYS: BIN_SIZE: 5 # (in minutes) MIN_VALID_HOURS: 20 # (out of 24) MIN_BINS_PER_HOUR: 8 # (out of 60min/BIN_SIZE bins) RESAMPLE_FUSED_LOCATION: CONSECUTIVE_THRESHOLD: 30 # minutes, only replicate location samples to the next sensed bin if the phone did not stop collecting data for more than this threshold TIME_SINCE_VALID_LOCATION: 12 # hours, only replicate location samples to consecutive sensed bins if they were logged within this threshold after a valid location row TIMEZONE: *timezone BARNETT_LOCATION: LOCATIONS_TO_USE: ALL # ALL_EXCEPT_FUSED, RESAMPLE_FUSED ACCURACY_LIMIT: 51 # meters, drops location coordinates with an accuracy higher than this. This number means there's a 68% probability the true location is within this radius TIMEZONE: *timezone BLUETOOTH: DAY_SEGMENTS: *day_segments METRICS: ["countscans", "uniquedevices", "countscansmostuniquedevice"] GOOGLE_ACTIVITY_RECOGNITION: DAY_SEGMENTS: *day_segments METRICS: ['count','mostcommonactivity','countuniqueactivities','activitychangecount','sumstationary','summobile','sumvehicle'] BATTERY: DAY_SEGMENTS: *day_segments METRICS: ["countdischarge", "sumdurationdischarge", "countcharge", "sumdurationcharge", "avgconsumptionrate", "maxconsumptionrate"] SCREEN: DAY_SEGMENTS: *day_segments METRICS_EVENTS: ["counton", "countunlock", "unlocksperminute"] METRICS_DELTAS: ["sumduration", "maxduration", "minduration", "avgduration", "stdduration"] EPISODES: ["unlock"] LIGHT: DAY_SEGMENTS: *day_segments METRICS: ["count", "maxlux", "minlux", "avglux", "medianlux", "stdlux"] ACCELEROMETER: DAY_SEGMENTS: *day_segments METRICS: ["maxmagnitude", "minmagnitude", "avgmagnitude", "medianmagnitude", "stdmagnitude", "ratioexertionalactivityepisodes", "sumexertionalactivityepisodes", "longestexertionalactivityepisode", "longestnonexertionalactivityepisode", "countexertionalactivityepisodes", "countnonexertionalactivityepisodes"] HEARTRATE: DAY_SEGMENTS: *day_segments METRICS: ["maxhr", "minhr", "avghr", "medianhr", "modehr", "stdhr", "diffmaxmodehr", "diffminmodehr", "entropyhr", "lengthoutofrange", "lengthfatburn", "lengthcardio", "lengthpeak"] STEP: DAY_SEGMENTS: *day_segments METRICS: ALL_STEPS: ["sumallsteps", "maxallsteps", "minallsteps", "avgallsteps", "stdallsteps"] SEDENTARY_BOUT: ["countsedentarybout", "maxdurationsedentarybout", "mindurationsedentarybout", "avgdurationsedentarybout", "stddurationsedentarybout"] ACTIVE_BOUT: ["countactivebout", "maxdurationactivebout", "mindurationactivebout", "avgdurationactivebout", "stddurationactivebout"] THRESHOLD_ACTIVE_BOUT: 10 # steps