Saltar a contenido

Modulo de Smartwatch

Identificador: MTS-WCH-001 Version: 1.2.0 Fecha: 2025-12-01 Ultima Revision: Iteracion 6 - ACL5-006 Complicaciones y registro rapido de eventos de salud Autor: SpecQueen


1. Propósito

Este módulo especifica la integración con smartwatches (Apple Watch y Wear OS), permitiendo al paciente recibir recordatorios y registrar tomas directamente desde su reloj.

2. Disponibilidad por Tier

Tier Funcionalidad
Free Notificaciones en reloj + registro básico de tomas
Pro Complicaciones + acciones rápidas
Perfect Todo Pro + carátulas personalizadas

3. Plataformas Soportadas

Plataforma Versión Mínima Framework
Apple Watch watchOS 7+ WatchKit + SwiftUI
Wear OS Wear OS 2.0+ Jetpack Compose for Wear

4. Funcionalidades Principales

4.1. Notificaciones en Reloj (MTS-WCH-001-F01)

4.1.1. Descripción 3.1

Los recordatorios de medicamentos se muestran directamente en el smartwatch.

4.1.2. Contenido de Notificación

┌───────────────────────────┐
│                           │
│  💊 MEDICAMENTO           │
│                           │
│     Metformina            │
│       850 mg              │
│                           │
│    [Tomado]  [Posponer]   │
│                           │
└───────────────────────────┘

4.1.3. Acciones Disponibles

Acción Descripción
Tomado Registra la toma inmediatamente
Posponer Pospone 15/30/60 min (seleccionable)
Ver más Abre detalle en el reloj
Abrir en teléfono Abre app en el teléfono

4.2. App Standalone para Reloj (MTS-WCH-001-F02)

4.2.1. Descripción 3.2

Aplicación nativa para el smartwatch que funciona independientemente del teléfono.

4.2.2. Vistas Principales

4.2.2.1. Vista de Inicio
┌───────────────────────────┐
│       MedTime             │
├───────────────────────────┤
│                           │
│  PRÓXIMA TOMA             │
│                           │
│  💊 Metformina            │
│     10:00 AM              │
│     (en 45 min)           │
│                           │
│  ─────────────────────    │
│  Racha: 12 días 🔥        │
└───────────────────────────┘
4.2.2.2. Vista de Lista del Día**
┌───────────────────────────┐
│       HOY (6)             │
├───────────────────────────┤
│ ✓ 07:00 Metformina       │
│ ✓ 07:00 Omeprazol        │
│ ○ 12:00 Aspirina         │
│ ○ 19:00 Metformina       │
│ ○ 22:00 Atorvastatina    │
│                           │
│        ↓ scroll           │
└───────────────────────────┘
4.2.2.3. Vista de Detalle de Medicamento
┌───────────────────────────┐
│    ← Metformina           │
├───────────────────────────┤
│                           │
│  Dosis: 850 mg            │
│  Hora: 10:00 AM           │
│  Instrucciones:           │
│  Tomar con alimento       │
│                           │
│  ─────────────────────    │
│  [  Marcar Tomado  ]      │
│                           │
└───────────────────────────┘

4.3. Complicaciones (MTS-WCH-001-F03)

4.3.1. Descripción 3.3

Pequeños indicadores en la carátula del reloj que muestran información de MedTime.

4.3.2. Disponibilidad 3.3

Solo ProyPerfect.

4.3.3. Tipos de Complicación

Tipo Tamaño Contenido
Circular pequeña Mínimo Ícono + contador pendientes
Modular pequeña Pequeño Próxima hora + nombre
Modular grande Grande Próximos 2 medicamentos
Gráfica Medio Barra de progreso del día

4.3.4. Diseños de Complicación

4.3.4.1. Circular Pequeña
  ┌───┐
  │💊3│
  └───┘
4.3.4.2. Modular Pequeña
┌─────────┐
│💊 10:00 │
│Metform..│
└─────────┘
4.3.4.3. Modular Grande
┌─────────────────┐
│ 10:00 Metformin │
│ 12:00 Aspirina  │
└─────────────────┘

4.4. Gráfica (Gauge)

┌─────────────────┐
│     ████░░      │
│  HOY 4/6 (67%)  │
└─────────────────┘

4.5. Registro Rápido de Tomas (MTS-WCH-001-F04)

4.5.1. Descripción 3.4

Métodos rápidos para registrar tomas desde el reloj.

4.5.2. Métodos de Registro

