UI-MTS-PRN-001: Especificacion UI - Medicamentos PRN
Identificador: UI-MTS-PRN-001
Modulo Funcional: MTS-PRN-001 - Medicamentos PRN
Version: 1.0.0
Fecha: 2025-12-05
Estado: Borrador
Autor: MobileUxUiDrone (Eight of Eight)
1. Resumen Ejecutivo
1.1. Proposito del Modulo
El modulo de Medicamentos PRN (Pro Re Nata - "segun necesidad") permite a los usuarios registrar, controlar y analizar el uso de medicamentos que se toman bajo demanda, con limites de seguridad configurables y alertas inteligentes.
1.2. Metricas Clave
| Metrica |
Objetivo |
Justificacion |
| Tiempo registro toma |
< 30s |
Flujo optimizado para dolor |
| Tasa registro motivo |
> 80% |
Mejora analisis patrones |
| Respeto de limites |
> 95% |
Seguridad del paciente |
| Uso analisis (Pro) |
> 60% |
Valor agregado tier Pro |
1.3. Pantallas del Modulo
| ID |
Nombre |
Tipo |
Prioridad |
| SCR-PRN-001 |
Lista de Medicamentos PRN |
Principal |
Alta |
| SCR-PRN-002 |
Registrar Toma PRN |
Bottom Sheet |
Alta |
| SCR-PRN-003 |
Motivo de Toma |
Formulario |
Alta |
| SCR-PRN-004 |
Limites y Alertas |
Configuracion |
Alta |
| SCR-PRN-005 |
Historial de Tomas PRN |
Lista |
Media |
| SCR-PRN-006 |
Analisis de Uso |
Estadisticas |
Media |
2. User Journey Principal
2.1. Contexto del Usuario
Persona: Carmen, 42 anos, Paciente Independiente
Situacion: Sufre de migranas y toma Sumatriptan segun necesidad
Objetivo: Registrar toma rapidamente durante episodio de dolor
2.2. Journey Map
[Inicio Migrana] -> [Abre App] -> [Tab PRN] -> [Tap Registrar]
| |
v v
[Necesita alivio] [Selecciona Sumatriptan]
|
v
[Indica Motivo: Migrana]
|
v
[Intensidad: 7/10]
|
v
[Confirma -> Registro OK]
2.3. Momentos Criticos
| Momento |
Emocion |
Solucion UX |
| Dolor agudo |
Urgencia |
FAB prominente, 2 taps para iniciar |
| Registro |
Prisa |
Presets, valores default |
| Limite cercano |
Preocupacion |
Mensaje claro, accion disponible |
| Limite alcanzado |
Frustracion |
Empatia + alternativa (contactar medico) |
3. Arquitectura de Pantallas
3.1. Diagrama de Navegacion
+-------------------+ +-------------------+
| MTS-MED-001 |------>| SCR-PRN-001 |
| (Medicamentos) | Tab | (Lista PRN) |
+-------------------+ +--------+----------+
|
+-------------------------+-------------------------+
| | | |
v v v v
+------------------+ +------------------+ +------------------+ +------------------+
| SCR-PRN-002 | | SCR-PRN-004 | | SCR-PRN-005 | | SCR-PRN-006 |
| (Registrar) | | (Limites) | | (Historial) | | (Analisis) |
+--------+---------+ +------------------+ +------------------+ +------------------+
| ^
v |
+------------------+ |
| SCR-PRN-003 |--------------------------------------------------+
| (Motivo) | (tras registro, acceso a stats)
+------------------+
3.2. Matriz de Navegacion
| Desde |
Hacia |
Trigger |
Tipo |
| MTS-MED-001 |
SCR-PRN-001 |
Tab PRN |
Tab navigation |
| SCR-PRN-001 |
SCR-PRN-002 |
FAB + |
Bottom sheet |
| SCR-PRN-002 |
SCR-PRN-003 |
Siguiente |
Push |
| SCR-PRN-003 |
SCR-PRN-001 |
Registrar |
Pop + snackbar |
| SCR-PRN-001 |
SCR-PRN-004 |
Menu Config |
Push |
| SCR-PRN-001 |
SCR-PRN-005 |
Menu Historial |
Push |
| SCR-PRN-001 |
SCR-PRN-006 |
Menu Stats |
Push |
| SCR-PRN-005 |
SCR-PRN-006 |
Ver estadisticas |
Push |
4. Componentes UI
4.1. Componentes Especificos del Modulo
| Componente |
Uso |
Ubicacion |
| PRNMedicationCard |
Card con progress de limite |
SCR-PRN-001 |
| DosageProgressBar |
Barra con colores por estado |
SCR-PRN-001 |
| IntensitySlider |
Slider 1-10 con etiquetas |
SCR-PRN-003 |
| LimitStepper |
Selector numerico de limites |
SCR-PRN-004 |
| UsageTrendChart |
Grafico de tendencia por semana |
SCR-PRN-006 |
| HourPatternChart |
Distribucion horaria de tomas |
SCR-PRN-006 |
| FactorsBarChart |
Barras horizontales de factores |
SCR-PRN-006 |
4.2. Estados de Progress Bar
| Estado |
Color |
Rango |
Significado |
| Normal |
Verde #4CAF50 |
0-50% |
Uso normal |
| Caution |
Amarillo #FFC107 |
51-79% |
Moderado |
| Warning |
Naranja #FF9800 |
80-99% |
Cercano a limite |
| Blocked |
Rojo #F44336 |
100% |
Limite alcanzado |
4.3. Tokens de Diseno
// Colores PRN
$prn-safe: #4CAF50
$prn-caution: #FFC107
$prn-warning: #FF9800
$prn-danger: #F44336
// Espaciado
$prn-card-padding: 16dp
$prn-section-gap: 24dp
// Tipografia
$prn-med-name: Headline6
$prn-dosage: Body1
$prn-status: Caption
5. Patrones de Interaccion
5.1. Registro Rapido (Happy Path)
| Paso |
Accion Usuario |
Respuesta Sistema |
| 1 |
Tap FAB "+" |
Abre bottom sheet |
| 2 |
Selecciona medicamento |
Muestra formulario |
| 3 |
Confirma dosis (default) |
Valida disponibilidad |
| 4 |
Tap "Siguiente" |
Navega a motivo |
| 5 |
Selecciona motivo |
Radio seleccionado |
| 6 |
Ajusta intensidad |
Slider actualiza |
| 7 |
Tap "Registrar" |
Guarda + snackbar |
5.2. Manejo de Limites
| Situacion |
Visual |
Accion Permitida |
| < 80% limite |
Progress normal |
Registrar libremente |
| 80-99% limite |
Banner warning |
Registrar con advertencia |
| 100% limite |
Modal bloqueante |
No registrar, contactar medico |
| Intervalo activo |
Timer countdown |
Esperar o forzar (con alerta) |
5.3. Override de Seguridad
Cuando el usuario intenta registrar fuera de los limites configurados:
- Modal de advertencia aparece
- Mensaje explica riesgo
- Opciones:
- "Esperar" -> Cierra modal
- "Registrar de todas formas" -> Confirma con PIN/biometrico
- Si confirma:
- Registro marcado como override
- Notificacion a cuidador (si configurado)
- Evento en analytics
6. Estados del Sistema
6.1. Estados por Pantalla
6.1.1. SCR-PRN-001 - Lista PRN
| Estado |
Trigger |
Visualizacion |
| Loading |
Cargando datos |
Skeleton cards |
| Empty |
Sin PRN configurados |
Ilustracion + CTA |
| WithMeds |
Con medicamentos |
Lista de cards |
| WithAlerts |
Limites cercanos |
Cards con badges |
6.1.2. SCR-PRN-002 - Registrar Toma
| Estado |
Trigger |
Visualizacion |
| SelectMed |
Sin seleccion |
Lista de PRN |
| MedSelected |
Medicamento elegido |
Formulario |
| NearLimit |
80%+ uso |
Banner warning |
| AtLimit |
100% uso |
Modal bloqueante |
| IntervalActive |
Tiempo minimo no cumplido |
Countdown |
6.1.3. SCR-PRN-006 - Analisis de Uso
| Estado |
Trigger |
Visualizacion |
| InsufficientData |
< 10 tomas |
Mensaje + contador |
| Loading |
Calculando stats |
Skeleton charts |
| Ready |
Datos disponibles |
Charts completos |
| TierLocked |
Usuario Free |
Upsell Pro |
7. Logica de Negocio en UI
7.1. Calculo de Disponibilidad
disponible = limite_diario - tomas_hoy
porcentaje = (tomas_hoy / limite_diario) * 100
estado = calcular_estado(porcentaje)
7.2. Intervalo Minimo
ultima_toma = obtener_ultima_toma(med_id)
intervalo_config = obtener_intervalo(med_id)
tiempo_restante = intervalo_config - (ahora - ultima_toma)
disponible_en = ahora + tiempo_restante
7.3. Alertas a Cuidador
Condiciones para notificar:
- Usuario alcanza 80% del limite diario
- Usuario hace override de limite
- Patron inusual detectado (> promedio + 2 desviaciones)
8. Diferenciacion por Tier
8.1. Funcionalidades por Tier
| Funcionalidad |
Free |
Pro |
Perfect |
| Registro toma |
Si |
Si |
Si |
| Limites basicos |
2 PRN |
Ilimitado |
Ilimitado |
| Historial |
30 dias |
1 ano |
Ilimitado |
| Motivos predefinidos |
Si |
Si |
Si |
| Factores asociados |
No |
Si |
Si |
| Analisis de uso |
No |
Si |
Si |
| Patron horario |
No |
Si |
Si |
| Compartir con medico |
No |
Si |
Si |
| Exportar datos |
No |
PDF |
PDF + FHIR |
8.2. Upsell Points
| Pantalla |
Trigger |
Mensaje |
| SCR-PRN-001 |
3er PRN |
"Medicamentos PRN ilimitados en Pro" |
| SCR-PRN-003 |
Tap factores |
"Analiza tus factores en Pro" |
| SCR-PRN-006 |
Acceso |
"Estadisticas avanzadas en Pro" |
9. Accesibilidad
9.1. Cumplimiento WCAG 2.1 AA
| Criterio |
Implementacion |
Pantalla |
| 1.4.1 Use of Color |
Colores + iconos + texto |
Todas |
| 1.4.3 Contrast |
4.5:1 minimo |
Todas |
| 1.4.11 Non-text Contrast |
Progress bars con borde |
SCR-PRN-001 |
| 2.1.1 Keyboard |
Focus visible |
Todas |
| 2.4.6 Headings |
Estructura semantica |
Todas |
| 3.3.1 Error ID |
Mensajes claros |
SCR-PRN-002 |
| 4.1.2 Name, Role, Value |
ARIA labels |
Todas |
9.2. Screen Reader Announcements
| Elemento |
Anuncio |
| PRN Card normal |
"[Med], [X] de [Y] dosis disponibles hoy" |
| PRN Card warning |
"Advertencia: [Med], [X] de [Y] dosis, limite cercano" |
| PRN Card blocked |
"Limite alcanzado: [Med], disponible [cuando]" |
| Intensity slider |
"Intensidad del dolor, nivel [X] de 10" |
| Save button |
"Registrar toma de [Med]" |
9.3. Alternativas para Graficos
- SCR-PRN-006: Tabla de datos debajo de cada grafico
- Resumen textual de tendencias
- Valores numericos anunciados
10. Analytics
10.1. Eventos Clave
| Evento |
Trigger |
Datos |
Objetivo |
prn_list_viewed |
Pantalla visible |
count, alerts |
Engagement |
prn_take_started |
FAB tap |
med_id |
Funnel inicio |
prn_take_completed |
Registro exitoso |
med_id, reason, intensity |
Conversion |
prn_take_abandoned |
Back/dismiss |
step |
Drop-off |
prn_limit_warning_shown |
80% limite |
med_id |
Seguridad |
prn_limit_blocked |
100% limite |
med_id |
Seguridad |
prn_limit_override |
Usuario confirma |
med_id |
Riesgo |
prn_stats_viewed |
Pantalla stats |
period |
Engagement Pro |
10.2. Metricas de Negocio
| Metrica |
Formula |
Target |
| Tasa completacion registro |
completed / started |
> 85% |
| Tasa uso motivo |
with_reason / completed |
> 80% |
| Respeto de limites |
respected / warnings |
> 95% |
| Conversion a Pro (stats) |
upgrades / stats_locked_views |
> 5% |
11.1. Tiempos Objetivo
| Pantalla |
Metrica |
Target |
| SCR-PRN-001 |
First Contentful Paint |
< 500ms |
| SCR-PRN-002 |
Time to Interactive |
< 300ms |
| SCR-PRN-006 |
Chart Render |
< 1s |
11.2. Optimizaciones
- Precargar lista PRN al entrar a MTS-MED-001
- Calcular porcentajes en background
- Cache de 5 minutos para estadisticas
- Lazy load graficos en SCR-PRN-006
12. Seguridad
12.1. Consideraciones
| Aspecto |
Implementacion |
| Override limites |
Requiere PIN/biometrico |
| Datos sensibles |
Encriptados en reposo |
| Compartir con cuidador |
Requiere consentimiento |
| Historial |
Solo visible por usuario/cuidador autorizado |
12.2. Audit Trail
Registrar:
- Cada toma con timestamp, usuario, dispositivo
- Cada override con justificacion
- Cada cambio de limites con antes/despues
- Cada acceso a datos por cuidador
13. Referencias
13.1. Documentos Relacionados
13.2. Pantallas
14. Historial de Cambios
| Version |
Fecha |
Autor |
Cambios |
| 1.0.0 |
2025-12-05 |
MobileUxUiDrone |
Version inicial completa |
15. Aprobaciones
| Rol |
Nombre |
Fecha |
Estado |
| UX Lead |
- |
- |
Pendiente |
| Product Owner |
- |
- |
Pendiente |
| Tech Lead |
- |
- |
Pendiente |
Documento generado por MobileUxUiDrone (Eight of Eight)
"Control y seguridad en medicamentos segun necesidad."