mitai-jinkendo/.claude/docs/functional/GOALS_VITALS.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

12 KiB
Raw Permalink Blame History

Fachliche Anforderungen: Ziele, Vitalwerte & Aktive Tests

Modul: v9e
Status: Fachlich freigegeben, technische Implementierung ausstehend
Letzte Aktualisierung: März 2026


1. Überblick

Dieses Modul erweitert Mitai Jinkendo um drei eng verbundene Bereiche:

  1. Ziele Nutzer definiert konkrete Zielwerte (Gewicht, KF, Kondition etc.)
  2. Trainingsphasen Automatische Erkennung der aktuellen Phase aus Daten
  3. Aktive Tests Standardisierte Fitness-Tests zur Messung nicht-trackbarer Werte
  4. Vitalwerte Blutdruck, SpO2, HRV, Temperatur, Blutzucker

Die KI verbindet alle vier Bereiche: Sie schlägt Zielwerte vor, erkennt Phasen, empfiehlt Tests und passt Analysen an die aktuelle Phase an.


2. Ziele

2.1 Unterstützte Zieltypen

Zieltyp Felder Einheit
Gewichtsziel Zielgewicht + Zieldatum kg, Datum
Körperfett-Ziel Ziel-KF% %
Magermasse-Ziel Ziel-Magermasse kg
Konditionsziel Ziel-VO2Max ml/kg/min
Kraftziel Übungsname + Zielwiederholungen/-gewicht Wdh. oder kg
Flexibilitätsziel Ziel-Sit&Reach cm
Blutdruck-Zielbereich Systolisch / Diastolisch mmHg
Ruhepuls-Ziel Ziel-Ruhepuls bpm

2.2 Ziel-Verwaltung

Aktives Ziel:

  • Unbegrenzt viele Ziele können gleichzeitig aktiv sein
  • Ein Ziel kann als Primärziel markiert werden dieses bestimmt Dashboard-Fokus und KI-Analyse-Ausrichtung
  • Alle anderen aktiven Ziele sind gleichwertige Nebenziele

Ziel-Lebenszyklus:

Entwurf → Aktiv → Erreicht / Aufgegeben / Abgelaufen

Ziel-Geschichte:

  • Alle vergangenen Ziele bleiben gespeichert
  • Fortschrittsverlauf je Ziel einsehbar

2.3 Ziel-Anzeige

Dashboard-Widget (kompakt):

  • Zeigt alle aktiven Ziele als kompakte Karten
  • Je Ziel: Name + Fortschrittsbalken (aktuell vs. Zielwert in %)
  • Countdown bis Zieldatum (z.B. "noch 42 Tage")
  • Prognose: "auf Kurs" / "X Tage früher" / "X Tage Verzögerung"
  • Klick öffnet die Ziele-Seite

Eigene Ziele-Seite (Navigation):

  • Vollständige Übersicht aller aktiven + vergangenen Ziele
  • Je Ziel: Detailansicht mit Verlauf, Trend, Prognose
  • Aktionen: Ziel bearbeiten / pausieren / als erreicht markieren / löschen
  • "+ Neues Ziel" Button

Fortschrittsbalken:

Gewichtsziel: 86,1 kg → 82 kg
████████░░  72% erreicht  (noch 4,1 kg)
Prognose: 30.05.2026  ✓ auf Kurs

Countdown:

  • Zeigt Tage bis Zieldatum
  • Farbcodierung: grün (auf Kurs) / gelb (leicht hinter Plan) / rot (deutlich hinter Plan)

2.4 KI-Zielvorschläge

Die KI analysiert aktuelle Werte und schlägt realistische Zielwerte vor:

Beispiele:

  • Gewichtsziel: "Basierend auf deinem aktuellen Gewicht von 86 kg und Kalorientrend wäre ein Ziel von 82 kg in 12 Wochen realistisch (+0,5 kg/Woche Defizit)"
  • Ruhepuls-Ziel: "Dein Ruhepuls liegt bei 58 bpm. Ein Ziel von 52 bpm ist bei konsequentem Ausdauertraining in 16 Wochen erreichbar"
  • KF-Ziel: "Von 19,9% auf 16% sind ~3,9 Prozentpunkte realistisch in 14 Wochen bei Kaloriendefizit + Krafttraining"

