Skip to main content

Polar

Health metrics from Polar wearables can offer detailed insights into individual health metrics, including heart rate, sleep, and exercise data. This section explains how Polar integrates with Avicenna, making it easier for researchers to understand and use the health data of their participants.

Supported Polar Metrics in Avicenna

In this section, we list the comprehensive range of Polar metrics that Avicenna supports.

Polar Exercise

Provides detailed information about exercise sessions. It is stored internally as polar_exercise and includes the following fields:

  • Record Time: Calculated by combining start_time with duration, stored as milliseconds since epoch. Internally recorded as record_time.
  • Device: The specific Polar device used during the exercise. Internally recorded as device.
  • Start Time: The start time of the exercise session. Internally recorded as start_time.
  • UTC Offset: The offset from UTC at the start of the exercise, measured in minutes. Internally recorded as start_time_offset_minutes.
  • Duration: The total duration of the exercise session, specified in ISO 8601 format. Internally recorded as duration.
  • Calories: Total kilocalories expended during the training session. Internally recorded as calories.
  • Distance: Total distance traveled during the exercise, measured in meters. Internally recorded as distance.
  • Heart Rate: Information about heart rate metrics during the exercise, including:
    • Average Heart Rate: The average heart rate across the session. Internally recorded under heart_rate.average.
    • Maximum Heart Rate: The peak heart rate achieved during the session. Internally recorded under heart_rate.maximum.
  • Training Load: The overall training load impact of the exercise session. Internally recorded as training_load.
  • Sport: The type of sport or activity performed. Internally recorded as sport.
  • Has Route: Indicates if there is route data available for the session. Internally recorded as has_route.
  • Club ID: ID for the club associated with the session, if relevant. Internally recorded as club_id.
  • Club Name: Name of the club linked to the exercise. Internally recorded as club_name.
  • Detailed Sport Info: Detailed description of the sport as per Polar Flow compatibility. Internally recorded as detailed_sport_info.
  • Fat Percentage: Percentage of exercise calories derived from fat. Available if supported by the device. Internally recorded as fat_percentage.
  • Carbohydrate Percentage: Percentage of exercise calories derived from carbohydrates. Available if supported by the device. Internally recorded as carbohydrate_percentage.
  • Protein Percentage: Percentage of exercise calories derived from protein. Available if supported by the device. Internally recorded as protein_percentage.
  • Running Index: Score calculated from heart rate and speed data collected via GPS or stride sensor during running. Internally recorded as running_index.
  • Heart Rate Zones: Detailed list of times spent in various heart rate zones:
    • Index: The position of the zone in the list. Internally recorded as index.
    • Lower Heart Rate Limit: The minimum heart rate of the zone. Internally recorded as lower_limit.
    • Upper Heart Rate Limit: The maximum heart rate of the zone. Internally recorded as upper_limit.
    • Time Spent In Zone: Duration spent in this zone, formatted in ISO 8601. Internally recorded as in_zone.
  • Samples: Comprehensive list of all exercise samples collected:
    • Recording Rate: Frequency of sample recording in seconds, applicable only where relevant. Internally recorded as recording_rate.
    • Sample Type: Type of the sample, e.g., heart rate, speed. Internally recorded as sample_type.
    • Data: Comma-separated list of sample values. Internally recorded as data.
  • Route: List of geographical data points collected during the exercise:
    • Latitude: Latitude in degrees. Internally recorded as latitude.
    • Longitude: Longitude in degrees. Internally recorded as longitude.
    • Time: Timestamp for each location point, formatted as duration. Internally recorded as time.
    • Satellites: Number of satellites detected, up to a maximum of 63. Internally recorded as satellites.
    • Fix: GPS fix status, with a maximum value of three. Internally recorded as fix.
  • Training Load Pro: Advanced metrics to assess training load:
    • Date: The specific date of the training session. Internally recorded as date.
    • Cardio Load: Cardiovascular effort quantified. Internally recorded as cardio_load.
    • Muscle Load: Muscular effort quantified. Internally recorded as muscle_load.
    • Perceived Load: Subjectively rated effort of the training session. Internally recorded as perceived_load.
    • Cardio Load Interpretation Interpretations of the cardio loads. Internally recorded as perceived_load_interpretation.
    • Muscle Load Interpretation Interpretations of the muscle loads. Internally recorded as muscle_load_interpretation, ``.
    • Perceived Load Interpretation Interpretations of perceived loads. Internally recorded as perceived_load_interpretation.
    • User RPE: Rated Perceived Exertion, quantifying internal training load. Internally recorded as user_rpe.

Polar Sleep

