Saltar a contenido

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. Formatos de Salida

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.