- .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
12 KiB
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:
- Ziele – Nutzer definiert konkrete Zielwerte (Gewicht, KF, Kondition etc.)
- Trainingsphasen – Automatische Erkennung der aktuellen Phase aus Daten
- Aktive Tests – Standardisierte Fitness-Tests zur Messung nicht-trackbarer Werte
- 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 4–6 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 6–8 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:
- Ziele: eigene Tabelle
goalsoder als JSONB inprofiles? - Phasenerkennung: täglicher Cron-Job im Backend oder Frontend-Berechnung?
- Aktive Tests: generisches Schema (test_type + result_value + result_unit) oder je Test eigene Felder?
- Normwerte: in DB gespeichert oder als statische JSON-Datei im Backend?
- Fitness-Score: wie wird er aus mehreren Tests aggregiert (gewichteter Durchschnitt)?
- Vitalwerte: eigene Tabelle je Typ oder generische
vitals_logTabelle? - Phasen-Vorschlag: als Push-Notification oder nur In-App-Banner? EOF