Saltar a contenido

Pantalla: Confirmacion de Accion

Identificador: SCR-ALT-015 Modulo: MTS-ALT-001 - Alertas y Notificaciones Version: 1.0.0 Fecha: 2025-12-05 Autor: MobileUxUiDrone (Eight of Eight) Estado: Especificado


1. Informacion General

Atributo Valor
Nombre Confirmacion de Accion
Proposito Modal de confirmacion para acciones de toma, posponer u omitir
Tipo Bottom Sheet Modal
Acceso Desde notificacion, detalle de alerta, centro de notificaciones
Prioridad Alta

2. Wireframe ASCII

2.1. Confirmacion de Toma

+------------------------------------------+
|  [Drag handle]                            |
+------------------------------------------+
|                                           |
|  +------------------------------------+   |
|  |   [v]  TOMA REGISTRADA             |   |  <- Success animation
|  +------------------------------------+   |
|                                           |
|  Medicinas del desayuno                   |
|  08:00 - Tomada a las 08:12               |
|                                           |
|  +------------------------------------+   |
|  | [Pill] Metformina 850mg       [v]  |   |
|  +------------------------------------+   |
|  | [Cap]  Lisinopril 10mg        [v]  |   |
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  | [+] Agregar nota opcional          |   |
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  |              [Listo]               |   |
|  +------------------------------------+   |
|                                           |
|  [Deshacer] disponible por 5 minutos      |
|                                           |
+------------------------------------------+

2.2. Confirmacion de Posponer

+------------------------------------------+
|  [Drag handle]                            |
+------------------------------------------+
|                                           |
|  POSPONER RECORDATORIO                    |
|                                           |
|  Medicinas del desayuno                   |
|  Hora original: 08:00                     |
|                                           |
|  Recordarme en:                           |
|                                           |
|  +----------+ +----------+ +----------+   |
|  |          | |          | |          |   |
|  |  15 min  | |  30 min  | |  60 min  |   |
|  |          | |    *     | |          |   |  <- Selected
|  +----------+ +----------+ +----------+   |
|                                           |
|  Nueva hora: 08:30                        |
|                                           |
|  +------------------------------------+   |
|  |     [Confirmar posposicion]        |   |
|  +------------------------------------+   |
|                                           |
|  [Cancelar]                               |
|                                           |
+------------------------------------------+

2.3. Confirmacion de Omision

+------------------------------------------+
|  [Drag handle]                            |
+------------------------------------------+
|                                           |
|  OMITIR TOMA                              |
|                                           |
|  Estas seguro de omitir esta toma?        |
|                                           |
|  Medicinas del desayuno (08:00)           |
|  - Metformina 850mg                       |
|  - Lisinopril 10mg                        |
|                                           |
|  Razon (opcional):                        |
|  +------------------------------------+   |
|  | [v] No seleccionada                |   |
|  +------------------------------------+   |
|  | ( ) Se me olvido                   |   |
|  +------------------------------------+   |
|  | ( ) Efectos secundarios            |   |
|  +------------------------------------+   |
|  | ( ) No tenia el medicamento        |   |
|  +------------------------------------+   |
|  | ( ) Indicacion medica              |   |
|  +------------------------------------+   |
|  | ( ) Otra razon                     |   |
|  +------------------------------------+   |
|                                           |
|  +------------------------------------+   |
|  |    [X] Confirmar omision           |   |  <- Destructive
|  +------------------------------------+   |
|                                           |
|  [Cancelar]                               |
|                                           |
+------------------------------------------+

2.4. Agregar Nota

+------------------------------------------+
|  [Drag handle]                            |
+------------------------------------------+
|                                           |
|  AGREGAR NOTA                             |
|                                           |
|  Medicinas del desayuno (08:00)           |
|                                           |
|  +------------------------------------+   |
|  | Tome con jugo de naranja porque    |   |
|  | no habia leche. Me senti un poco   |   |
|  | mareada despues.                   |   |
|  |                                    |   |
|  +------------------------------------+   |
|  200/500 caracteres                       |
|                                           |
|  +------------------------------------+   |
|  |          [Guardar nota]            |   |
|  +------------------------------------+   |
|                                           |
|  [Cancelar]                               |
|                                           |
+------------------------------------------+

3. Componentes UI

3.1. Bottom Sheet Container

Propiedad Valor
Componente CMP-MOD-002 (Bottom Sheet)
Drag handle Si
Dismissible Si (swipe down)
Height Auto (content-based)
Max height 80% de pantalla

