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

330 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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