Provides detailed information about sleep sessions. It is stored internally as polar_sleep and includes the following fields:

  • Record Time: Considered sleep_end_time, stored as milliseconds since epoch. Internally recorded as record_time.
  • Date: The date on which the sleep occurred. Internally recorded as date.
  • Sleep Start Time: The start time of the sleep period in ISO-8601 date/time format. Internally recorded as sleep_start_time.
  • Sleep End Time: The end time of the sleep period in ISO-8601 date/time format. Internally recorded as sleep_end_time.
  • Continuity: An estimate of how continuous the sleep was, on a scale from 1.0 to 5.0, where 5.0 indicates uninterrupted sleep. Internally recorded as continuity.
  • Continuity Class: Verbal assessments of sleep continuity ranging from FRAGMENTED_SLEEP to VERY_CONTINUOUS_SLEEP. Internally recorded as continuity_class.
  • Light Sleep: Total time in seconds spent in the light sleep stages (N1 + N2) between falling asleep and waking up. Internally recorded as light_sleep.
  • Deep Sleep: Total time in seconds spent in the deep sleep stage (N3) between falling asleep and waking up. Internally recorded as deep_sleep.
  • REM Sleep: Total time in seconds spent in the REM sleep stage between falling asleep and waking up. REM stands for rapid eye movement. Internally recorded as rem_sleep.
  • Unrecognized Sleep Stage: Total time in seconds spent in unrecognized sleep stages, often due to inadequate sensor contact or positioning. Internally recorded as unrecognized_sleep_stage.
  • Sleep Score: Summarizes the amount and quality of sleep into a single number on a scale from 1 to 100, consisting of multiple components including sleep time and sleep depth. Internally recorded as sleep_score.
  • Total Interruption Duration: The total time in seconds spent awake between falling asleep and waking up. Internally recorded as total_interruption_duration.
  • Sleep Charge: Sleep score compared to the usual level over the past 28 days, with a scale from MUCH_BELOW_USUAL to MUCH_ABOVE_USUAL. Internally recorded as sleep_charge.
  • Sleep Goal: Time goal in seconds for sleep, based on age-related sleep duration recommendations. Internally recorded as sleep_goal.
  • Sleep Rating: The quality of sleep, ranging from VERY_POORLY to VERY_WELL, with NO_VALUE indicating no value given. Internally recorded as sleep_rating.
  • Short Interruption Duration: Total time in seconds of short interruptions in sleep lasting less than 90 seconds. Internally recorded as short_interruption_duration.
  • Long Interruption Duration: Total time in seconds of long interruptions in sleep lasting 90 seconds or more. Internally recorded as long_interruption_duration.
  • Sleep Cycles: Number of complete sleep cycles recorded during the sleep session. Internally recorded as sleep_cycles.
  • Group Duration Score: Evaluates sleep duration against preferred settings and age-related recommendations, scored from 1.0 to 100.0 and categorized as poor, moderate, or good. Internally recorded as group_duration_score.
  • Group Solidity Score: Averages component scores of long interruptions, continuity, and actual sleep, rated from 1.0 to 100.0 and categorized as poor, moderate, or good. Internally recorded as group_solidity_score.
  • Group Regeneration Score: Averages scores of REM and deep sleep components, rated from 1.0 to 100.0 and interpreted as poor, moderate, or good regeneration. Internally recorded as group_regeneration_score.
  • Hypnogram: Classified time spans of sleep stages in 30-second epochs, covering light, deep, REM, unrecognized, or wake stages. Internally recorded under hypnogram.
    • Time: Timestamp for each stage, formatted as hour and minute.
    • Stage: Sleep stage identified at each timestamp. Values can be WAKE, REM, LIGHTER_NON_REM, LIGHT_NON_REM, DEEP_NON_REM, or UNKNOWN.
  • Heart Rate Samples: 5-minute average samples of heart rate during the sleep period. Samples may occasionally be recorded more frequently than every 5 minutes. Internally recorded under heart_rate_samples.
    • Time: Timestamp for each heart rate sample, formatted as hour and minute.
    • Heart Rate: Heart rate in beats per minute at each sample time.

Polar Continuous Heart Rate

It enables a more accurate measurement of daily calorie consumption and overall activity. It is stored internally as polar_continuous_heart_rate and includes the following fields:

  • Record Time: The timestamp when the heart rate data was received from Polar Webhook, stored as milliseconds since epoch. Internally recorded as record_time.
  • Date: The date on which the continuous heart rate data was recorded. Internally recorded as date.
  • Heart Rate Samples: Collection of 5-minute average samples of heart rate during the measurement period. Samples may occasionally be recorded more frequently than every 5 minutes. The unit for heart rate samples is beats per minute (bpm). Internally recorded under heart_rate_samples with detailed properties:
    • Heart Rate: The heart rate recorded at a specific time, expressed in beats per minute. Internally recorded as heart_rate.
    • Sample Time: The specific time at which each heart rate measurement was taken, formatted to include hour, minute, and second. Internally recorded as sample_time.

Polar SleepWise Circadian Bedtime

