Prifina for Developers
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com

Artificial Oura Ring Data for Software Development

8/24/2022

 
In this post we are going deeper in the Dynamic Data project, looking at the Oura Ring dynamic data (library available here on GitHub and at NPM). Opening the library, you’ll see there are three different types of data files: ActivitySummary, SleepSummary and ReadinessSummary

Learn more about dynamic data generators and benefits of artificial data in software development.
Picture

About the data source?

Oura Ring is a smart ring (fitness tracker) that fits on the users finger, that monitors several metrics:
  • Heart Rate
  • Temperature
  • Time spent in various sleep states
  • Metabolic Rate
  • etc
Each activity is given a performance score based on the user’s performance during the activity: how efficient they were, number of disturbances, etc.

Approach used

3 separate mockup files were created for the 3 different data objects:
  • ActivitySummary
  • SleepSummary
  • ReadinessSummary
The data model of the above objects can be seen below. These mockup files make up the oura-data package.
Picture
Data model of the Oura mockups
The oura-mockups package imports the aforementioned files and goes through them generating (artificial) new data using proprietary functions, such as those found in the utils package.

For example, with the ReadinessSummary object:
Static ReadinessSummary Object

    
Artificial ReadinessSummary Object

    

Use Case Ideas

  • Health/Fitness Apps
  • data visualization widgets
  • etc.

Explore entirely new use cases

  • Create a to-do app that hides non-important or not urgent tasks, if your readiness score is low.
  • Avatar that reacts to your readiness
  • Motivational quotes to you screen depending on your energy level

Ideas to combine with some other data sources

Combing with other Health devices to provide greater context towards some activities e.g. Fitbit, Garmin, Strava, Whoop.

Or with some entirely different segment data, like air quality, weather, location or similar to find interesting new applications for the data.

Open Source data library

We welcome contributions and forks to this data set, and look forward to seeing what developers build in our Liberty. Equality. Data Slack channel.

Considerations for next version/improvements

General Improvements
  • Have the score attribute make sense in relation to the other score-related
    attributes
  • Random UTC offsets that exist
Object-Specific improvements
  • ActivitySummary
    • Have average_met equal the average of all the met_1min readings
  • SleepSummary
    • Have hr_average equal the average of all the hr_5min readings
    • Have the hr_lowest equal the lowest value of the hr_5min
    • Have duration = total + awake
    • Have total = light + deep + rem
    • Have midpoint_time = (duration + onset_latency ) / 2
Join our Slack community; Liberty. Equality. Data. - to ideate and collaborate with other app developers, designers, and our team.
Forward>>

    Categories

    All
    23andme
    Ancestry
    Apple
    Dynamic Data
    Fitbit
    Google
    Ios
    Movesense
    Open Source
    Oura
    Peloton
    Polar
    Runkeeper
    Sensor BNO055
    Spotify
    Strava
    Twitch
    Uber
    Use Case
    Veri
    Whoop
    Withings

    RSS Feed

© 2023 PRIFINA INC. ​
Terms of Service
Privacy Policy
About Prifina
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com