Vorschlag-Trigger:

  • Beim erstmaligen Anlegen eines Ziels
  • Wenn kein aktives Ziel vorhanden
  • Auf explizite Anfrage ("Neues Ziel vorschlagen")

3. Trainingsphasen

3.1 Unterstützte Phasen

Phase Erkennungsmerkmale Empfohlene Strategie
Kaloriendefizit Kcal-Bilanz < -300/Tag (Ø 7T), Gewicht sinkend Krafttraining erhalten, Cardio moderat
Kalorienstabilisierung Kcal-Bilanz -100 bis +100/Tag, Gewicht stabil Ausgeglichenes Training
Kalorienüberschuss Kcal-Bilanz > +300/Tag, Gewicht steigend Krafttraining priorisieren
Konditionsaufbau >60% Cardio-Anteil, VO2Max-Trend steigend Zone 2 Training ausbauen
Schnellkraft / HIIT >40% HIIT/Schnellkraft, HF-Zonen 4-5 dominant Erholung beachten
Maximalkraft-Aufbau >50% Krafttraining, Hypertrophie/Maximalkraft Progressive Überlastung
Regeneration Trainingsvolumen -40% vs. Vorwoche, HRV niedrig Aktive Erholung, Schlaf
Wettkampfvorbereitung Nutzer-definiert mit Datum Periodisierung, Peak-Performance

3.2 Phasenerkennung

Automatische Erkennung:

  • System analysiert letzte 14 Tage: Kalorienbilanz, Trainingstypen, Volumen, HRV, Ruhepuls
  • Schlägt erkannte Phase als Benachrichtigung vor
  • Erkennungs-Intervall: täglich (Hintergrund)

Nutzer-Bestätigung:

  • Vorschlag erscheint als Banner: "Wir haben erkannt: Du befindest dich in einer Kaloriendefizit-Phase. Stimmt das?"
  • Optionen: ✓ Bestätigen / ✗ Ablehnen / ✎ Anpassen
  • Manuelles Setzen jederzeit möglich

Phasenwechsel-Erkennung:

  • Automatisch erkannt wenn Datenmuster 7 Tage konsistent einer neuen Phase entspricht
  • Erst nach dieser Stabilitätsprüfung wird der Wechsel vorgeschlagen
  • Verhindert falsche Alarme bei kurzzeitigen Abweichungen (z.B. Urlaub, Krankheit)
  • Nutzer wird benachrichtigt: "Phasenwechsel erkannt: Kaloriendefizit → Stabilisierung"

3.3 Phase und Dashboard

  • Aktuelle Phase prominent auf Dashboard angezeigt (Badge/Label)
  • Dashboard-Kennzahlen passen sich an Phase an:
    • Kaloriendefizit: Kaloriendefizit/Tag als Hauptkennzahl
    • Muskelaufbau: Proteinversorgung + Trainingsvolumen prominent
    • Kondition: VO2Max-Trend + Cardio-Anteil prominent

4. Aktive Tests

4.1 Konzept

Aktive Tests messen Fitness-Parameter die nicht aus passivem Tracking ableitbar sind. Jeder Test hat:

  • Durchführungsanleitung (Schritt-für-Schritt in der App)
  • Messung (Eingabe des Ergebnisses)
  • Auswertung (Einordnung nach Alter/Geschlecht + Trend)
  • Testintervall (empfohlene Wiederholung)
  • KI-Verknüpfung (Ergebnis fließt in Analyse ein)

4.2 Standardtests

Cooper-Test (Ausdauer / VO2Max)

  • Ziel: VO2Max-Schätzung
  • Durchführung: 12 Minuten laufen, maximale Distanz messen
  • Eingabe: Distanz in Metern
  • Berechnung: VO2Max = (Distanz - 504.9) / 44.73
  • Intervall: alle 46 Wochen
  • Anleitung in App: Aufwärmen 5 min → 12 min laufen → Distanz eingeben

