Skip to content

Health

Jarvis aggregates biometric and medical data from all your wearables into a single private, FHIR-compatible view with longitudinal insights and personalised alerting.

What you can do

  • 📊 Unified dashboard of sleep, HRV, recovery, activity, weight, ECG, glucose
  • 🏃 Automated coaching on training, sleep, recovery based on your patterns
  • 🔔 Biometric alerts on personalised thresholds (high resting HR, falling HRV, …)
  • 📈 Longitudinal insights: how does your recovery change with coffee/alcohol/travel?
  • 🩺 FHIR health vault shareable with your doctor (HL7 standard export)

Supported wearables and medical devices

Provider Data exposed Auth Free
Oura Ring v2 sleep, HRV, readiness, SpO2 OAuth 2.0
Whoop v2 strain, recovery, sleep, HR, HRV OAuth 2.0 + webhook
Polar AccessLink training, HR, sleep OAuth 2.0
Garmin Health API HRV, VO2max, stress, sleep OAuth 1.0a ✅ with approval (~2 days)
Withings weight, HR, ECG, BP, sleep OAuth 2.0
Fitbit / Google Health API activity, HR, sleep Google OAuth 2.0 ✅ — migration September 2026
Dexcom CGM real-time glucose OAuth 2.0 ✅ Limited Access (max 5 users)
Apple HealthKit all HealthKit types on-device only
Google Health Connect Android aggregator local

Open-source aggregators

  • Open Wearables — unified middleware for Apple, Garmin, Polar, Suunto, Whoop, Oura
  • Wearipedia (Stanford) — research wrapper for dozens of devices

Interoperability standards

Standard Use Implementation
HL7 FHIR R4 / R5 Clinical-grade storage HAPI FHIR server (Java, open source)
SMART on FHIR OAuth for health apps SMART Health IT toolkit
Open mHealth Device-agnostic JSON schemas Public schemas

Jarvis health architecture

flowchart LR
    OURA[Oura] & WHOOP[Whoop] & POLAR[Polar] & GARMIN[Garmin] & DEXCOM[Dexcom]
        --> OW[Open Wearables Middleware]
    HK[Apple HealthKit] & HC[Google Health Connect] --> OW
    OW --> NORM[Normalisation\nFHIR R4 mapping]
    NORM --> FHIR[(HAPI FHIR Server)]
    FHIR --> AGENT[Medical Agent]
    AGENT --> ALERTS[Alerts engine]
    AGENT --> COACH[Coaching engine]
    AGENT --> DASH[Dashboard]

Configuration

# Oura
OURA_CLIENT_ID=...
OURA_CLIENT_SECRET=...

# Whoop
WHOOP_CLIENT_ID=...
WHOOP_CLIENT_SECRET=...

# FHIR vault
FHIR_SERVER_URL=http://hapi-fhir:8081/fhir
FHIR_AUTH_TOKEN=...

Device pairing from the UI:

  1. Settings → Health → Connect device
  2. Choose the provider
  3. Authorise via OAuth on the provider's page
  4. Data starts syncing automatically (polling + webhooks)

Usage examples

Morning health briefing

"Hey Jarvis, how did I sleep last night?"

Jarvis: You slept 7h 22m, but with HRV down 18% from baseline.
        Whoop recovery score: 42% (yellow zone).
        Suggestion: light training today, no coffee after 2 pm.

Alerting

# config/jarvis.yaml
health:
  alerts:
    - name: "HRV trending down"
      condition: "hrv_baseline_delta < -20%"
      window: 3d
      action: notify_mobile
    - name: "Glucose out of range"
      condition: "glucose > 180 or glucose < 70"
      window: 1h
      action: notify_watch_emergency

Coaching

The medical-agent automatically correlates sleep, training, food (if you log meals), stress (HRV) and suggests weekly adjustments.

Privacy & security

⚠️ Health data is special category data under GDPR. Jarvis enforces:

  • 🔐 At-rest encryption for the FHIR collection
  • 🪪 OAuth tokens stored in a secret vault, never logged
  • 🚫 No health data sent to cloud LLMs without explicit consent for that single task
  • 📜 Audit log on every health-data access
  • 🗑️ Right to be forgotten: full deletion via UI or jarvis health purge

Medical disclaimer

Jarvis is not a medical device and does not replace professional medical advice. Suggestions are informational and wellness-oriented. For symptoms always consult a doctor.

Roadmap

Phase Feature
4.1 Oura, Whoop, Polar connectors
4.2 HAPI FHIR vault + shareable PDF export
4.3 Garmin, Withings, Fitbit
4.4 Dexcom CGM real-time + glucose alerting
4.5 Coaching engine with LLM (sleep/training/recovery)
4.6 Android Health Connect + iOS HealthKit pull
4.7 Genomics and clinical data (with dedicated consent)