UI-MTS-RX-001: Especificacion UI - Recetas Medicas
Identificador: UI-MTS-RX-001
Modulo Funcional: MTS-RX-001 - Recetas Medicas
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 Recetas Medicas permite la digitalizacion, almacenamiento y gestion de recetas mediante entrada manual u OCR asistido por IA (segun tier). Facilita la vinculacion con medicamentos activos, alertas de vigencia y compartir con farmacias.
1.2. Metricas Clave
| Metrica |
Objetivo |
Justificacion |
| Tiempo captura OCR -> guardado |
< 2 min |
Flujo eficiente |
| Tasa exito OCR |
> 90% |
Precision IA |
| Recetas vinculadas a tratamiento |
> 70% |
Valor agregado |
| Conversion Free -> Pro |
> 5% |
Monetizacion |
1.3. Pantallas del Modulo
| ID |
Nombre |
Tipo |
Prioridad |
| SCR-RX-001 |
Lista de Recetas |
Principal |
Alta |
| SCR-RX-002 |
Detalle de Receta |
Detalle |
Alta |
| SCR-RX-003 |
Escanear Receta |
Captura OCR |
Alta |
| SCR-RX-004 |
Agregar Receta Manual |
Formulario |
Alta |
| SCR-RX-005 |
Recordatorio de Renovacion |
Alertas |
Media |
| SCR-RX-006 |
Historial de Recetas |
Archivo |
Media |
| SCR-RX-007 |
Compartir con Farmacia |
Compartir |
Media |
| SCR-RX-008 |
Recetas Vencidas |
Gestion |
Baja |
2. User Journey Principal
2.1. Contexto del Usuario
Persona: Roberto, 55 anos, Paciente Independiente con diabetes
Situacion: Acaba de salir de consulta medica con nueva receta
Objetivo: Digitalizar la receta y agregar medicamentos a su tratamiento
2.2. Journey Map
[Consulta Medica] -> [Recibe Receta] -> [Abre App] -> [Agregar Receta]
| |
v v
[Nueva prescripcion] [Escanear con camara]
|
v
[OCR extrae datos]
|
v
[Verificar/Corregir]
|
v
[Vincular a tratamiento]
|
v
[Alertas programadas]
2.3. Momentos Criticos
| Momento |
Emocion |
Solucion UX |
| Salir de consulta |
Ocupado |
OCR rapido, < 60s |
| Error OCR |
Frustracion |
Fallback manual, datos parciales |
| Receta vencida |
Preocupacion |
Alerta proactiva, contactar medico |
| En farmacia |
Prisa |
QR rapido, compartir facil |
3. Arquitectura de Pantallas
3.1. Diagrama de Navegacion
+-------------------+
| Home / Meds |
+--------+----------+
|
v
+-------------------+ +-------------------+
| SCR-RX-001 |<----->| SCR-RX-002 |
| (Lista) | | (Detalle) |
+--------+----------+ +--------+----------+
| |
+----+----+ +-------+-------+
| | | | |
v v v v v
+-------+ +-------+ +-------+ +-------+ +-------+
|RX-003 | |RX-004 | |RX-005 | |RX-007 | |Edit |
|(OCR) | |(Manual)| |(Renov)| |(Share)| | |
+---+---+ +-------+ +-------+ +-------+ +-------+
|
v (error)
+-------+
|RX-004 |
|(Manual)|
+-------+
3.2. Matriz de Navegacion
| Desde |
Hacia |
Trigger |
Tipo |
| Home |
SCR-RX-001 |
Tab Recetas |
Tab navigation |
| SCR-RX-001 |
SCR-RX-002 |
Tap card |
Push |
| SCR-RX-001 |
SCR-RX-003 |
FAB + Escanear |
Modal |
| SCR-RX-001 |
SCR-RX-004 |
FAB + Manual |
Push |
| SCR-RX-001 |
SCR-RX-006 |
Menu Historial |
Push |
| SCR-RX-001 |
SCR-RX-008 |
Ver vencidas |
Push |
| SCR-RX-002 |
SCR-RX-005 |
Ver renovacion |
Push |
| SCR-RX-002 |
SCR-RX-007 |
Compartir |
Bottom sheet |
| SCR-RX-003 |
SCR-RX-004 |
Error OCR |
Push (datos parciales) |
4. Componentes UI
4.1. Componentes Especificos del Modulo
| Componente |
Uso |
Ubicacion |
| PrescriptionCard |
Card con estado y medico |
SCR-RX-001 |
| StatusBadge |
Badge de estado receta |
Todas |
| CameraFrame |
Marco de alineacion OCR |
SCR-RX-003 |
| OCRProgressBar |
Progreso de procesamiento |
SCR-RX-003 |
| ConfidenceIndicator |
Indicador confianza OCR |
SCR-RX-003 |
| MedicationInputCard |
Entrada de medicamento |
SCR-RX-004 |
| DoctorContactCard |
Opciones contacto medico |
SCR-RX-005 |
| QRCodeView |
Codigo QR para farmacia |
SCR-RX-007 |
| PharmacyListItem |
Item de farmacia |
SCR-RX-007 |
4.2. Estados de Receta
| Estado |
Color |
Badge |
Significado |
| BORRADOR |
Gris |
- |
En edicion |
| ACTIVA |
Verde #4CAF50 |
"ACTIVA" |
Vigente |
| SURTIDA |
Azul #2196F3 |
"SURTIDA" |
Con meds vinculados |
| PROXIMA A VENCER |
Naranja #FF9800 |
"VENCE PRONTO" |
<= 7 dias |
| VENCIDA |
Rojo #F44336 |
"VENCIDA" |
Expirada |
| ARCHIVADA |
Gris #9E9E9E |
"ARCHIVADA" |
Almacenada |
4.3. Tokens de Diseno
// Colores Recetas
$rx-active: #4CAF50
$rx-fulfilled: #2196F3
$rx-expiring: #FF9800
$rx-expired: #F44336
$rx-archived: #9E9E9E
// OCR Confianza
$ocr-high: #4CAF50 (>= 95%)
$ocr-medium: #FFC107 (75-94%)
$ocr-low: #FF9800 (50-74%)
$ocr-fail: #F44336 (< 50%)
// Espaciado
$rx-card-padding: 16dp
$rx-section-gap: 24dp
5. Patrones de Interaccion
5.1. Flujo OCR (Happy Path)
| Paso |
Accion Usuario |
Respuesta Sistema |
| 1 |
Tap FAB "+" |
Modal opciones |
| 2 |
Selecciona "Escanear" |
Verifica tier |
| 3 |
(Primera vez) Acepta disclaimer |
Abre camara |
| 4 |
Alinea receta en marco |
Detecta bordes |
| 5 |
(Auto o tap) Captura |
Preview calidad |
| 6 |
Confirma imagen |
Opcion anonimizar |
| 7 |
Continua |
Progress OCR 0-100% |
| 8 |
(Espera 30-60s) |
Muestra datos extraidos |
| 9 |
Verifica/edita campos |
Validacion inline |
| 10 |
Tap "Guardar" |
Opcion vincular meds |
| 11 |
Vincula medicamentos |
Snackbar exito |
5.2. Flujo Manual (Fallback/Free)
| Paso |
Accion Usuario |
Respuesta Sistema |
| 1 |
Tap FAB "+" |
Modal opciones |
| 2 |
Selecciona "Manual" |
Abre formulario |
| 3 |
(Opcional) Toma foto referencia |
Preview |
| 4 |
Ingresa datos medico |
Autocomplete historial |
| 5 |
(Opcional) Agrega institucion |
Expande seccion |
| 6 |
Selecciona fecha y tipo |
Validacion |
| 7 |
Agrega medicamentos |
Modal por cada uno |
| 8 |
Tap "Guardar" |
Validacion completa |
| 9 |
Vincula medicamentos |
Snackbar exito |
5.3. Manejo de Errores OCR
| Error |
Accion Sistema |
Opciones Usuario |
| Imagen borrosa |
Detecta pre-envio |
Recapturar |
| Timeout OCR |
Muestra progreso lento |
Cancelar, Manual |
| OCR fallido |
Muestra mensaje |
Recapturar, Galeria, Manual |
| Confianza baja |
Resalta campos |
Editar, Verificar |
6. Estados del Sistema
6.1. Estados por Pantalla
6.1.1. SCR-RX-001 - Lista
| Estado |
Trigger |
Visualizacion |
| Loading |
Cargando datos |
Skeleton cards |
| Empty |
Sin recetas |
Ilustracion + CTA |
| WithData |
Con recetas |
Lista agrupada |
| WithAlerts |
Recetas por vencer |
Badge + banner |
6.1.2. SCR-RX-003 - OCR
| Estado |
Trigger |
Visualizacion |
| Camera |
Capturando |
Marco + guias |
| Preview |
Imagen capturada |
Calidad + opciones |
| Anon |
Pantalla privacidad |
Herramientas redaccion |
| Processing |
Enviando/procesando |
Progress bar |
| Review |
Datos extraidos |
Cards editables |
| Error |
Fallo OCR |
Opciones recuperacion |
6.1.3. SCR-RX-004 - Manual
| Estado |
Trigger |
Visualizacion |
| Empty |
Formulario nuevo |
Campos vacios |
| Partial |
Desde OCR fallido |
Pre-llenado parcial |
| Complete |
Todos requeridos OK |
Guardar habilitado |
| Editing |
Desde detalle |
Pre-llenado completo |
7. Logica de Negocio en UI
7.1. Calculo de Vigencia
vigencia = calcular_vigencia(fecha_emision, tipo_receta, pais)
reglas_por_pais = {
MX: { SIMPLE: 365, CONTROLADA: 30, RETENIDA: 30 },
US: { SIMPLE: 365, CONTROLADA: 90, RETENIDA: 90 },
BR: { SIMPLE: 365, CONTROLADA: 30, RETENIDA: 30 }
}
dias_restantes = vigencia - hoy
estado = dias_restantes <= 0 ? VENCIDA :
dias_restantes <= 7 ? PROXIMA_A_VENCER : ACTIVA
7.2. Indicador de Confianza OCR
confianza >= 95% -> auto-completado, verde
confianza 75-94% -> auto-completado, amarillo (verificar sugerido)
confianza 50-74% -> auto-completado, naranja (verificar obligatorio)
confianza < 50% -> campo vacio, rojo (manual requerido)
7.3. Vinculacion con Medicamentos
- Buscar medicamento en catalogo por nombre
- Si match exacto, pre-seleccionar
- Si match parcial, sugerir opciones
- Si no match, permitir texto libre
- Crear entrada en MTS-MED-001
- Vincular con rx_id
8. Diferenciacion por Tier
8.1. Funcionalidades por Tier
| Funcionalidad |
Free |
Pro |
Perfect |
| Entrada manual |
Si |
Si |
Si |
| Foto referencia |
Si |
Si |
Si |
| OCR automatico |
No |
Si (50/mes) |
Si (ilimitado) |
| Almacenamiento |
Local |
Cloud |
Cloud |
| Historial |
30 dias |
1 ano |
7 anos |
| Alertas |
Local |
Push + Local |
Push + SMS + Local |
| QR Code |
No |
Si |
Si |
| Envio directo farmacia |
No |
No |
Si |
8.2. Upsell Points
| Pantalla |
Trigger |
Mensaje |
| SCR-RX-001 |
Tap Escanear (Free) |
"Escanea recetas con OCR en Pro" |
| SCR-RX-003 |
Limite mensual (Pro) |
"OCR ilimitado con Perfect" |
| SCR-RX-006 |
Ver > 30 dias (Free) |
"Historial de 1 ano con Pro" |
| SCR-RX-007 |
Tap farmacia (Pro) |
"Envia directo a farmacia con Perfect" |
9. Accesibilidad
9.1. Cumplimiento WCAG 2.1 AA
| Criterio |
Implementacion |
Pantalla |
| 1.1.1 Non-text |
Alt text para imagen receta, QR |
SCR-RX-002, 007 |
| 1.3.1 Info |
Secciones con headings semanticos |
Todas |
| 1.4.1 Use of Color |
Estado por color + badge + texto |
Todas |
| 1.4.3 Contrast |
4.5:1 minimo |
Todas |
| 2.1.1 Keyboard |
Navegacion completa |
SCR-RX-004 |
| 3.3.1 Error ID |
Mensajes de error claros |
SCR-RX-003, 004 |
| 4.1.3 Status |
Progreso OCR anunciado |
SCR-RX-003 |
9.2. Screen Reader Announcements
| Elemento |
Anuncio |
| Receta activa |
"[Medico], [meds], vigente hasta [fecha]" |
| Receta vencida |
"Atencion: [Medico], vencida hace [dias] dias" |
| Progreso OCR |
"Procesando, [X] por ciento completado" |
| Campo confianza |
"[Campo], [valor], confianza [X] por ciento" |
| Error OCR |
"Error procesando imagen. Opciones disponibles" |
9.3. Audio Feedback (OCR)
| Evento |
Audio |
| Bordes detectados |
Tono suave |
| Captura exitosa |
Click camara |
| OCR completado |
Tono exito |
| OCR fallido |
Tono error |
10. Analytics
10.1. Eventos Clave
| Evento |
Trigger |
Datos |
Objetivo |
rx_list_viewed |
Pantalla visible |
count, expired |
Engagement |
rx_add_started |
Tap FAB |
method |
Funnel |
rx_ocr_started |
Iniciar captura |
source |
Uso OCR |
rx_ocr_completed |
OCR exitoso |
duration, confidence |
Performance |
rx_ocr_failed |
Error OCR |
error_type |
Error tracking |
rx_manual_completed |
Guardar manual |
meds_count |
Conversion |
rx_linked_to_treatment |
Vincular meds |
meds_count |
Valor |
rx_shared |
Compartir |
method |
Engagement |
rx_expired_contact |
Contactar medico |
rx_id |
Retencion |
10.2. Metricas de Negocio
| Metrica |
Formula |
Target |
| Tasa exito OCR |
ocr_completed / ocr_started |
> 90% |
| Tiempo promedio OCR |
avg(ocr_duration) |
< 45s |
| Tasa vinculacion |
rx_linked / rx_saved |
> 70% |
| Conversion OCR upsell |
upgrades / ocr_locked_views |
> 5% |
11.1. Tiempos Objetivo
| Pantalla |
Metrica |
Target |
| SCR-RX-001 |
First Contentful Paint |
< 500ms |
| SCR-RX-003 |
Camera Ready |
< 1s |
| SCR-RX-003 |
OCR Total |
< 60s |
| SCR-RX-004 |
Form Ready |
< 300ms |
| SCR-RX-007 |
QR Generation |
< 2s |
11.2. Optimizaciones
- Precargar datos de recetas activas
- Lazy load imagenes de recetas
- Cache de datos de medicos frecuentes
- Compresion de imagen antes de OCR
- Progress feedback durante OCR largo
12. Seguridad y Privacidad
12.1. Consideraciones
| Aspecto |
Implementacion |
| Imagen receta |
Cifrada AES-256 en reposo |
| Transmision OCR |
TLS 1.3 |
| Datos medico |
Cifrados en reposo |
| Texto OCR crudo |
TTL 30 dias, luego eliminado |
| Anonimizacion |
Opcional pre-OCR |
| Disclaimer |
Obligatorio primera vez |
12.2. Cumplimiento
| Regulacion |
Medida |
| HIPAA |
BAA con proveedor OCR |
| LGPD |
Consentimiento explicito |
| FDA 21 CFR 11 |
Audit trail de cambios |
| Retencion |
7 anos (requisito legal) |
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)
"Tus recetas, digitalizadas con precision clinica."