Método Descripción Confirmación
Tap en notificación Botón "Tomado" en alerta Vibración + checkmark
Tap en complicación Abre lista, tap en medicamento Vibración + checkmark
Desde app del reloj Navegar a medicamento Animación de confirmación

4.5.3. Flujo de Registro

flowchart TD
    A[Usuario recibe notificación] --> B[Tap en 'Tomado']
    B --> C[Reloj vibra + muestra ✓]
    C --> D[Sincroniza con teléfono]
    D --> E[Actualiza complicaciones]

4.6. Sincronizacion Reloj-Telefono (MTS-WCH-001-F05)

4.6.1. Descripcion 3.5

Comunicacion bidireccional entre la app del reloj y la app del telefono.

4.6.2. Datos Sincronizados

Dato Direccion Frecuencia
Medicamentos activos Telefono -> Reloj Cambios
Horarios del dia Telefono -> Reloj Cada hora
Registros de tomas Reloj -> Telefono Inmediato
Racha y estadisticas Telefono -> Reloj Cada hora
Configuracion Telefono -> Reloj Cambios

4.6.3. Modo Sin Telefono

Plataforma Capacidad
Apple Watch (GPS+Cellular) Funciona independiente con WiFi/LTE
Apple Watch (GPS only) Funciona con cache local, sync al reconectar
Wear OS Depende del modelo, similar a Apple Watch

4.7. Sincronizacion Offline para Wearables (MTS-WCH-001-F06) - ACL4-010

Decision Round 4: Documentar comportamiento de sincronizacion cuando smartwatch pierde conexion con telefono.

4.7.1. Descripcion 3.6

Mecanismos para garantizar funcionamiento continuo del smartwatch incluso sin conexion al telefono.

4.7.2. Escenarios de Desconexion

Escenario Comportamiento Duracion Maxima
Reloj fuera de alcance Bluetooth Cache local activo Indefinido
Telefono apagado Cache local + WiFi si disponible Indefinido
Modo avion en telefono Cache local activo Indefinido
Reloj con WiFi (sin telefono) Sync directo a cloud (Pro/Perfect) Indefinido
Sin conexion total Cache local de 48 horas 48 horas

4.7.3. Flujo de Sincronizacion Offline

flowchart TD
    A[Reloj detecta perdida de conexion] --> B[Activar modo offline]
    B --> C[Usar cache local de 24-48h]
    C --> D{Accion del usuario?}
    D -->|Registra toma| E[Guardar en cola local]
    D -->|Pospone alerta| F[Actualizar horario local]
    D -->|Omite toma| G[Guardar en cola local]
    E --> H[Incrementar contador de pendientes]
    F --> H
    G --> H
    H --> I{Conexion restaurada?}
    I -->|Si| J[Sincronizar cola automaticamente]
    I -->|No| K{Timeout 48h alcanzado?}
    K -->|No| D
    K -->|Si| L[Notificar: Datos pendientes de sincronizar]
    J --> M{Conflictos detectados?}
    M -->|Si| N[Resolver por timestamp mas reciente]
    M -->|No| O[Sincronizacion exitosa]
    N --> O
    O --> P[Limpiar cola local]
    P --> Q[Actualizar complicaciones]

4.7.4. Datos en Cache Local del Reloj

Dato Duracion Cache Prioridad
Medicamentos activos 48 horas Critica
Horarios de hoy 24 horas Critica
Horarios de manana 24 horas Alta
Racha actual 24 horas Media
Tomas registradas (no sincronizadas) Hasta sincronizar Critica
Configuracion de alertas Indefinido Alta
Modo discreto Indefinido Media

4.7.5. Resolucion de Conflictos

Escenario Resolucion
Toma registrada en reloj y telefono (misma hora) Mantener registro del reloj (fue primero)
Toma registrada solo en reloj Sincronizar a telefono
Medicamento eliminado en telefono mientras offline Mantener registros de toma, marcar medicamento como inactivo
Horario modificado en telefono mientras offline Actualizar horarios, mantener registros previos

4.7.6. Indicadores Visuales de Estado Offline

Estado Indicador en Reloj
Conectado a telefono Sin indicador (normal)
Desconectado, cache activo Icono de nube con barra
Desconectado, WiFi activo Icono WiFi
Datos pendientes de sync Numero en badge
Cache expirado Alerta: Conectar telefono

4.7.7. Reglas de Negocio Offline

