330 lines
12 KiB
Markdown
330 lines
12 KiB
Markdown
|
|
# 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 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:
|
|||
|
|
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
|