Provides information about the circadian bedtime, which is the optimal time to go to bed for the best sleep quality. It is stored internally as polar_sleepwise_circadian_bedtime and includes the following fields:

  • Record Time: Considered period_end_time, stored as milliseconds since epoch. Internally recorded as record_time.
  • Validity: Indicates the validity of the circadian bedtime data. Internally recorded as validity.
  • Quality: The quality of the circadian bedtime data. Internally recorded as quality.
  • Result Type: The type of result or measurement being reported. Internally recorded as result_type.
  • Period Start Time: The start time of the circadian bedtime measurement period. Internally recorded as period_start_time.
  • Period End Time: The end time of the circadian bedtime measurement period. Internally recorded as period_end_time.
  • Preferred Sleep Period Start Time: Designated start time of the preferred sleep period for circadian alignment. Internally recorded as preferred_sleep_period_start_time.
  • Preferred Sleep Period End Time: Designated end time of the preferred sleep period for circadian alignment. Internally recorded as preferred_sleep_period_end_time.
  • Sleep Gate Start Time: Start time of the suggested sleep gate, which indicates the optimal window for falling asleep according to circadian rhythms. Internally recorded as sleep_gate_start_time.
  • Sleep Gate End Time: End time of the suggested sleep gate, indicating the closing of the optimal window for falling asleep. Internally recorded as sleep_gate_end_time.
  • Sleep Timezone Offset Minutes: The timezone offset in minutes from UTC for the sleep data, which helps in aligning the sleep data with local time accurately. Internally recorded as sleep_timezone_offset_minutes.

Polar SleepWise Alertness

Provides information about the user's alertness levels during sleep. It is stored internally as polar_sleepwise_alertness and includes the following fields:

  • Record Time: Considered period_end_time, stored as milliseconds since epoch. Internally recorded as record_time.
  • Grade: A numerical grade reflecting alertness level. Internally recorded as grade.
  • Grade Validity Seconds: Duration in seconds for which the alertness grade is considered valid. Internally recorded as grade_validity_seconds.
  • Grade Type: The type of grading system used for alertness evaluation. Internally recorded as grade_type.
  • Grade Classification: Classification of the grade based on alertness levels. Internally recorded as grade_classification.
  • Validity: Indicates whether the grade is currently valid. Internally recorded as validity.
  • Sleep Inertia: Description related to the user's state of sleep inertia. Internally recorded as sleep_inertia.
  • Sleep Type: Type of sleep during which the alertness data was recorded. Internally recorded as sleep_type.
  • Result Type: The type of result generated for alertness measurement. Internally recorded as result_type.
  • Period Start Time: The start time of the alertness measurement period. Internally recorded as period_start_time.
  • Period End Time: The end time of the alertness measurement period. Internally recorded as period_end_time.
  • Sleep Period Start Time: The start time of the sleep period associated with the alertness data. Internally recorded as sleep_period_start_time.
  • Sleep Period End Time: The end time of the sleep period associated with the alertness data. Internally recorded as sleep_period_end_time.
  • Sleep Timezone Offset Minutes: Timezone offset in minutes for the sleep period's local time. Internally recorded as sleep_timezone_offset_minutes.
  • Hourly Data: List of hourly data throughout the alertness period. Internally recorded under hourly_data with detailed properties:
    • Validity: Indicates the validity of each hourly data point. Internally recorded as validity.
    • Alertness Level: The level of alertness measured during the hour. Internally recorded as alertness_level.
    • Start Time: The start time of the hourly measurement. Internally recorded as start_time.
    • End Time: The end time of the hourly measurement. Internally recorded as end_time.

Data Collection Behavior

Whenever there is new Polar data, the Polar's server will send the new data to Avicenna.

Adding Polar As a Data Source

See Accessing Data Sources.

Monitoring Polar Data

There are two ways to monitor and export Polar data: using the Data Export page and using Kibana.

Polar Data Source in Participant App

After a participant joins a study, they need to grant access to Avicenna to collect data. To do that, the participant needs to go to Settings on the Avicenna app and click on My Studies. Then they should choose the study that is collecting Polar data. On the study's page, clicking on the Data Sources will take them to the data sources page:

Study's Data Sources page in the Avicenna app

On this page, the participant will see all of the data sources that the study uses to collect data. Among these data sources, on the corner of the Polar data source(s), there is a Grant Access button:

Granting access to Polar on the Data Sources page

By clicking on the Grant Access button, the participant will be directed to the sign-in page of the Polar official website. Then, they can decide whether they want to share those data with Avicenna:

Granting access to Polar data

After clicking on Grant, the participant will be redirected to the Data Sources page of the study in the Avicenna app, and they have successfully granted access to Avicenna to gather Polar data.

The participants can stop sharing the data anytime by clicking on Revoke Access on the Data Sources page.

Revoking access to Polar data