Health SDK: Explicit Connect mode (Sep 2025)
The Health SDK now supports an opt-in Explicit Connect mode, which enables your application to explicitly control the moment of Health Connect connection creation and disconnection.Details
Details
The opt-in Explicit Connect mode also allows remote disconnection through the Deregister Connection endpoint, which was not supported in the default Auto Connect mode.If your device connection management UX is built upon an explicit notion of connecting and disconnecting Apple HealthKit and Health Connect
connections — as if they are like their cloud-based counterparts — you might find the Explicit Connect
mode more appealling.Check out the Health SDK Connection Policies documentation for further details.
This feature is available on iOS SDK 1.8.0+, Android SDK 4.2.0+, React Native SDK 5.4.0+ and Flutter SDK 4.6.0+.
Health Connect sync progress logs in Junction Dashboard (Sep 2025)
Health Connect integrations using Android SDK 4.2.0 or above would now report client-side sync progress regularly to the Junction Dashboard.Details
Details
Similar to the iOS SDK equivalent, this report would include metadata of any exception that had disrupted a sync attempt. We hope that this
brings more visibility into Health Connect sync issues.
This feature is available on Android SDK 4.2.0+, React Native SDK 5.4.0+ and Flutter SDK 4.6.0+.
Expanded Apple HealthKit data type coverage (April 2025)
Junction iOS SDK 1.6.0 has expanded the HealthKit data type coverage:Type | Remarks | VitalResource |
---|---|---|
Workout Stream timeseries | Workout Distance — including cycling, swimming, rowing, cross country skiing, downhill snow sports, paddle sports, skating sports, walking, running and wheelchair. Workout Swimming Stroke | As part of Workout |
Timeseries | Heart Rate Recovery One Minute | HeartRateRecoveryOneMinute |
Details
Details
For more information, check out:
Data Events
- the Workout Distance data events in the Event Catalog;
- the Workout Swimming Stroke data events in the Event Catalog;
- the Heart Rate Recovery One Minute data events in the Event Catalog;
Data access API
- the Get Workout Distance endpoint documentation;
- the Get Workout Swimming Stroke endpoint documentation; and
- the Get Heart Rate Recovery One Minute endpoint documentation.
Summary Ingestion Timestamps (April 2025)
Activity, Body, Sleep, Sleep Cycle, Workout, Meal and Menstrual Cycle now expose ingestion timestamps:Field | Remarks |
---|---|
created_at | The time at which Junction first ingested this summary. |
updated_at | The time at which Junction ingested the most recent update to this summary. |
Details
Details
For more information, check out:
Data Events
- the Activity data events in the Event Catalog;
- the Body data events in the Event Catalog;
- the Sleep data events in the Event Catalog;
- the Sleep Cycle data events in the Event Catalog;
- the Workout data events in the Event Catalog;
- the Menstrual Cycle data events in the Event Catalog; and
- the Meal data events in the Event Catalog.
Data access API
- the Get Activity endpoint documentation;
- the Get Body endpoint documentation;
- the Get Sleep endpoint documentation;
- the Get Sleep Cycle endpoint documentation;
- the Get Workout endpoint documentation;
- the Get Menstrual Cycle endpoint documentation; and
- the Get Meal endpoint documentation.
Expanded Apple HealthKit data type coverage (March 2025)
Junction iOS SDK 1.5.0 has expanded the HealthKit data type coverage:Type | Remarks |
---|---|
Profile summary | Wheelchair Mode usage |
Activity summary | Wheelchair Mode support (distance and push count) |
Body summary | Lean Body Mass, Body Mass Index, Waist Circumference |
Timeseries resources | Lean Body Mass, Body Mass Index, Waist Circumference, Wheelchair Push, Distance (Wheelchair Mode support), Stand Hour, Stand Duration, Sleep Apnea Alert, Sleep Breathing Disturbance, FEV1, Forced Vital Capacity, Peak Expiratory Flow Rate, Inhaler Usage, Fall, UV Exposure, Daylight Exposure, Handwashing, Basal Body Temperature |
Details
Details
For more information, check out:
Data Events
- the Profile data events in the Event Catalog;
- the Activity data events in the Event Catalog;
- the Body data events in the Event Catalog;
- the Lean Body Mass data events in the Event Catalog;
- the Body Mass Index data events in the Event Catalog;
- the Waist Circumference data events in the Event Catalog;
- the Wheelchair Push data events in the Event Catalog;
- the Distance data events in the Event Catalog;
- the Stand Hour data events in the Event Catalog;
- the Stand Duration data events in the Event Catalog;
- the Sleep Apnea Alert data events in the Event Catalog;
- the Sleep Breathing Disturbance data events in the Event Catalog;
- the FEV1 data events in the Event Catalog;
- the Forced Vital Capacity data events in the Event Catalog;
- the Peak Expiratory Flow Rate data events in the Event Catalog;
- the Inhaler Usage data events in the Event Catalog;
- the Fall data events in the Event Catalog;
- the UV Exposure data events in the Event Catalog;
- the Daylight Exposure data events in the Event Catalog;
- the Handwashing data events in the Event Catalog; and
- the Basal Body Temperature data events in the Event Catalog.
Data access API
- the Get Profile endpoint documentation;
- the Get Activity endpoint documentation;
- the Get Body endpoint documentation;
- the Get Lean Body Mass endpoint documentation;
- the Get Body Mass Index endpoint documentation;
- the Get Waist Circumference endpoint documentation;
- the Get Wheelchair Push endpoint documentation;
- the Get Distance endpoint documentation;
- the Get Stand Hour endpoint documentation;
- the Get Stand Duration endpoint documentation;
- the Get Sleep Apnea Alert endpoint documentation;
- the Get Sleep Breathing Disturbance endpoint documentation;
- the Get FEV1 endpoint documentation;
- the Get Forced Vital Capacity endpoint documentation;
- the Get Peak Expiratory Flow Rate endpoint documentation;
- the Get Inhaler Usage endpoint documentation;
- the Get Fall endpoint documentation;
- the Get UV Exposure endpoint documentation;
- the Get Daylight Exposure endpoint documentation;
- the Get Handwashing endpoint documentation; and
- the Get Basal Body Temperature endpoint documentation.
Improved LibreView practice connection process (Jan 2025)
You can now connect LibreView patients in to 46 regions in the EU environment and 8 regions in the US environment.Details
Details
Previously, the Link API and Link Widget listed only the regions to which our practice account was registered. However, these
practice accounts can often connect to patients in a larger geographical area beyond the region of registration. For example,
patients in most EMEA countries can connect through our Netherlands practice account.Therefore, we have now changed:
- Link Widget to display an exhaustive list of regions which our practice account can reach; and
- Link API to accept any ISO 3166-1 code that is on the list.
Electrocardiogram, Heart Rate Alert and AFib Burden (Dec 2024)
Vital now supports collecting Electrocardiogram (ECG) data and a couple of related data points from a set of providers:Resource | Apple HealthKit [3] | Fitbit | Withings | Kardia |
---|---|---|---|---|
Electrocardiogram Summaryelectrocardiogram | ✅ | - | ✅ | ✅ |
ECG Voltage timeserieselectrocardiogram_voltage | ✅ | - | ✅ | ✅ |
Heart Rate Alertheart_rate_alert | ✅ [1] | ✅ [2] | ✅ [2] | ✅ [2] |
AFib Burdenafib_burden | ✅ | - | - | - |
[1] Irregular rhythm alerts, high heart rate alerts and low heart rate alerts.
[2] Irregular rhythm alerts only.
[3] Requires Junction iOS SDK 1.3.0+, Junction Flutter SDK 4.4.0+ or Junction React Native SDK 5.1.0+.
[2] Irregular rhythm alerts only.
[3] Requires Junction iOS SDK 1.3.0+, Junction Flutter SDK 4.4.0+ or Junction React Native SDK 5.1.0+.
Details
Details
For more information, check out:
- the Get Electrocardiogram endpoint documentation;
- the Get Electrocardiogram Voltage endpoint documentation;
- the Get Heart Rate Alert endpoint documentation; and
- the Get AFib Burden endpoint documentation;
- the Electrocardiogram data events in the Event Catalog;
- the Electrocardiogram Voltage data events in the Event Catalog;
- the Heart Rate Alert data events in the Event Catalog; and
- the AFib Burden data events in the Event Catalog.
Sleep Cycle Summary Type (Nov 2024)
We are introducing a new Sleep Cycle summary type (sleep_cycle
) which captures the detailed hypnogram of a sleep session.
The existing hyponogram timeseries type is deprecated in favour of this new summary type.
Details
Details
Check out the Get Sleep Cycle endpoint and
the Sleep Cycle data events in the Event Catalog
for more information.
Body Summary model extension (Nov 2024)
The Body Summary model now includes 4 new fields:water_percentage
- The percentage of water in the body.muscle_mass_percentage
- The percentage of muscle mass in the body.visceral_fat_index
- Provider’s score of visceral fat levels.bone_mass_percentage
- The percentage of bone mass in the body.
Details
Details
Check out the Get Body Summary endpoint and
the Body Created event for more information.
Sleep Type (Nov 2024)
New Sleep summaries now have a new Sleep Type field.Details
Details
Vital maps the Sleep Type from the source provider whenever possible. If this is unavailable at source,
Vital infers the Sleep Type based on the sleep session duration.
Check out the Get Sleep endpoint and the Sleep data events
in the Event Catalog for more information.
Sleep Type | Description |
---|---|
long_sleep | >=3 hours of sleep |
short_sleep | <3 hours of sleep |
acknowledged_nap | User-acknowledged naps, typically under 3 hours of sleep |
unknown | The sleep session recording is ongoing. |
Apple HealthKit data sync improvements (Aug 2024)
An overhauled Apple HealthKit sync engine is now available across all Vital Mobile SDK platforms. The changes bring historical data sync incrementality, prioritization, network resiliency and reduced resource usage.Details
Details
-
Most resources now use a resumable sync & upload process.
- This enables the SDK to make constant forward progress, especially when you have specified a very large historical pull stage (60-365 days) through the Team Data Pull Preferences API.
-
The SDK now prioritises syncing of summary types over timeseries data.
- During the historical pull stage, all timeseries resources would be suppressed until all the summary types have been successfully uploaded.
- After the historical pull stage, the SDK would make forward progress on summary types, before it proceeds to deal with the more CPU-time consuming timeseries data that are more prone to operating system throttling.
-
With an updated iOS App Target configuration, the SDK would now self-register as a
BGProcessingTask
orBGHealthResearchTask
(iOS 17+) to the iOS BackgroundTasks framework.- This would provide the SDK an additional opportunity to complete any resource sync that is not able to complete during normal HealthKit background delivery.
- Please refer to the Apple HealthKit guide on how to update your iOS App Target configuration in Xcode.
Platform | Release Note |
---|---|
Native iOS | vital-ios 1.2.2 |
Flutter | vital-flutter 4.2.1 |
React Native | vital-react-native 4.2.1 |
Menstrual Cycle Tracking (July 2024)
Menstrual cycle tracking data can now be collected through the Apple HealthKit and Android Health Connect integrations.Details
Details
Ask for data permission on the
MenstrualCycle
resource from the user through the Vital Health SDK.Check out the Get Menstrual Cycles endpoint and
the Menstrual Cycle data events in the Event Catalog
for more information.Steps count in workouts (May 2024)
Workouts now include the total steps count during the session (if available).Details
Details
Check out the Get Workouts endpoint and
the Workout Created event for more information.
New Abbott LibreView integration (May 2024)
Vital has introduced an new Abbott LibreView provider (abbott_libreview
). It uses password authentication,
accepting LibreView patient account credentials.
Details
Details
This is an alternative option to our practice-based Freestyle Libre provider (
freestyle_libre
).With abbott_libreview
, Vital uses the provided LibreView patient account credentials to connect directly
to LibreView. There is no involvement of a LibreView practice in this integration.Note that both practice-based and patient-based connections would continue to be supported in parallel. The
abbott_libreview
integration does not replace the freestyle_libre
integration.Check out the Abbott LibreView / Freestyle Libre guide for more information.Removed Fitbit and Oura required scopes (May 2024)
The Fitbit profile scope and Oura email scope are no longer required for establishing connections. For Fitbit specifically, please be aware of the updated Fitbit Time Zone resolution precedences. When your user refuses to grant both the activity and the profile scope, Fitbit data are more likely be timestamped incorrectly in UTC time basis due to inaccurate or unavailable time zone information.Details
Details
We have now updated our Fitbit and Oura integrations not to depend on these scopes to be minimally functional.If you are interested in requiring your users to grant certain scopes when connecting an OAuth provider, check out the
Team Scope Requirements changelog entry and
the Set Team Scope Requirements endpoint for more information.
Freestyle Libre: India region (Apr 2024)
Our Freestyle Libre integration now supports the LibreView India region.Details
Details
Check out the Freestyle Libre documentation for more information.
Health Connect Background Sync (Mar 2024)
Vital Mobile SDK now includes an experimental Background Sync feature for Android Health Connect.Details
Details
The feature is available through the following Vital Mobile SDK releases:
Check out the following documentation for information, integration guidance as well as caveats
of the experimental Background Sync :
Platform | Version |
---|---|
Native Android | 2.0.0+ |
Flutter | 3.2.0+ |
React Native | 3.1.0+ |
- Vital Health SDK: Automatic Data Sync for a general overview
- Android Health Connect integration guide, which includes guidance on the experimental Background Sync feature.
Expanded Source Type attribution (Feb 2024)
Data from Fitbit, Oura, Garmin and Freestyle Libre now comes with Source Type attributions.Details
Details
Check out the Data Attributions documentation for more information.