Pantalla: Reportar Anomalia
Identificador: SCR-ADH-005
Modulo: MTS-ADH-001 - Motor de Adherencia
Version: 1.0.0
Fecha: 2025-12-05
Autor: MobileUxUiDrone (Eight of Eight)
Estado: Especificado
FASE: 2 - Value
| Atributo |
Valor |
| Nombre |
Reportar Anomalia |
| Proposito |
Formulario para reportar problemas con medicamentos |
| Tipo |
Modal / Full Screen Form |
| Acceso |
SCR-ADH-002 > "Reportar problema" |
| Prioridad |
Alta |
2. Wireframe ASCII
+------------------------------------------+
| [X] Reportar Problema |
+------------------------------------------+
| |
| ┌─────────────────────────────────────┐ |
| │ [Cap] Omeprazol 20mg │ | <- Medicamento contexto
| │ 1x dia - 07:00 AM │ |
| └─────────────────────────────────────┘ |
| |
| Que tipo de problema tienes? |
| |
| ┌─────────────────────────────────────┐ |
| │ ⚠️ Efecto secundario │ |
| │ Reaccion adversa al medicamento │ |
| └─────────────────────────────────────┘ |
| |
| ┌─────────────────────────────────────┐ |
| │ 🔄 Olvido sistematico │ |
| │ Patrón repetido de omision │ |
| └─────────────────────────────────────┘ |
| |
| ┌─────────────────────────────────────┐ |
| │ 📦 Se me acabo │ |
| │ Medicamento no disponible │ |
| └─────────────────────────────────────┘ |
| |
| ┌─────────────────────────────────────┐ |
| │ ❓ Confusion │ |
| │ Toma incorrecta (dosis/med) │ |
| └─────────────────────────────────────┘ |
| |
| ┌─────────────────────────────────────┐ |
| │ ⚡ Interaccion percibida │ |
| │ Malestar al combinar │ |
| └─────────────────────────────────────┘ |
| |
| ┌─────────────────────────────────────┐ |
| │ 📝 Otro │ |
| │ Describe el problema │ |
| └─────────────────────────────────────┘ |
| |
+------------------------------------------+
2.2. Estado: Detalle del Problema (Efecto Secundario)
+------------------------------------------+
| [<] Efecto Secundario |
+------------------------------------------+
| |
| ┌─────────────────────────────────────┐ |
| │ [Cap] Omeprazol 20mg │ |
| └─────────────────────────────────────┘ |
| |
| Describe el efecto secundario |
| ┌─────────────────────────────────────┐ |
| │ │ |
| │ Siento nauseas despues de tomar │ | <- Text Area
| │ el medicamento, especialmente si │ |
| │ lo tomo sin alimentos... │ |
| │ │ |
| └─────────────────────────────────────┘ |
| 0/500 caracteres |
| |
| Como de grave lo consideras? |
| |
| [ Leve ] [ Moderado ] [ *Severo* ] | <- Severity selector
| |
| Cuando ocurrio? |
| ┌─────────────────────────────────────┐ |
| │ 📅 Hoy, 07:15 AM [v] │ |
| └─────────────────────────────────────┘ |
| |
| Foto del medicamento (opcional) |
| ┌─────────────────────────────────────┐ |
| │ │ |
| │ [📷 Agregar foto] │ |
| │ │ |
| └─────────────────────────────────────┘ |
| |
| ⚠️ Si el efecto es severo, consulta a |
| tu medico de inmediato. |
| |
| +─────────────────────────────────────+ |
| │ Enviar Reporte │ | <- Primary CTA
| +─────────────────────────────────────+ |
| |
+------------------------------------------+
2.3. Estado: Confirmacion Enviada
+------------------------------------------+
| |
| |
| |
| ┌─────────────┐ |
| │ ✓ │ |
| │ │ |
| └─────────────┘ |
| |
| Reporte enviado |
| |
| Hemos registrado tu reporte sobre |
| el efecto secundario de Omeprazol. |
| |
| ┌─────────────────────────────────────┐ |
| │ 💡 Recomendacion │ |
| │ │ |
| │ Para efectos secundarios │ |
| │ moderados o severos, te │ |
| │ recomendamos consultar a tu │ |
| │ medico antes de la siguiente │ |
| │ toma. │ |
| └─────────────────────────────────────┘ |
| |
| [Ver historial de reportes] |
| |
| +─────────────────────────────────────+ |
| │ Cerrar │ |
| +─────────────────────────────────────+ |
| |
+------------------------------------------+
3. Componentes UI
3.1. Medication Context Card
| Propiedad |
Valor |
| Componente |
CMP-CRD-001 (Medication Card) |
| Variante |
compact |
| Background |
neutral.50 |
| Informacion |
Nombre, dosis, horario |
3.2. Problem Type Selector
| Propiedad |
Valor |
| Componente |
CMP-ADH-011 (ProblemTypeSelector) NUEVO |
| Layout |
Lista vertical de cards |
| Selection |
Single |
| Card height |
64dp |
| Icono |
24dp, left aligned |
| Feedback |
Border primary al seleccionar |
Tipos de Problema:
| Tipo |
Icono |
Severidad Default |
| EFECTO_SECUNDARIO |
⚠️ |
Variable |
| OLVIDO |
🔄 |
Media |
| AGOTAMIENTO |
📦 |
Alta |
| CONFUSION |
❓ |
Alta |
| INTERACCION |
⚡ |
Media |
| OTRO |
📝 |
Variable |
3.3. Severity Selector
| Propiedad |
Valor |
| Componente |
CMP-INP-009 (SegmentedControl) |
| Opciones |
Leve, Moderado, Severo |
| Default |
Ninguno (requerido) |
| Colores |
success.500, warning.500, error.500 |
3.4. Text Area
| Propiedad |
Valor |
| Componente |
CMP-INP-010 (TextArea) |
| Max chars |
500 |
| Min lines |
4 |
| Placeholder |
"Describe el problema..." |
| Counter |
Visible siempre |
3.5. DateTime Picker
| Propiedad |
Valor |
| Componente |
CMP-INP-005 (Date Picker) + CMP-INP-004 (Time Picker) |
| Default |
Ahora |
| Max |
Ahora (no futuro) |
| Min |
30 dias atras |
3.6. Photo Upload
| Propiedad |
Valor |
| Componente |
CMP-INP-011 (PhotoUpload) |
| Opcional |
Si |
| Source |
Camara o galeria |
| Max size |
5MB |
| Preview |
Thumbnail 100x100dp |
3.7. Warning Banner
| Propiedad |
Valor |
| Componente |
CMP-FBK-004 (Banner) |
| Variante |
warning |
| Visible |
Si severidad == SEVERO |
| Texto |
Consejo de consultar medico |
4. Comportamientos
flowchart TD
A[Abrir formulario] --> B[Seleccionar tipo]
B --> C{Tipo seleccionado}
C -->|Efecto secundario| D[Formulario detallado]
C -->|Olvido| E[Formulario simple]
C -->|Agotamiento| F[Formulario + accion]
C -->|Confusion| G[Formulario detallado]
C -->|Interaccion| H[Formulario + meds]
C -->|Otro| I[Formulario libre]
D --> J[Validar]
E --> J
F --> J
G --> J
H --> J
I --> J
J -->|Valido| K[Guardar]
J -->|Invalido| L[Mostrar errores]
K --> M[Confirmacion]
M --> N{Severidad?}
N -->|Severo| O[Mostrar alerta medico]
N -->|Otro| P[Cerrar]
4.2. Validaciones
| Campo |
Regla |
Mensaje Error |
| Tipo |
Requerido |
"Selecciona el tipo de problema" |
| Descripcion |
Min 10 chars |
"Describe el problema con mas detalle" |
| Severidad |
Requerido (ciertos tipos) |
"Indica la gravedad" |
| Fecha |
No futuro |
"La fecha no puede ser futura" |
4.3. Acciones Post-Guardado
| Tipo Problema |
Accion Sugerida |
| EFECTO_SECUNDARIO (severo) |
"Consulta a tu medico" |
| AGOTAMIENTO |
"Programa reabasto" -> Inventario |
| CONFUSION |
"Revisa tus medicamentos" -> Lista |
| INTERACCION |
"Ver interacciones" -> SCR-MED-009 |
5. Datos Requeridos
interface AnomalyFormData {
// Contexto
medicationId: string;
medicationName: string;
medicationDosage: string;
// Formulario
problemType: ProblemType;
description: string;
severity?: 'LEVE' | 'MODERADA' | 'SEVERA';
occurredAt: Date;
photoUri?: string;
// Para INTERACCION
relatedMedicationIds?: string[];
}
type ProblemType =
| 'EFECTO_SECUNDARIO'
| 'OLVIDO'
| 'AGOTAMIENTO'
| 'CONFUSION'
| 'INTERACCION'
| 'OTRO';
interface AnomalyReport {
id: string;
medicationId: string;
type: ProblemType;
description: string;
severity?: string;
occurredAt: Date;
photoUrl?: string;
createdAt: Date;
suggestedAction?: SuggestedAction;
}
5.2. Output Events
| Evento |
Payload |
Destino |
| onTypeSelect |
type |
Next step |
| onSubmit |
AnomalyFormData |
API + Close |
| onCancel |
- |
Dismiss |
| onSuggestedAction |
action_type |
Navegacion |
6. Accesibilidad
6.1. Labels
| Elemento |
accessibilityLabel |
| Problem type |
"{tipo}: {descripcion}" |
| Severity |
"Gravedad {nivel}" |
| Photo button |
"Agregar foto del medicamento" |
| Submit |
"Enviar reporte de problema" |
6.2. Orden de Foco
- Close/Back button
- Medication card
- Problem type options (secuencial)
- Description field
- Severity selector
- Date picker
- Photo upload
- Warning (si visible)
- Submit button
6.3. Screen Reader
| Evento |
Anuncio |
| Tipo seleccionado |
"Seleccionado: {tipo}" |
| Severidad alta |
"Advertencia: efecto severo seleccionado" |
| Enviado |
"Reporte enviado exitosamente" |
7. Responsive Design
7.1. Presentacion
| Dispositivo |
Presentacion |
| Phone |
Full screen modal |
| Tablet Portrait |
Bottom sheet 70% |
| Tablet Landscape |
Side panel 40% |
8. Metricas
8.1. Analytics Events
| Evento |
Parametros |
| anomaly_form_open |
medication_id, source |
| anomaly_type_select |
type |
| anomaly_submit |
type, severity, has_photo |
| anomaly_form_abandon |
type, step |
9. Referencias
Documento generado por MobileUxUiDrone (Eight of Eight)