Flujo de Navegacion - Interacciones Medicamento-Medicamento
Identificador: UIF-INT-001
Modulo: MTS-INT-001 - Motor de Interacciones Medicamentosas
Version: 1.0.0
Fecha: 2025-12-05
Autor: MobileUxUiDrone (Eight of Eight)
Prioridad: CRITICA (Seguridad del Paciente)
1. Resumen del Flujo
Este documento especifica el flujo de navegacion para el modulo de Interacciones Medicamento-Medicamento, un modulo critico de seguridad del paciente. Las alertas de interaccion son bloqueantes en severidades altas y requieren confirmacion explicita.
1.1. Pantallas del Modulo
| ID |
Nombre |
Proposito |
Prioridad |
Tipo |
| SCR-INT-001 |
Alerta Interaccion CONTRAINDICADO |
Bloqueo critico - no se puede ignorar |
CRITICA |
Full Screen Modal |
| SCR-INT-002 |
Alerta Interaccion SERIO |
Advertencia prominente |
ALTA |
Modal / Full Screen |
| SCR-INT-003 |
Alerta Interaccion MODERADO/MENOR |
Informativa |
MEDIA |
Bottom Sheet / Card |
| SCR-INT-004 |
Detalle de Interaccion |
Mecanismo, recomendacion, fuentes |
ALTA |
Full Screen |
1.2. Consideraciones de Seguridad
| Aspecto |
Implementacion |
| CONTRAINDICADO |
Modal bloqueante sin opcion de ignorar sin confirmacion medico |
| Codigo verificacion |
Codigo de 6 digitos para compartir con profesional de salud |
| Colores de severidad |
Rojo (CONTRAINDICADO), Naranja (SERIO), Amarillo (MODERADO), Azul (MENOR) |
| Persistencia |
Alertas criticas se mantienen hasta confirmacion explicita |
2. Diagrama de Flujo Principal
flowchart TD
subgraph Trigger["Puntos de Activacion"]
ADD_MED[Agregar Medicamento]
EDIT_MED[Modificar Medicamento]
IMPORT[Importar Receta]
MANUAL[Ver Interacciones]
end
subgraph Detection["Motor de Deteccion"]
DETECT[Motor MTS-INT-001]
CACHE[Cache Local 50K+]
API[DrugBank API]
IA[Claude IA Perfect]
end
subgraph Severity["Clasificacion por Severidad"]
SEV4["CONTRAINDICADO (4)"]
SEV3["SERIO (3)"]
SEV2["MODERADO (2)"]
SEV1["MENOR (1)"]
end
subgraph Screens["Pantallas de Alerta"]
SCR1[SCR-INT-001<br/>Alerta Bloqueante]
SCR2[SCR-INT-002<br/>Alerta Prominente]
SCR3[SCR-INT-003<br/>Nota Informativa]
DETAIL[SCR-INT-004<br/>Detalle Completo]
end
subgraph Actions["Acciones del Usuario"]
CANCEL[Cancelar Medicamento]
CONFIRM_DOC[Confirmar con Medico]
ACKNOWLEDGE[Aceptar Riesgo]
VIEW_DETAIL[Ver Detalle]
SHARE[Compartir con Medico]
end
%% Triggers
ADD_MED --> DETECT
EDIT_MED --> DETECT
IMPORT --> DETECT
MANUAL --> DETECT
%% Detection Flow
DETECT --> CACHE
CACHE --> |Hit| SEV4
CACHE --> |Miss Pro+| API
API --> SEV4
API --> |Perfect| IA
%% Severity Routing
SEV4 --> SCR1
SEV3 --> SCR2
SEV2 --> SCR3
SEV1 --> SCR3
%% Screen Actions
SCR1 --> CANCEL
SCR1 --> CONFIRM_DOC
SCR1 --> VIEW_DETAIL
SCR2 --> ACKNOWLEDGE
SCR2 --> VIEW_DETAIL
SCR2 --> SHARE
SCR3 --> VIEW_DETAIL
VIEW_DETAIL --> DETAIL
DETAIL --> SHARE
%% Styling
classDef critical fill:#FF4444,stroke:#CC0000,color:#FFF
classDef serious fill:#FF8C00,stroke:#CC6600,color:#FFF
classDef moderate fill:#FFCC00,stroke:#CC9900,color:#000
classDef minor fill:#4444FF,stroke:#0000CC,color:#FFF
classDef action fill:#E8F5E9,stroke:#388E3C
class SEV4,SCR1 critical
class SEV3,SCR2 serious
class SEV2 moderate
class SEV1 minor
class CANCEL,CONFIRM_DOC,ACKNOWLEDGE,VIEW_DETAIL,SHARE action
3. Flujo Detallado por Severidad
3.1. Flujo CONTRAINDICADO (Severidad 4)
flowchart TD
A[Medicamento Detectado<br/>con Interaccion CONTRAINDICADA] --> B[Bloquear UI Completamente]
B --> C[SCR-INT-001<br/>Modal Full Screen Rojo]
C --> D{Opciones de Usuario}
D --> |Cancelar| E[Revertir Cambio]
D --> |Ver Detalle| F[SCR-INT-004]
D --> |Mi medico autorizo| G[Generar Codigo]
G --> H[Codigo de 6 digitos<br/>Vigencia 24h]
H --> I[Copiar/Compartir Codigo]
I --> J[Checkbox: He consultado<br/>con profesional de salud]
J --> K{Checkbox marcado?}
K --> |No| L[Boton Continuar deshabilitado]
K --> |Si| M[Habilitar Continuar]
M --> N[Guardar con Flag<br/>OVERRIDE_CONTRAINDICADO]
N --> O[Log de Auditoria HIPAA]
E --> P[Regresar a Lista<br/>Sin Guardar]
F --> Q[Ver Mecanismo]
Q --> R[Ver Recomendacion]
R --> S[Ver Fuentes]
S --> C
style C fill:#FF4444,stroke:#CC0000,color:#FFF
style H fill:#E3F2FD,stroke:#1976D2
style O fill:#FFF3E0,stroke:#F57C00
3.2. Flujo SERIO (Severidad 3)
flowchart TD
A[Interaccion SERIO Detectada] --> B[SCR-INT-002<br/>Modal Prominente Naranja]
B --> C{Opciones}
C --> |Ver mas| D[SCR-INT-004 Detalle]
C --> |Entendido| E[Checkbox Aceptar Riesgo]
C --> |Compartir| F[Generar Reporte]
E --> G{Checkbox marcado?}
G --> |No| H[Boton gris]
G --> |Si| I[Continuar habilitado]
I --> J[Guardar con Flag<br/>ACKNOWLEDGED_SERIO]
J --> K[Programar Recordatorio<br/>de Monitoreo]
D --> L[Ver Mecanismo Completo]
L --> M[Recomendaciones]
M --> N[Volver a SCR-INT-002]
F --> O[PDF con Codigo QR]
O --> P[Compartir via...]
style B fill:#FF8C00,stroke:#CC6600,color:#FFF
style K fill:#E8F5E9,stroke:#388E3C
3.3. Flujo MODERADO/MENOR (Severidad 2/1)
flowchart TD
A[Interaccion MODERADO/MENOR] --> B{Severidad?}
B --> |MODERADO 2| C[Bottom Sheet Amarillo]
B --> |MENOR 1| D[Card Informativa Azul]
C --> E[Titulo + Resumen]
E --> F{Acciones}
F --> |Ver detalle| G[SCR-INT-004]
F --> |Entendido| H[Cerrar y Continuar]
D --> I[Banner en Pantalla]
I --> J[Tap para expandir]
J --> G
H --> K[Guardar Medicamento<br/>Sin flags especiales]
style C fill:#FFCC00,stroke:#CC9900,color:#000
style D fill:#4444FF,stroke:#0000CC,color:#FFF
4. User Journey: Paciente Recibe Alerta de Interaccion
4.1. Persona: Paciente Independiente (PI)
Contexto: Carlos, 62 anos, toma Warfarina para fibrilacion auricular. Intenta agregar Aspirina que le recomendo un conocido.
journey
title Carlos recibe alerta de interaccion critica
section Agregar Medicamento
Abre lista de medicamentos: 5: Carlos
Toca FAB +: 5: Carlos
Busca Aspirina: 4: Carlos
Selecciona Aspirina 100mg: 5: Carlos
section Alerta Critica
Ve pantalla ROJA bloqueante: 2: Carlos
Lee CONTRAINDICADO: 2: Carlos
Siente preocupacion: 1: Carlos
section Comprension
Toca Ver Detalle: 4: Carlos
Lee mecanismo: 4: Carlos
Entiende riesgo sangrado: 4: Carlos
section Decision
Decide NO agregar: 5: Carlos
Toca Cancelar: 5: Carlos
Llama a su medico: 5: Carlos
4.2. Pasos Detallados
| Paso |
Pantalla |
Elemento |
Accion |
Resultado |
| 1 |
SCR-MED-001 |
FAB + |
Tap |
Navega a agregar |
| 2 |
SCR-MED-003 |
Campo busqueda |
Escribe "Aspir..." |
Resultados |
| 3 |
SCR-MED-005 |
Card Aspirina |
Tap |
Selecciona |
| 4 |
- |
Motor INT-001 |
Auto |
Detecta Warfarina activa |
| 5 |
SCR-INT-001 |
Modal bloqueante |
Aparece |
Pantalla roja CONTRAINDICADO |
| 6 |
SCR-INT-001 |
Boton "Ver detalle" |
Tap |
Navega a SCR-INT-004 |
| 7 |
SCR-INT-004 |
Seccion mecanismo |
Lee |
Entiende riesgo |
| 8 |
SCR-INT-004 |
Boton Volver |
Tap |
Regresa a alerta |
| 9 |
SCR-INT-001 |
Boton Cancelar |
Tap |
Cierra sin agregar |
| 10 |
SCR-MED-001 |
Lista |
Visible |
Sin Aspirina agregada |
5. Transiciones y Animaciones
5.1. Transiciones de Pantalla
| Desde |
Hacia |
Tipo |
Duracion |
Ease |
| Any |
SCR-INT-001 |
Fade + Scale |
300ms |
ease-out |
| Any |
SCR-INT-002 |
Slide Up |
300ms |
ease-out |
| Any |
SCR-INT-003 |
Bottom Sheet |
250ms |
ease-out |
| SCR-INT-00X |
SCR-INT-004 |
Push Right |
300ms |
ease |
5.2. Animaciones Especiales
| Elemento |
Animacion |
Trigger |
Proposito |
| Icono CONTRAINDICADO |
Pulse 2s |
On appear |
Llamar atencion |
| Borde rojo |
Glow fade |
On appear |
Urgencia visual |
| Codigo verificacion |
Fade in secuencial |
On generate |
Claridad |
| Checkbox confirmacion |
Scale bounce |
On check |
Feedback tactico |
5.3. Reduccion de Movimiento
Para usuarios con prefers-reduced-motion:
| Normal |
Reducido |
| Pulse animation |
Static icon |
| Glow effect |
Solid border |
| Slide transitions |
Instant appear |
| Fade sequences |
Block appear |
6. Estados de Error
6.1. Errores del Motor de Deteccion
| Error |
Codigo |
UI |
Accion Sistema |
| Cache corrupto |
ERR-INT-001 |
"Verificando con datos de respaldo..." |
Reconstruir desde bundle |
| API timeout |
ERR-INT-002 |
"Usando base local" + banner |
Fallback a cache |
| Sin conexion |
ERR-INT-003 |
"Verificacion offline" |
100% cache local |
| IA no responde |
ERR-INT-004 |
Sin analisis contextual |
Solo datos base |
6.2. Manejo de Errores UI
flowchart TD
A[Error en Deteccion] --> B{Tipo de Error?}
B --> |Cache| C[Mostrar indicador carga]
C --> D[Intentar reconstruir]
D --> E{Exito?}
E --> |Si| F[Continuar normal]
E --> |No| G[Mostrar disclaimer]
B --> |Network| H[Banner: Usando datos locales]
H --> I[Continuar con cache]
I --> J[Encolar verificacion]
B --> |Fatal| K[Modal de error]
K --> L[Boton: Continuar sin verificar]
L --> M[Log WARNING + Disclaimer]
style G fill:#FFF3E0,stroke:#F57C00
style M fill:#FFEBEE,stroke:#D32F2F
7. Deep Links
| Ruta |
Destino |
Parametros |
Uso |
medtime://interactions |
Lista interacciones |
- |
Ver todas las interacciones activas |
medtime://interactions/{id} |
Detalle especifico |
interaction_id |
Desde notificacion |
medtime://interactions/verify/{code} |
Verificar codigo |
code |
Profesional de salud verifica |
8. Integracion con Otros Modulos
8.1. Puntos de Entrada
| Modulo Origen |
Trigger |
Flujo |
| MTS-MED-001 |
Agregar medicamento |
Verificacion automatica |
| MTS-MED-001 |
Editar medicamento |
Re-verificacion |
| MTS-RX-001 |
Importar receta |
Verificacion batch |
| MTS-ALT-001 |
Notificacion interaccion |
Deep link a detalle |
8.2. Salidas
| Destino |
Trigger |
Datos |
| MTS-MED-001 |
Cancelar en alerta |
Sin cambios |
| MTS-MED-001 |
Confirmar con override |
Flag + codigo |
| MTS-ALT-001 |
Interaccion detectada |
Crear alerta persistente |
| MTS-RPT-001 |
Compartir |
PDF con interacciones |
9. Metricas y Analytics
9.1. Eventos Criticos
| Evento |
Parametros |
Prioridad |
interaction_detected |
severity, med_pair, source |
Alta |
contraindication_shown |
med_pair, user_action |
Critica |
override_requested |
med_pair, verification_code |
Critica |
override_confirmed |
med_pair, time_to_confirm |
Critica |
interaction_cancelled |
severity, med_pair |
Alta |
detail_viewed |
interaction_id, time_on_screen |
Media |
9.2. Funnels
funnel
title Funnel de Interaccion CONTRAINDICADO
"Alerta mostrada" : 1000
"Ver detalle" : 650
"Solicitar codigo" : 150
"Confirmar override" : 80
"Completar guardado" : 75
10. Accesibilidad Especifica
10.1. Consideraciones WCAG para Alertas Criticas
| Criterio |
Implementacion |
Nivel |
| 1.4.1 Uso del Color |
Rojo + Icono + Texto "CONTRAINDICADO" |
AA |
| 1.4.3 Contraste |
7:1 para texto critico (blanco sobre rojo) |
AAA |
| 2.4.1 Bypass Blocks |
No - modal bloqueante intencionalmente |
N/A |
| 4.1.3 Status Messages |
aria-live="assertive" para alertas |
AA |
10.2. Screen Reader Announcements
| Pantalla |
Announcement |
Priority |
| SCR-INT-001 |
"Alerta critica. Interaccion contraindicada detectada entre [med1] y [med2]. Riesgo: [descripcion]. Opciones disponibles: cancelar, ver detalle, o confirmar con autorizacion medica." |
assertive |
| SCR-INT-002 |
"Advertencia. Interaccion seria detectada. [resumen]. Toque para mas informacion." |
polite |
| SCR-INT-003 |
"Nota informativa. Interaccion menor detectada." |
polite |
11. Archivos del Modulo
11.1. Pantallas
screens/SCR-INT-001-alerta-contraindicado.md
screens/SCR-INT-002-alerta-serio.md
screens/SCR-INT-003-alerta-moderado-menor.md
screens/SCR-INT-004-detalle-interaccion.md
11.2. Especificacion Consolidada
12. Referencias
12.1. Especificacion Funcional
12.2. Modulos Relacionados
12.3. Design System
Documento generado por MobileUxUiDrone (Eight of Eight)
"La seguridad del paciente es innegociable - cada pixel cuenta."