react-native-healthkit-bridge
Version:
A comprehensive React Native bridge for Apple HealthKit with TypeScript support, advanced authorization, and flexible data queries
74 lines (73 loc) • 3.27 kB
JavaScript
// HealthKit type identifiers organized by category
export const HealthKitIdentifiers = {
// Activity & Fitness
Activity: {
StepCount: 'HKQuantityTypeIdentifierStepCount',
DistanceWalkingRunning: 'HKQuantityTypeIdentifierDistanceWalkingRunning',
DistanceCycling: 'HKQuantityTypeIdentifierDistanceCycling',
DistanceSwimming: 'HKQuantityTypeIdentifierDistanceSwimming',
ActiveEnergyBurned: 'HKQuantityTypeIdentifierActiveEnergyBurned',
BasalEnergyBurned: 'HKQuantityTypeIdentifierBasalEnergyBurned',
AppleExerciseTime: 'HKQuantityTypeIdentifierAppleExerciseTime',
FlightsClimbed: 'HKQuantityTypeIdentifierFlightsClimbed',
SwimmingStrokeCount: 'HKQuantityTypeIdentifierSwimmingStrokeCount',
AppleStandHour: 'HKCategoryTypeIdentifierAppleStandHour'
},
// Heart
Heart: {
HeartRate: 'HKQuantityTypeIdentifierHeartRate',
RestingHeartRate: 'HKQuantityTypeIdentifierRestingHeartRate',
WalkingHeartRateAverage: 'HKQuantityTypeIdentifierWalkingHeartRateAverage',
HeartRateVariabilitySDNN: 'HKQuantityTypeIdentifierHeartRateVariabilitySDNN'
},
// Body Measurements
Body: {
Height: 'HKQuantityTypeIdentifierHeight',
BodyMass: 'HKQuantityTypeIdentifierBodyMass',
BodyFatPercentage: 'HKQuantityTypeIdentifierBodyFatPercentage',
LeanBodyMass: 'HKQuantityTypeIdentifierLeanBodyMass',
BodyTemperature: 'HKQuantityTypeIdentifierBodyTemperature'
},
// Vitals
Vitals: {
BloodPressureSystolic: 'HKQuantityTypeIdentifierBloodPressureSystolic',
BloodPressureDiastolic: 'HKQuantityTypeIdentifierBloodPressureDiastolic',
OxygenSaturation: 'HKQuantityTypeIdentifierOxygenSaturation',
RespiratoryRate: 'HKQuantityTypeIdentifierRespiratoryRate'
},
// Lab Results
Lab: {
BloodGlucose: 'HKQuantityTypeIdentifierBloodGlucose',
VO2Max: 'HKQuantityTypeIdentifierVO2Max'
},
// Sleep
Sleep: {
SleepAnalysis: 'HKCategoryTypeIdentifierSleepAnalysis'
},
// Mindfulness
Mindfulness: {
MindfulSession: 'HKCategoryTypeIdentifierMindfulSession'
},
// Reproductive Health
Reproductive: {
MenstrualFlow: 'HKCategoryTypeIdentifierMenstrualFlow',
IntermenstrualBleeding: 'HKCategoryTypeIdentifierIntermenstrualBleeding',
SexualActivity: 'HKCategoryTypeIdentifierSexualActivity',
CervicalMucusQuality: 'HKCategoryTypeIdentifierCervicalMucusQuality'
},
// Workouts
Workouts: {
Workout: 'HKWorkoutTypeIdentifier'
},
// Characteristics
Characteristics: {
BiologicalSex: 'HKCharacteristicTypeIdentifierBiologicalSex',
DateOfBirth: 'HKCharacteristicTypeIdentifierDateOfBirth',
BloodType: 'HKCharacteristicTypeIdentifierBloodType',
FitzpatrickSkinType: 'HKCharacteristicTypeIdentifierFitzpatrickSkinType'
}
};
// Flatten all identifiers for easy lookup
export const AllHealthKitIdentifiers = Object.values(HealthKitIdentifiers).reduce((acc, category) => (Object.assign(Object.assign({}, acc), category)), {});
// Array of all identifiers
export const HealthKitIdentifiersList = Object.values(AllHealthKitIdentifiers);