API Health Platform

L'API Health Platform è un'API per Android che fornisce agli sviluppatori un'unica interface per leggere, scrivere e condividere i dati storici relativi a salute, benessere e attività fisica di un utente. Con Health Platform, gli utenti hanno il controllo dei propri dati. Gli utenti controllano quali app hanno accesso in lettura o scrittura a diversi tipi di dati. I tipi di dati dell'API Health Platform includono altezza, frequenza cardiaca e altro ancora.

L'API Health Platform offre agli utenti un meccanismo di archiviazione e condivisione che consente loro di selezionare le app che possono accedere e visualizzare i loro dati personali su salute, fitness e benessere. In questo modo, gli sviluppatori di app possono mostrare agli utenti una visione più completa del loro stato di salute e consentire loro di monitorare i propri dati in modo più efficace.

Il kit di sviluppo software dell'API Health Platform fornisce agli sviluppatori di app per Android tutto ciò di cui hanno bisogno per fornire l'accesso ai dati di salute e benessere di un utente su alcuni dispositivi Samsung e consente alle app di eseguire operazioni collettive come inserimento, eliminazione e lettura dei dati.

Inizia

Quando utilizzi Health Platform, tieni presente quanto segue:

  • Le app client devono ottenere dall'utente autorizzazioni granulari per l'accesso in lettura o scrittura.
  • L'utente può negare le autorizzazioni o revocarle in qualsiasi momento in un secondo momento.
  • L'API Health Platform supporta solo alcuni dispositivi Samsung.
  • HealthDataClient è il client per la piattaforma Health e un punto di contatto per la piattaforma Health.

L'immagine seguente mostra i passaggi di integrazione necessari che gli sviluppatori devono seguire:

Passaggi di integrazione, tra cui configurazione dell'SDK, accesso e autorizzazioni e operazioni CRUD.
Figura 1. Passaggi per l'integrazione della piattaforma Health.

File di uscita

La versione 1 della piattaforma sanitaria contiene quanto segue:

  • SDK client: include questo SDK nella tua applicazione per utilizzare l'API Health Platform. L'SDK è un repository Maven che puoi includere direttamente nei file di compilazione Gradle della tua applicazione.

Installa la piattaforma per la salute

Installa Health Platform seguendo questa procedura:

Aggiungi il repository nel file build.gradle principale dell'app, come mostrato nell'esempio seguente:

allprojects {
    . . .
    repositories {
        . . .
        google()
    }
}

Aggiungi una dipendenza dall'SDK Health Platform nel file build.gradle del modulo, come mostrato nell'esempio seguente:

Kotlin

dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

Groovy

dependencies { . . . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }

Dati

Health Platform archivia e struttura i dati relativi a salute e fitness. Inoltre, prende in considerazione le differenze fondamentali tra il modo in cui vengono misurati i dati di tipi diversi. Ad esempio, la misurazione della frequenza cardiaca viene eseguita immediatamente, mentre il conteggio dei passi viene effettuato in un determinato periodo di tempo.

Ecco un'analisi degli oggetti principali della piattaforma Health e delle loro differenze:

  • RawData: un record di misurazioni e dati.
  • DataType: un selettore per tipi comuni di dati relativi a salute e attività fisica, come frequenza cardiaca, massa grassa o temperatura corporea, e i relativi formati, ad esempio campi, di sola lettura o facoltativi.
  • SampleData: un oggetto RawData che rappresenta una misurazione istantanea, come la frequenza cardiaca, la pressione sanguigna o la velocità di corsa.
  • IntervalData: un oggetto RawData che rappresenta una misurazione cumulativa eseguita in un determinato periodo di tempo, ad esempio il numero di passi effettuati, la distanza percorsa o le calorie bruciate.
  • SeriesData: un oggetto RawData che incapsula una sequenza di misurazioni in un determinato periodo di tempo. SeriesData è particolarmente adatto per i dati dei sensori ad alta frequenza, ad esempio i campioni continui della frequenza cardiaca durante una sessione di attività.

Ognuna delle tre classi RawData corrisponde a una sottoclasse specifica di DataType: SampleData, IntervalData e SeriesData corrispondono rispettivamente a SampleDataType, IntervalDataType e SeriesDataType.

A ogni oggetto RawData viene assegnato un identificatore univoco (UID) da Health Platform quando viene inserito. Puoi utilizzare questo UID per fare riferimento a un oggetto RawData specifico nelle richieste di lettura, aggiornamento o eliminazione.

Tipi di dati

Health Platform include un'ampia gamma di tipi di dati comunemente utilizzati nelle app per la salute e l'attività fisica. I dati archiviati con i tipi di dati disponibili forniscono agli utenti una visione completa dei loro dati storici relativi a salute, fitness e benessere, fornendo informazioni sulle loro attività quotidiane.

Ogni tipo di dati è definito dal relativo formato, che include quanto segue:

  • Campi: campi specifici o generici associati al tipo di dati. Ad esempio, il tipo di dati saturazione dell'ossigeno nel sangue (SpO2) contiene campi come Titolo, Note e Percentuale.
  • Tipo: long, double, stringa o enum.
  • Attributo: di sola lettura, obbligatorio, facoltativo o intervallo di convalida.

Elenco dei tipi di dati

Sfrutta al meglio la piattaforma per la salute conoscendo i tipi di dati disponibili. Health Platform supporta i tipi di dati riportati nella tabella seguente. I tipi di dati sono organizzati in base al formato: campione, intervallo o serie.

