Types

Link copied to clipboard
data class ActiveCaloriesBurned(val unit: KHUnit.Energy, val value: Double, val startTime: Instant, val endTime: Instant) : KHRecord

Captures the estimated active energy burned by the user, excluding basal metabolic rate (BMR). Each record represents the total energy burned over a time interval, so both the start and end times should be set.

Link copied to clipboard
data class BasalMetabolicRate(val unit: KHEither<KHUnit.Power, KHUnit.Energy>, val value: Double, val time: Instant) : KHRecord

Captures the BMR of a user. Each record represents the energy a user would burn if at rest all day, based on their height and weight.

Link copied to clipboard
data class BloodGlucose(val unit: KHUnit.BloodGlucose, val value: Double, val time: Instant) : KHRecord

Captures the concentration of glucose in the blood. Each record represents a single instantaneous blood glucose reading.

Link copied to clipboard
data class BloodPressure(val unit: KHUnit.Pressure, val systolicValue: Double, val diastolicValue: Double, val time: Instant) : KHRecord

Captures the blood pressure of a user. Each record represents a single instantaneous blood pressure reading.

Link copied to clipboard
data class BodyFat(val percentage: Double, val time: Instant) : KHRecord

Captures the body fat percentage of a user. Each record represents a person's total body fat as a percentage of their total body mass.

Link copied to clipboard
data class BodyTemperature(val unit: KHUnit.Temperature, val value: Double, val time: Instant) : KHRecord

Captures the body temperature of a user. Each record represents a single instantaneous body temperature measurement.

Link copied to clipboard
data class BodyWaterMass(val unit: KHUnit.Mass, val value: Double, val time: Instant) : KHRecord

Body water mass is the total amount of water in a person's body, typically comprising about 60% of their total body weight.

Link copied to clipboard
data class BoneMass(val unit: KHUnit.Mass, val value: Double, val time: Instant) : KHRecord

Bone mass is the total weight of bones in the body, reflecting the amount of bone tissue and its density.

Link copied to clipboard
data class CervicalMucus(val appearance: KHCervicalMucusAppearance, val time: Instant) : KHRecord

Cervical mucus is a fluid produced by the cervix that changes in consistency throughout the menstrual cycle, aiding in fertility and sperm transport.

Link copied to clipboard
data class CyclingPedalingCadence(val samples: List<KHCyclingPedalingCadenceSample>, val startTime: Instant, val endTime: Instant) : KHRecord

In cycling, cadence is a measure of rotational speed of the crank, expressed in revolutions per minute. In other words, it is the pedalling rate at which a cyclist is turning the pedals.

Link copied to clipboard
data class CyclingSpeed(val samples: List<KHSpeedSample>) : KHRecord

Cycling speed is the rate at which a cyclist travels, usually measured in kilometers per hour (km/h) or miles per hour (mph).

Link copied to clipboard
data class Distance(val unit: KHUnit.Length, val value: Double, val startTime: Instant, val endTime: Instant) : KHRecord

Captures distance travelled by the user since the last reading. The total distance over an interval can be calculated by adding together all the values during the interval. The start time of each record should represent the start of the interval in which the distance was covered.

Link copied to clipboard
data class ElevationGained(val unit: KHUnit.Length, val value: Double, val startTime: Instant, val endTime: Instant) : KHRecord

Captures the elevation gained by the user since the last reading.

Link copied to clipboard
data class FloorsClimbed(val floors: Double, val startTime: Instant, val endTime: Instant) : KHRecord

Captures the number of floors climbed by the user since the last reading.

Link copied to clipboard
data class HeartRate(val samples: List<KHHeartRateSample>) : KHRecord

Captures the user's heart rate. Each record represents a series of measurements.

Link copied to clipboard
data class HeartRateVariability(val heartRateVariabilityMillis: Double, val time: Instant) : KHRecord

Captures user's heart rate variability (HRV) as measured by the root mean square of successive differences RMSSD on Android and Standard Deviation of NN intervals SDNN on Apple between normal heartbeats.

Link copied to clipboard
data class Height(val unit: KHUnit.Length, val value: Double, val time: Instant) : KHRecord

Captures the user's height.

Link copied to clipboard
data class Hydration(val unit: KHUnit.Volume, val value: Double, val startTime: Instant, val endTime: Instant) : KHRecord

Captures how much water a user drank in a single drink.

Link copied to clipboard
data class IntermenstrualBleeding(val time: Instant) : KHRecord

Captures an instance of user's intermenstrual bleeding, also known as spotting.

Link copied to clipboard
data class LeanBodyMass(val unit: KHUnit.Mass, val value: Double, val time: Instant) : KHRecord

Captures the user's lean body mass. Each record represents a single instantaneous measurement.

