class: title-slide, inverse, right, top background-image: url(img/logo_transparent.png) background-position: 5% 12% background-size: 15%, cover <br> .right[ # You R What You Measure ### Digital biomarkers for insights in personalized health ] <br> <br> <br> <br> .left[Irene van den Broek | R/Medicine 2021 | August 27] <hr> .left[.footnote[[
www.jebentwatjemeet.nl](https://www.jebentwatjemeet.nl) <br> [
irenevandenbroek@gmail.com](mailto:irenevandenbroek@gmail.com)<br><br> [
@IrenevdBroek](https://www.linkedin.com/in/irenevdbroek/)<br> [
@JeBentWatJeMeet](http://twitter.com/JeBentWatJeMeet)<br> [
@IreneVDB](http://github.com/IreneVDB) ]] --- layout:true <div class="my-footer"> <span style="width:100%; text-align:center"> |
<a href=https://www.jebentwatjemeet.nl style="color: white"> jebentwatjemeet.nl </a>|
<a href=http://github.com/IreneVDB style="color: white"> @IreneVDB </a>|
<a href=http://twitter.com/JeBentWatJeMeet style="color: white"> @JeBentWatJeMeet </a>| </span> </div> --- name: intro class: top ## You are what you measure: My Quantified Self Project <br> .pull-left[.center[<img src="img/Logo_8factors.png" width="90%">]] .pull-right[.center[Collecting data about my .darkpink.large[Health] and .darkpink.large[Habits] using apps, sensors and wearable devices]] --- name: apps ## Wearables and apps for tracking .darkpurple[Health] and .darkpurple[Habits] .left-col[<img src="img/devices/Oura.png", width = "35%", style="padding:10px"> Oura Ring <br><br> <img src="img/apps/RescueTime.png", width = "35%", style="padding:10px; border-radius:30%"> RescueTime <br><br> <img src="img/apps/Strava.png", width = "35%", style="padding:10px; border-radius:25%"> Strava] .center-col[<img src="img/apps/HRV4Training.png", width = "35%", style="padding:10px"> HRV4Training <br><br> <img src="img/devices/Dreem.png", width = "35%", style="padding:10px"> Dreem <br><br> <img src="img/devices/FreeStyleLibre.png", width = "35%", style="padding:10px"> FreeStyle Libre] .right-col[<img src="img/devices/AppleWatch.png", width = "35%", style="padding:10px"> Apple Watch <br><br> <img src="img/devices/CorSense.png", width = "35%", style="padding:10px"> CorSense <br><br> <img src="img/apps/cronometer.png", width = "35%", style="padding:10px; border-radius:25%"> Cronometer] --- name: aim class: center ## .left[Let's talk biomarkers. Let's talk health tech. Let's talk R!] <br> .pull-left[
<br> <br> .xlarge[The potential of digital biomarkers to advance personalized health] <br><br> Personal use <br> Clinical trials <br> Clinical practice] .pull-right[
<br> <br> .xlarge[The power of R to support digital health data] <br><br> Data collection <br> Data analysis <br> Data communication] --- name: Digital Biomarkers class: left ## Digital Biomarkers ** Digital Biomarkers**: _Objective, quantifiable physiological and behavioral data that are collected and measured by means of digital devices such as apps, sensors and wearables._ <br> .center[<img src="img/PersonalizedHealth.png" width="100%">] --- ## Blood Glucose Monitoring in Diabetes Management <div style="vertical-align:middle; display:inline-block; text-align:center; width:30%;"> <img src="img/blooddraw.png" width="40%"/> </div>
<div style="vertical-align:middle; display:inline-block; text-align:center; width:30%;"> <img src="img/fingerprick.png" width="40%"/> </div>
<div style="vertical-align:middle; display:inline-block; text-align:center; width:30%;"> <img src="img/sensor.png" width="40%"/> </div> <br> <hr> <br> <div style="vertical-align:top; display:inline-block; text-align:center; width:24%;"> <img src="img/devices/Dexcom.png" height="200px"/> <span style="display:block;">Dexcom</span> </div> <div style="vertical-align:top; display:inline-block; text-align:center; width:24%;"> <img src="img/devices/Eversense.png" height="200px"/> <span style="display:block;">Eversense</span> </div> <div style="vertical-align:top; display:inline-block; text-align:center; width:24%;"> <img src="img/devices/FSL.png" height="200px"/> <span style="display:block;">FreeStyle Libre</span> </div> <div style="vertical-align:top; display:inline-block; text-align:center; width:24%;"> <img src="img/devices/MedtronicGL3.png" height="200px"/> <span style="display:block;">Medtronic</span> </div> --- name: R-R intervals class: left ## Heart Rate Variability: a non-invasive marker of .darkpurple[Stress] **HRV** is the variation in time between consecutive heart beats and reflects the heart's capacity to adapt to changes <br> .center[<img src="img/ECG_RR.png" width="100%">] --- name: HRV applications class: center ## .left[Daily HRV measurement to monitor .darkpurple[Stress] and .darkpurple[Recovery]] .left-column[Using **Corsense** and **HRV4Training** app <br><br> <img src="img/devices/CorSense.png" width = "40%"> <br><br> <img src="img/apps/HRV4Training.png" width = "40%" style="padding:10px"> ] .right-column[ <iframe src="data/eTrend_HRV4T_H250.html" width="100%" height="450" id="igraph" scrolling="no" seamless="seamless" frameBorder="0"> </iframe> ] --- name: timeseries class: center ## .left[More .darkpurple[Long-term] Trends: Step Count, Body Weight and Sleep] .panelset[ .panel[.panel-name[Step Count] .left-column[ Using **Apple Watch** <br><br> <img src="img/devices/AppleWatch.png" width="100px"> <br><br> <img src="img/apps/applewatch.jpg" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <iframe src="data/eTrend_Steps.html" width="100%" height="400" id="igraph" scrolling="no" seamless="seamless" frameBorder="0"> </iframe> ] ] <!----> .panel[.panel-name[Body Weight] .left-column[ Using **QardioBase** smart scale <br><br> <img src="img/devices/QardioBase.png" width="100px"> <br><br> <img src="img/apps/Qardio.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <iframe src="data/eTrend_Weight.html" width="100%" height="400" id="igraph" scrolling="no" seamless="seamless" frameBorder="0"> </iframe> ] ] <!----> .panel[.panel-name[Sleep] .left-column[ Using **Dreem** headband <br><br> <img src="img/devices/Dreem.png" width="100px"> <br><br> <img src="img/apps/dreem.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <iframe src="data/eTrend_Sleep.html" width="100%" height="400" id="igraph" scrolling="no" seamless="seamless" frameBorder="0"> </iframe> ] ] <!----> ] <!----> --- name: Nightly patterns class: center ## .left[More about .darkpurple[Sleep]: the Easiest way to collect data!] .panelset[ .panel[.panel-name[Sleep Phases] .left-column[ Using **Dreem Headband**<br> <img src="img/devices/Dreem.png" width="100px"> <br> <img src="img/apps/dreem.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="index_files/figure-html/Nightly_SleepPhase-1.png" width="864" style="display: block; margin: auto;" /> ] ] <!----> .panel[.panel-name[HRV] .left-column[ Using **Oura Ring**<br> <img src="img/devices/Oura.png" width="100px"> <br> <img src="img/apps/Oura.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="index_files/figure-html/oura_HRV-1.png" width="864" style="display: block; margin: auto;" /> ] ] <!----> .panel[.panel-name[Heart Rate] .left-column[ Using **Oura Ring**<br> <img src="img/devices/Oura.png" width="100px"> <br> <img src="img/apps/Oura.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="index_files/figure-html/oura_HR-1.png" width="864" style="display: block; margin: auto;" /> ] ] <!----> ] <!----> --- name: Biological Clock class: center ## .left[Daily Rhythms and the .darkpurple[Biological Clock]] .panelset.sideways[ .panel[.panel-name[Sleep] <img src ="img/apps/dreem.png" height="50px" style="float:right;margin-bottom:-50px;border-radius:10px"> <img src="index_files/figure-html/ggridge_sleep-1.png" width="864" style="display: block; margin: auto;" /> ] <!----> .panel[.panel-name[Meals] <img src ="img/apps/cronometer.png" height="50px" style="float:right;margin-bottom:-50px"> <img src="index_files/figure-html/ggridge_meal-1.png" width="864" style="display: block; margin: auto;" /> ] <!----> .panel[.panel-name[Excercise] <img src ="img/apps/Strava.png" height="50px" style="float:right;margin-bottom:-50px;border-radius:10px"> <img src="index_files/figure-html/ggridge_exercise-1.png" width="864" /> ] <!----> ] <!----> --- name: Productivity class: center ## .left[Tracking .darkpurple[Productivity] and .darkpurple[Screen Time]] .left-column[ Using **RescueTime**<br> <img src="img/apps/RescueTime.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="img/PCTimes.png"> ] --- name: Female Cycle class: left ## .darkpurple[Montly Rhythms] and Hormonal Influences .panelset.sideways[ .panel[.panel-name[Body Temperature] <img src ="img/apps/Oura.png" height="50px" style="float:right; margin-bottom:-50px; border-radius:25%"> <img src="index_files/figure-html/bodyTemp_cycle-1.png" width="936" style="display: block; margin: auto;" /> ] <!----> .panel[.panel-name[Breathing] <img src ="img/apps/Oura.png" height="50px" style="float:right;margin-bottom:-50px; border-radius: 25%"> <img src="index_files/figure-html/breathing_cycle-1.png" width="936" style="display: block; margin: auto;" /> ] <!----> .panel[.panel-name[Headaches] <img src ="img/apps/tracknshare.png" height="50px" style="float:right; margin-bottom:-50px; border-radius:25%"> <img src="index_files/figure-html/Headache_cycle-1.png" width="936" style="display: block; margin: auto;" /> ] <!----> ] <!----> --- name: Conclusion class: left ## In Conclusion...You R What You Measure! <img src="img/sleep_move_R_repeat.png"> .Footnote[Future (R-) Goals: - **Automate** and **Share** data upload, analysis and visualization - Work together on **Digital Health** Data (Viz) Projects ([*Get in touch!*](mailto:irenevandenbroek@gmail.com))] --- name: Resources class: left ## Resources **Blood Sugar Monitoring** for personalized nutrition:<br> [The Personalized Nutrition Project](http://personalnutrition.org/Home) <hr> **Heart Rate Variability:** <br> 📦 {[RHRV](https://rhrv.r-forge.r-project.org/index.html)} <br> [EliteHRV](https://elitehrv.com) blog <br> [HRV4Training](https://www.hrv4training.com/blog) blog <hr> **Data Visualization** R packages: <br> 📦 {[echarts4r](https://echarts4r.john-coene.com)} <br> 📦 {[ggridges](https://cran.r-project.org/web/packages/ggridges/vignettes/introduction.html)} <br> 📦 {[ggplot2](https://ggplot2.tidyverse.org)} --- name: Bonus slides class: inverse, center, middle background-image: url(img/logo_transparent.png) background-position: 5% 10% background-size: 10%, cover <br> #Bonus slides <br> (Slides that did not fit in the 10 min talk) <div class="my-footer"></div> --- name: HRV Recommendations class: center ## .left[Be aware *how* Heart Rate Variability is .darkpurple[Measured]...]
Recommendations for short-term HRV readings
Optimal
Alternative
Sensor
Electric (chest strap)
Optic (wrist, arm, finger, ear)
Time
First thing upon awakening
Fixed time of day
Length
5 min
> 1 min
Position
Supine / Laying
Sitting
Breathing
Natural
Paced
Frequency
Every day
At least 3x per week
--- name: HRV Analysis class: center ## .left[...and *how* Heart Rate Variability is .darkpurple[Analysed]...] <div style="vertical-align:top; display:inline-block; text-align:center; width:33%;"> <img src="img/RR.png"> <span style="display:block;">Time Domain</span> </div> <div style="vertical-align:top; display:inline-block; text-align:center; width:33%;"> <img src="img/psd.png"> <span style="display:block;">Frequency Domain</span> </div> <div style="vertical-align:top; display:inline-block; text-align:center; width:33%;"> <img src="img/Poincare.png"> <span style="display:block;">Non-Linear Analysis</span> </div> --- name: HRV Long-term class: top left ## .left[Another application of HRV: .darkpurple[Long-term] measurements] .left-column[.center[HRV for **Biofeedback** or **Sport Performance** <br><br> <img src="img/devices/polarH10.png" width = "40%"> <br> Polar H10 <br><br> <img src="img/apps/HRVlogger.png" width = "40%" style="padding:10px; border-radius:30%"> <br> HRV Logger app ]] .right-column[ <img src="index_files/figure-html/HRV_longterm-1.png" width="864" style="display: block; margin: auto;" /> ] --- name: api class: center ## .left[How to get the Data? All Ways lead to R...!] .panelset[ .panel[.panel-name[Manual vs Magical] <br><br> .pull-left[
<br> .xlarge[MANUAL] <br> Export + Import Files <br>] .pull-right[
<br> .xlarge[MAGICAL] <br> Cloud + API <br> ] ] <!----> .panel[.panel-name[Example Oura API] ```r connect.api <- function(startdate, token, username, password, data_type){ url <- paste0("https://api.ouraring.com/v1/", data_type, "?start=", startdate, "&access_token=", token) get_data <- GET(url, authenticate(username, password, type = "basic")) content <- content(get_data, "text") json <- fromJSON(content, flatten = TRUE) df <- as.data.frame(json) } ``` ```r oura <- map(c("sleep", "activity", "readiness"), connect.api, startdate = "2020-01-29", token = key_get("Token", keyring= "oura"), username = key_get("Username", keyring="oura"), password = key_get("Password", keyring= "oura")) ``` <hr> .left[📦 {httr} : Connect <br> 📦 {keyring}: Store credentials <br> Or look for dedicated packages: e.g., 📦 {rStrava}] ] <!----> ] <!----> --- name: Daily patterns class: center ## .left[Insights from Time Series: .darkpurple[Daily Patterns]] .panelset[ .panel[.panel-name[Blood Sugar] .left-column[ Using **Free Style Libre** Sensor <br> <img src="img/devices/FreeStyleLibre.png" width="100px"> <br> <img src="img/apps/FSL.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="index_files/figure-html/FSL_glucose-1.png" width="864" style="display: block; margin: auto;" /> ] ] <!----> .panel[.panel-name[Activity] .left-column[ Using **Oura Ring**<br> <img src="img/devices/Oura.png" width="100px"> <br> <img src="img/apps/Oura.png" width="100px"; style="padding:10px; border-radius:25%;"> ] .right-column[ <img src="index_files/figure-html/Daily_Activity-1.png" width="864" style="display: block; margin: auto;" /> ] ] <!----> ] <!---->