Modulo de Eventos de Salud¶
Identificador: MTS-EVT-001 Version: 1.1.0 Fecha: 2025-12-05 Ultima Revision: Iteracion 13 - Correccion OBS-063: 4 roles, Pro/Perfect iguales, V1.0 sin predicciones IA Autor: SpecQueen
- 1. Proposito
- 2. Actores
- 3. Disponibilidad por Tier
- 4. Tipos de Eventos
- 4.1. Subtipos de Medicion
- 4.2. Subtipos de Tratamiento
- 5. Modelo de Datos
- 5.1. Entidad EventoSalud (Base)
- 5.2. Entidad Medicion (Extiende EventoSalud)
- 5.3. Entidad Tratamiento (Extiende EventoSalud)
- 5.4. Estructura de Detalles por Subtipo de Tratamiento
- 5.5. Entidad RecordatorioEvento
- 5.6. Templates Predefinidos de Recordatorios
- 6. Funcionalidades
- 6.1. Registro de Medicion (MTS-EVT-001-F01)
- 6.2. Registro de Tratamiento (MTS-EVT-001-F02)
- 6.3. Visualizacion de Tendencias (MTS-EVT-001-F03)
- 6.4. Sistema de Recordatorios (MTS-EVT-001-F04)
- 6.5. Alertas de Valores Criticos (MTS-EVT-001-F05)
- 6.6. Compartir con Profesional (MTS-EVT-001-F06)
- 6.7. Integracion Health Connect/HealthKit (MTS-EVT-001-F07)
- 7. Integracion con Widgets y Smartwatch
- 7.1. Widgets para Eventos de Salud
- 7.2. Smartwatch - Complicaciones de Eventos
- 7.3. Flujo de Registro en Smartwatch (v1.1)
- 8. Gamificacion para Eventos de Salud
- 8.1. Logros de Mediciones
- 8.2. Logros de Tratamientos
- 8.3. Lo que NO se gamifica
- 8.4. Opcion de Desactivar
- 9. Reglas de Negocio
- 10. Criterios de Aceptacion
- 11. Requisitos Regulatorios Especificos
- 11.1. Clasificacion de Datos
- 11.2. Disclaimers Obligatorios
- 11.3. Retencion de Datos
- 12. Flujos de Usuario con Mermaid
- 12.1. Flujo Completo: Registro de Medicion de Glucosa
- 12.2. Flujo Completo: Curacion con Fotos
- 13. Referencias
1. Proposito¶
Este modulo gestiona el registro y seguimiento de eventos de salud no farmacologicos, divididos en dos categorias principales:
- Mediciones: Registro de valores biometricos (glucosa, presion arterial, peso, etc.)
- Tratamientos: Seguimiento de procedimientos medicos no farmacologicos (curaciones, terapias, dialisis, etc.)
Decision ACL5-001: Se implementa como modulo hibrido MTS-EVT-001 con subtipos claramente definidos, compartiendo infraestructura de recordatorios pero diferenciandose en captura de datos y visualizacion.
2. Actores¶
Nota V1.0: MedTime define 4 roles de usuario estandar. Ver MTS-ROL-001 para detalles completos.
| Rol | Codigo | Descripcion en este Modulo |
|---|---|---|
| Paciente Independiente | PI | Registra eventos, configura recordatorios, visualiza tendencias. Control total. |
| Paciente Dependiente | PD | Registra eventos basicos. Cuidador puede gestionar configuracion avanzada. |
| Cuidador Supervisor | CS | Visualiza eventos del paciente (con permiso). Recibe alertas de valores criticos. Solo lectura. |
| Cuidador Responsable | CR | Puede registrar eventos, configurar recordatorios y gestionar alertas en nombre del paciente. |
2.1. Actores del Sistema¶
| Actor | Descripcion |
|---|---|
| Sistema | Programa recordatorios, detecta valores criticos, genera alertas |
| Profesional de Salud | Visualiza historial de eventos via Portal Clinico v2.0+ (con consentimiento del paciente) |
3. Disponibilidad por Tier¶
Decision ACL5-005: Eventos ilimitados para todos los tiers, limite en funcionalidades avanzadas.
Nota V1.0: Pro y Perfect tienen las MISMAS funcionalidades. Solo difieren en limites de almacenamiento y numero de cuidadores.
| Funcionalidad | Free | Pro | Perfect |
|---|---|---|---|
| Mediciones | |||
| Tipos de medicion | Ilimitados | Ilimitados | Ilimitados |
| Graficas | Basicas con rangos | Avanzadas con estadisticas | Avanzadas con estadisticas |
| Predicciones IA | NO (v2.0+) | NO (v2.0+) | NO (v2.0+) |
| Historial | 30 dias local | Ilimitado cloud | Ilimitado cloud |
| Exportar datos | No | CSV/PDF | CSV/PDF/HL7 |
| Rangos personalizados | No | Si | Si |
| Tratamientos | |||
| Tipos de tratamiento | Ilimitados | Ilimitados | Ilimitados |
| Historial | 30 dias local | Ilimitado cloud | Ilimitado cloud |
| Fotos adjuntas | Ilimitadas* | Ilimitadas* | Ilimitadas* |
| Templates | Basicos + custom | Todos + custom | Todos + custom |
| Recordatorios | |||
| Recordatorios activos | Ilimitados | Ilimitados | Ilimitados |
| Eventos disparadores | Solo hora fija | Hora fija + eventos | Hora fija + eventos |
| Templates predefinidos | Basicos + custom | Todos + custom | Todos + custom |
| Integraciones | |||
| Health Connect/HealthKit | Si (lectura al abrir) | Si (sync cada 15 min) | Si (sync cada 5 min) |
| Sync con cuidadores | No | Si (1 cuidador) | Si (5 cuidadores) |
| Gamificacion | |||
| Logros de mediciones | No | Si | Si |
| Logros de tratamientos | No | Si | Si |
Nota *Fotos: Fotos ilimitadas en TODOS los tiers, limitadas unicamente por el espacio de almacenamiento disponible del dispositivo/cuenta.
IMPORTANTE V1.0 - Sin Predicciones IA: Las predicciones basadas en IA (proyeccion a 7 dias, alertas predictivas) estan planificadas para v2.0+. En V1.0 se muestran graficas con estadisticas pero SIN predicciones.
Templates Custom: Disponibles en TODOS los tiers. Usuarios pueden crear templates personalizados de recordatorios.
Nota Iteracion 13: La gamificacion de eventos de salud (logros por consistencia de mediciones y tratamientos) NO esta disponible para tier Free. Es una funcionalidad exclusiva de Pro/Perfect.
Nota Iteracion 13: Profesionales de salud acceden a datos de pacientes a traves del Portal Clinico (v2.0+), no como tier de suscripcion.
4. Tipos de Eventos¶
4.1. Subtipos de Medicion¶
| Tipo | Valor Principal | Valor Secundario | Unidades | Rango Normal |
|---|---|---|---|---|
| Glucosa | Nivel glucosa | - | mg/dL, mmol/L | 70-100 mg/dL (ayuno) |
| Presion Arterial | Sistolica | Diastolica | mmHg | 90-120 / 60-80 |
| Peso | Peso | - | kg, lb | Personalizado |
| Temperatura | Temperatura | - | C, F | 36.1-37.2 C |
| Frecuencia Cardiaca | BPM | - | BPM | 60-100 |
| Saturacion Oxigeno | SpO2 | - | % | 95-100% |
| Personalizado | Usuario define | Opcional | Usuario define | Usuario define |
4.2. Subtipos de Tratamiento¶
| Tipo | Descripcion | Campos Especiales | Duracion Tipica |
|---|---|---|---|
| Curacion | Cambio de vendaje, limpieza de heridas | Ubicacion, tamano, aspecto | 15-30 min |
| Terapia Fisica | Ejercicios de rehabilitacion | Ejercicios[], series, nivel dolor | 30-60 min |
| Topico | Cremas, parches, unguentos | Producto, zona, cantidad | 5-15 min |
| Dialisis Peritoneal | DPCA/DPA | Volumen infundido, drenado, color | 20-40 min |
| Nebulizacion | Tratamientos respiratorios | Medicamento, dosis, duracion | 10-20 min |
| Inyeccion | Insulina, anticoagulantes | Medicamento, dosis, zona | 5 min |
| Personalizado | Usuario define | Campos configurables | Usuario define |
5. Modelo de Datos¶
Decision ACL5-003: Estructura modular con campos base obligatorios y campos avanzados opcionales.
5.1. Entidad EventoSalud (Base)¶
EventoSalud {
id: UUID (PK)
usuario_id: UUID (FK)
tipo_evento: enum [MEDICION, TRATAMIENTO]
subtipo: string // glucosa, presion, curacion, etc.
fecha_hora_programada: timestamp | null // Para recordatorios
fecha_hora_registro: timestamp // Cuando se registro
estado: enum [PROGRAMADO, COMPLETADO, OMITIDO, POSPUESTO]
notas: text | null
created_at: timestamp
updated_at: timestamp
}
5.2. Entidad Medicion (Extiende EventoSalud)¶
Medicion {
evento_id: UUID (PK, FK -> EventoSalud)
// Campos Base (OBLIGATORIOS)
valor_principal: decimal // Ej: 120 (glucosa), 72.5 (peso)
valor_secundario: decimal | null // Ej: presion diastolica
unidad: string // mg/dL, kg, mmHg, etc.
// Campos Contexto (OPCIONALES - Pro/Perfect)
momento: enum [AYUNO, PRE_COMIDA, POST_COMIDA, ANTES_DORMIR, AL_DESPERTAR, ALEATORIO] | null
actividad_reciente: enum [REPOSO, POST_EJERCICIO, NORMAL] | null
// Campos Avanzados (OPCIONALES - Perfect)
foto_adjunta_id: UUID | null // Foto del glucometro/dispositivo
dispositivo_origen: string | null // Nombre del dispositivo conectado
// Metadatos
fuente: enum [MANUAL, HEALTH_CONNECT, HEALTHKIT, DISPOSITIVO_CONECTADO]
en_rango: boolean // Calculado automaticamente
nivel_alerta: enum [NORMAL, INFORMATIVO, ADVERTENCIA, CRITICO] | null
}
5.3. Entidad Tratamiento (Extiende EventoSalud)¶
Tratamiento {
evento_id: UUID (PK, FK -> EventoSalud)
// Campos Base (OBLIGATORIOS)
completado: boolean
// Campos Temporales (OPCIONALES - para tratamientos con duracion)
hora_inicio: timestamp | null
hora_fin: timestamp | null
duracion_minutos: integer | null
// Campos Visuales (OPCIONALES - Pro/Perfect)
foto_antes_id: UUID | null
foto_despues_id: UUID | null
// Ubicacion Anatomica (OPCIONAL - para curaciones)
ubicacion_cuerpo: string | null // "pierna_izquierda", "abdomen"
// Detalles Especificos por Subtipo (OPCIONAL)
detalles_json: jsonb | null // Estructura variable segun subtipo
}
5.4. Estructura de Detalles por Subtipo de Tratamiento¶
// Curacion
{
"tipo_curacion": "limpieza" | "cambio_vendaje" | "aplicacion_pomada",
"tamano_herida_cm": 5.2,
"aspecto": "mejorando" | "igual" | "empeorando",
"signos_infeccion": false
}
// Terapia Fisica
{
"ejercicios": ["sentadillas", "estiramientos"],
"series": 3,
"repeticiones": 10,
"nivel_dolor_pre": 5,
"nivel_dolor_post": 3
}
// Dialisis Peritoneal
{
"tipo_dialisis": "DPCA" | "DPA",
"volumen_infundido_ml": 2000,
"volumen_drenado_ml": 2150,
"color_liquido": "claro" | "turbio" | "sanguinolento",
"dolor_abdominal": false
}
// Inyeccion
{
"medicamento": "Insulina Lantus",
"dosis_unidades": 20,
"zona_inyeccion": "abdomen_izquierdo",
"rotacion_zona": true
}
// Nebulizacion
{
"medicamento": "Salbutamol",
"dosis_ml": 2.5,
"duracion_minutos": 15,
"eficacia_percibida": "buena" | "regular" | "sin_efecto"
}
5.5. Entidad RecordatorioEvento¶
Decision ACL5-002: Estructura hibrida - hora fija O evento disparador, con templates predefinidos.
RecordatorioEvento {
id: UUID (PK)
usuario_id: UUID (FK)
tipo_evento: enum [MEDICION, TRATAMIENTO]
subtipo: string
activo: boolean
// OPCION 1: Hora Fija
hora_programada: time | null
// OPCION 2: Evento Disparador (Pro/Perfect)
evento_disparador: enum [
DESPERTAR, ANTES_DESAYUNO, DESPUES_DESAYUNO,
ANTES_ALMUERZO, DESPUES_ALMUERZO,
ANTES_CENA, DESPUES_CENA,
ANTES_DORMIR, DESPUES_BANO
] | null
offset_minutos: integer | null // Ej: 30 min despues de comida
// Frecuencia
frecuencia: enum [DIARIO, CADA_X_HORAS, X_VECES_DIA, DIAS_ESPECIFICOS]
intervalo_horas: integer | null // Para cada_x_horas (ej: cada 6h)
veces_por_dia: integer | null // Para x_veces_dia
dias_semana: array[integer] | null // [1,2,3,4,5] = Lun-Vie
// Template (OPCIONAL)
template_id: string | null // Referencia a template predefinido
// Notificacion
minutos_antes: integer // Default: 0 (a la hora exacta)
created_at: timestamp
updated_at: timestamp
}
5.6. Templates Predefinidos de Recordatorios¶
TemplateRecordatorio {
id: string (PK) // "glucosa_diabetico_tipo1"
nombre: string // "Diabetico Tipo 1"
descripcion: string
tipo_evento: enum [MEDICION, TRATAMIENTO]
subtipo: string // "glucosa", "insulina"
// Configuracion del template
frecuencia: enum
momentos: array[string] // ["AYUNO", "ANTES_ALMUERZO", ...]
// Disponibilidad
tier_minimo: enum [FREE, PRO, PERFECT]
}
5.6.1. Templates de Mediciones¶
| ID | Nombre | Subtipo | Frecuencia | Momentos |
|---|---|---|---|---|
glucosa_tipo1 |
Diabetico Tipo 1 | glucosa | 4-6/dia | Ayuno, antes comidas, antes dormir |
glucosa_tipo2 |
Diabetico Tipo 2 | glucosa | 1-2/dia | Ayuno, post-cena |
glucosa_gestacional |
Diabetes Gestacional | glucosa | 4/dia | Ayuno, 1h post comidas |
presion_hipertenso |
Hipertension | presion | 2/dia | Manana reposo, noche |
presion_monitoreo |
Monitoreo Intensivo | presion | 3/dia | Manana, tarde, noche |
peso_diario |
Control de Peso | peso | 1/dia | Al despertar |
peso_semanal |
Peso Semanal | peso | 1/semana | Dia fijo |
5.6.2. Templates de Tratamientos¶
| ID | Nombre | Subtipo | Frecuencia | Momentos |
|---|---|---|---|---|
dialisis_dpca |
DPCA Estandar | dialisis | 4/dia | Cada 6 horas |
insulina_basal |
Insulina Basal | inyeccion | 1/dia | Hora fija |
insulina_prandial |
Insulina Prandial | inyeccion | 3/dia | Antes comidas |
curacion_diaria |
Curacion Diaria | curacion | 1-2/dia | Manana, noche |
nebulizacion_asma |
Asma/EPOC | nebulizacion | 2-4/dia | Segun necesidad |
terapia_fisica |
Rehabilitacion | terapia_fisica | 1/dia | Hora preferida |
6. Funcionalidades¶
6.1. Registro de Medicion (MTS-EVT-001-F01)¶
6.1.1. Descripcion¶
Permite registrar valores de mediciones biometricas con contexto opcional.
6.1.2. Flujo Principal¶
flowchart TD
A[Usuario inicia registro] --> B[Seleccionar tipo de medicion]
B --> C[Ingresar valor principal]
C --> D{Requiere valor secundario?}
D -->|Si - Presion| E[Ingresar valor secundario]
D -->|No| F[Seleccionar unidad]
E --> F
F --> G{Agregar contexto?}
G -->|Si - Pro/Perfect| H[Seleccionar momento y actividad]
G -->|No| I{Valor en rango?}
H --> I
I -->|Si| J[Guardar medicion]
I -->|No| K{Valor critico?}
K -->|Si| L[Mostrar alerta + sugerencias]
K -->|No - Solo fuera de rango| M[Mostrar indicador visual]
L --> N{Confirmar valor?}
N -->|Si, es correcto| O[Guardar + disparar alertas]
N -->|No, error de entrada| P[Corregir valor]
P --> C
M --> J
O --> Q[Notificar cuidadores si configurado]
J --> R[Actualizar graficas]
Q --> R
6.1.3. Validacion de Rangos¶
| Medicion | Bajo | Normal | Elevado | Critico Bajo | Critico Alto |
|---|---|---|---|---|---|
| Glucosa ayuno | <70 | 70-100 | 100-125 | <50 | >300 |
| Glucosa post | <70 | 70-140 | 140-180 | <50 | >300 |
| Sistolica | <90 | 90-120 | 120-140 | <70 | >180 |
| Diastolica | <60 | 60-80 | 80-90 | <50 | >120 |
| SpO2 | - | 95-100 | 90-94 | <90 | - |
| FC reposo | <50 | 50-100 | 100-120 | <40 | >150 |
| Temperatura | <36 | 36.1-37.2 | 37.3-38 | <35 | >40 |
6.2. Registro de Tratamiento (MTS-EVT-001-F02)¶
6.2.1. Descripcion¶
Permite registrar la realizacion de tratamientos no farmacologicos.
6.2.2. Flujo Principal¶
flowchart TD
A[Usuario inicia registro] --> B[Seleccionar tipo de tratamiento]
B --> C{Tratamiento con duracion?}
C -->|Si - Terapia, Dialisis| D[Registrar hora inicio]
C -->|No - Curacion, Inyeccion| E[Marcar como completado]
D --> F[Usuario realiza tratamiento]
F --> G[Registrar hora fin]
G --> H{Agregar detalles?}
E --> H
H -->|Si| I[Formulario especifico por subtipo]
H -->|No| J{Agregar fotos?}
I --> J
J -->|Si - Pro/Perfect| K[Capturar foto antes/despues]
J -->|No| L[Agregar notas opcionales]
K --> L
L --> M[Guardar tratamiento]
M --> N[Actualizar estadisticas]
6.2.3. Formularios por Subtipo¶
6.2.3.1. Curacion¶
+------------------------------------------+
| REGISTRO DE CURACION |
+------------------------------------------+
| Ubicacion: [Seleccionar zona corporal] |
| Tipo: [ ] Limpieza |
| [ ] Cambio vendaje |
| [ ] Aplicacion pomada |
+------------------------------------------+
| Estado de la herida: |
| [Mejorando] [Igual] [Empeorando] |
+------------------------------------------+
| Signos de infeccion: [No] [Si] |
+------------------------------------------+
| [Foto antes] [Foto despues] |
+------------------------------------------+
| Notas: [________________________] |
+------------------------------------------+
| [Guardar Curacion] |
+------------------------------------------+
6.2.3.2. Dialisis Peritoneal¶
+------------------------------------------+
| REGISTRO DE DIALISIS |
+------------------------------------------+
| Tipo: [DPCA] [DPA] |
+------------------------------------------+
| Volumen infundido: [____] ml |
| Volumen drenado: [____] ml |
| Balance: [calculado] ml |
+------------------------------------------+
| Color del liquido: |
| [Claro] [Ligeramente turbio] [Turbio] |
+------------------------------------------+
| Dolor abdominal: [No] [Leve] [Moderado] |
+------------------------------------------+
| Notas: [________________________] |
+------------------------------------------+
| [Guardar Dialisis] |
+------------------------------------------+
6.3. Visualizacion de Tendencias (MTS-EVT-001-F03)¶
Decision ACL5-004: Graficas avanzadas para Pro/Perfect, basicas con rangos para Free.
6.3.1. Graficas por Tier (V1.0)¶
IMPORTANTE V1.0: Predicciones IA planificadas para v2.0+. Pro y Perfect tienen las mismas graficas en V1.0.
| Tier | Tipo de Grafica | Caracteristicas V1.0 |
|---|---|---|
| Free | Linea temporal basica | Valores + zonas de color por rango |
| Pro | Linea temporal avanzada | + Promedio, tendencia, min/max, estadisticas |
| Perfect | Linea temporal avanzada | Mismas que Pro (predicciones en v2.0+) |
6.3.2. Diseño de Grafica - Free¶
+--------------------------------------------------+
| Glucosa - Ultimos 7 dias |
| |
| 180 |-- - - - - - - - - - - - - - - - - - - --| ALTO
| | * |
| 140 | * * |
| | * * * |
| 100 |-- - - - - - - - - - - - - - - - - - - --| NORMAL
| | * * * |
| 70 |-- - - - - - - - - - - - - - - - - - - --| BAJO
| |________________________________________|
| L M Mi J V S D |
+--------------------------------------------------+
6.3.3. Diseño de Grafica - Pro/Perfect (V1.0)¶
Nota V1.0: Pro y Perfect muestran las mismas estadisticas. Predicciones IA en v2.0+.
+--------------------------------------------------+
| Glucosa - Ultimos 30 dias [Exportar] |
+--------------------------------------------------+
| |
| [Grafica interactiva con zoom y pan] |
| |
| Estadisticas: |
| - Promedio: 118 mg/dL |
| - Rango: 72 - 185 mg/dL |
| - En rango objetivo: 78% |
| - Tendencia: Estable |
| - Desviacion estandar: 23.4 |
| |
| [Pro/Perfect] HbA1c estimada: 5.8% |
| [v2.0+] Prediccion proxima semana: Planificado |
+--------------------------------------------------+
6.4. Sistema de Recordatorios (MTS-EVT-001-F04)¶
Decision ACL5-002: Hora fija O evento disparador, con templates predefinidos.
6.4.1. Flujo de Configuracion¶
flowchart TD
A[Usuario configura recordatorio] --> B{Usar template?}
B -->|Si| C[Seleccionar template predefinido]
B -->|No| D[Configuracion manual]
C --> E[Aplicar configuracion del template]
E --> F{Personalizar?}
F -->|Si| D
F -->|No| G[Guardar recordatorio]
D --> H{Tipo de trigger?}
H -->|Hora fija| I[Seleccionar hora]
H -->|Evento disparador - Pro/Perfect| J[Seleccionar evento + offset]
I --> K[Configurar frecuencia]
J --> K
K --> L{Frecuencia?}
L -->|Diario| M[Todos los dias]
L -->|Cada X horas| N[Configurar intervalo]
L -->|X veces al dia| O[Configurar cantidad]
L -->|Dias especificos| P[Seleccionar dias]
M --> G
N --> G
O --> G
P --> G
6.4.2. Flujo de Notificacion¶
flowchart TD
A[Hora de recordatorio] --> B[Generar notificacion]
B --> C{Tipo de evento?}
C -->|Medicion| D[Notificacion con accion rapida]
C -->|Tratamiento| E[Notificacion con timer]
D --> F{Respuesta usuario?}
E --> F
F -->|Registrar ahora| G[Abrir formulario de registro]
F -->|Posponer| H[Reprogramar +15/30/60 min]
F -->|Omitir| I[Marcar como omitido]
F -->|Ignorar| J[Segundo recordatorio en 15 min]
G --> K[Guardar evento]
H --> L[Actualizar recordatorio]
I --> M[Registrar omision]
J --> N{Segundo intento?}
N -->|Si responde| G
N -->|No responde| O[Marcar como no registrado]
6.5. Alertas de Valores Criticos (MTS-EVT-001-F05)¶
Decision ACL5-009: Sistema completo pero configurable por usuario. Contacto emergencia requiere consentimiento.
6.5.1. Niveles de Alerta¶
| Nivel | Descripcion | Accion Sistema | Notificacion |
|---|---|---|---|
| INFORMATIVO | Valor ligeramente fuera de rango | Registro + indicador | Push normal |
| ADVERTENCIA | Valor significativamente anormal | Registro + sugerencia | Push prioritario |
| CRITICO | Valor potencialmente peligroso | Registro + alerta urgente | Push critico + sonido |
| EMERGENCIA | Valor que requiere atencion inmediata | Todo anterior + contacto emergencia | Llamada si configurado |
6.5.2. Flujo de Alerta Critica¶
flowchart TD
A[Usuario registra valor] --> B{Validar valor}
B -->|Valor plausible| C[Guardar medicion]
B -->|Valor improbable| D[Solicitar confirmacion]
D --> E{Usuario confirma?}
E -->|Si, es correcto| C
E -->|No, error| F[Permitir correccion]
F --> A
C --> G{Nivel de alerta?}
G -->|Normal| H[Solo registro]
G -->|Informativo| I[Mostrar indicador visual]
G -->|Advertencia| J[Push prioritario + sugerencia]
G -->|Critico| K[Alerta en pantalla completa]
G -->|Emergencia| L[Alerta maxima]
K --> M{Contacto emergencia configurado?}
M -->|Si y con consentimiento| N[Notificar contacto emergencia]
M -->|No| O[Sugerir configurar contacto]
N --> P[Mostrar sugerencias de accion]
O --> P
L --> Q[Notificar a TODOS los contactos]
Q --> R[Mostrar opciones: Llamar 911 / Contactar medico]
6.5.3. Sugerencias por Tipo de Alerta¶
| Situacion | Sugerencia | Accion Adicional |
|---|---|---|
| Glucosa < 50 mg/dL | "Consume 15g de carbohidratos rapidos (jugo, caramelos). Vuelve a medir en 15 min." | Ofrecer timer de 15 min |
| Glucosa > 300 mg/dL | "Hidratate. Si tienes nauseas o confusion, contacta emergencias." | Boton llamar emergencias |
| Presion > 180 mmHg | "Sientate y descansa. Vuelve a medir en 5 min. Si persiste, contacta a tu medico." | Ofrecer timer de 5 min |
| SpO2 < 90% | "Si tienes dificultad para respirar, contacta emergencias inmediatamente." | Boton llamar 911 |
| FC > 150 BPM reposo | "Descansa y respira profundamente. Si continua, busca atencion medica." | Mostrar tecnicas relajacion |
6.5.4. Configuracion de Alertas por Usuario¶
| Opcion | Descripcion | Default |
|---|---|---|
| Alertas activas | Habilitar sistema de alertas | Si |
| Nivel minimo notificar | Desde que nivel notificar | Advertencia |
| Notificar cuidadores | Alertas criticas a cuidadores | Si (si hay cuidadores) |
| Contacto emergencia auto | Notificar automaticamente en emergencia | No (requiere opt-in) |
| Sonido alertas criticas | Bypass modo silencio | Si |
| Sugerencias de accion | Mostrar recomendaciones | Si |
6.5.5. Disclaimers Obligatorios¶
+--------------------------------------------------+
| IMPORTANTE |
| |
| - MedTime NO es un dispositivo medico |
| - Las alertas son orientativas, no diagnosticas |
| - Siempre consulta a un profesional de salud |
| - En caso de emergencia, llama a servicios de |
| emergencia de tu localidad |
+--------------------------------------------------+
6.6. Compartir con Profesional (MTS-EVT-001-F06)¶
Decision ACL5-008: Compartir con medico aprobado, fotos requieren consentimiento explicito adicional.
6.6.1. Datos Compartibles¶
| Tipo de Dato | Perfil Basico | Perfil Completo | Notas |
|---|---|---|---|
| Historial mediciones | Resumen (30 dias) | Completo | |
| Graficas de tendencia | Ultimos 7 dias | Todo historial | |
| Alertas valores criticos | Solo cantidad | Detalle completo | |
| Tratamientos completados | Resumen | Detallado | |
| Fotos de tratamientos | NO | Con consentimiento adicional | Requiere checkbox explicito |
| Notas del paciente | No | Si |
6.6.2. Flujo de Consentimiento para Fotos¶
flowchart TD
A[Profesional solicita acceso a fotos] --> B[Sistema notifica a paciente]
B --> C[Mostrar explicacion de solicitud]
C --> D{Paciente autoriza?}
D -->|Si| E[Mostrar fotos disponibles]
E --> F[Paciente selecciona cuales compartir]
F --> G[Confirmar con biometria]
G --> H[Acceso otorgado temporalmente]
D -->|No| I[Rechazar solicitud]
H --> J{Duracion del acceso?}
J -->|Una vez| K[Acceso expira despues de ver]
J -->|Sesion| L[Acceso expira al cerrar sesion]
J -->|Temporal| M[Acceso por X dias configurado]
6.6.3. Formato de Reporte para Profesional¶
+--------------------------------------------------+
| REPORTE DE EVENTOS DE SALUD |
| Paciente: Juan Perez |
| Periodo: 01/11/2025 - 01/12/2025 |
| Generado: 01/12/2025 via MedTime |
+--------------------------------------------------+
MEDICIONES - GLUCOSA EN SANGRE
------------------------------
Mediciones totales: 92
Promedio: 118 mg/dL
Rango: 72 - 185 mg/dL
En rango objetivo (70-140): 78%
Tendencia: Estable
[Grafica de 30 dias]
VALORES FUERA DE RANGO (Ultimos 5):
- 28/11/2025 08:00 - 185 mg/dL (Post-comida)
- 22/11/2025 07:30 - 72 mg/dL (Ayuno, ejercicio previo)
...
MEDICIONES - PRESION ARTERIAL
-----------------------------
Mediciones totales: 56
Promedio: 128/82 mmHg
En rango (<140/90): 85%
TRATAMIENTOS - CURACIONES
-------------------------
Completados: 28/30 (93.3%)
Evolucion de herida: Mejorando
[Fotos: No compartidas / Compartidas con consentimiento]
---
Este reporte fue generado automaticamente por MedTime.
Para verificacion, contacte al paciente.
+--------------------------------------------------+
6.7. Integracion Health Connect/HealthKit (MTS-EVT-001-F07)¶
Decision ACL5-010: Health Connect/HealthKit en v1.0 + placeholder para integraciones directas.
6.7.1. Arquitectura de Integracion v1.0¶
flowchart TD
A[Dispositivo IoT] --> B[Health Connect/HealthKit]
B --> C{Permiso otorgado?}
C -->|Si| D[MedTime lee datos]
C -->|No| E[Solicitar permiso]
E --> F{Usuario acepta?}
F -->|Si| D
F -->|No| G[Solo entrada manual]
D --> H[Importar mediciones]
H --> I[Validar datos]
I --> J{Datos validos?}
J -->|Si| K[Guardar con fuente: HEALTH_CONNECT/HEALTHKIT]
J -->|No| L[Marcar para revision manual]
K --> M[Actualizar graficas y alertas]
6.7.2. Datos Importables¶
| Tipo Health Connect/HealthKit | Tipo MedTime | Importacion |
|---|---|---|
| Blood Glucose | Medicion: glucosa | Automatica |
| Blood Pressure | Medicion: presion | Automatica |
| Weight | Medicion: peso | Automatica |
| Body Temperature | Medicion: temperatura | Automatica |
| Heart Rate | Medicion: frecuencia_cardiaca | Automatica |
| Oxygen Saturation | Medicion: spo2 | Automatica |
| Steps | No aplica | No importado |
| Sleep | No aplica | No importado |
6.7.3. Configuracion de Sincronizacion¶
| Opcion | Descripcion | Default |
|---|---|---|
| Sincronizacion activa | Importar datos de Health Connect/HealthKit | No (opt-in) |
| Frecuencia | Cada cuanto sincronizar | Al abrir app |
| Tipos de datos | Cuales tipos importar | Todos permitidos |
| Duplicados | Como manejar datos duplicados | Ignorar si existe |
| Retroactivo | Importar datos historicos | Ultimos 30 dias |
6.7.4. Placeholder para Integraciones Directas (v1.5+)¶
+--------------------------------------------------+
| INTEGRACIONES DIRECTAS - PROXIMAMENTE (v1.5) |
+--------------------------------------------------+
| |
| Dispositivos planificados: |
| - Glucometros: Accu-Chek, FreeStyle Libre |
| - Tensionometros: Omron, Withings |
| - Basculas: Withings, Xiaomi, Eufy |
| - Oximetros: Wellue, iHealth |
| |
| Monitoreo continuo (v2.0): |
| - CGM: Dexcom G6/G7, Libre 2/3 |
| |
+--------------------------------------------------+
7. Integracion con Widgets y Smartwatch¶
Decision ACL5-006: Phased approach - v1.0 visualizacion, v1.1 registro rapido. Priorizar smartwatch.
7.1. Widgets para Eventos de Salud¶
7.1.1. Widget Pequeno (2x2) - Ultima Medicion¶
+---------------------+
| Glucosa 10:30am |
| 115 |
| mg/dL |
| [En rango] |
+---------------------+
7.1.2. Widget Mediano (4x2) - Mediciones del Dia¶
+------------------------------------------+
| Mis Mediciones [+] |
|------------------------------------------|
| Glucosa: 115 mg/dL 10:30am [Rango] |
| Presion: 125/82 08:15am [OK] |
| Peso: 72.5 kg 07:00am |
+------------------------------------------+
7.1.3. Widget Grande (4x4) - Dashboard de Salud¶
+------------------------------------------+
| Eventos de Salud Dic 1 |
|------------------------------------------|
| MEDICIONES HOY |
| Glucosa: 115 mg/dL [===|====] Normal |
| Presion: 125/82 [====|===] Leve+ |
|------------------------------------------|
| TRATAMIENTOS HOY |
| [X] 07:00 Curacion pierna |
| [ ] 14:00 Dialisis |
| [ ] 20:00 Insulina |
|------------------------------------------|
| Racha: 12 dias Adherencia: 94% |
+------------------------------------------+
7.2. Smartwatch - Complicaciones de Eventos¶
Prioridad: Smartwatch sobre widgets para registro rapido.
7.2.1. Complicacion Circular¶
+-----+
|G:115|
+-----+
7.2.2. Complicacion Modular¶
+------------------+
| Glucosa 115 |
| 10:30am Normal |
+------------------+
7.3. Flujo de Registro en Smartwatch (v1.1)¶
flowchart TD
A[Notificacion: Hora de medir glucosa] --> B{Usuario responde}
B -->|Tap Registrar| C[Pantalla de valor]
C --> D[Usuario ingresa valor con corona/touch]
D --> E[Selecciona momento: Ayuno/Pre/Post]
E --> F[Guardar]
F --> G[Haptic confirmacion]
G --> H{Valor critico?}
H -->|Si| I[Alerta haptca intensa + sugerencia]
H -->|No| J[Sync con telefono]
I --> J
B -->|Tap Posponer| K[Posponer 15 min]
B -->|Ignorar| L[Recordatorio en 5 min]
8. Gamificacion para Eventos de Salud¶
Decision ACL5-007: Gamificar solo consistencia/adherencia (no valores), opcion de desactivar.
8.1. Logros de Mediciones¶
| Logro | Descripcion | Criterio | Puntos |
|---|---|---|---|
| Primera Medicion | Registra tu primera medicion | 1 medicion | 10 |
| Medidor Consistente | 7 dias consecutivos midiendo | 7 dias | 50 |
| Monitor Dedicado | 30 dias consecutivos | 30 dias | 200 |
| Guardian de Salud | 90 dias consecutivos | 90 dias | 500 |
| Maestro de Datos | 365 dias consecutivos | 365 dias | 2000 |
| Multi-Parametro | Medir 3+ tipos diferentes en un dia | 3 tipos | 30 |
| Disciplina Matutina | 30 mediciones en ayunas consecutivas | 30 ayuno | 100 |
8.2. Logros de Tratamientos¶
| Logro | Descripcion | Criterio | Puntos |
|---|---|---|---|
| Primera Curacion | Completa tu primera curacion | 1 curacion | 10 |
| Cuidador de Mi Cuerpo | 7 dias de curaciones | 7 dias | 50 |
| Terapia Completa | 30 dias de terapia fisica | 30 dias | 200 |
| Dialisis Perfecta | Mes sin omisiones de dialisis | 30/30 | 300 |
| Inyecciones al Dia | 30 dias de inyecciones completas | 30 dias | 150 |
| Tratamiento Documentado | 10 tratamientos con fotos | 10 fotos | 75 |
8.3. Lo que NO se gamifica¶
| Aspecto | Razon |
|---|---|
| Valores especificos | Evitar manipulacion de datos |
| "Valores en rango" | Puede generar ansiedad |
| Comparaciones | Cada paciente es unico |
| Predicciones | Solo el medico interpreta |
8.4. Opcion de Desactivar¶
+------------------------------------------+
| Configuracion de Gamificacion |
|------------------------------------------|
| [ ] Activar gamificacion para eventos |
| |
| Cuando desactivado: |
| - No veras puntos ni logros |
| - Tu progreso se mantiene (invisible) |
| - Puedes reactivar en cualquier momento|
| |
| [Guardar] |
+------------------------------------------+
9. Reglas de Negocio¶
| ID | Regla | Prioridad |
|---|---|---|
| RN-EVT-001 | Cada medicion debe tener tipo, valor principal, unidad y fecha/hora | Alta |
| RN-EVT-002 | Valores de medicion se validan contra rangos plausibles antes de guardar | Alta |
| RN-EVT-003 | Valores criticos disparan alerta inmediata segun configuracion del usuario | Alta |
| RN-EVT-004 | Usuario puede configurar rangos objetivo personalizados (Pro/Perfect) | Media |
| RN-EVT-005 | Tratamientos con duracion registran hora inicio y hora fin | Media |
| RN-EVT-006 | Fotos de tratamientos requieren consentimiento explicito adicional para compartir | Alta |
| RN-EVT-007 | Historial de eventos segun tier: Free 30 dias local, Pro/Perfect ilimitado | Alta |
| RN-EVT-008 | Eventos de salud son datos sensibles bajo HIPAA/LGPD/LFPDPPP - cifrado E2E obligatorio | Alta |
| RN-EVT-009 | Importacion de Health Connect/HealthKit requiere opt-in explicito | Alta |
| RN-EVT-010 | Alertas de emergencia a contactos requieren consentimiento previo del paciente | Alta |
| RN-EVT-011 | Gamificacion solo aplica a consistencia, nunca a valores especificos | Alta |
| RN-EVT-012 | Mediciones importadas automaticamente se marcan con fuente de origen | Media |
| RN-EVT-013 | Templates custom disponibles en TODOS los tiers | Media |
| RN-EVT-014 | Recordatorios basados en eventos disparadores solo disponibles en Pro/Perfect | Alta |
| RN-EVT-015 | Sugerencias de accion ante valores criticos incluyen disclaimer obligatorio | Alta |
| RN-EVT-016 | Fotos ilimitadas en todos los tiers, limitadas solo por almacenamiento disponible | Media |
| RN-EVT-017 | V1.0 SIN predicciones IA - graficas estadisticas pero sin proyecciones | Alta |
| RN-EVT-018 | Pro y Perfect tienen las MISMAS funcionalidades (diferente limite cuidadores/sync) | Alta |
10. Criterios de Aceptacion¶
| ID | Criterio |
|---|---|
| AC-EVT-001 | Usuario puede registrar medicion con valor, unidad y fecha/hora |
| AC-EVT-002 | Sistema muestra indicador visual cuando valor esta fuera de rango |
| AC-EVT-003 | Sistema envia alerta critica cuando valor excede umbrales configurados |
| AC-EVT-004 | Usuario puede registrar tratamiento con estado completado/omitido |
| AC-EVT-005 | Usuario puede adjuntar fotos a tratamientos (segun tier) |
| AC-EVT-006 | Usuario puede configurar recordatorios con hora fija o evento disparador |
| AC-EVT-007 | Sistema aplica templates predefinidos a recordatorios |
| AC-EVT-008 | Graficas muestran tendencias con rangos de referencia |
| AC-EVT-009 | Usuario puede importar datos de Health Connect/HealthKit |
| AC-EVT-010 | Usuario puede compartir historial con profesional Clinical |
| AC-EVT-011 | Fotos compartidas requieren consentimiento adicional explicito |
| AC-EVT-012 | Widget muestra ultima medicion y estado |
| AC-EVT-013 | Smartwatch muestra complicacion con valor actual |
| AC-EVT-014 | Usuario puede desactivar gamificacion para eventos |
| AC-EVT-015 | Sugerencias de accion se muestran ante valores criticos |
11. Requisitos Regulatorios Especificos¶
Arquitectura Zero-Knowledge E2E: Todos los datos de eventos de salud estan cifrados end-to-end. El servidor NUNCA tiene acceso a las claves de descifrado. Ver MTS-SEC-001 para detalles de implementacion.
11.1. Clasificacion de Datos¶
| Tipo de Dato | Clasificacion | Regulacion Aplicable | Cifrado E2E |
|---|---|---|---|
| Valores de mediciones | PHI / Datos Sensibles de Salud | HIPAA, LGPD Art. 11, LFPDPPP | OBLIGATORIO |
| Fotos de tratamientos | PHI / Datos Sensibles | HIPAA, LGPD Art. 11, LFPDPPP | OBLIGATORIO |
| Historial de eventos | PHI / Datos Sensibles | HIPAA, LGPD Art. 11, LFPDPPP | OBLIGATORIO |
| Alertas de valores criticos | PHI / Datos Sensibles | HIPAA, LGPD Art. 11, LFPDPPP | OBLIGATORIO |
| Templates de recordatorios | Datos Personales | LGPD, LFPDPPP | Recomendado |
| Estadisticas agregadas | Anonimizado | N/A | No requerido |
11.2. Disclaimers Obligatorios¶
| Ubicacion | Texto |
|---|---|
| Primer uso | "MedTime es una herramienta de seguimiento. No sustituye consejo medico profesional." |
| Alertas criticas | "Esta es una alerta informativa. Consulta a tu medico o contacta emergencias si es necesario." |
| Sugerencias de accion | "Estas sugerencias son orientativas. Sigue siempre las indicaciones de tu medico." |
| Graficas de tendencia | "Los datos mostrados son para referencia. Solo un profesional puede interpretar estos valores." |
| Exportacion a medico | "Este reporte no sustituye una consulta medica presencial." |
11.3. Retencion de Datos¶
| Tipo de Dato | Retencion | Justificacion |
|---|---|---|
| Mediciones | Indefinido (mientras cuenta activa) | Valor clinico historico |
| Tratamientos | Indefinido | Valor clinico historico |
| Fotos de tratamientos | 7 anos (requisito legal recetas) | HIPAA, COFEPRIS |
| Alertas generadas | 6 anos | HIPAA audit requirements |
| Datos exportados | 24 horas | Solo para descarga |
12. Flujos de Usuario con Mermaid¶
12.1. Flujo Completo: Registro de Medicion de Glucosa¶
flowchart TD
A[Usuario abre app] --> B{Desde donde?}
B -->|Notificacion| C[Pantalla de registro rapido]
B -->|App| D[Dashboard principal]
B -->|Widget| E[Abre en pantalla de eventos]
B -->|Smartwatch| F[Registro en reloj]
C --> G[Mostrar ultimo valor + formulario]
D --> H[Tap en + Medicion]
E --> H
G --> I[Ingresar valor de glucosa]
H --> J[Seleccionar: Glucosa]
J --> I
I --> K[Seleccionar momento: Ayuno/Pre/Post comida]
K --> L{Agregar contexto?}
L -->|Si| M[Actividad reciente, notas]
L -->|No| N[Validar valor]
M --> N
N --> O{Valor en rango?}
O -->|Si - Normal| P[Guardar con indicador verde]
O -->|No - Fuera de rango| Q{Nivel de alerta?}
Q -->|Informativo| R[Indicador amarillo]
Q -->|Advertencia| S[Alerta + sugerencia]
Q -->|Critico| T[Alerta roja + confirmacion]
R --> U[Guardar medicion]
S --> U
T --> V{Usuario confirma valor correcto?}
V -->|Si| W[Guardar + notificar cuidadores]
V -->|No| I
P --> X[Actualizar grafica]
U --> X
W --> X
X --> Y[Actualizar widget y complicacion]
Y --> Z[Fin]
F --> AA[Ingreso con corona digital]
AA --> AB[Seleccionar momento]
AB --> AC[Guardar + haptic]
AC --> AD[Sync con telefono]
AD --> X
12.2. Flujo Completo: Curacion con Fotos¶
flowchart TD
A[Usuario inicia curacion] --> B[Seleccionar: Tratamiento > Curacion]
B --> C[Seleccionar ubicacion en cuerpo]
C --> D{Tomar foto antes?}
D -->|Si| E[Abrir camara]
D -->|No| F[Continuar sin foto]
E --> G[Capturar foto]
G --> H[Confirmar foto]
H --> F
F --> I[Usuario realiza curacion]
I --> J[Marcar como completado]
J --> K{Registrar detalles?}
K -->|Si| L[Tipo de curacion]
L --> M[Estado de herida]
M --> N[Signos de infeccion?]
N --> O{Tomar foto despues?}
K -->|No| O
O -->|Si| P[Capturar foto despues]
O -->|No| Q[Agregar notas]
P --> Q
Q --> R[Guardar tratamiento]
R --> S[Actualizar estadisticas]
S --> T{Compartir con medico?}
T -->|No| U[Fin]
T -->|Si| V{Fotos incluidas?}
V -->|Si| W[Solicitar consentimiento adicional]
V -->|No| X[Compartir datos basicos]
W --> Y{Consentimiento otorgado?}
Y -->|Si| Z[Compartir con fotos]
Y -->|No| X
Z --> U
X --> U
13. Referencias¶
- Modulo de Alertas - Integracion con sistema de alertas
- Modulo de Gamificacion - Logros de eventos de salud
- Modulo de Widgets - Widgets de eventos
- Modulo de Smartwatch - Complicaciones de eventos
- Modulo de Privacidad - Consentimiento para datos sensibles
- Modulo de Modo Offline - Eventos sin conexion
- Modulo de Calendario - Eventos en calendario
- Integraciones - Health Connect/HealthKit
- Requisitos Regulatorios - Cumplimiento normativo
Documento generado por SpecQueen - La especificacion funcional ES el sistema.