ID Regla
RN-WCH-OFF-001 Cache local se actualiza cada hora cuando hay conexion
RN-WCH-OFF-002 Registros de tomas se guardan localmente si no hay conexion
RN-WCH-OFF-003 Sincronizacion automatica al restaurar conexion
RN-WCH-OFF-004 Conflictos se resuelven por timestamp (el mas reciente gana)
RN-WCH-OFF-005 Cache de 48 horas para datos de medicamentos
RN-WCH-OFF-006 Notificar al usuario si hay datos pendientes por mas de 48h
RN-WCH-OFF-007 Apple Watch con Cellular puede sincronizar directo a cloud (Pro/Perfect)

4.8. Eventos de Salud en Smartwatch (MTS-WCH-001-F08) - ACL5-006

Decision ACL5-006: Phased approach - v1.0 visualizacion, v1.1 registro rapido. Priorizar smartwatch.

4.8.1. Descripcion 3.7

Soporte para visualizacion y registro de eventos de salud (mediciones y tratamientos) directamente desde el smartwatch.

4.8.2. Complicaciones de Eventos de Salud

4.8.2.1. Complicacion Circular: Ultima Medicion
  +-----+
  |G:115|
  +-----+

Muestra tipo de medicion y valor. Color indica estado (verde normal, amarillo fuera de rango, rojo critico).

4.8.2.2. Complicacion Modular: Medicion con Estado
+------------------+
| Glucosa   115    |
| 10:30am  Normal  |
+------------------+
4.8.2.3. Complicacion Grande: Proximas Mediciones
+---------------------------+
| MEDICIONES HOY            |
| G: 115 mg/dL  10:30 [OK]  |
| BP: --        12:00 [!]   |
+---------------------------+

4.8.3. Notificacion de Recordatorio de Medicion

+---------------------------+
|                           |
|     HORA DE MEDIR         |
|                           |
|     Glucosa en Sangre     |
|                           |
|   [Registrar]  [Posponer] |
|                           |
+---------------------------+

4.8.4. Flujo de Registro de Medicion en Smartwatch (v1.1)

flowchart TD
    A[Notificacion: Hora de medir glucosa] --> B{Usuario responde}
    B -->|Tap Registrar| C[Pantalla de ingreso de valor]
    C --> D[Usuario gira corona digital para valor]
    D --> E[Selecciona momento: Ayuno/Pre/Post]
    E --> F{Valor en rango?}
    F -->|Si| G[Guardar + haptic confirmacion]
    F -->|No - Fuera de rango| H[Mostrar indicador advertencia]
    F -->|No - Critico| I[Alerta haptica intensa + sugerencia]
    H --> J{Confirmar valor?}
    I --> J
    J -->|Si| G
    J -->|Corregir| D
    G --> K[Sync con telefono]
    K --> L[Actualizar complicacion]

    B -->|Tap Posponer| M[Seleccionar tiempo: 15/30/60 min]
    M --> N[Reprogramar recordatorio]
    B -->|Ignorar| O[Recordatorio en 5 min]

4.8.5. Vista de Lista: Eventos del Dia

+---------------------------+
|   EVENTOS HOY (8)         |
+---------------------------+
| MEDICIONES                |
| [X] 07:30 Glucosa: 92    |
| [X] 08:00 Presion: 125/82|
| [ ] 12:00 Glucosa: --    |
|---------------------------|
| TRATAMIENTOS              |
| [X] 07:00 Curacion       |
| [ ] 14:00 Dialisis       |
|                           |
|      v scroll             |
+---------------------------+

4.8.6. Pantalla de Ingreso de Medicion

+---------------------------+
|     GLUCOSA               |
+---------------------------+
|                           |
|         115               |
|        mg/dL              |
|                           |
|    [  -  ] [corona] [  +  ]
|                           |
|  Momento: [Ayuno v]       |
|                           |
|      [Guardar]            |
+---------------------------+

4.8.7. Disponibilidad por Tier para Eventos

Funcionalidad Free Pro Perfect
Ver notificacion de recordatorio Si Si Si
Posponer recordatorio Si Si Si
Registro desde notificacion No Si Si
Complicacion de medicion No Si Si
Registro rapido desde complicacion No No Si (v1.1)
Vista de eventos del dia No Si Si
Ingreso con corona digital No Si Si

4.8.8. Indicadores de Alerta en Reloj

Estado Indicador Visual Haptic
Valor normal Color verde Tap suave
Fuera de rango leve Color amarillo Tap doble
Fuera de rango Color naranja Vibracion corta
Valor critico Color rojo + icono Vibracion intensa x3

4.8.9. Reglas de Negocio de Eventos en Smartwatch

