# Persönliche Referenzwerte (Profil)

## Überblick

Nutzer-spezifische, **historische** Kennwerte (z. B. HF-Schwellen, Trainingshäufigkeit), die **nicht** zur Admin-/Focus-Area-Konfiguration gehören, sondern zum **aktiven Profil** wie Größe oder Ziele.

## Tabellen

| Tabelle | Zweck |
|--------|--------|
| `reference_value_types` | System-seedete Typdefinitionen: stabiler `key`, Anzeige-`label`, optional `default_unit`, `sort_order`, `active`, `metadata` (JSONB). |
| `profile_reference_values` | Historische Einträge: `profile_id`, `reference_value_type_id`, `effective_date`, `value_numeric` und/oder `value_text`, `unit`, optionale Felder `source`, `confidence`, `method`, `notes`, `extra` (JSONB). |

**Kein** Überschreiben eines einzelnen „aktuellen“ Werts: jede Messung ist eine eigene Zeile.

## Seed-Typen (Migration 037)

- `max_heart_rate` (bpm)  
- `resting_heart_rate` (bpm)  
- `anaerobic_threshold_hr` (bpm)  
- `aerobic_threshold_hr` (bpm)  
- `training_frequency_weekly` (Sessions/Woche)  
- `fitness_level` (Stufe)  

Es werden **keine** Benutzerwerte automatisch angelegt.

## Admin (nur Rolle `admin`)

- `GET/POST/PUT/DELETE /api/admin/reference-value-types` — vollständiger CRUD auf `reference_value_types` (inkl. inaktiver Typen).  
- Löschen nur, wenn keine Zeilen in `profile_reference_values` zu diesem Typ existieren (sonst HTTP 409).  
- UI: **Admin → Ziele & Fokus → Referenz-Kennwerte** (`/admin/reference-value-types`).

## API (Prefix `/api`)

- `GET /reference-value-types` — aktive Typen (dynamische UI)  
- `GET /profile-reference-values?type_key=…` — Liste pro Typ, neueste zuerst  
- `POST /profile-reference-values` — neuer Eintrag  
- `PUT /profile-reference-values/{id}` — Aktualisierung  
- `DELETE /profile-reference-values/{id}` — Löschen  

Authentifizierung wie üblich; Profil über `X-Profile-Id` / `get_pid` wie andere Module.

## UI

**Einstellungen → Karte „Referenzwerte“ → „Referenzwerte verwalten“** (`/settings/reference-values`).

Typauswahl per Dropdown (aus API); Verlauf als Tabelle mit Bearbeiten/Löschen; Formular für neue Einträge bzw. Bearbeitung.

## Erweiterbarkeit

- Neue Messgrößen: nur **INSERT** in `reference_value_types` (Migration oder Admin-Skript), kein Schema-Wechsel für Nutzerdaten.  
- Zusatzmetadaten: Spalten `source`, `confidence`, `method`, `notes`, `extra` bereits vorhanden; UI kann später erweitert werden.  
- Platzierung **profilorientiert**, damit klar ist: Nutzerdaten, keine systemweite Semantik wie Focus Areas.