3.2. Success Animation

Propiedad Valor
Componente CMP-ANM-001 (Success Animation)
Type Checkmark bounce
Duration 400ms
Color success.main
Feedback Haptic pulse

3.3. Time Option Pills

Propiedad Valor
Componente CMP-INP-013 (Pill Selector)
Options 15, 30, 60 min
Selection Single
Size Min 64x48dp
Selected Primary background

3.4. Reason Radio List

Propiedad Valor
Componente CMP-INP-008 (Radio Group)
Selection Single + optional
First option "No seleccionada" (unchecked state)

3.5. Note Text Area

Propiedad Valor
Componente CMP-INP-003 (Text Area)
Max chars 500
Counter Si
Placeholder "Escribe una nota..."
Min height 100dp

4. Comportamientos

4.1. Flujo de Confirmacion de Toma

flowchart TD
    A[Usuario tap Tomar] --> B[Mostrar modal confirmacion]
    B --> C[Animacion de exito]
    C --> D{Quiere agregar nota?}

    D -->|Si| E[Expandir campo nota]
    D -->|No| F[Esperar 2s o tap Listo]

    E --> G[Escribir nota]
    G --> H[Tap Guardar]

    F --> I[Cerrar modal]
    H --> I

    I --> J[Actualizar UI]
    J --> K[Cancelar recordatorios]
    K --> L{Tiene cuidadores?}

    L -->|Si| M[Notificar cuidadores]
    L -->|No| N[Fin]
    M --> N

4.2. Flujo de Posponer

flowchart TD
    A[Usuario tap Posponer] --> B[Mostrar modal con opciones]
    B --> C[Usuario selecciona tiempo]
    C --> D[Calcular nueva hora]
    D --> E[Mostrar nueva hora]
    E --> F{Confirma?}

    F -->|Si| G[Cancelar recordatorios actuales]
    F -->|No| H[Cerrar modal]

    G --> I[Programar nueva notificacion]
    I --> J[Actualizar UI]
    J --> K[Cerrar modal]

4.3. Undo de Toma

Caracteristica Valor
Disponibilidad 5 minutos despues de confirmar
Acceso Snackbar con "Deshacer" o desde historial
Efecto Revierte toma, reprograma recordatorios
Notificacion Avisa a cuidadores si ya fueron notificados

5. Datos Requeridos

5.1. Input Data

interface ConfirmationData {
  action: 'TAKE' | 'SNOOZE' | 'OMIT' | 'NOTE';
  event_id: string;
  event_name: string;
  scheduled_time: Date;
  medications: MedicationItem[];
  has_carers: boolean;
  can_undo: boolean;
  undo_deadline?: Date;
}

interface MedicationItem {
  id: string;
  name: string;
  dosage: string;
  form_icon: MedicationFormIcon;
}

5.2. Output Events

Evento Payload Destino
onConfirmTake event_id, taken_at, note? API
onConfirmSnooze event_id, snooze_minutes Scheduler
onConfirmOmit event_id, reason?, note? API
onAddNote event_id, note_text API
onUndo event_id API + Scheduler
onCancel - Dismiss modal

6. Accesibilidad

6.1. Labels y Hints

Elemento accessibilityLabel
Modal (take) "Toma registrada. {medicamentos}. Agregar nota opcional"
Modal (snooze) "Posponer recordatorio. Selecciona tiempo"
Modal (omit) "Omitir toma. Selecciona razon opcional"
Time pill "Posponer {minutos} minutos"
Reason option "{razon}"
Note field "Nota opcional. {caracteres} de 500"
Undo link "Deshacer toma. Disponible por {minutos} minutos"

6.2. Screen Reader Announcements

Evento Anuncio
Modal abierto "{accion} de {evento}"
Toma confirmada "Toma registrada correctamente"
Pospuesto "Recordatorio pospuesto a las {hora}"
Omitido "Toma marcada como omitida"
Nota guardada "Nota guardada"
Undo "Toma revertida"

6.3. Feedback Haptico

Accion Patron
Toma confirmada Success (pulso largo)
Pospuesto Doble pulso
Omitido Pulso corto
Error Triple pulso rapido

7. Metricas

7.1. Analytics Events

Evento Parametros
confirmation_view action, event_id
confirmation_complete action, event_id, time_to_complete_ms
snooze_time_selected event_id, minutes
omit_reason_selected event_id, reason
note_added event_id, note_length
undo_used event_id, seconds_after_action

8. Referencias


Documento generado por MobileUxUiDrone (Eight of Eight)