ID Regla
RN-WCH-EVT-001 Registro de mediciones en smartwatch solo disponible en Pro/Perfect
RN-WCH-EVT-002 Valores criticos disparan haptic intenso inmediatamente
RN-WCH-EVT-003 Corona digital permite ingreso preciso de valores
RN-WCH-EVT-004 Complicaciones de eventos se actualizan inmediatamente al registrar
RN-WCH-EVT-005 Registro rapido desde complicacion solo en Perfect v1.1+
RN-WCH-EVT-006 Cache local incluye recordatorios de eventos para 48h

4.9. Haptics y Alertas (MTS-WCH-001-F09)

4.9.1. Descripcion 3.8

Patrones de vibracion especificos para diferentes eventos.

4.9.2. Patrones de Vibracion

Evento Patron Descripcion
Recordatorio medicamento Normal Vibracion estandar de notificacion
Recordatorio urgente Fuerte Vibracion mas intensa, repetida
Confirmacion de toma Suave Tap haptico de confirmacion
Racha lograda Celebracion Patron especial de logro
Recordatorio medicion Normal Vibracion estandar
Valor critico registrado Alerta Vibracion intensa x3 + pausa
Confirmacion medicion Suave Tap haptico doble

5. Funcionalidades por Plataforma

5.1. Apple Watch

Funcionalidad Soporte
App independiente
Complicaciones ✓ (Pro/Perfect)
Siri Shortcuts ✓ ("Hey Siri, registra mi Metformina")
Watch Faces personalizadas Perfect (desbloqueable)
Always On Display ✓ (watchOS 6+)
Sincronización iCloud ✓ (con teléfono)

5.2. Wear OS

Funcionalidad Soporte
App independiente
Tiles ✓ (equivalente a complicaciones)
Google Assistant ✓ ("Ok Google, registra mi medicamento")
Watch Faces Tiles básicos
Ambient Mode
Sincronización Via Bluetooth/WiFi

6. Privacidad en Smartwatch

6.1. Configuración de Privacidad

Opción Descripción Default
Mostrar nombres Nombres visibles en reloj
Modo discreto Solo íconos genéricos No
Notificaciones tapadas Contenido oculto hasta tap No
Alertas solo vibración Sin texto en pantalla No

6.2. Modo Discreto en Reloj

┌───────────────────────────┐
│                           │
│     💊 RECORDATORIO       │
│                           │
│     Tienes una toma       │
│       pendiente           │
│                           │
│    [Ver]    [Posponer]    │
│                           │
└───────────────────────────┘

7. Reglas de Negocio

ID Regla
RN-WCH-001 Notificaciones funcionan sin conexión a teléfono (con cache)
RN-WCH-002 Registros se sincronizan automáticamente al reconectar
RN-WCH-003 Complicaciones solo disponibles en Pro/Perfect
RN-WCH-004 Carátulas personalizadas solo en Perfect
RN-WCH-005 Cache local mantiene datos de últimas 24 horas
RN-WCH-006 Acción "Tomado" requiere confirmación de un tap
RN-WCH-007 Modo discreto oculta nombres de medicamentos
RN-WCH-008 Haptics configurables por usuario

8. Modelo de Datos

8.1. Entidad ConfiguracionSmartwatch

ConfiguracionSmartwatch {
  id: UUID (PK)
  usuario_id: UUID (FK)
  plataforma: enum [APPLE_WATCH, WEAR_OS]
  modelo: string
  version_os: string
  complicaciones_activas: jsonb
  modo_discreto: boolean
  haptics_habilitados: boolean
  patron_haptico: string
  ultima_sincronizacion: timestamp
  created_at: timestamp
  updated_at: timestamp
}

8.2. Cache Local del Reloj

CacheReloj {
  medicamentos_activos: array
  horarios_hoy: array
  horarios_manana: array
  tomas_pendientes: array
  racha_actual: integer
  progreso_hoy: object
  ultima_actualizacion: timestamp
}

9. Criterios de Aceptación

ID Criterio
AC-001 Notificaciones de medicamentos se muestran en el reloj
AC-002 Usuario puede marcar "Tomado" desde la notificación
AC-003 Usuario puede posponer recordatorio desde el reloj
AC-004 App del reloj muestra lista de medicamentos del día
AC-005 Complicaciones muestran próxima toma (Pro/Perfect)
AC-006 Registro de tomas sincroniza con teléfono
AC-007 Reloj funciona con cache cuando no hay conexión
AC-008 Usuario puede activar modo discreto
AC-009 Haptics proporcionan feedback al registrar toma
AC-010 Apple Watch soporta Siri Shortcuts

10. Referencias


Documento generado por SpecQueen - La especificación funcional ES el sistema.