Ir al contenido

Nutrición

Módulo del nutricionista: targets nutricionales por jugador, registros diarios, mediciones de composición corporal con evolución temporal y dos importadores (Excel masivo + PDF del software Miguel Kazarez de antropometría). KPIs de equipo a 30 días para suma de pliegues, % graso, masa magra y cobertura de medición.

  • Problema que resuelve: el nutricionista típico vive en Excel del software de antropometría. CÉNIT importa el PDF de Kazarez sin re-tipear, deja la evolución del jugador visible al cuerpo técnico y permite definir objetivos individuales (peso, % graso, masa muscular, pliegues).
  • Casos de uso típicos: medición mensual de plantel, ajuste de plan alimentario semanal por jugador, seguimiento longitudinal post-pretemporada.
  • Planes: gated por feature flag module_nutrition.
  • Diferenciador: parser determinístico del PDF de Kazarez (no usa IA — todo regex/heurística en lib/parsers/kazarez-anthropometry), preview editable antes de guardar, upsert por (player_id, record_date) para que reimportar el mismo PDF no genere duplicados.
  • Roles con acceso: nut, hop, dir, coord_form (shell nav).
  • Subsecciones: KPIs del equipo, panel por jugador (composición), objetivos, plan alimentario semanal, importadores, evolución temporal.
  • Definir objetivos: por jugador, calorías + macros + hidratación (nutrition_targets) y/o targets de composición (body_composition_targets: % graso, peso, masa muscular, pliegues). Upsert por player_id.
  • Registrar día: jugador, fecha, calorías, macros, hidratación, suplementos, notas, opcional peso + % graso (nutrition_records).
  • Cargar medición de composición: manual (body_composition) o desde importadores.
  • Importar PDF Kazarez: subir PDF (≤10MB) → parseAnthropometryPdf detecta formato → muestra preview editable → guardar con saveAnthropometryFromPdf (incluye endomorphy/mesomorphy/ectomorphy, lean_mass_kg computado vía parseLeanMass, skinfold_sum_mm, raw_data JSONB para auditoría).
  • Importar Excel: hasta 500 registros por archivo (bulkSaveBodyComposition).
  • Plan alimentario semanal: texto libre upserteado por (player_id, weekStart).
  • Plan debe incluir module_nutrition.
  • El parser Kazarez sólo soporta ese PDF — para otros softwares, carga manual o vía Excel.
  • PDFs escaneados como imagen no funcionan (no hay OCR). El parser detecta y avisa.
  • lean_mass ≠ muscle_mass. F13 calcula lean como peso − fat_mass.

Player surface: N/A. El jugador no ve sus mediciones de composición ni macros. Si en el futuro se decide exponerle su evolución, sería un nuevo tab del portal /player.

  • PDF Kazarez — software local de antropometría. Parser determinístico, upsert idempotente por fecha.
  • Excel — formato libre de composición, máx 500 filas por importación.
  • nutrition_records — registros diarios + plan alimentario.
  • nutrition_targets — macros + hidratación + nutritional_goal (texto).
  • body_composition — mediciones (con endomorphy, mesomorphy, ectomorphy, raw_data, source).
  • body_composition_targets — objetivos individuales.
  • RPC get_body_composition_summary — última medición + delta vs anterior + days_since por jugador.
  • Plantel: cada medición revalida el perfil del jugador.
  • Informe HoP: composición y cumplimiento entran al informe semanal cuando hay datos.
  • No hay export Excel todavía (excel_export está prometido en todos los planes pero no implementado, ver PROJECT_STATE.md).
  • Parser limitado a Kazarez — otros softwares (InBody, Tanita) requerirían parsers adicionales.