Flow: Familia
Cuidar la Salud de los Tuyos
POST-MVP — Phase 2
Este flujo no se implementa en MVP. Se incluye como referencia de diseño para la segunda fase.
JTBD: “Cuando quiero cuidar la salud de mi familia, quiero ver sus datos junto a los mios”
Actor: Usuario cuidador (padre/madre, hijo adulto de adulto mayor)
Trigger: Sidebar/Tab Familia, o invitación recibida por email/WhatsApp
Priority: P2 (Phase 2) — Expansión + Revenue
Duration: Setup 5-10 min, uso diario 1-2 min
Happy Path: Agregar Familiar
Happy Path: Ver Salud del Familiar
Happy Path: Modo Cuidador
Error Paths
Path 1: Invitación rechazada
Path 2: Familiar revoca permisos
Path 3: Email de invitación no llega
Path 4: Menor de edad (dependiente sin cuenta propia)
Key Moments
Moment 1: Vista General de Familia
Propósito: Resumen de salud de todos los familiares en un vistazo
← Atrás Mi Familia
TUS FAMILIARES
María García (tú)
Nivel de Salud: 78/100
Ciclo 2 · Día 47
0 alertas activas
Carlos García →
Nivel de Salud: 65/100
Ciclo 1 · Día 12
2 alertas activas
[badge azul: 2]
Sofía García →
Nivel de Salud: 85/100
Sin ciclo activo
0 alertas
Agregar familiar →
Cada familiar controla qué datos
comparte contigo.
Objects: Usuario (core + health_score), Ciclo (numero_ciclo, dias_transcurridos), Alerta (count activas)
Moment 2: Agregar Familiar — Invitación
Propósito: Invitar a un familiar a compartir datos de salud
← Mi Familia Agregar Familiar
Invita a un familiar para ver su
progreso de salud junto al tuyo.
Relación
Seleccionar...
Pareja · Hijo/a · Padre/Madre · Otro
¿Tu familiar ya usa ADEN?
SÍ, YA TIENE CUENTA
Email del familiar
carlos@email.com
[ENVIAR INVITACIÓN POR EMAIL]
bg-[#0f2fc7] text-white
[ENVIAR POR WHATSAPP]
border-[#0f2fc7]
NO, ES MENOR DE EDAD
Crea un perfil para tu dependiente.
[CREAR PERFIL →]
Tu familiar recibirá una invitación
y decidirá qué datos compartir contigo.
Validaciones:
- Email: formato válido, no puede ser el propio usuario
- Relación: requerida
- Max 5 familiares por cuenta (MVP Phase 2)
Moment 3: Dashboard del Dependiente
Propósito: Vista simplificada de la salud del familiar
← Mi Familia Carlos García (Pareja)
NIVEL DE SALUD
65/100
(anillo visual)
Cambio vs inicio: +8 puntos
ALERTAS ACTIVAS
Colesterol LDL alto
245 mg/dL · Requiere atención
[Ver detalle →]
Adherencia baja esta semana
55% · 3 check-ins perdidos
[Ver progreso →]
RESUMEN RÁPIDO
Ciclo: 1 · Día 12 de 90
Adherencia: 55%
Exámenes: 68 óptimos, 3 revisar, 1 alerta
Última actividad: hoy, 9:15 AM
[ Ver exámenes] [ Ver plan]
[ Preguntar] [ Permisos]
[MODO CUIDADOR →]
Gestiona el plan diario de Carlos
Moment 4: Modo Cuidador (Vista Simplificada)
Propósito: UI minimalista para gestionar el día a dia de un dependiente
Salir del Modo Cuidador Carlos García
HOY · Martes 2 de Abril
TAREAS DEL DÍA
Omega-3 (1000mg) — mañana
Vitamina D (2000 UI) — mediodía
Magnesio (400mg) — noche
Caminata 30 min
CHECK-IN DIARIO
¿Carlos tomó sus suplementos?
[Sí] [No] [Parcialmente]
¿Hizo ejercicio?
[Sí] [No]
¿Cómo se siente hoy?
[1] [2] [3] [4] [5]
[ GUARDAR CHECK-IN ]
bg-[#0f2fc7] text-white
ALERTAS
Colesterol LDL alto
[Agendar cita →]
Estás gestionando el plan de Carlos.
Él recibirá un resumen de lo que hiciste.
Copy: “Estas gestionando el plan de Carlos. El recibira un resumen de lo que hiciste.”
Moment 5: Permisos Granulares
Propósito: Cada familiar controla exactamente que comparte
← Carlos García Permisos
Carlos controla qué puedes ver.
Estos son los permisos que te dio:
QUÉ PUEDES VER
Nivel de Salud (score) [] ON
Alertas activas [] ON
Resultados de exámenes [] ON
Plan del día [] ON
Check-ins [] OFF
Historial de chat [] OFF
QUÉ PUEDES HACER
Completar check-in [] ON
Agendar citas [] ON
Chatear con Health Coach [] OFF
Solo Carlos puede cambiar estos permisos.
[Pedirle que cambie un permiso →]
Nota: Los permisos se configuran desde la cuenta del familiar, no del cuidador. El cuidador solo puede ver el estado y solicitar cambios.
Moment 6: Alertas Familiares
Propósito: Notificar al cuidador de cambios importantes en dependientes
Tipos de alerta familiar:
1. BIOMARCADOR DEL DEPENDIENTE FUERA DE RANGO
→ "El colesterol de Carlos subió a 245 mg/dL"
→ CTA: [Ver detalle] [Chat Health Coach]
2. ADHERENCIA BAJA DEL DEPENDIENTE
→ "Carlos no ha hecho check-in en 3 días"
→ CTA: [Recordarle] [Modo Cuidador]
3. CITA PRÓXIMA DEL DEPENDIENTE
→ "Carlos tiene cita mañana a las 8:00 AM"
→ CTA: [Ver detalles] [Compartir por WhatsApp]
4. PERMISOS CAMBIADOS
→ "Carlos cambió sus permisos de compartir"
→ CTA: [Ver permisos actualizados]
Canales: Push + email (mismo config que notificaciones propias, sección aparte para familia)
Moment 7: Vista del Familiar (Quien Recibe la Invitación)
Propósito: El familiar que es invitado controla su privacidad
María te invitó a compartir tu
progreso de salud con ella.
Relación: Pareja
ELIGE QUÉ COMPARTIR
Nivel de Salud (score) [] ON
Alertas activas [] ON
Resultados de exámenes [] ON
Plan del día [] OFF
Check-ins [] OFF
Historial de chat [] OFF
PERMITIR QUE MARÍA:
Complete check-ins por ti [] OFF
Agende citas por ti [] OFF
Puedes cambiar estos permisos cuando
quieras desde Ajustes > Familia.
[ ACEPTAR INVITACIÓN ]
bg-[#0f2fc7] text-white
[Rechazar]
States
| Pantalla | Loading | Empty | Error | Offline |
|---|---|---|---|---|
| Vista General | Skeleton 3 cards | “Aun no tienes familiares. Invita a alguien.” + CTA | “No pudimos cargar tu familia” + retry | Cache local de familiares |
| Agregar Familiar | N/A | N/A | “No pudimos enviar la invitación” + retry | No disponible offline |
| Dashboard Dependiente | Skeleton hero + 3 sections | N/A (siempre hay datos si está vinculado) | “No pudimos cargar los datos” + retry | Cache del último estado |
| Modo Cuidador | Skeleton checklist | “No hay tareas para hoy” (raro) | “Error al guardar check-in” + retry | Cola local de check-ins |
| Permisos | Skeleton toggles | N/A | “Error al cargar permisos” | Read-only cache |
| Invitación (receptor) | Skeleton form | N/A | “Error al procesar invitación” + retry | No disponible offline |
Objects Reference
| Pantalla | Objetos (architecture.md) |
|---|---|
| Vista General | Usuario (core + health_score) x N familiares, Alerta (count) |
| Dashboard Dependiente | Usuario, Ciclo, Alerta, Biomarcador (summary) |
| Modo Cuidador | CheckIn (create en nombre de otro), Plan (read_daily), Alerta |
| Permisos | Usuario.has_one: Familia (objeto nuevo para Phase 2) |
| Alertas Familiares | Alerta (tipo expandido con alerta_familiar) |
Objetos nuevos para Phase 2:
Object: Familia
Definition: "Relación entre cuidador y dependiente con permisos granulares"
Properties:
Core:
- id: UUID
- cuidador_id: UUID (foreign key → users)
- dependiente_id: UUID (foreign key → users)
- relación: enum(pareja|hijo|padre|otro)
- estado: enum(invitado|activo|rechazado|revocado)
Permisos (controlados por dependiente):
- ver_health_score: boolean
- ver_alertas: boolean
- ver_examenes: boolean
- ver_plan: boolean
- ver_checkins: boolean
- ver_chat: boolean
- puede_checkin: boolean
- puede_agendar: boolean
- puede_chat_coach: boolean
Metadata:
- fecha_invitacion: timestamp
- fecha_aceptacion?: timestamp
- fecha_revocacion?: timestamp
Actions:
- invite (cuidador envía)
- accept (dependiente acepta)
- reject (dependiente rechaza)
- update_permissions (dependiente cambia permisos)
- revoke (dependiente revoca acceso completo)
- remove (cuidador elimina vínculo)
Relations:
- belongs_to: Usuario (cuidador)
- belongs_to: Usuario (dependiente)
States:
- pending (invitación enviada)
- active (aceptada, permisos configurados)
- rejected (dependiente rechazó)
- revoked (dependiente revocó)
- expired (invitación no respondida en 7 días)
Privacy Model
PRINCIPIO: El dueño de los datos SIEMPRE controla.
1. El dependiente elige qué comparte (opt-in por categoría)
2. El cuidador NUNCA puede cambiar permisos del dependiente
3. El dependiente puede revocar en cualquier momento
4. Menores de 18: el cuidador es dueño de la cuenta
5. Datos nunca se copian — el cuidador ve una vista filtrada
6. Audit log: toda acción del cuidador queda registrada
7. Notificación al dependiente cuando cuidador hace check-in por él
Critical Metrics
| Métrica | Meta | Impacto |
|---|---|---|
| Invitaciones enviadas | >20% usuarios activos invitan | Growth viral |
| Invitaciones aceptadas | >50% de enviadas | Conversión |
| Familiares promedio | 1.5 por usuario cuidador | Revenue expansión |
| Modo Cuidador usage | >30% de cuidadores usan semanalmente | Engagement |
| Permisos revocados | <5% | Trust indicator |
| Retention de invitados | >60% siguen activos a 90d | Product-market fit |
Implementation Notes
POST-MVP — Phase 2: Este flujo completo se implementa después del MVP.
Prioridad de implementación:
- Vista General + Agregar Familiar (Week 1-2)
- Dashboard Dependiente + Permisos (Week 3-4)
- Modo Cuidador (Week 5-6)
- Alertas Familiares (Week 7-8)
- Invitación: Deep link con token único, expira en 7 días
- WhatsApp: Usa WhatsApp Business API para invitación con preview
- Permisos: Server-side filtering, nunca enviar datos no autorizados al cliente
- Modo Cuidador: UI simplificada con font-size +2px, alto contraste, para adultos mayores
- Skeleton: 300ms shimmer en todas las pantallas
- FadeInUp: 260ms por card/sección
- Cache: Último estado de familiares cacheado para offline
- Copy: Español colombiano, tono familiar (“Estas gestionando el plan de Carlos” no “Administrando dependiente”)
Existing Prototypes
| Archivo | Ruta |
|---|---|
| Familia Hub | apps/prototypes/src/pages/paciente/familia/index.astro |
| Agregar Familiar | apps/prototypes/src/pages/paciente/familia/agregar.astro |
| Dashboard Dependiente | apps/prototypes/src/pages/paciente/familia/dependiente/dashboard.astro |
| Detalle Dependiente | apps/prototypes/src/pages/paciente/familia/[id].astro |
| Modo Cuidador | apps/prototypes/src/pages/paciente/familia/modo-cuidador.astro |
| Permisos | apps/prototypes/src/pages/paciente/familia/permisos.astro |
Próximo: Siguiente fase de diseño