Enumerations
HealthDataType
Section titled “HealthDataType”Types of health data that can be read or written.
Body Measurements
Section titled “Body Measurements”WEIGHT // kgHEIGHT // cmBODY_MASS_INDEX // BMIBODY_FAT_PERCENTAGE // %WAIST_CIRCUMFERENCE // cmLEAN_BODY_MASS // kgActivity & Fitness
Section titled “Activity & Fitness”STEPS // countDISTANCE_DELTA // metersDISTANCE_WALKING_RUNNING // metersFLIGHTS_CLIMBED // countMOVE_MINUTES // minutesACTIVE_ENERGY_BURNED // kcalBASAL_ENERGY_BURNED // kcalWORKOUT // exercise sessionCardiovascular
Section titled “Cardiovascular”HEART_RATE // bpmRESTING_HEART_RATE // bpmWALKING_HEART_RATE_AVERAGE // bpmHEART_RATE_VARIABILITY_SDNN // msBLOOD_PRESSURE_SYSTOLIC // mmHgBLOOD_PRESSURE_DIASTOLIC // mmHgBLOOD_OXYGEN // %ELECTROCARDIOGRAM // ECG/EKGBlood & Laboratory
Section titled “Blood & Laboratory”BLOOD_GLUCOSE // mg/dLBLOOD_PRESSURE_SYSTOLIC // mmHgBLOOD_PRESSURE_DIASTOLIC // mmHgBLOOD_OXYGEN // %ELECTRODERMAL_ACTIVITY // microsiemensVital Signs
Section titled “Vital Signs”BODY_TEMPERATURE // CelsiusRESPIRATORY_RATE // breaths/minFORCED_EXPIRATORY_VOLUME // litersFORCED_VITAL_CAPACITY // litersPEAK_EXPIRATORY_FLOW_RATE // L/minNutrition
Section titled “Nutrition”NUTRITION // meal dataWATER // mlDIETARY_CAFFEINE // mgSLEEP_ASLEEP // minutesSLEEP_AWAKE // minutesSLEEP_IN_BED // minutesSLEEP_DEEP // minutesSLEEP_REM // minutesSLEEP_SESSION // sleep sessionReproductive Health
Section titled “Reproductive Health”MENSTRUATION_FLOW // cycle trackingHearing
Section titled “Hearing”AUDIOGRAM // hearing testDiabetes
Section titled “Diabetes”INSULIN_DELIVERY // unitsAll Types
Section titled “All Types”Over 100 types available. See plugin source for complete list.
HealthDataAccess
Section titled “HealthDataAccess”Permission access levels.
enum HealthDataAccess { READ, // Read data only WRITE, // Write data only READ_WRITE, // Both read and write}Example:
// Read-only permissionawait health.requestAuthorization( [HealthDataType.STEPS], permissions: [HealthDataAccess.READ],);
// Write-only permissionawait health.requestAuthorization( [HealthDataType.WEIGHT], permissions: [HealthDataAccess.WRITE],);
// Both read and writeawait health.requestAuthorization( [HealthDataType.HEART_RATE], permissions: [HealthDataAccess.READ_WRITE],);HealthDataUnit
Section titled “HealthDataUnit”Units of measurement for health data.
// MassKILOGRAM // kgGRAM // gOUNCE // ozPOUND // lb
// LengthMETER // mCENTIMETER // cmINCH // inFOOT // ft
// EnergyKILOCALORIE // kcalJOULE // J
// VolumeLITER // LMILLILITER // mlFLUID_OUNCE // fl oz
// FrequencyHERTZ // Hz
// PressureMILLIMETER_OF_MERCURY // mmHg
// TemperatureDEGREE_CELSIUS // °CDEGREE_FAHRENHEIT // °F
// PercentagePERCENT // %
// TimeSECOND // sMINUTE // minHOUR // hDAY // day
// CountCOUNT // count
// Beats per minuteBEATS_PER_MINUTE // bpm
// DecibelDECIBEL_HEARING_LEVEL // dB HL
// ConcentrationMILLIGRAM_PER_DECILITER // mg/dLMILLIMOLE_PER_LITER // mmol/L
// And more...HealthWorkoutActivityType
Section titled “HealthWorkoutActivityType”Types of workout activities.
Cardio
Section titled “Cardio”WALKINGRUNNINGCYCLINGSWIMMING_OPEN_WATERSWIMMING_POOLELLIPTICALROWINGSTAIR_CLIMBINGStrength
Section titled “Strength”TRADITIONAL_STRENGTH_TRAININGFUNCTIONAL_STRENGTH_TRAININGCROSS_TRAININGSports
Section titled “Sports”SOCCERBASKETBALLTENNISGOLFBASEBALLSOFTBALLFOOTBALL_AMERICANFOOTBALL_SOCCERVOLLEYBALLHOCKEYCRICKETRUGBYMind & Body
Section titled “Mind & Body”YOGAPILATESTAI_CHIMEDITATIONBARRECORE_TRAININGFLEXIBILITYMINDFULNESSOutdoor
Section titled “Outdoor”HIKINGCLIMBINGSKIING_DOWNHILLSKIING_CROSS_COUNTRYSNOWBOARDINGSKATINGSURFINGHigh Intensity
Section titled “High Intensity”HIGH_INTENSITY_INTERVAL_TRAININGMIXED_CARDIOJUMP_ROPEDANCINGDANCE_INSPIRED_TRAININGWater Sports
Section titled “Water Sports”PADDLE_SPORTSWATER_FITNESSWATER_POLOWATER_SPORTSWinter Sports
Section titled “Winter Sports”ICE_SKATINGCURLINGSNOW_SPORTSOTHERMIXED_METABOLIC_CARDIO_TRAININGHAND_CYCLINGDISC_SPORTSFITNESS_GAMINGWHEELCHAIR_WALK_PACEWHEELCHAIR_RUN_PACEExample:
await health.writeWorkoutData( activityType: HealthWorkoutActivityType.RUNNING, start: workoutStart, end: workoutEnd, totalDistance: 5000.0, totalEnergyBurned: 350.0,);MealType
Section titled “MealType”Types of meals.
enum MealType { BREAKFAST, LUNCH, DINNER, SNACK, UNKNOWN,}Example:
await health.writeMeal( startTime: DateTime.now(), mealType: MealType.BREAKFAST, name: 'Oatmeal', calories: 350.0,);MenstruationFlow
Section titled “MenstruationFlow”Menstrual flow intensity levels.
enum MenstruationFlow { UNSPECIFIED, LIGHT, MEDIUM, HEAVY, SPOTTING,}Example:
await health.writeMenstruationFlow( flow: MenstruationFlow.MEDIUM, startTime: DateTime.now(),);RecordingMethod
Section titled “RecordingMethod”How health data was recorded.
enum RecordingMethod { AUTOMATIC, // Automatically recorded MANUAL_ENTRY, // User entered manually UNKNOWN, // Recording method unknown}Example:
// Filter for automatically recorded datafinal autoData = dataPoints.where((p) => p.recordingMethod == RecordingMethod.AUTOMATIC).toList();
// Filter for manual entriesfinal manualData = dataPoints.where((p) => p.recordingMethod == RecordingMethod.MANUAL_ENTRY).toList();HealthConnectSdkStatus
Section titled “HealthConnectSdkStatus”Android Health Connect SDK installation status.
enum HealthConnectSdkStatus { SDK_UNAVAILABLE, SDK_UNAVAILABLE_PROVIDER_UPDATE_REQUIRED, SDK_AVAILABLE,}Example:
final status = await health.getHealthConnectSdkStatus();
switch (status) { case HealthConnectSdkStatus.SDK_AVAILABLE: print('Health Connect ready'); break; case HealthConnectSdkStatus.SDK_UNAVAILABLE: print('Health Connect not installed'); await health.installHealthConnect(); break; case HealthConnectSdkStatus.SDK_UNAVAILABLE_PROVIDER_UPDATE_REQUIRED: print('Health Connect needs update'); break;}ElectrocardiogramClassification
Section titled “ElectrocardiogramClassification”ECG/EKG reading classifications.
enum ElectrocardiogramClassification { NOT_SET, SINUS_RHYTHM, ATRIAL_FIBRILLATION, INCONCLUSIVE_LOW_HEART_RATE, INCONCLUSIVE_HIGH_HEART_RATE, INCONCLUSIVE_POOR_READING, INCONCLUSIVE_OTHER, UNRECOGNIZED,}Common Enum Patterns
Section titled “Common Enum Patterns”Type Lists
Section titled “Type Lists”// All activity typesfinal activityTypes = [ HealthDataType.STEPS, HealthDataType.DISTANCE_WALKING_RUNNING, HealthDataType.ACTIVE_ENERGY_BURNED, HealthDataType.FLIGHTS_CLIMBED,];
// All vital signsfinal vitalSigns = [ HealthDataType.HEART_RATE, HealthDataType.BLOOD_PRESSURE_SYSTOLIC, HealthDataType.BLOOD_PRESSURE_DIASTOLIC, HealthDataType.BLOOD_OXYGEN, HealthDataType.BODY_TEMPERATURE, HealthDataType.RESPIRATORY_RATE,];
// All body measurementsfinal bodyMeasurements = [ HealthDataType.WEIGHT, HealthDataType.HEIGHT, HealthDataType.BODY_MASS_INDEX, HealthDataType.BODY_FAT_PERCENTAGE,];Permission Mapping
Section titled “Permission Mapping”// Map types to permissionsfinal typePermissions = <HealthDataType, HealthDataAccess>{ HealthDataType.STEPS: HealthDataAccess.READ, HealthDataType.WEIGHT: HealthDataAccess.READ_WRITE, HealthDataType.HEART_RATE: HealthDataAccess.READ,};
// Request with mappingfinal types = typePermissions.keys.toList();final permissions = typePermissions.values.toList();await health.requestAuthorization(types, permissions: permissions);Unit Conversion
Section titled “Unit Conversion”double convertUnit( double value, HealthDataUnit from, HealthDataUnit to,) { // Weight conversions if (from == HealthDataUnit.KILOGRAM && to == HealthDataUnit.POUND) { return value * 2.20462; } if (from == HealthDataUnit.POUND && to == HealthDataUnit.KILOGRAM) { return value / 2.20462; }
// Length conversions if (from == HealthDataUnit.CENTIMETER && to == HealthDataUnit.INCH) { return value / 2.54; } if (from == HealthDataUnit.INCH && to == HealthDataUnit.CENTIMETER) { return value * 2.54; }
// Temperature conversions if (from == HealthDataUnit.DEGREE_CELSIUS && to == HealthDataUnit.DEGREE_FAHRENHEIT) { return (value * 9/5) + 32; } if (from == HealthDataUnit.DEGREE_FAHRENHEIT && to == HealthDataUnit.DEGREE_CELSIUS) { return (value - 32) * 5/9; }
return value;}See Also
Section titled “See Also”- Health Class API - Main API reference
- Data Models - Data structures
- Data Types - Understanding health data types