Health
buildfire.services.health
#
The BuildFire Health Service allows plugins to query HealthKit data.
Info
This service works only on iOS devices
#
Requirements#
WidgetInclude healthAPI.js
file in widget header right after buildfire.min.js
#
MethodsrequestAuthorization()
#
buildfire.health.requestAuthorization(dataTypes, callback)
Requests read and write access to a set of data types. This method must be called before using the query methods, even if the authorization has already been given at some point in the past.
callback(err)
#
Executed when the request is complete. Returns an error if something went wrong.
Name | Type | Description |
---|---|---|
err | string | error string, null when operation is successful |
query()
#
buildfire.health.query(options, callback)
Fetches all the data points of a certain data type within a certain time window.
options
#
Name | Type | Required | Description | Default |
---|---|---|---|---|
dataType | string | yes | Data type to query. See Supported Data Types | N/A |
limit | number | no | Sets a maximum number of returned values | 1000 |
startDate | Date | yes | Start date for the query | N/A |
endDate | Date | yes | End date for the query | N/A |
callback(err, results)
#
Callback function executed after query is complete
Name | Type | Description |
---|---|---|
err | string | Error string, null when operation is successful |
results | array | Array of results |
#
Result entriesName | Type | Description |
---|---|---|
id | string | Unique Identifier |
unit | string | The unit of measure |
value | number | Measured value |
sourceName | string | Measuring device name |
sourceBundleId | string | Measuring application bundleId |
sourceProductType | string | Measuring device product identifier (ex: iPhone 12,2) |
sourceOSVersion | string | Measuring device OS version |
startDate | string | Starting date string |
endDate | string | Ending date string |
queryAggregated()
#
buildfire.health.queryAggregated(options, callback)
Fetches all the data points of a certain data type within a certain time window. Aggregates results into buckets.
options
#
Name | Type | Required | Description | Default |
---|---|---|---|---|
dataType | string | yes | Data type to query. See Supported Data Types | N/A |
bucket | string | no | Time scale to segment data by | N/A |
startDate | Date | yes | Start date for the query | N/A |
endDate | Date | yes | End date for the query | N/A |
callback(err, results)
#
Callback function executed after query is complete
Name | Type | Description |
---|---|---|
err | string | Error string, null when operation is successful |
results | array | Array of results. If no bucket is passed, returns only the first object |
#
Result entriesName | Type | Description |
---|---|---|
unit | string | The unit of measure |
value | number | Measured value |
startDate | string | Starting date string |
endDate | string | Ending date string |
#
Supported data typesThe Health service supports the following data types:
Data type | Unit | HealthKit equivalent |
---|---|---|
mindfulness | min | HKCategoryTypeIdentifierMindfulSession |
steps | count | HKQuantityTypeIdentifierStepCount |
stairs | count | HKQuantityTypeIdentifierFlightsClimbed |
distance | m | HKQuantityTypeIdentifierDistanceWalkingRunning + HKQuantityTypeIdentifierDistanceCycling |
appleExerciseTime | min | HKQuantityTypeIdentifierAppleExerciseTime |
flights_climbed | count | HKQuantityTypeIdentifierFlightsClimbed |
stand_time | min | HKQuantityTypeIdentifierDietaryVitaminE |
calories | kcal | HKQuantityTypeIdentifierActiveEnergyBurned + HKQuantityTypeIdentifierBasalEnergyBurned |
calories.active | kcal | HKQuantityTypeIdentifierActiveEnergyBurned |
calories.basal | kcal | HKQuantityTypeIdentifierBasalEnergyBurned |
activity | activityType | See Supported Activites |
height | m | HKQuantityTypeIdentifierHeight |
weight | kg | HKQuantityTypeIdentifierBodyMass |
bmi | count | HKQuantityTypeIdentifierBodyMassIndex |
lean_body_mass | kg | HKQuantityTypeIdentifierLeanBodyMass |
heart_rate | count/min | HKQuantityTypeIdentifierHeartRate |
heart_rate.resting | count/min | HKQuantityTypeIdentifierRestingHearRate |
heart_rate.variability | ms | HKQuantityTypeIdentifierHeartRateVariabilitySDNN |
resp_rate | count/min | HKQuantityTypeIdentifierRespiratoryRate |
oxygen_saturation | % | HKQuantityTypeIdentifierOxygenSaturation |
vo2max | ml/(kg * min) | HKQuantityTypeIdentifierVO2Max |
temperature | Celsius | HKQuantityTypeIdentifierBodyTemperature |
fat_percentage | % | HKQuantityTypeIdentifierBodyFatPercentage |
waist_circumference | m | HKQuantityTypeIdentifierWaistCircumference |
blood_glucose | mmol/L | HKQuantityTypeIdentifierBloodGlucose |
insulin | IU | HKQuantityTypeIdentifierInsulinDelivery |
blood_pressure | mmHg | HKCorrelationTypeIdentifierBloodPressure |
blood_pressure_systolic | mmHg | HKQuantityTypeIdentifierBloodPressureSystolic |
blood_pressure_diastolic | mmHg | HKQuantityTypeIdentifierBloodPressureDiastolic |
gender | HKCharacteristicTypeIdentifierBiologicalSex | |
date_of_birth | HKCharacteristicTypeIdentifierDateOfBirth | |
mindfulness | sec | HKCategoryTypeIdentifierMindfulSession |
sleep | N/A | HKCategoryTypeIdentifierSleepAnalysis |
nutrition | HKCorrelationTypeIdentifierFood | |
nutrition.biotin | mcg | HKQuantityTypeIdentifierDietaryBiotin |
nutrition.chloride | mg | HKQuantityTypeIdentifierDietaryChloride |
nutrition.chromium | mcg | HKQuantityTypeIdentifierDietaryChromium |
nutrition.copper | mg | HKQuantityTypeIdentifierDietaryCopper |
nutrition.folate | mcg | HKQuantityTypeIdentifierDietaryFolate |
nutrition.iodine | mcg | HKQuantityTypeIdentifierDietaryIodine |
nutrition.magnesium | mg | HKQuantityTypeIdentifierDietaryMagnesium |
nutrition.molybdenum | mg | HKQuantityTypeIdentifierDietaryMolybdenum |
nutrition.niacin | mg | HKQuantityTypeIdentifierDietaryNiacin |
nutrition.pantothenic_acid | mg | HKQuantityTypeIdentifierDietaryPantothenicAcid |
nutrition.phosphorus | mg | HKQuantityTypeIdentifierDietaryPhosphorus |
nutrition.riboflavin | mg | HKQuantityTypeIdentifierDietaryRiboflavin |
nutrition.selenium | mcg | HKQuantityTypeIdentifierDietarySelenium |
nutrition.thiamin | mg | HKQuantityTypeIdentifierDietaryThiamin |
nutrition.vitamin_B6 | mg | HKQuantityTypeIdentifierDietaryVitaminB6 |
nutrition.vitamin_B12 | mcg | HKQuantityTypeIdentifierDietaryVitaminB12 |
nutrition.vitamin_D | mcg | HKQuantityTypeIdentifierDietaryVitaminD |
nutrition.vitamin_E | mg | HKQuantityTypeIdentifierDietaryVitaminE |
nutrition.vitamin_K | mcg | HKQuantityTypeIdentifierDietaryVitaminK |
nutrition.zinc | mg | HKQuantityTypeIdentifierDietaryZinc |
nutrition.calories | kcal | HKQuantityTypeIdentifierDietaryEnergyConsumed |
nutrition.fat.total | g | HKQuantityTypeIdentifierDietaryFatTotal |
nutrition.fat.saturated | g | HKQuantityTypeIdentifierDietaryFatSaturated |
nutrition.fat.polyunsaturated | g | HKQuantityTypeIdentifierDietaryFatPolyunsaturated |
nutrition.fat.monounsaturated | g | HKQuantityTypeIdentifierDietaryFatMonounsaturated |
nutrition.cholesterol | mg | HKQuantityTypeIdentifierDietaryCholesterol |
nutrition.sodium | mg | HKQuantityTypeIdentifierDietarySodium |
nutrition.potassium | mg | HKQuantityTypeIdentifierDietaryPotassium |
nutrition.carbs.total | g | HKQuantityTypeIdentifierDietaryCarbohydrates |
nutrition.dietary_fiber | g | HKQuantityTypeIdentifierDietaryFiber |
nutrition.sugar | g | HKQuantityTypeIdentifierDietarySugar |
nutrition.protein | g | HKQuantityTypeIdentifierDietaryProtein |
nutrition.vitamin_a | mcg (HK), IU (GF) | HKQuantityTypeIdentifierDietaryVitaminA |
nutrition.vitamin_c | mg | HKQuantityTypeIdentifierDietaryVitaminC |
nutrition.calcium | mg | HKQuantityTypeIdentifierDietaryCalcium |
nutrition.iron | mg | HKQuantityTypeIdentifierDietaryIron |
nutrition.water | ml | HKQuantityTypeIdentifierDietaryWater |
nutrition.caffeine | g | HKQuantityTypeIdentifierDietaryCaffeine |
#
ActivitiesThe following activities are supported. Pass the Activity Name as dataType
to query
or queryAggregated
.
activity name | HealthKit equivalent |
---|---|
archery | HKWorkoutActivityTypeArchery |
badminton | HKWorkoutActivityTypeBadminton |
barre | HKWorkoutActivityTypeBarre |
baseball | HKWorkoutActivityTypeBaseball |
basketball | HKWorkoutActivityTypeBasketball |
biking | HKWorkoutActivityTypeCycling |
biking.hand | HKWorkoutActivityTypeHandCycling |
biking.mountain | HKWorkoutActivityTypeCycling |
biking.road | HKWorkoutActivityTypeCycling |
biking.spinning | HKWorkoutActivityTypeCycling |
biking.stationary | HKWorkoutActivityTypeCycling |
biking.utility | HKWorkoutActivityTypeCycling |
bowling | HKWorkoutActivityTypeBowling |
boxing | HKWorkoutActivityTypeBoxing |
cricket | HKWorkoutActivityTypeCricket |
cooldown | HKWorkoutActivityTypeCooldown |
core_training | HKWorkoutActivityTypeCoreTraining |
crossfit | HKWorkoutActivityTypeCrossTraining |
curling | HKWorkoutActivityTypeCurling |
dancing | HKWorkoutActivityTypeCardioDance |
dancing.social | HKWorkoutActivityTypeSocialDance |
disc_sports | HKWorkoutActivityTypeDiscSports |
diving | HKWorkoutActivityTypeWaterSports |
elliptical | HKWorkoutActivityTypeElliptical |
fencing | HKWorkoutActivityTypeFencing |
fitness_gaming | HKWorkoutActivityTypeFitnessGaming |
fishing | HKWorkoutActivityTypeFishing |
flexibility | HKWorkoutActivityTypeFlexibility |
football.american | KWorkoutActivityTypeAmericanFootball |
football.australian | HKWorkoutActivityTypeAustralianFootball |
football.soccer | HKWorkoutActivityTypeSoccer |
functional_strength | HKWorkoutActivityTypeFunctionalStrengthTraining |
golf | HKWorkoutActivityTypeGolf |
gymnastics | HKWorkoutActivityTypeGymnastics |
handball | KWorkoutActivityTypeHandball |
interval_training.high_intensity | HKWorkoutActivityTypeHighIntensityIntervalTraining |
hiking | HKWorkoutActivityTypeHiking |
hockey | HKWorkoutActivityTypeHockey |
horseback_riding | HKWorkoutActivityTypeEquestrianSports |
hunting | HKWorkoutActivityTypeHunting |
ice_skating | HKWorkoutActivityTypeSkatingSports |
interval_training | HKWorkoutActivityTypeHighIntensityIntervalTraining |
jump_rope | HKWorkoutActivityTypeJumpRope |
kayaking | HKWorkoutActivityTypePaddleSports |
kick_scooter | HKWorkoutActivityTypeCycling |
kickboxing | HKWorkoutActivityTypeKickboxing |
lacrosse | HKWorkoutActivityTypeLacrosse |
martial_arts | HKWorkoutActivityTypeMartialArts |
meditation | HKWorkoutActivityTypeMindAndBody |
martial_arts.mixed | HKWorkoutActivityTypeMartialArts |
mixed_metabolic_cardio | HKWorkoutActivityTypeMixedCardio |
activity name | HealthKit equivalent |
---|---|
other | HKWorkoutActivityTypeOther |
paddle_sports | HKWorkoutActivityTypePaddleSports |
pilates | HKWorkoutActivityTypePilates |
play | HKWorkoutActivityTypePlay |
pickleball | HKWorkoutActivityTypePickleball |
preparation_and_recovery | HKWorkoutActivityTypePreparationAndRecovery |
racquetball | HKWorkoutActivityTypeRacquetball |
rock_climbing | HKWorkoutActivityTypeClimbing |
rowing | HKWorkoutActivityTypeRowing |
rowing.machine | HKWorkoutActivityTypeRowing |
rugby | HKWorkoutActivityTypeRugby |
running | HKWorkoutActivityTypeRunning |
running.jogging | HKWorkoutActivityTypeRunning |
running.sand | HKWorkoutActivityTypeRunning |
running.treadmill | HKWorkoutActivityTypeRunning |
sailing | HKWorkoutActivityTypeSailing |
scuba_diving | HKWorkoutActivityTypeWaterSports |
skateboarding | HKWorkoutActivityTypeSkatingSports |
skating | HKWorkoutActivityTypeSkatingSports |
skating.cross | HKWorkoutActivityTypeSkatingSports |
skating.indoor | HKWorkoutActivityTypeSkatingSports |
skating.inline | HKWorkoutActivityTypeSkatingSports |
skiing | HKWorkoutActivityTypeSnowSports |
skiing.back_country | HKWorkoutActivityTypeSnowSports |
skiing.cross_country | HKWorkoutActivityTypeCrossCountrySkiing |
skiing.downhill | HKWorkoutActivityTypeDownhillSkiing |
skiing.kite | HKWorkoutActivityTypeSnowSports |
skiing.roller | HKWorkoutActivityTypeSnowSports |
sledding | HKWorkoutActivityTypeSnowSports |
sleep | HKCategoryValueSleepAnalysisAsleep |
sleep.light | HKCategoryValueSleepAnalysisAsleep |
sleep.deep | HKCategoryValueSleepAnalysisAsleep |
sleep.rem | HKCategoryValueSleepAnalysisAsleep |
sleep.inBed | HKCategoryValueSleepAnalysisInBed |
sleep.awake | HKCategoryValueSleepAnalysisAwake |
snowboarding | HKWorkoutActivityTypeSnowboarding |
snowmobile | HKWorkoutActivityTypeSnowSports |
snowshoeing | HKWorkoutActivityTypeSnowSports |
snow_sports | HKWorkoutActivityTypeSnowSports |
softball | HKWorkoutActivityTypeSoftball |
squash | HKWorkoutActivityTypeSquash |
stairs | HKWorkoutActivityTypeStairs |
stair_climbing | HKWorkoutActivityTypeStairClimbing |
stair_climbing.machine | HKWorkoutActivityTypeStepTraining |
standup_paddleboarding | HKWorkoutActivityTypePaddleSports |
strength_training | HKWorkoutActivityTypeTraditionalStrengthTraining |
surfing | HKWorkoutActivityTypeSurfingSports |
swimming | HKWorkoutActivityTypeSwimming |
swimming.pool | HKWorkoutActivityTypeSwimming |
swimming.open_water | HKWorkoutActivityTypeSwimming |
table_tennis | HKWorkoutActivityTypeTableTennis |
tai_chi | HKWorkoutActivityTypeTaiChi |
tennis | HKWorkoutActivityTypeTennis |
track_and_field | HKWorkoutActivityTypeTrackAndField |
volleyball | HKWorkoutActivityTypeVolleyball |
volleyball.beach | HKWorkoutActivityTypeVolleyball |
volleyball.indoor | HKWorkoutActivityTypeVolleyball |
wakeboarding | HKWorkoutActivityTypeWaterSports |
walking | HKWorkoutActivityTypeWalking |
walking.fitness | HKWorkoutActivityTypeWalking |
walking.nordic | HKWorkoutActivityTypeWalking |
walking.treadmill | HKWorkoutActivityTypeWalking |
walking.stroller | HKWorkoutActivityTypeWalking |
water_fitness | HKWorkoutActivityTypeWaterFitness |
water_polo | HKWorkoutActivityTypeWaterPolo |
water_sports | HKWorkoutActivityTypeWaterSports |
weightlifting | HKWorkoutActivityTypeTraditionalStrengthTraining |
wheelchair | HKWorkoutActivityTypeWheelchairRunPace |
wheelchair.walkpace | HKWorkoutActivityTypeWheelchairWalkPace |
wheelchair.runpace | HKWorkoutActivityTypeWheelchairRunPace |
windsurfing | HKWorkoutActivityTypeWaterSports |
wrestling | HKWorkoutActivityTypeWrestling |
yoga | HKWorkoutActivityTypeYoga |