Link copied to clipboard
data class MenstruationFlow(val type: KHMenstruationFlowType, val time: Instant, val isStartOfCycle: Boolean = false) : KHRecord

Captures a description of how heavy a user's menstrual flow was (light, medium, or heavy). Each record represents a description of how heavy the user's menstrual bleeding was.

Link copied to clipboard
data class MenstruationPeriod(val startTime: Instant, val endTime: Instant) : KHRecord

Captures user's menstruation periods.

Link copied to clipboard
data class Nutrition(val name: String? = null, val startTime: Instant, val endTime: Instant, val solidUnit: KHUnit.Mass = KHUnit.Mass.Gram, val energyUnit: KHUnit.Energy = KHUnit.Energy.KiloCalorie, val mealType: KHMealType, val biotin: Double? = null, val caffeine: Double? = null, val calcium: Double? = null, val chloride: Double? = null, val cholesterol: Double? = null, val chromium: Double? = null, val copper: Double? = null, val dietaryFiber: Double? = null, val energy: Double? = null, val folicAcid: Double? = null, val iodine: Double? = null, val iron: Double? = null, val magnesium: Double? = null, val manganese: Double? = null, val molybdenum: Double? = null, val monounsaturatedFat: Double? = null, val niacin: Double? = null, val pantothenicAcid: Double? = null, val phosphorus: Double? = null, val polyunsaturatedFat: Double? = null, val potassium: Double? = null, val protein: Double? = null, val riboflavin: Double? = null, val saturatedFat: Double? = null, val selenium: Double? = null, val sodium: Double? = null, val sugar: Double? = null, val thiamin: Double? = null, val totalCarbohydrate: Double? = null, val totalFat: Double? = null, val vitaminA: Double? = null, val vitaminB12: Double? = null, val vitaminB6: Double? = null, val vitaminC: Double? = null, val vitaminD: Double? = null, val vitaminE: Double? = null, val vitaminK: Double? = null, val zinc: Double? = null) : KHRecord

Captures what nutrients were consumed as part of a meal or a food item.

Link copied to clipboard
data class OvulationTest(val result: KHOvulationTestResult, val time: Instant) : KHRecord

Each record represents the result of an ovulation test.

Link copied to clipboard
data class OxygenSaturation(val percentage: Double, val time: Instant) : KHRecord

Captures the amount of oxygen circulating in the blood, measured as a percentage of oxygen-saturated hemoglobin. Each record represents a single blood oxygen saturation reading at the time of measurement.

Link copied to clipboard
data class Power(val samples: List<KHPowerSample>) : KHRecord

Captures the power generated by the user, e. g. during cycling or rowing with a power meter. Each record represents a series of measurements.

Link copied to clipboard
data class RespiratoryRate(val rate: Double, val time: Instant) : KHRecord

Captures the user's respiratory rate. Each record represents a single instantaneous measurement.

Link copied to clipboard
data class RestingHeartRate(val beatsPerMinute: Long, val time: Instant) : KHRecord

Captures the user's resting heart rate. Each record represents a single instantaneous measurement. These are typically measured after waking up and before getting out of bed.

Link copied to clipboard
data class RunningSpeed(val samples: List<KHSpeedSample>) : KHRecord

Running speed is the rate at which a person moves while running, typically measured in meters per second or kilometers per hour.

Link copied to clipboard
data class SexualActivity(val didUseProtection: Boolean, val time: Instant) : KHRecord

Captures an occurrence of sexual activity. Each record is a single occurrence.

Link copied to clipboard
data class SleepSession(val samples: List<KHSleepStageSample>) : KHRecord

Captures the user's sleep length and its stages. Each record represents a time interval for a full sleep session.

Link copied to clipboard
data class Speed(val samples: List<KHSpeedSample>) : KHRecord

Captures the user's speed, e. g. during running or cycling. Each record represents a series of measurements.

Link copied to clipboard
data class StepCount(val count: Long, val startTime: Instant, val endTime: Instant) : KHRecord

Captures the number of steps taken since the last reading. Each step is only reported once so records shouldn't have overlapping time. The start time of each record should represent the start of the interval in which steps were taken.

Link copied to clipboard
data class Vo2Max(val vo2MillilitersPerMinuteKilogram: Double, val time: Instant) : KHRecord

VO2 max is the maximum amount of oxygen the body can utilize during intense exercise, indicating cardiovascular fitness and endurance capacity.

Link copied to clipboard
data class Weight(val unit: KHUnit.Mass, val value: Double, val time: Instant) : KHRecord

Captures the user's weight.

Link copied to clipboard
data class WheelChairPushes(val count: Long, val startTime: Instant, val endTime: Instant) : KHRecord

Captures the number of wheelchair pushes done since the last reading. Each push is only reported once so records shouldn't have overlapping time. The start time of each record should represent the start of the interval in which pushes were made.