log_wearable
Logs or updates daily health metrics like heart rate, HRV, steps, blood pressure, glucose, and temperature for a specified date, handling corrections and manual entries.
Instructions
Log daily wearable/manual health metrics (RHR, HRV, Zone Minutes / AZM, VO2max, calories eaten / dietary energy, stress, supplemental steps, and physiological vitals including SpO₂, respiratory rate, skin temperature, blood pressure, blood glucose, and core temperature).
VITALS — use the vital fields for manual/home/device readings and corrections, including a finger-stick, CGM, home glucose meter, or wearable/Apple Health/Health Connect value the user explicitly wants stored manually. A glucose value from an actual lab report or blood draw belongs in log_lab_results instead, not here.
STEPS — read before using step_count: manual step_count is ADDITIVE — it adds on top of whatever a connected wearable (Fitbit, Oura, Apple Health, Health Connect) already recorded that day; it never replaces or overrides device data. Only use it when the user explicitly says they walked steps their device did NOT capture (phone left home, battery died, device not worn). If the user says sync is wrong, steps look doubled, or they want to fix/override/replace device data: do NOT pass step_count — explain that manual steps add on top, and sync issues need investigating at the device level.
ALL OTHER FIELDS (RHR, HRV, AZM, VO2max, stress, and physiological vitals) replace the existing manual value for that day and are safe to use for corrections.
INFER — do not ask: date defaults to today unless the user says otherwise.
IDEMPOTENT: if the values you'd log already exist for that date (any source), the tool returns a no-op success — report this as "already had data", not "failed".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date for the entry. Format: YYYY-MM-DD. Default to today. | |
| resting_hr | No | Resting heart rate in BPM. Optional. | |
| step_count | No | Supplemental steps NOT captured by any connected wearable. ADDITIVE — adds to device data, never replaces it. Only use when user explicitly says their device missed these steps. | |
| hrv_morning | No | Morning HRV in milliseconds (RMSSD or similar). Optional. | |
| skin_temp_c | No | Skin temperature in °C. Manual/home/device reading. Optional. | |
| spo2_avg_pct | No | SpO₂ in %. Manual/home/device reading. Optional. | |
| stress_score | No | Stress score (0–100 scale). Optional. | |
| vo2max_estimate | No | VO2max estimate (ml/kg/min). Optional. | |
| core_body_temp_c | No | Core temperature in °C. Manual/home/device reading. Optional. | |
| dietary_calories | No | Dietary energy / calories eaten for the day in kcal, imported from a connected health app (Apple Health / Health Connect). Optional. | |
| systolic_bp_mm_hg | No | Systolic blood pressure in mmHg. Provide with diastolic_bp_mm_hg. Manual/home/device reading. Optional. | |
| diastolic_bp_mm_hg | No | Diastolic blood pressure in mmHg. Provide with systolic_bp_mm_hg. Manual/home/device reading. Optional. | |
| blood_glucose_mg_dl | No | Blood glucose in mg/dL. Manual/home/device reading. Optional. | |
| active_zone_min_peak | No | Zone Minutes (also called Active Zone Minutes by Fitbit, Heart Points by Google Fit) at peak intensity. Optional. | |
| confirm_supplemental | No | Set to true ONLY after the user has explicitly confirmed these steps were walked without their device and were not captured. Do not set true based on your own inference. | |
| respiratory_rate_bpm | No | Breathing in br/min. Manual/home/device reading. Optional. | |
| active_zone_min_moderate | No | Zone Minutes (also called Active Zone Minutes by Fitbit, Heart Points by Google Fit) at moderate intensity. Optional. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | Human-readable result text returned by the tool. |