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_timewithduration, in milliseconds since epoch. Internally stored asrecord_time. - Device: The specific Polar device used during the exercise. Internally stored as
device. - Start Time: The start time of the exercise session. Internally stored as
start_time. - UTC Offset: The offset from UTC at the start of the exercise, in minutes. Internally stored as
start_time_offset_minutes. - Duration: The total duration of the exercise session, specified in ISO 8601 format. Internally stored as
duration. - Calories: Total kilocalories expended during the training session. Internally stored as
calories. - Distance: Total distance traveled during the exercise, in meters. Internally stored as
distance. - Heart Rate: Information about heart rate metrics during the exercise, including:
- Average Heart Rate: The average heart rate across the session. Internally stored as
heart_rate.average. - Maximum Heart Rate: The peak heart rate achieved during the session. Internally stored as
heart_rate.maximum.
- Average Heart Rate: The average heart rate across the session. Internally stored as
- Training Load: The overall training load impact of the exercise session. Internally stored as
training_load. - Sport: The type of sport or activity performed. Internally stored as
sport. - Has Route: Indicates if there is route data available for the session. Internally stored as
has_route. - Club ID: ID for the club associated with the session, if relevant. Internally stored as
club_id. - Club Name: Name of the club linked to the exercise. Internally stored as
club_name. - Detailed Sport Info: Detailed description of the sport as per Polar Flow compatibility. Internally stored as
detailed_sport_info. - Fat Percentage: Percentage of exercise calories derived from fat (if supported by the device). Internally stored as
fat_percentage. - Carbohydrate Percentage: Percentage of exercise calories derived from carbohydrates (if supported by the device). Internally stored as
carbohydrate_percentage. - Protein Percentage: Percentage of exercise calories derived from protein (if supported by the device). Internally stored as
protein_percentage. - Running Index: Score calculated from heart rate and speed data collected via GPS or stride sensor during running. Internally stored 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 stored as
index. - Lower Heart Rate Limit: The minimum heart rate of the zone. Internally stored as
lower_limit. - Upper Heart Rate Limit: The maximum heart rate of the zone. Internally stored as
upper_limit. - Time Spent In Zone: Duration spent in this zone, formatted in ISO 8601. Internally stored as
in_zone.
- Index: The position of the zone in the list. Internally stored as
- Samples: Comprehensive list of all exercise samples collected:
- Recording Rate: Frequency of sample recording, in seconds, applicable only where relevant. Internally stored as
recording_rate. - Sample Type: Type of the sample (e.g., heart rate, speed). Internally stored as
sample_type. - Data: Comma-separated list of sample values. Internally stored as
data.
- Recording Rate: Frequency of sample recording, in seconds, applicable only where relevant. Internally stored as
- Route: List of geographical data points collected during the exercise:
- Latitude: The latitude, in degrees. Internally stored as
latitude. - Longitude: The longitude, in degrees. Internally stored as
longitude. - Time: Timestamp for each location point, formatted as duration. Internally stored as
time. - Satellites: Number of satellites detected, up to a maximum of 63. Internally stored as
satellites. - Fix: GPS fix status, with a maximum value of three. Internally stored as
fix.
- Latitude: The latitude, in degrees. Internally stored as
- Training Load Pro: Advanced metrics to assess training load:
- Date: The specific date of the training session. Internally stored as
date. - Cardio Load: Cardiovascular effort quantified. Internally stored as
cardio_load. - Muscle Load: Muscular effort quantified. Internally stored as
muscle_load. - Perceived Load: Subjectively rated effort of the training session. Internally stored as
perceived_load. - Cardio Load Interpretation Interpretations of the cardio loads. Internally stored as
perceived_load_interpretation. - Muscle Load Interpretation Interpretations of the muscle loads. Internally stored as
muscle_load_interpretation. - Perceived Load Interpretation Interpretations of perceived loads. Internally stored as
perceived_load_interpretation. - User RPE: Rated Perceived Exertion, quantifying internal training load. Internally stored as
user_rpe.
- Date: The specific date of the training session. Internally stored as
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 stored asrecord_time. - Date: The date on which the sleep occurred. Internally stored as
date. - Sleep Start Time: The start time of the sleep period, in ISO-8601 date/time format. Internally stored as
sleep_start_time. - Sleep End Time: The end time of the sleep period, in ISO-8601 date/time format. Internally stored 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 stored as
continuity. - Continuity Class: Verbal assessments of sleep continuity ranging from
FRAGMENTED_SLEEPtoVERY_CONTINUOUS_SLEEP. Internally stored ascontinuity_class. - Light Sleep: Total time spent in the light sleep stages (N1 + N2) between falling asleep and waking up, in seconds. Internally stored as
light_sleep. - Deep Sleep: Total time spent in the deep sleep stage (N3) between falling asleep and waking up, in seconds. Internally stored as
deep_sleep. - REM Sleep: Total time spent in the REM sleep stage between falling asleep and waking up. REM stands for rapid eye movement, in seconds. Internally stored as
rem_sleep. - Unrecognized Sleep Stage: Total time spent in unrecognized sleep stages, often due to inadequate sensor contact or positioning, in seconds. Internally stored 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 stored as
sleep_score. - Total Interruption Duration: The total time spent awake between falling asleep and waking up, in seconds. Internally stored as
total_interruption_duration. - Sleep Charge: Sleep score compared to the usual level over the past 28 days, with a scale from
MUCH_BELOW_USUALtoMUCH_ABOVE_USUAL. Internally stored assleep_charge. - Sleep Goal: Time goal for sleep, based on age-related sleep duration recommendations, in seconds. Internally stored as
sleep_goal. - Sleep Rating: The quality of sleep, ranging from
VERY_POORLYtoVERY_WELL, withNO_VALUEindicating no value given. Internally stored assleep_rating. - Short Interruption Duration: Total time of short interruptions in sleep lasting less than 90 seconds, in seconds. Internally stored as
short_interruption_duration. - Long Interruption Duration: Total time of long interruptions in sleep lasting 90 seconds or more, in seconds. Internally stored as
long_interruption_duration. - Sleep Cycles: Number of complete sleep cycles recorded during the sleep session. Internally stored 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 stored 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 stored 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 stored as
group_regeneration_score. - Hypnogram: Classified time spans of sleep stages in 30-second epochs, covering light, deep, REM, unrecognized, or wake stages. Internally stored as
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, orUNKNOWN.
- 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 stored as
heart_rate_samples.- Time: Timestamp for each heart rate sample, formatted as hour and minute.
- Heart Rate: Heart rate at each sample time, in beats per minute (bpm).
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 stored as
record_time. - Date: The date on which the continuous heart rate data was recorded. Internally stored 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 stored as
heart_rate_sampleswith detailed properties:- Heart Rate: The heart rate recorded at a specific time, expressed in beats per minute (bpm). Internally stored as
heart_rate. - Sample Time: The specific time at which each heart rate measurement was taken, formatted to include hour, minute, and second. Internally stored as
sample_time.
- Heart Rate: The heart rate recorded at a specific time, expressed in beats per minute (bpm). Internally stored as
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 in milliseconds since epoch. Internally stored asrecord_time. - Validity: Indicates the validity of the circadian bedtime data. Internally stored as
validity. - Quality: The quality of the circadian bedtime data. Internally stored as
quality. - Result Type: The type of result or measurement being reported. Internally stored as
result_type. - Period Start Time: The start time of the circadian bedtime measurement period. Internally stored as
period_start_time. - Period End Time: The end time of the circadian bedtime measurement period. Internally stored as
period_end_time. - Preferred Sleep Period Start Time: Designated start time of the preferred sleep period for circadian alignment. Internally stored as
preferred_sleep_period_start_time. - Preferred Sleep Period End Time: Designated end time of the preferred sleep period for circadian alignment. Internally stored 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 stored 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 stored as
sleep_gate_end_time. - Sleep Timezone Offset Minutes: The timezone offset from UTC for the sleep data, which helps in aligning the sleep data with local time accurately, in minutes. Internally stored 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 stored asrecord_time. - Grade: A numerical grade reflecting alertness level. Internally stored as
grade. - Grade Validity Seconds: Duration for which the alertness grade is considered valid, in seconds. Internally stored as
grade_validity_seconds. - Grade Type: The type of grading system used for alertness evaluation. Internally stored as
grade_type. - Grade Classification: Classification of the grade based on alertness levels. Internally stored as
grade_classification. - Validity: Indicates whether the grade is currently valid. Internally stored as
validity. - Sleep Inertia: Description related to the user’s state of sleep inertia. Internally stored as
sleep_inertia. - Sleep Type: Type of sleep during which the alertness data was recorded. Internally stored as
sleep_type. - Result Type: The type of result generated for alertness measurement. Internally stored as
result_type. - Period Start Time: The start time of the alertness measurement period. Internally stored as
period_start_time. - Period End Time: The end time of the alertness measurement period. Internally stored as
period_end_time. - Sleep Period Start Time: The start time of the sleep period associated with the alertness data. Internally stored as
sleep_period_start_time. - Sleep Period End Time: The end time of the sleep period associated with the alertness data. Internally stored as
sleep_period_end_time. - Sleep Timezone Offset Minutes: Timezone offset for the sleep period’s local time, in minutes. Internally stored as
sleep_timezone_offset_minutes. - Hourly Data: List of hourly data throughout the alertness period. Internally stored as
hourly_datawith detailed properties:- Validity: Indicates the validity of each hourly data point. Internally stored as
validity. - Alertness Level: The level of alertness measured during the hour. Internally stored as
alertness_level. - Start Time: The start time of the hourly measurement. Internally stored as
start_time. - End Time: The end time of the hourly measurement. Internally stored as
end_time.
- Validity: Indicates the validity of each hourly data point. Internally stored as
Data Collection Behavior
Whenever there is new Polar data, the Polar’s servers will send the new data to Avicenna.
Adding Polar As a Data Source
See Adding Data Sources.
Monitoring and Exporting Polar Data
You can monitor and export Polar data using Kibana.
Polar Data Source in Participant App
After joining a study, participants must grant Avicenna access to collect their Polar data.
-
Go to the study homepage on the Avicenna app.
-
Click the Data Sources button at the bottom of the page to view the study’s data sources
-
Find the Polar data source(s) and tap the Grant Access button.
-
You will be redirected to the Polar website to sign in and authorize Avicenna.
-
Click Accept. You will be redirected back to the Avicenna app’s Data Sources page. Access has now been granted.
Participants can stop sharing the data anytime by clicking on Revoke Access on the Data Sources page.



