Modulo de Onboarding
Identificador: MTS-ONB-001
Version: 2.0.0
Fecha de ultima actualizacion: 2025-12-05
Estado: Aprobado
Autor: SpecQueen
Revisores: Director del Proyecto
1. Historial de Versiones
| Version |
Fecha |
Autor |
Cambios |
| 2.0.0 |
2025-12-05 |
SpecQueen |
OBS-067: 4 roles con onboarding diferenciado, cuidadores siempre Free, referencias a 05-flujos seccion 8 |
| 1.1.0 |
2025-12-05 |
SpecQueen |
Iteracion 13: Wizard de receta, seleccion de tier |
| 1.0.0 |
2025-12-03 |
SpecQueen |
Version inicial |
2. Proposito
Este modulo especifica los flujos de onboarding para cada uno de los 4 roles de MedTime. El onboarding esta disenado para ser:
- Adaptativo por rol: Cada rol tiene un flujo especifico
- Diferenciado por tier: Los pasos varian segun Free/Pro/Perfect
- Minimo friccion: Solo pasos obligatorios son bloqueantes
- Cumplimiento regulatorio: Consentimientos legales integrados
Referencia: Ver 05-flujos-de-usuario.md seccion 8 para diagramas detallados de cada flujo.
3. Los 4 Roles y su Onboarding
3.1. Matriz de Onboarding por Rol
| Rol |
Codigo |
Selecciona Tier |
Onboarding Especial |
Tiempo Estimado |
| Paciente Independiente |
PI |
Si (Free/Pro/Perfect) |
Habitos, primer medicamento |
2-7 min |
| Cuidador Responsable |
CR |
Si (Free/Pro/Perfect) |
Declaracion tutela, agregar PD |
3-8 min |
| Cuidador Solidario |
CS |
No (siempre Free) |
Acepta invitacion, tour rapido |
1-2 min |
| Paciente Dependiente |
PD |
No (hereda de CR) |
N/A - sin onboarding propio |
N/A |
3.2. Reglas Fundamentales de Onboarding
| Regla |
Descripcion |
| RN-ONB-001 |
Un CSsiempre es tier Free, no ve pantalla de seleccion de tier |
| RN-ONB-002 |
Un PDno tiene onboarding - su perfil lo crea el CR |
| RN-ONB-003 |
Un PI y un CRdeben seleccionar tier durante onboarding |
| RN-ONB-004 |
Los pasos obligatorios no pueden saltarse, los opcionales si |
| RN-ONB-005 |
El onboarding se puede retomar donde se abandono |
4. Flujo de Onboarding por Rol
4.1. Paciente Independiente (PI)
Un adulto que gestiona su propia medicacion.
4.1.1. Pasos del Onboarding PI
| Paso |
Nombre |
Obligatorio |
Free |
Pro |
Perfect |
| 1 |
Bienvenida y propuesta de valor |
Si |
Si |
Si |
Si |
| 2 |
Seleccion de rol |
Si |
Si |
Si |
Si |
| 3 |
Seleccion de tier |
Si |
Si |
Si |
Si |
| 4 |
Crear cuenta/PIN |
Si |
PIN local |
Firebase Auth |
Firebase + MFA |
| 5 |
Aviso de privacidad |
Si |
Si |
Si |
Si |
| 6 |
Configurar habitos |
No |
Si |
Si |
Si |
| 7 |
Tour guiado (5 pantallas) |
No |
Si |
Si |
Si |
| 8 |
Primer medicamento/receta |
No |
Si |
Si |
Si |
| 9 |
Invitar cuidadores |
No |
No |
Si |
Si |
4.1.2. Flujo Simplificado PI
flowchart TD
A[PI inicia app] --> B[Bienvenida - carrusel 3 pantallas]
B --> C[Seleccionar rol: Soy Paciente]
C --> D[Seleccionar tier: Free/Pro/Perfect]
D -->|Free| E1[Crear PIN local 4-6 digitos]
D -->|Pro| E2[Login Google/Apple + verificar email]
D -->|Perfect| E3[Login Google/Apple + configurar MFA]
E1 --> F[Aviso de privacidad - aceptar]
E2 --> F
E3 --> F
F --> G{Tour guiado?}
G -->|Si| H[Tour 5 pantallas]
G -->|Saltar| I[Configurar habitos]
H --> I
I --> J{Agregar primer medicamento?}
J -->|Si| K[Wizard de receta o medicamento]
J -->|Despues| L[Dashboard PI]
K --> L
L --> M{Tier Pro/Perfect?}
M -->|Si| N{Invitar cuidadores?}
M -->|No| O[Onboarding completado]
N -->|Si| P[Flujo invitacion CS]
N -->|Despues| O
P --> O
4.2. Cuidador Responsable (CR)
Un adulto responsable legal de uno o mas Pacientes Dependientes (menores o personas bajo tutela).
4.2.1. Pasos del Onboarding CR
| Paso |
Nombre |
Obligatorio |
Free |
Pro |
Perfect |
| 1 |
Bienvenida y propuesta de valor |
Si |
Si |
Si |
Si |
| 2 |
Seleccion de rol |
Si |
Si |
Si |
Si |
| 3 |
Seleccion de tier |
Si |
Si |
Si |
Si |
| 4 |
Crear cuenta/PIN |
Si |
PIN local |
Firebase Auth |
Firebase + MFA |
| 5 |
Aviso de privacidad |
Si |
Si |
Si |
Si |
| 6 |
Declaracion de tutela |
Si |
Si |
Si |
Si |
| 7 |
Agregar primer dependiente |
Si |
Si |
Si |
Si |
| 8 |
Tour guiado CR (5 pantallas) |
No |
Si |
Si |
Si |
| 9 |
Medicamentos del dependiente |
No |
Si |
Si |
Si |
| 10 |
Invitar CS para dependientes |
No |
No |
Si |
Si |
4.2.2. Flujo Simplificado CR
flowchart TD
A[CR inicia app] --> B[Bienvenida - carrusel 3 pantallas]
B --> C[Seleccionar rol: Soy Cuidador Responsable]
C --> D[Seleccionar tier: Free/Pro/Perfect]
D -->|Free| E1[Crear PIN local]
D -->|Pro| E2[Login Google/Apple + verificar email]
D -->|Perfect| E3[Login Google/Apple + configurar MFA]
E1 --> F[Aviso de privacidad - aceptar]
E2 --> F
E3 --> F
F --> G[Declaracion jurada de tutela]
G --> H[Agregar primer dependiente PD]
H --> I[Ingresar datos del PD: nombre, edad, relacion]
I --> J{Tour guiado CR?}
J -->|Si| K[Tour 5 pantallas especifico CR]
J -->|Saltar| L[Agregar medicamentos del PD]
K --> L
L --> M[Dashboard CR con 1 PD]
M --> N{Tier Pro/Perfect - mas dependientes?}
N -->|Si| O[Agregar otro PD]
N -->|No| P{Invitar CS?}
O --> I
P -->|Si| Q[Flujo invitacion CS]
P -->|Despues| R[Onboarding completado]
Q --> R
4.2.3. Limites de Dependientes por Tier CR
| Tier CR |
Max Dependientes |
Max CS por Dependiente |
| Free |
1 |
0 (sin invitaciones) |
| Pro |
5 |
3 |
| Perfect |
10 |
5 |
4.3. Cuidador Solidario (CS)
Un voluntario que apoya a un PI. Siempre es tier Free, no selecciona tier.
4.3.1. Pasos del Onboarding CS
| Paso |
Nombre |
Obligatorio |
Notas |
| 1 |
Recibir invitacion |
Si |
Via email o SMS |
| 2 |
Abrir link/app |
Si |
Deep link a app |
| 3 |
Crear cuenta o login |
Si |
Siempre Free |
| 4 |
Ver detalles de invitacion |
Si |
Nombre del PI, permisos |
| 5 |
Aceptar terminos de CS |
Si |
Responsabilidades |
| 6 |
Tour rapido (3 pantallas) |
No |
Especifico para CS |
4.3.2. Flujo Simplificado CS
flowchart TD
A[CS recibe invitacion por email/SMS] --> B[Abre link]
B --> C{Tiene app instalada?}
C -->|No| D[Instalar app desde store]
C -->|Si| E[App abre con token de invitacion]
D --> E
E --> F{Ya tiene cuenta MedTime?}
F -->|Si| G[Login existente]
F -->|No| H[Crear cuenta nueva]
H --> I[Ingresar nombre]
I --> J[Crear PIN local 4-6 digitos]
J --> K[Aviso de privacidad simplificado]
Note over H,K: Cuenta CS siempre Free
G --> L[Ver detalles de invitacion]
K --> L
L --> M[Nombre del PI: Juan]
M --> N[Permisos ofrecidos: ver medicamentos, recibir alertas]
N --> O[Aceptar terminos de cuidador solidario]
O --> P{Tour rapido?}
P -->|Si| Q[Tour 3 pantallas para CS]
P -->|Saltar| R[Dashboard CS]
Q --> R
R --> S[Onboarding CS completado]
4.3.3. Pantalla de Invitacion CS
+--------------------------------------------------+
| INVITACION DE CUIDADOR |
+--------------------------------------------------+
Juan Garcia te ha invitado a ser su
cuidador solidario en MedTime.
PERMISOS QUE TENDRAS:
+--------------------------------------------------+
| [x] Ver medicamentos de Juan |
| [x] Ver estadisticas de adherencia |
| [x] Recibir alertas si Juan omite tomas |
| [ ] Registrar tomas en nombre de Juan (no) |
+--------------------------------------------------+
Al aceptar, te comprometes a:
- Respetar la privacidad de Juan
- Usar la informacion solo para apoyar su salud
- Mantener confidencialidad de los datos
+--------------------------------------------------+
| [ Rechazar ] [ Aceptar ] |
+--------------------------------------------------+
4.4. Paciente Dependiente (PD)
Menor de edad o persona bajo tutela. No tiene onboarding propio.
4.4.1. Creacion de Perfil PD (por el CR)
| Dato |
Obligatorio |
Notas |
| Nombre |
Si |
Como lo llama el CR |
| Fecha de nacimiento |
Si |
Para calcular edad y transicion 18 |
| Relacion con CR |
Si |
Hijo/a, padre/madre, tutela legal |
| Foto |
No |
Opcional para identificacion |
4.4.2. Acceso del PD a la App (Segun Edad)
| Edad |
Acceso App |
Puede Confirmar Tomas |
Notificaciones |
| 0-12 |
Ninguno |
No |
Solo al CR |
| 13-15 |
Solo lectura (opcional) |
No |
Opcionales |
| 16-17 |
Solo lectura (opcional) |
Si (supervisado) |
Opcionales |
| 18+ |
Migracion obligatoria a PI |
Si |
Propias |
4.4.3. Flujo de Acceso Opcional PD (13-17)
flowchart TD
A[CR decide dar acceso al PD] --> B[CR genera codigo de acceso temporal]
B --> C[PD instala app]
C --> D[PD ingresa codigo]
D --> E[Vinculacion como PD]
E --> F[Solo lectura de sus datos]
F --> G[Notificaciones en su dispositivo opcional]
Note over E,G: PD hereda tier del CR, no tiene cuenta propia
5. Seleccion de Tier
5.1. Pantalla de Seleccion de Tier (PI y CR)
Solo PI y CR ven esta pantalla. CS es siempre Free. PD hereda tier del CR.
+--------------------------------------------------+
| ELIGE TU PLAN |
+--------------------------------------------------+
+-----------------+-----------------+-----------------+
| FREE | PRO | PERFECT |
| | | |
| $0/siempre | $4.99/mes | $9.99/mes |
| | | |
| [x] 100% local | [x] Todo Free + | [x] Todo Pro + |
| [x] Sin cuenta | [x] Sync cloud | [x] Sync tiempo |
| [x] Alertas | [x] OCR recetas | real |
| [x] Offline | [x] Multiples | [x] MFA |
| | dispositivos| [x] Recovery Key|
| | [x] Invitar CS | [x] Prioridad |
| | | soporte |
| | | |
| [ Seleccionar ] | [ Seleccionar ] | [ Seleccionar ] |
+-----------------+-----------------+-----------------+
Puedes cambiar de plan en cualquier momento.
5.2. Diferencias de Onboarding por Tier
| Aspecto |
Free |
Pro |
Perfect |
| Autenticacion |
PIN local |
Firebase (Google/Apple) |
Firebase + MFA obligatorio |
| Verificacion |
Ninguna |
Email |
Email + MFA setup |
| Tour guiado |
Igual |
Igual |
Igual |
| Invitar cuidadores |
No disponible |
Si |
Si |
| Habitos |
Igual |
Igual |
Igual |
| Primer medicamento |
Igual |
+ OCR receta |
+ OCR receta |
6. Pasos Obligatorios vs Opcionales
6.1. Matriz de Pasos por Rol
| Paso |
PI |
CR |
CS |
PD |
| Bienvenida |
Obligatorio |
Obligatorio |
N/A |
N/A |
| Seleccion rol |
Obligatorio |
Obligatorio |
N/A |
N/A |
| Seleccion tier |
Obligatorio |
Obligatorio |
N/A (Free) |
N/A |
| Crear cuenta/PIN |
Obligatorio |
Obligatorio |
Obligatorio |
N/A |
| Aviso privacidad |
Obligatorio |
Obligatorio |
Obligatorio |
N/A |
| Declaracion tutela |
N/A |
Obligatorio |
N/A |
N/A |
| Agregar dependiente |
N/A |
Obligatorio |
N/A |
N/A |
| Ver invitacion |
N/A |
N/A |
Obligatorio |
N/A |
| Aceptar terminos CS |
N/A |
N/A |
Obligatorio |
N/A |
| Tour guiado |
Saltable |
Saltable |
Saltable |
N/A |
| Configurar habitos |
Saltable |
Saltable |
N/A |
N/A |
| Primer medicamento |
Saltable |
Saltable |
N/A |
N/A |
| Invitar cuidadores |
Saltable |
Saltable |
N/A |
N/A |
6.2. Consecuencias de Saltar Pasos
| Paso Saltado |
Consecuencia |
| Tour guiado |
Acceso desde menu Ayuda |
| Configurar habitos |
Usa defaults del sistema |
| Primer medicamento |
Dashboard vacio |
| Invitar cuidadores |
Accesible desde Configuracion |
7. Tour Guiado por Rol
7.1. Tour Paciente Independiente (5 pantallas)
| # |
Pantalla |
Contenido |
Interaccion |
| 1 |
Bienvenida |
"MedTime te ayuda a nunca olvidar tus medicamentos" |
Tap continuar |
| 2 |
Dashboard |
Elementos principales resaltados |
Highlight |
| 3 |
Agregar Medicamento |
"Asi agregas un medicamento o receta" |
Demo interactivo |
| 4 |
Notificaciones |
"Recibiras alertas cuando sea hora de tomar" |
Preview |
| 5 |
Estadisticas |
"Tu racha y logros te motivan a seguir" |
Preview |
7.2. Tour Cuidador Responsable (5 pantallas)
| # |
Pantalla |
Contenido |
Interaccion |
| 1 |
Tu Rol |
"Como cuidador responsable, gestionas la salud de tus dependientes" |
Tap continuar |
| 2 |
Mis Dependientes |
"Aqui ves todos los dependientes que cuidas" |
Highlight |
| 3 |
Dashboard Multi |
"Vista rapida de todos los medicamentos pendientes" |
Demo |
| 4 |
Registrar Tomas |
"Confirma las tomas de tus dependientes" |
Demo interactivo |
| 5 |
Alertas CR |
"Recibiras alertas de todos tus dependientes" |
Preview |
7.3. Tour Cuidador Solidario (3 pantallas)
| # |
Pantalla |
Contenido |
Interaccion |
| 1 |
Tu Rol |
"Eres un apoyo valioso para [nombre del PI]" |
Tap continuar |
| 2 |
Permisos |
"Esto es lo que puedes ver y hacer" |
Highlight |
| 3 |
Alertas |
"Recibiras notificaciones segun los permisos otorgados" |
Preview |
8. Estados del Onboarding
8.1. Modelo de Estados
stateDiagram-v2
[*] --> NOT_STARTED
NOT_STARTED --> WELCOME: Abre app
WELCOME --> ROLE_SELECTION: Continua
ROLE_SELECTION --> TIER_SELECTION: Selecciona PI/CR
ROLE_SELECTION --> INVITATION_FLOW: Selecciona CS
TIER_SELECTION --> ACCOUNT_CREATION: Selecciona tier
INVITATION_FLOW --> ACCOUNT_CREATION: Ingresa codigo
ACCOUNT_CREATION --> PRIVACY_CONSENT: Crea cuenta
PRIVACY_CONSENT --> ROLE_SPECIFIC: Acepta
ROLE_SPECIFIC --> OPTIONAL_STEPS: Completa obligatorios
OPTIONAL_STEPS --> COMPLETED: Termina o salta
COMPLETED --> [*]
note right of ROLE_SPECIFIC: CR: tutela + PD
note right of ROLE_SPECIFIC: CS: ver invitacion + aceptar
8.2. Persistencia de Estado
| Campo |
Tipo |
Descripcion |
onboarding_state |
enum |
Estado actual del onboarding |
role_selected |
enum |
PI, CR, CS, PD |
tier_selected |
enum |
Free, Pro, Perfect (null para CS) |
completed_steps |
array |
Lista de pasos completados |
skipped_steps |
array |
Lista de pasos saltados |
started_at |
timestamp |
Inicio del onboarding |
completed_at |
timestamp |
Fin del onboarding (null si incompleto) |
9. Reglas de Negocio
| Regla |
Descripcion |
| RN-ONB-010 |
Onboarding debe completarse antes de usar funciones principales |
| RN-ONB-011 |
Estado se persiste localmente para reanudar |
| RN-ONB-012 |
Aviso de privacidad requiere scroll completo antes de habilitar aceptar |
| RN-ONB-013 |
Declaracion de tutela CR requiere checkbox explicito |
| RN-ONB-014 |
CS no puede cambiar a Pro/Perfect (siempre Free) |
| RN-ONB-015 |
PD no tiene onboarding, CR lo crea |
| RN-ONB-016 |
Invitacion CS expira en 7 dias |
| RN-ONB-017 |
Al cumplir 18, PD debe migrar a PI con onboarding propio |
10. Casos de Error
10.1. Error en Verificacion (Pro/Perfect)
flowchart TD
A[Usuario intenta verificar] --> B{Tipo de error?}
B -->|Email no llega| C[Reenviar en 60 segundos]
B -->|Codigo SMS incorrecto| D{Intentos < 3?}
B -->|Firebase caido| E[Ofrecer continuar como Free]
D -->|Si| F[Permitir reintento]
D -->|No| G[Bloquear 30 minutos]
C --> H[Usuario reintenta]
F --> H
G --> I[Mostrar temporizador]
E --> J[Cambiar a cuenta Free local]
10.2. Error en Invitacion CS
| Error |
Causa |
Solucion |
| Codigo invalido |
Token mal copiado |
Solicitar nuevo codigo al PI |
| Invitacion expirada |
Mas de 7 dias |
PI debe reenviar invitacion |
| PI ya no existe |
PI elimino cuenta |
CS no puede vincularse |
| Limite de CS alcanzado |
PI llego al maximo |
PI debe desvincular otro CS |
11. Integracion con Otros Modulos
| Modulo |
Integracion |
| MTS-AUTH-001 |
Creacion de cuenta y autenticacion |
| MTS-PRI-001 |
Consentimientos y avisos de privacidad |
| MTS-PAY-001 |
Procesamiento de suscripcion Pro/Perfect |
| MTS-RX-001 |
Wizard de primera receta |
| MTS-MED-001 |
Agregar primer medicamento |
12. Criterios de Aceptacion
12.1. Por Rol
12.2. Por Tier
12.3. Generales
13. Referencias
Documento generado por SpecQueen - "El onboarding es la primera impresion. Esta especificacion asegura que sea perfecta."