Tipi di SampleData:

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Obbligatorio
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Obbligatorio e facoltativo
DataType.BloodPressureDataType BLOOD_PRESSURE Obbligatorio e facoltativo
DataType.BodyFatDataType BODY_FAT Obbligatorio
DataType.BodyTemperatureDataType BODY_TEMPERATURE Obbligatorio e facoltativo
DataType.BoneMassDataType BONE_MASS Obbligatorio
DataType.CervicalMucusDataType CERVICAL_MUCUS Facoltativo
DataType.CervicalPositionDataType CERVICAL_POSITION Facoltativo
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Obbligatorio
DataType.DateOfBirthDataType DATE_OF_BIRTH Solo lettura
DataType.GenderDataType GENDER Solo lettura
DataType.HeartRateDataType HEART_RATE Obbligatorio
DataType.HeightDataType HEIGHT Obbligatorio
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Obbligatorio
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Obbligatorio
DataType.HrvRmssdDataType HRV_RMSSD Obbligatorio
DataType.HrvSDataType HRV_S Obbligatorio
DataType.HrvSd2DataType HRV_SD2 Obbligatorio
DataType.HrvSdannDataType HRV_SDANN Obbligatorio
DataType.HrvSdnnDataType HRV_SDNN Obbligatorio
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Obbligatorio
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Obbligatorio
DataType.HrvSdsdDataType HRV_SDSD Obbligatorio
DataType.HrvTinnDataType HRV_TINN Obbligatorio
DataType.LeanBodyMassDataType LEAN_BODY_MASS Obbligatorio
DataType.LocationDataType LOCATION Obbligatorio
DataType.MenstruationDataType MENSTRUATION Facoltativo
DataType.OvulationTestDataType OVULATION_TEST Obbligatorio
DataType.OxygenSaturationDataType OXYGEN_SATURATION Obbligatorio
DataType.PaceDataType PACE Obbligatorio
DataType.PowerDataType POWER Obbligatorio
DataType.RespiratoryRateDataType RESPIRATORY_RATE Obbligatorio
DataType.RestingHeartRateDataType RESTING_HEART_RATE Obbligatorio
DataType.SexualActivityDataType SEXUAL_ACTIVITY Obbligatorio
DataType.SpeedDataType SPEED Obbligatorio
DataType.StepsCadenceDataType STEPS_CADENCE Obbligatorio
DataType.Vo2MaxDataType VO2_MAX Obbligatorio e facoltativo
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Obbligatorio
DataType.WeightDataType WEIGHT Obbligatorio

Tipi di IntervalData:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Obbligatorio
DataType.ActiveTimeDataType ACTIVE_TIME Solo lettura
DataType.ActivityEventDataType ACTIVITY_EVENT Obbligatorio
DataType.ActivityLapDataType ACTIVITY_LAP Facoltativo
DataType.ActivitySessionDataType ACTIVITY_SESSION Obbligatorio
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Solo lettura
DataType.DistanceDataType DISTANCE Obbligatorio
DataType.ElevationGainedDataType ELEVATION_GAINED Obbligatorio
DataType.FloorsClimbedDataType FLOORS_CLIMBED Obbligatorio
DataType.HydrationDataType HYDRATION Obbligatorio
DataType.NutritionDataType NUTRITION Facoltativo
DataType.RepetitionsDataType REPETITIONS Obbligatorio
DataType.SleepSessionDataType SLEEP_SESSION Facoltativo
DataType.SleepStageDataType SLEEP_STAGE Obbligatorio
DataType.StepsDataType STEPS Obbligatorio
DataType.SwimmingStrokesDataType SWIMMING_STROKES Obbligatorio e facoltativo
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Solo lettura

Tipi di SeriesData:

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Obbligatorio
DataType.HeartRateSeriesDataType HEART_RATE Obbligatorio
DataType.LocationSeriesDataType LOCATION Obbligatorio
DataType.PaceSeriesDataType PACE Obbligatorio
DataType.PowerSeriesDataType POWER Obbligatorio
DataType.SpeedSeriesDataType SPEED Obbligatorio
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Obbligatorio

Funzioni per sviluppatori

Di seguito è descritto l'insieme di funzioni di dati standard disponibili all'interno della piattaforma sanitaria. La piattaforma fornisce funzioni di inserimento, aggiornamento ed eliminazione standard per i dati non elaborati.

Leggere AggregatedData

La piattaforma consente ai clienti di applicare una funzione di aggregazione ai seguenti tipi di AggregatedData:

  • StatisticalData: i valori medi, minimi o massimi in un insieme di SampleData o SeriesData, ad esempio la frequenza cardiaca minima e massima durante una sessione di attività.
  • CumulativeData: la somma dei valori IntervalData, ad esempio il numero totale di passi in un intervallo giornaliero.
  • CountData: un semplice conteggio del numero di oggetti RawData sottostanti, ad esempio il numero di sessioni di attività in una determinata settimana. I dati conteggiati possono essere calcolati per i tipi di dati di campioni, intervalli e serie.

Connettiti all'API Health Platform

HealthDataClient è il punto di contatto dell'API Health Platform.

I passaggi riportati di seguito descrivono come connettersi a Health Platform:

  1. Usa HealthDataService.getClient per creare nuove istanze HealthDataClient.
  2. L'app client deve quindi richiedere l'autorizzazione all'utente utilizzando il metodorequestPermissions (Set).

HealthDataClient gestisce automaticamente la connessione al livello di archiviazione sottostante e gestisce tutte le comunicazioni interprocessuali (IPC) e la serializzazione delle richieste in uscita e delle risposte in entrata.