Avicenna supports Garmin wearables through two separate integrations: the Garmin Health API and the Garmin Health SDK. Each study uses either the Garmin Health API or the Garmin Health SDK.
The choice is not simply about data quality. Both routes collect genuine Garmin data, but they differ in where data is collected, how it travels, what data is available, and what you ask of participants.
These differences can affect your study design, data management plan, participant instructions, and the types of measures you can collect. It is therefore worth choosing your integration before recruitment begins.
At a Glance
| Garmin Health API | Garmin Health SDK | |
|---|---|---|
| Collection | Garmin Connect on the participant’s phone | Avicenna directly from the watch over Bluetooth |
| Data path | Garmin device → Garmin Connect → Garmin servers → Avicenna | Garmin device → Avicenna app → Avicenna server or institution’s server |
| Garmin Connect | Required | Must be uninstalled |
| Data level | Processed summaries and metrics | Lower-level sensor data and configurable measurements |
| Sampling | Defined by Garmin | Configurable for several metrics |
| Garmin-derived metrics | Available, depending on device/data | Not available |
One Device, One App
A Garmin device can only be paired with one app at a time. Because the API and SDK use different connection paths, they cannot be combined within the same participant setup.
You cannot, for example, collect daily summaries through the API while collecting raw accelerometer data through the SDK. You also cannot use the API for some participants and the SDK for others within the same study setup.
What Each Route Can Measure
The two integrations expose different types of Garmin data.
Garmin Health SDK: Lower-Level Sensor Data
The SDK provides access to lower-level measurements collected from the watch. Depending on the device, these can include:
- Three-axis accelerometer data
- Gyroscope data
- Beat-to-beat intervals from individual heartbeats
- Actigraphy
- Zero Crossing
- Skin temperature
- Wrist status
Several metrics, including heart rate, respiration, skin temperature, SpO2, and stress, have a configurable interval. The default is 60 seconds and the range is one second to one hour. Others, such as the accelerometer at 25 Hz and the gyroscope at 32 Hz, are recorded at a fixed rate.
The SDK also collects the more familiar measures, including heart rate, respiration, SpO2, steps, stress, and sleep.
Lower-level data can be useful when the protocol requires a particular sampling frequency, when researchers want to develop their own algorithms, or when the underlying signal is part of the research question.
For example, a movement study may require accelerometer signals rather than an activity summary. Similarly, a heart-rate-variability study may require beat-to-beat intervals rather than a precomputed heart-rate measure.
Garmin Health API: Processed Garmin Data
The API provides data that Garmin processes and makes available through Garmin Connect. Depending on the device and available data, this can include:
- Body Battery
- Stress-related measures
- VO2 max
- Fitness age
- MET values
- Distance
- Calories
- Floors climbed
- Body composition from a Garmin Index scale
- Other Garmin-derived summaries and metrics
These measures are calculated within Garmin’s ecosystem. If a protocol specifically requires a Garmin-derived metric such as Body Battery or VO2 max, the API provides access to Garmin’s calculated metric. With the SDK, researchers can work with the underlying sensor data and develop their own measures, but those would not necessarily be equivalent to Garmin’s proprietary metrics.
The complete field-by-field lists are available in Garmin Health API and Garmin Health SDK.
[!note]
Data availability depends on the Garmin device model. Not every device contains the same sensors or supports the same measurements. Check the Garmin owner’s manual for the specific model used in your study.
Where Your Data Travels
The main architectural difference is the path data takes before it reaches your Avicenna study.
Garmin Health API
The API uses Garmin Connect as the intermediary:
Garmin device → Garmin Connect → Garmin servers → Avicenna
The participant’s watch synchronizes with Garmin Connect, which uploads the data to Garmin’s servers. Avicenna then retrieves the available data.
Garmin is therefore part of the study’s data flow. If your institution has requirements or restrictions concerning third-party data processing or storage, this is an important consideration when choosing between the API and SDK.
Garmin Health SDK
The SDK removes Garmin Connect from the data path:
Garmin device → Avicenna app → Avicenna server or institution’s own server
The Avicenna app communicates directly with the watch and uploads the collected data to the configured server.
For deployments using an institution’s own Avicenna infrastructure, participant data can therefore be processed or stored within that infrastructure. This can be relevant for studies with specific requirements about where participant data is processed or stored.
The distinction is therefore architectural rather than a simple question of which integration is “better”: the two routes involve different parties and different points of data collection.
How Does Synchronization Work?
The API and SDK also differ in how data becomes available to the study.
With the API, the participant’s watch must first synchronize with Garmin Connect. If that synchronization does not happen, new data cannot reach Avicenna through the API.
With the SDK, Avicenna communicates directly with the watch. Garmin Connect’s synchronization process is not involved. The watch still needs to be within Bluetooth range and the Avicenna app needs to be able to communicate with it.
The SDK also provides wrist status. Researchers can combine this with the Sensor Data Gap Detected event in Notifications to identify potential gaps in sensor data.
What Does the Participant Need to Do?
The two integrations create different participant setups.
Garmin Health API
Participants using the API need a Garmin account and Garmin Connect installed and paired with their watch.
If they already use Garmin Connect, the study can build on their existing setup. They continue using the Garmin app as normal and authorize the connection to Avicenna.
This can be useful for studies in which participants bring their own devices and already have an established Garmin workflow.
Garmin Health SDK
Participants using the SDK do not use Garmin Connect for the study. Garmin Connect must be uninstalled because the SDK cannot operate while another Garmin app is present.
The watch is instead paired with the Avicenna app, which communicates with it directly over Bluetooth.
Requirements to Check
Before recruitment, confirm that your planned devices and participant phones meet the integration requirements.
SDK
- iOS 16 or newer, or Android 9 or newer
- A Garmin device supported by the SDK
- Garmin Connect uninstalled from the participant’s phone
- Bluetooth communication between the watch and Avicenna
See the Garmin Health SDK documentation for supported devices and setup requirements.
API
- A Garmin account
- Garmin Connect installed on the participant’s phone
- The device paired with Garmin Connect
See the Garmin Health API documentation for the available data fields and setup requirements.
Making the Choice
The decision can be guided by three questions:
- What measurements does the protocol require?
- What data path is acceptable for the study?
- How will participants use the devices?
Also, review the documentation for the Garmin Health API and Garmin Health SDK. If you need help determining which integration matches your protocol, contact the Avicenna team.
