Health Data Store

The SDK provides the health data store to access the health data with a user’s consent. The data in the health data store can be shared with other partner apps also.

Preparing Data Access

An application needs to connect the health data store, and acquire data permission to access the data in the health data store. The following figure shows a basic flow for working with Samsung Health.

In case of connection failure, all exceptions should be handled clearly with a proper message to the user. It helps to prevent unexpected operations on your application. For detailed code, see:

Health Data Query

HealthDataResolver helps to access the data with APIs of the following figure.

All queries except inserting data can be requested through a filter to set the target range for a query. A data query is sent asynchronously or synchronously.

Asynchronous query is used usually and you can select one of the methods for your need. See the following examples for more information.

The query result is retrieved as the following table.

    Request Result
    insert()
    update()
    delete()

    BaseResult

    read()

    ReadResult

    aggregate()

    AggregateResult

See data query snippets in API Reference.

Filter

HealthDataResolver.Filter is very useful to clear the data range for reading, updating, and aggregating health data. Multiple filters can be combined with:

  • and()

  • or()

See more descriptions in API Reference.

Data Normalization

The health data is stored based on the normalized unit as defined in International System of Unit (SI) in the following table.

    Item Unit
    Height cm
    Weight kg
    Temperature Celsius
    Blood glucose mmol/L
    Blood pressure mmHg
    HbA1c %
    SpO2 %
    Calorie kcal
    Speed m/s
    Distance meter
    Time millisecond
    Water intake ml
    Caffeine intake mg

Data normalization enables your application to read health data without the specific unit. It means that you should be careful to unify the data units when inserting health data to the health data store. HealthDataUnit helps to convert data value between different units.