Stufentest (Herzfrequenz-Ausdauer)

  • Ziel: Aerobe Schwelle, HF-Zonen kalibrieren
  • Durchführung: Steigende Belastung (Laufen/Radfahren), HF alle 3 min notieren
  • Eingabe: HF-Werte je Stufe (5 Stufen à 3 min)
  • Auswertung: HF-Kurve, Schwellenbestimmung
  • Intervall: alle 68 Wochen

Liegestützen-Test (Kraftausdauer Oberkörper)

  • Ziel: Maximale Liegestützen ohne Pause
  • Eingabe: Anzahl Wiederholungen
  • Einordnung: Normwerte nach Alter/Geschlecht
  • Intervall: alle 4 Wochen

Kniebeugen-Test (Kraftausdauer Unterkörper)

  • Ziel: Maximale Kniebeugen ohne Pause
  • Eingabe: Anzahl Wiederholungen
  • Einordnung: Normwerte nach Alter/Geschlecht
  • Intervall: alle 4 Wochen

Sit & Reach (Flexibilität)

  • Ziel: Rumpf- und Beinflexibilität messen
  • Durchführung: Sitzen, Beine gestreckt, Oberkörper vorbeugen, maximale Reichweite
  • Eingabe: cm (positiv = über Fußsohle, negativ = davor)
  • Einordnung: Normwerte nach Alter/Geschlecht
  • Intervall: alle 4 Wochen

Gleichgewichtstest (Einbeinstand)

  • Ziel: Propriozeption, Gleichgewicht
  • Durchführung: Einbeinstand mit geschlossenen Augen, Zeit messen
  • Eingabe: Sekunden (bestes von 3 Versuchen)
  • Einordnung: <10s = verbesserungswürdig, 10-30s = gut, >30s = sehr gut
  • Intervall: alle 4 Wochen

Griffstärke

  • Ziel: Allgemeine Kraftindikator, Gesundheitsmarker
  • Durchführung: Dynamometer oder Schätzung (maximaler Händedruck)
  • Eingabe: kg (oder subjektiv 1-5 wenn kein Gerät)
  • Intervall: alle 4 Wochen

Benutzerdefinierter Test

  • Ziel: Eigene Tests anlegen
  • Felder: Name, Beschreibung, Einheit, Eingabetyp (Zahl/Zeit/Skala)
  • Einordnung: Manuelle Referenzwerte (gut/mittel/verbesserungswürdig)
  • Intervall: Frei wählbar

4.3 Test-Verwaltung

Test-Historie:

  • Alle Testergebnisse chronologisch gespeichert
  • Trend über Zeit sichtbar (Liniengrafik pro Test)
  • Verbesserung in % seit letztem Test

Test-Kalender:

  • Übersicht: welche Tests wann fällig
  • KI empfiehlt: "Cooper-Test ist seit 5 Wochen überfällig"

Normwerte:

  • Einordnung nach Alter (in Profil hinterlegt) und Geschlecht
  • Kategorien: Sehr gut / Gut / Durchschnittlich / Verbesserungswürdig
  • Quelle: Etablierte Fitness-Normtabellen

5. Vitalwerte

5.1 Erfasste Vitalwerte

Vitalwert Felder Einheit Warnbereich
Blutdruck Systolisch + Diastolisch + Puls mmHg >140/90 = erhöht
SpO2 Sauerstoffsättigung % <95% = Warnung
HRV Herzratenvariabilität ms persönliche Baseline
Körpertemperatur Temperatur °C >37,5°C = erhöht
Blutzucker Nüchtern-Wert mg/dl oder mmol/l >100 mg/dl nüchtern

5.2 Erfassung

  • Manuelle Eingabe mit Datum + Uhrzeit
  • Import aus Apple Health (wenn vorhanden)
  • Messkontext optional: Nüchtern / Nach Sport / Morgens / Abends

5.3 Auswertung

  • Trend über Zeit je Vitalwert
  • Ampel-System: Grün (normal) / Gelb (Grenzbereich) / Rot (außerhalb Normbereich)
  • Korrelation: Blutdruck ↔ Training, Blutdruck ↔ Gewicht
  • Hinweis in App: Vitalwerte ersetzen keine ärztliche Diagnose

