Skip to main content

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

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

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:
TypeRemarksVitalResource
Workout Stream timeseriesWorkout 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
TimeseriesHeart Rate Recovery One MinuteHeartRateRecoveryOneMinute
Workout Stream timeseries data always have Workout ID and Sport attributions.

Details

For more information, check out:

Data Events

Data access API

Summary Ingestion Timestamps (April 2025)

Activity, Body, Sleep, Sleep Cycle, Workout, Meal and Menstrual Cycle now expose ingestion timestamps:
FieldRemarks
created_atThe time at which Junction first ingested this summary.
updated_atThe time at which Junction ingested the most recent update to this summary.

Details

For more information, check out:

Data Events

Data access API

Expanded Apple HealthKit data type coverage (March 2025)

Junction iOS SDK 1.5.0 has expanded the HealthKit data type coverage:
TypeRemarks
Profile summaryWheelchair Mode usage
Activity summaryWheelchair Mode support (distance and push count)
Body summaryLean Body Mass, Body Mass Index, Waist Circumference
Timeseries resourcesLean 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

For more information, check out:

Data Events

Data access API

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

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:
  1. Link Widget to display an exhaustive list of regions which our practice account can reach; and
  2. Link API to accept any ISO 3166-1 code that is on the list.
In other words, say if you have a patient domiciled in Belgium, it is no longer necessary to teach them to choose “Netherlands” when connecting through the Link Widget. They can now intuitively choose “Belgium” when asked by the Link Widget.Check out the Abbott LibreView guide and the Connect Email Provider endpoint for more information.

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:
ResourceApple HealthKit [3]FitbitWithingsKardia
Electrocardiogram Summary
electrocardiogram
-
ECG Voltage timeseries
electrocardiogram_voltage
-
Heart Rate Alert
heart_rate_alert
[1][2][2][2]
AFib Burden
afib_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+.

Details

For more information, check out:

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

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.
At the time of writing all four are only available from the Withings provider.

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

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.
Sleep TypeDescription
long_sleep>=3 hours of sleep
short_sleep<3 hours of sleep
acknowledged_napUser-acknowledged naps, typically under 3 hours of sleep
unknownThe sleep session recording is ongoing.
Check out the Get Sleep endpoint and the Sleep data events in the Event Catalog for more information.

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

  1. 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.
  2. 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.
  3. With an updated iOS App Target configuration, the SDK would now self-register as a BGProcessingTask or BGHealthResearchTask (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.
PlatformRelease Note
Native iOSvital-ios 1.2.2
Fluttervital-flutter 4.2.1
React Nativevital-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

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

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

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

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

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

The feature is available through the following Vital Mobile SDK releases:
PlatformVersion
Native Android2.0.0+
Flutter3.2.0+
React Native3.1.0+
Check out the following documentation for information, integration guidance as well as caveats of the experimental Background Sync :

Expanded Source Type attribution (Feb 2024)

Data from Fitbit, Oura, Garmin and Freestyle Libre now comes with Source Type attributions.

Details

Check out the Data Attributions documentation for more information.
I