Ir al contenido

Fisioterapia

Registro de sesiones de fisioterapia, gestión de protocolos de retorno al juego (RTP) por fases, plantillas reutilizables por org y handoff de alta al área médica. Lo usa el fisio del club; HoP y Director Deportivo ven todo. Resuelve el “Excel de fisio” típico: trazabilidad de cada sesión, dolor antes/después, zonas tratadas y en qué fase del protocolo está cada lesionado.

  • Problema que resuelve: la mayoría de los cuerpos médicos trackean fisio en planillas sueltas. CÉNIT centraliza sesiones, dolor pre/post, zonas tratadas y el progreso por fases del RTP, todo conectado al perfil del jugador y a la lesión activa.
  • Casos de uso típicos: control diario de tratamientos, decisión informada sobre cuándo solicitar alta al médico, auditoría de cuántas sesiones llevó cada lesión.
  • Planes: gated por feature flag module_physio — incluido en todos los planes activos hoy.
  • Diferenciador: el módulo no es sólo registro. Lleva protocolos RTP por fases con duración objetivo y avance manual, plantillas por org (con seed de 4 protocolos comunes: isquiotibial, esguince de tobillo, LCA post-cirugía, tendinopatía patelar), y un flujo de clearance que escala la decisión al médico (approveClearance / rejectClearance en app/dashboard/medico/actions.ts).
  • Roles con acceso: fisio, hop, dir, coord_form (shell nav). La página no enforza rol server-side; las mutaciones sí (server actions individuales).
  • Subsecciones del shell: sesiones recientes, resumen semanal por jugador, lesionados activos con su fase RTP, plantillas, instancias activas.
  • Registrar sesión: seleccionar jugador, fecha, tipo, duración, dolor pre/post (0-10), zonas del cuerpo tratadas y notas. La sesión se guarda en physio_sessions con recorded_by.
  • Asignar protocolo: elegir jugador + lesión activa + plantilla. Se crea una instancia en fase 1 (fisio_protocol_instances).
  • Avanzar fase: botón en la instancia. Cuando supera la última fase, se marca completed_at.
  • Solicitar alta: requestClearance(instanceId) pone clearance_status = 'requested' y aparece en el panel del médico. El médico aprueba o rechaza con notas — la aprobación marca la instancia como completada.
  • Plantillas por org: crear, editar y borrar plantillas (fisio_protocol_templates). Hay un seedDefaultTemplates que carga las 4 plantillas standard si la org arranca vacía.
  • Plan de la org debe incluir module_physio (todos los planes activos hoy lo hacen).
  • Si el jugador no tiene lesión activa, igual se le puede asignar protocolo (campo injuryId opcional).
  • Borrar una instancia (deleteProtocolInstance) elimina el seguimiento sin tocar las sesiones registradas.

Player surface: N/A. El jugador no ve este módulo. Si en el futuro se decide notificarle hitos del protocolo (cambio de fase, alta aprobada), se haría vía push notification reutilizando la infra de /api/push/send.

  • physio_sessions — registro de sesiones.
  • fisio_protocol_templates — plantillas por org.
  • fisio_protocol_instances — instancias activas; tracking por fase.
  • injuries — relación opcional con la lesión que motivó el protocolo.
  • rtp_phases — fases legacy (la fuente actual es phases JSONB dentro de la instancia).
  • RPC get_physio_weekly_summary — resumen semanal por jugador.
  • RPC get_active_injuries_with_rtp — lesionados activos con su fase actual.
  • Médico: el flujo de clearance termina en /dashboard/medico (pendientes en getPendingClearances).
  • Plantel: las sesiones aparecen en el perfil del jugador si la org tiene visible el tab de fisio.
  • No hay notificación push automática al jugador en cambios de fase ni en alta — decisión de producto pendiente.
  • Las plantillas seed están en español rioplatense y son genéricas; cada club edita las suyas.