6. KI-Analyse

6.1 Neue KI-Platzhalter

{{primärziel_typ}}           → "Gewichtsabnahme"
{{primärziel_wert}}          → "82 kg bis 30.06.2026"
{{primärziel_fortschritt}}   → "72% erreicht (4 kg von 5,5 kg)"
{{primärziel_prognose}}      → "Ziel voraussichtlich in 6 Wochen erreicht"
{{aktuelle_phase}}           → "Kaloriendefizit"
{{phase_seit}}               → "seit 14 Tagen"
{{phase_empfehlung}}         → "Krafttraining erhalten, Cardio moderat"
{{test_letzter}}             → "Cooper-Test: 2.800m (VO2Max ~52) vor 3 Wochen"
{{test_faellig}}             → "Sit & Reach (seit 5 Wochen nicht gemacht)"
{{vitalwerte_blutdruck}}     → "125/82 mmHg (letzter Wert)"
{{vitalwerte_spo2}}          → "98% (letzter Wert)"
{{vitalwerte_trend}}         → "Blutdruck stabil, SpO2 normal"
{{fitness_score}}            → "Kondition: gut · Kraft: durchschnittlich · Flex: verbesserungswürdig"

6.2 KI-Analyse-Funktionen

Zielwerte vorschlagen:

  • Trigger: kein aktives Ziel oder auf Anfrage
  • Basis: aktuelle Messwerte + historischer Trend + Alter/Geschlecht
  • Output: konkreter Zielwert + realistischer Zeitrahmen + Begründung

Phase automatisch erkennen:

  • Tägliche Hintergrundanalyse
  • Kalorienbilanz + Trainingstypen + Gewichtstrend + HRV
  • Output: Phasen-Vorschlag mit Begründung

Test empfehlen wenn fällig:

  • Prüft Testintervall vs. letztes Ergebnis
  • Output: "Cooper-Test ist seit X Wochen fällig führe ihn durch um deinen VO2Max-Trend zu aktualisieren"

Fortschritt mit Prognose:

  • Lineare Extrapolation aktueller Trend → Zieldatum
  • Output: "Bei aktuellem Tempo erreichst du dein Gewichtsziel in 6 Wochen (statt geplanter 8 Wochen)"

Empfehlungen an Phase anpassen:

  • KI-Analysen berücksichtigen aktuelle Phase
  • Beispiel in Kaloriendefizit-Phase: Protein-Empfehlung erhöht, Krafttraining-Empfehlung priorisiert, Schlafmangel-Warnung verstärkt
  • Beispiel in Wettkampf-Phase: Erholungsstatus und Tapering im Fokus

7. Abgrenzung & offene Fragen

In diesem Modul enthalten:

  • 8 Zieltypen mit Primärziel-Konzept
  • 8 Trainingsphasen + automatische Erkennung + Nutzerbestätigung
  • 8 Standardtests + benutzerdefinierte Tests
  • Normwerte-Einordnung nach Alter/Geschlecht
  • 5 Vitalwerte mit Ampel-System
  • 13 neue KI-Platzhalter
  • 5 KI-Analyse-Funktionen

Nicht in diesem Modul:

  • Periodisierungsplaner (Makro-/Mikrozyklen) → später
  • Ärztliche Auswertung / Diagnose → bewusst ausgeschlossen
  • Automatische Smartwatch-Tests → v9h Connectoren
  • Ernährungsplan-Generator → später

Offene Fragen für technische Planung:

  1. Ziele: eigene Tabelle goals oder als JSONB in profiles?
  2. Phasenerkennung: täglicher Cron-Job im Backend oder Frontend-Berechnung?
  3. Aktive Tests: generisches Schema (test_type + result_value + result_unit) oder je Test eigene Felder?
  4. Normwerte: in DB gespeichert oder als statische JSON-Datei im Backend?
  5. Fitness-Score: wie wird er aus mehreren Tests aggregiert (gewichteter Durchschnitt)?
  6. Vitalwerte: eigene Tabelle je Typ oder generische vitals_log Tabelle?
  7. Phasen-Vorschlag: als Push-Notification oder nur In-App-Banner? EOF