Modulo de Reportes y Exportaciones
Identificador: MTS-RPT-001
Version: 1.0.0
Fecha: 2025-12-01
Ultima Revision: Iteracion 7 - ACL6-001 Sistema completo de reportes phased
Autor: SpecQueen
1. Proposito
Este modulo gestiona la generacion de reportes estructurados y exportaciones de datos para pacientes, cuidadores y profesionales de salud. Implementa la decision ACL6-001: reportes completos con implementacion phased (basicos v1.0, avanzados v1.1).
2. Actores
| Actor |
Descripcion |
| Paciente |
Genera reportes de su propia informacion |
| Cuidador |
Genera reportes de pacientes a cargo (con permiso) |
| Profesional (Clinical) |
Genera reportes consolidados de pacientes |
| Sistema |
Genera reportes automaticos programados |
3. Tipos de Reportes
3.1. Reportes para Pacientes
| Reporte |
Contenido |
Formatos |
Tier |
Version |
| Resumen de Adherencia |
Ultimos 7/30/90 dias, graficas |
PDF |
Todos |
v1.0 |
| Historial de Medicamentos |
Activos + historicos con fechas |
PDF, CSV |
Pro/Perfect |
v1.0 |
| Resumen para Medico |
Adherencia + medicamentos + anomalias |
PDF (imprimible) |
Pro/Perfect |
v1.0 |
| Historial de Mediciones |
Graficas + valores + tendencias |
PDF |
Pro/Perfect |
v1.1 |
| Exportacion Completa |
Todos los datos del paciente |
JSON, CSV |
Pro/Perfect |
v1.0 |
| Reporte de Tratamientos |
Tratamientos no farmacologicos |
PDF |
Pro/Perfect |
v1.1 |
3.2. Reportes para Cuidadores
| Reporte |
Contenido |
Formatos |
Condicion |
| Estado del Paciente |
Adherencia actual + alertas |
PDF |
Con permiso del paciente |
| Resumen Semanal |
Tomas completadas/omitidas |
PDF, Email |
Configurado por cuidador |
| Alertas Consolidadas |
Eventos criticos del periodo |
PDF |
Con permiso del paciente |
3.3. Reportes para Profesionales de Salud (v2.0+)
Nota Iteracion 13: Esta funcionalidad esta planificada para v2.0 con el Portal Clinico. Clinical NO es un tier de suscripcion, es un rol para profesionales de salud.
| Reporte |
Contenido |
Formatos |
Notas |
| Dashboard de Pacientes |
Lista con alertas y adherencia |
Web |
Tiempo real |
| Reporte por Paciente |
Detalle completo con graficas |
PDF |
Con consentimiento |
| Alertas Consolidadas |
Pacientes en riesgo |
PDF, Email |
Diario/Semanal |
| Exportacion para Historia |
Formato para expediente |
PDF, HL7 FHIR (v1.5) |
Con consentimiento |
4. Funcionalidades
4.1. Generacion de Reportes (MTS-RPT-001-F01)
4.1.1. Descripcion
Sistema para generar reportes estructurados bajo demanda o programados.
4.1.2. Flujo de Generacion
flowchart TD
A[Usuario solicita reporte] --> B{Tipo de reporte?}
B -->|Adherencia| C[Seleccionar periodo]
B -->|Medicamentos| D[Seleccionar activos/historicos]
B -->|Para medico| E[Seleccionar contenido]
B -->|Mediciones| F[Seleccionar tipo y periodo]
B -->|Exportacion completa| G[Confirmar exportacion]
C --> H[Seleccionar formato]
D --> H
E --> H
F --> H
G --> H
H --> I{Formato?}
I -->|PDF| J[Generar PDF con graficas]
I -->|CSV| K[Generar CSV estructurado]
I -->|JSON| L[Generar JSON completo]
J --> M[Aplicar marca de agua]
K --> N[Sin marca de agua]
L --> N
M --> O[Cifrar si contiene PHI]
N --> O
O --> P{Metodo de entrega?}
P -->|Descargar| Q[Descargar archivo]
P -->|Email| R[Enviar por email cifrado]
P -->|Compartir| S[Selector de destino]
Q --> T[Registrar en auditoria]
R --> T
S --> T
4.1.3. Configuracion de Reporte
| Opcion |
Valores |
Default |
| Periodo |
7 dias, 30 dias, 90 dias, 1 ano, Personalizado |
30 dias |
| Incluir graficas |
Si, No |
Si |
| Incluir notas |
Si, No |
Si |
| Incluir anomalias |
Si, No |
Si |
| Marca de agua |
Si, No |
Si |
| Idioma |
ES, EN, PT |
Idioma del usuario |
4.2. Reporte de Adherencia (MTS-RPT-001-F02)
4.2.1. Descripcion
Reporte principal que muestra el cumplimiento del tratamiento en un periodo.
4.2.2. Contenido del Reporte
+--------------------------------------------------+
| REPORTE DE ADHERENCIA AL TRATAMIENTO |
| MedTime |
+--------------------------------------------------+
| Paciente: [Nombre completo] |
| Generado: [Fecha y hora] |
| Periodo: [Fecha inicio] - [Fecha fin] |
+--------------------------------------------------+
RESUMEN DE ADHERENCIA
---------------------
Adherencia global: 85%
Tomas completadas: 170/200
Tomas omitidas: 30
Tomas tardias: 15
Racha actual: 12 dias
Mejor racha: 45 dias
ADHERENCIA POR MEDICAMENTO
--------------------------
[Grafica de barras horizontales]
| Medicamento | Adherencia | Completadas | Omitidas |
|------------------|------------|-------------|----------|
| Metformina 850mg | 90% | 54/60 | 6 |
| Lisinopril 10mg | 78% | 47/60 | 13 |
| Atorvastatina | 85% | 51/60 | 9 |
PATRON DE ADHERENCIA
--------------------
[Calendario de calor mostrando dias con colores]
Verde: 100% adherencia
Amarillo: 50-99% adherencia
Rojo: <50% adherencia
Gris: Sin datos
DISTRIBUCION POR MOMENTO DEL DIA
--------------------------------
[Grafica circular]
- Manana: 92% adherencia
- Mediodia: 78% adherencia
- Noche: 85% adherencia
TENDENCIA SEMANAL
-----------------
[Grafica de linea de las ultimas 4-12 semanas]
---
Generado por MedTime. Este reporte es informativo y no
constituye diagnostico medico.
Fecha de generacion: [timestamp]
ID de reporte: [UUID]
4.2.3. Disponibilidad por Tier
| Elemento |
Free |
Pro |
Perfect |
| Resumen basico |
Si |
Si |
Si |
| Graficas de barras |
No |
Si |
Si |
| Calendario de calor |
No |
Si |
Si |
| Tendencia semanal |
No |
Si |
Si |
| Periodo personalizado |
30 dias max |
1 ano |
Ilimitado |
| Frecuencia de generacion |
3/mes |
10/mes |
Ilimitado |
4.3. Reporte para Medico (MTS-RPT-001-F03)
4.3.1. Descripcion
Reporte optimizado para compartir con profesionales de salud durante consultas.
4.3.2. Estructura del Reporte
+--------------------------------------------------+
| RESUMEN PARA PROFESIONAL DE SALUD |
| MedTime - Reporte de Paciente |
+--------------------------------------------------+
DATOS DEL PACIENTE
------------------
Nombre: [Nombre completo]
Edad: [Edad] anos
Condiciones: [Lista de condiciones si compartidas]
Alergias: [Lista de alergias si compartidas]
MEDICAMENTOS ACTIVOS
--------------------
| Medicamento | Dosis | Frecuencia | Desde |
|----------------------|----------|--------------|------------|
| Metformina | 850mg | 2x/dia | 15/03/2024 |
| Lisinopril | 10mg | 1x/dia | 20/05/2024 |
| Atorvastatina | 20mg | 1x/dia | 01/01/2024 |
ADHERENCIA (Ultimos 30 dias)
----------------------------
Adherencia global: 85%
[Grafica de tendencia]
ANOMALIAS REPORTADAS
--------------------
- 15/11/2025: Nauseas con Metformina (despues del desayuno)
- 22/11/2025: Mareo con Lisinopril (30 min post-toma)
- 28/11/2025: Olvido por viaje
MEDICIONES DE SALUD (si aplica)
-------------------------------
Glucosa ayuno promedio: 118 mg/dL (rango: 72-185)
Presion promedio: 128/82 mmHg
Ultimo peso: 78 kg (IMC: 26.5)
[Graficas de tendencia de ultimas 4 semanas]
CITAS RECIENTES
---------------
- 15/10/2025: Consulta general - Dr. Martinez
- 01/11/2025: Laboratorios - Laboratorio ABC
NOTAS DEL PACIENTE
------------------
[Espacio con notas agregadas por el paciente]
---
Este reporte fue generado por el paciente usando MedTime.
Los datos son auto-reportados y no han sido verificados
por un profesional de salud.
Codigo de verificacion: [Hash corto]
4.3.3. Codigo de Verificacion
El reporte incluye un codigo de verificacion que permite al medico confirmar:
- Que el reporte fue generado por MedTime
- Que no ha sido modificado
- La fecha y hora de generacion
Verificacion: MT-2025-ABC123
Verificar en: medtime.app/verify/ABC123
4.4. Exportacion Completa (MTS-RPT-001-F04)
4.4.1. Descripcion
Exportacion de todos los datos del paciente para portabilidad (LGPD/ARCO).
4.4.2. Contenido de Exportacion
| Seccion |
Datos |
Formato |
| Perfil |
Datos personales, preferencias |
JSON |
| Medicamentos |
Activos, historicos, configuracion |
JSON, CSV |
| Tomas |
Historial completo de registros |
JSON, CSV |
| Recetas |
Datos estructurados + imagenes |
JSON + archivos |
| Mediciones |
Todas las mediciones con metadata |
JSON, CSV |
| Tratamientos |
Tratamientos no farmacologicos |
JSON |
| Citas |
Historicas y programadas |
JSON, CSV |
| Gamificacion |
Puntos, logros, rachas |
JSON |
| Consentimientos |
Historial de consentimientos |
JSON |
| Auditoria |
Log de accesos (Pro/Perfect) |
JSON |
4.4.3. Estructura de Archivos
flowchart TD
ROOT[medtime_export_fecha/]
ROOT --> manifest[manifest.json<br/>Indice de contenidos]
ROOT --> profile[profile.json<br/>Datos del perfil]
ROOT --> medications[medications/]
ROOT --> doses[doses/]
ROOT --> prescriptions[prescriptions/]
ROOT --> health_events[health_events/]
ROOT --> appointments[appointments/]
ROOT --> gamification[gamification/]
ROOT --> legal[legal/]
ROOT --> audit[audit/]
medications --> med_active[active.json<br/>Medicamentos activos]
medications --> med_history[history.json<br/>Historial de medicamentos]
medications --> med_csv[medications.csv<br/>Version CSV]
doses --> doses_json[doses.json<br/>Registros de tomas]
doses --> doses_csv[doses.csv<br/>Version CSV]
prescriptions --> presc_json[prescriptions.json<br/>Datos de recetas]
prescriptions --> presc_images[images/<br/>Imagenes de recetas]
health_events --> health_measurements[measurements.json<br/>Mediciones]
health_events --> health_treatments[treatments.json<br/>Tratamientos]
health_events --> health_photos[photos/<br/>Fotos de tratamientos]
appointments --> appt_json[appointments.json<br/>Citas]
gamification --> game_progress[progress.json<br/>Progreso de gamificacion]
legal --> legal_consents[consents.json<br/>Consentimientos]
audit --> audit_log[access_log.json<br/>Log de auditoria Pro/Perfect]
4.4.4. Proceso de Exportacion
flowchart TD
A[Usuario solicita exportacion] --> B[Verificar autenticacion MFA]
B --> C[Mostrar opciones de contenido]
C --> D{Seleccion de contenido?}
D -->|Todo| E[Preparar exportacion completa]
D -->|Seleccion| F[Preparar exportacion parcial]
E --> G[Generar archivos]
F --> G
G --> H[Comprimir en ZIP]
H --> I[Cifrar con contrasena]
I --> J{Metodo de entrega?}
J -->|Descarga directa| K[Generar enlace temporal 24h]
J -->|Email| L[Enviar enlace por email]
K --> M[Enviar contrasena por SMS]
L --> M
M --> N[Registrar en auditoria]
N --> O[Notificar al usuario]
4.5. Reportes Automaticos (MTS-RPT-001-F05)
4.5.1. Descripcion
Generacion automatica de reportes en intervalos configurados.
4.5.2. Reportes Programables
| Reporte |
Frecuencias |
Destinatarios |
Tier |
| Resumen semanal |
Semanal |
Paciente, Cuidador |
Pro/Perfect |
| Resumen mensual |
Mensual |
Paciente |
Todos |
| Alertas para cuidador |
Diario |
Cuidador |
Pro/Perfect |
| Reporte pre-cita |
Antes de cita |
Paciente |
Pro/Perfect |
4.5.3. Configuracion de Reportes Automaticos
| Opcion |
Valores |
Default |
| Dia de envio semanal |
Lunes-Domingo |
Domingo |
| Hora de envio |
00:00-23:00 |
08:00 |
| Canal de entrega |
Email, Push, Ambos |
Email |
| Incluir graficas |
Si, No |
Si |
| Recordar cita |
1, 2, 3, 7 dias antes |
1 dia |
5.1. PDF
| Caracteristica |
Especificacion |
| Tamano de pagina |
Carta (US Letter) / A4 |
| Orientacion |
Vertical |
| Fuente |
Open Sans (accesible) |
| Graficas |
Vector cuando posible |
| Marca de agua |
"Generado por MedTime" + fecha |
| Compresion |
Media (balance calidad/tamano) |
| Tamano tipico |
200KB - 2MB |
5.2. CSV
| Caracteristica |
Especificacion |
| Codificacion |
UTF-8 con BOM |
| Separador |
Coma (,) |
| Delimitador de texto |
Comillas dobles (") |
| Formato fecha |
ISO 8601 (YYYY-MM-DD) |
| Formato hora |
ISO 8601 (HH:MM:SS) |
| Primera fila |
Headers descriptivos |
5.3. JSON
| Caracteristica |
Especificacion |
| Codificacion |
UTF-8 |
| Formato |
Pretty print (indentado) |
| Fechas |
ISO 8601 |
| Nulos |
null (no omitir campo) |
| Schema |
JSON Schema disponible |
6. Reglas de Negocio
| ID |
Regla |
Prioridad |
| RN-RPT-001 |
Reportes PDF incluyen marca de agua con fecha/hora de generacion |
Alta |
| RN-RPT-002 |
Maximo 10 reportes por dia por usuario (anti-abuse) |
Media |
| RN-RPT-003 |
Reportes para medico requieren seleccion explicita de periodo |
Alta |
| RN-RPT-004 |
Exportacion completa requiere re-autenticacion MFA |
Alta |
| RN-RPT-005 |
Enlaces de descarga expiran en 24 horas |
Alta |
| RN-RPT-006 |
Contrasena de cifrado se envia por canal diferente (SMS) |
Alta |
| RN-RPT-007 |
Reportes automaticos se desactivan tras 3 entregas fallidas |
Media |
| RN-RPT-008 |
Graficas avanzadas solo disponibles en Pro/Perfect |
Alta |
| RN-RPT-009 |
Codigo de verificacion es valido por 30 dias |
Media |
| RN-RPT-010 |
Reporte para medico no incluye datos de gamificacion |
Alta |
7. Modelo de Datos
7.1. Entidad Reporte
Reporte {
id: UUID (PK)
usuario_id: UUID (FK)
tipo: enum [ADHERENCIA, MEDICAMENTOS, PARA_MEDICO, MEDICIONES, EXPORTACION]
formato: enum [PDF, CSV, JSON]
periodo_inicio: date
periodo_fin: date
contenido: jsonb
archivo_url: string (cifrado)
archivo_hash: string
codigo_verificacion: string
expira_at: timestamp
generado_at: timestamp
descargado_at: timestamp
created_at: timestamp
}
7.2. Entidad ReporteAutomatico
ReporteAutomatico {
id: UUID (PK)
usuario_id: UUID (FK)
tipo: enum
frecuencia: enum [DIARIO, SEMANAL, MENSUAL]
dia_semana: integer (0-6)
hora: time
canal: enum [EMAIL, PUSH, AMBOS]
activo: boolean
ultima_ejecucion: timestamp
errores_consecutivos: integer
created_at: timestamp
updated_at: timestamp
}
8. Integraciones
8.1. Integracion con Email
| Aspecto |
Especificacion |
| Proveedor |
Configurable (SendGrid, SES, etc.) |
| Tipo de email |
Transaccional |
| Adjuntos |
Maximo 10MB |
| Cifrado |
TLS en transito |
8.2. Integracion con HL7 FHIR (v1.5)
| Recurso FHIR |
Mapeo MedTime |
| Patient |
Perfil del paciente |
| MedicationRequest |
Recetas |
| MedicationAdministration |
Registros de toma |
| Observation |
Mediciones de salud |
| Appointment |
Citas |
9. Criterios de Aceptacion
| ID |
Criterio |
| AC-001 |
Usuario puede generar reporte de adherencia en PDF |
| AC-002 |
Reporte muestra graficas de barras y tendencias |
| AC-003 |
Usuario puede seleccionar periodo personalizado |
| AC-004 |
Reporte para medico incluye codigo de verificacion |
| AC-005 |
Exportacion completa genera archivo ZIP cifrado |
| AC-006 |
Contrasena se envia por SMS separado |
| AC-007 |
Enlaces de descarga expiran en 24 horas |
| AC-008 |
Usuario puede configurar reportes automaticos |
| AC-009 |
Reportes automaticos se envian segun configuracion |
| AC-010 |
Sistema registra generacion de reportes en auditoria |
10. Consideraciones de Seguridad
10.1. Proteccion de Datos
| Aspecto |
Implementacion |
| Cifrado en reposo |
AES-256 para archivos generados |
| Cifrado en transito |
TLS 1.3 |
| Acceso a reportes |
Solo usuario propietario |
| Auditoria |
Registro de generacion y descarga |
10.2. Prevencion de Abuso
| Control |
Implementacion |
| Rate limiting |
10 reportes/dia/usuario |
| Timeout de enlaces |
24 horas |
| Verificacion MFA |
Para exportacion completa |
| Notificacion |
Al generar reportes grandes |
11. Referencias
Documento generado por SpecQueen - La especificacion funcional ES el sistema.