Saltar a contenido

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

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

  • specs/UI-MTS-INT-001.md

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."