Saltar a contenido

Módulo de Citas, Estudios y Tratamientos

Identificador: MTS-CIT-001 Version: 1.3.0 Fecha: 2025-12-05 Ultima Revision: Iteracion 13 - Correccion ALTA: Referencias cruzadas a MTS-EST-001 y MTS-INT-002 Autor: SpecQueen


1. Propósito

Este módulo permite al paciente gestionar sus citas médicas, estudios de laboratorio/imagen y tratamientos programados, recibir recordatorios inteligentes (incluyendo avisos de ayuno) y mantener un historial completo de eventos médicos.

2. Disponibilidad por Tier

Nota V1.0: Pro y Perfect tienen las MISMAS funcionalidades. Solo difieren en limites de almacenamiento y numero de cuidadores.

Funcionalidad Free Pro Perfect
Citas y estudios Local Cloud sync Cloud sync
Recordatorios Local Push Push
Cuidadores que ven 0 1 5
Historial 30 dias local Ilimitado cloud Ilimitado cloud
Exportar a calendario Manual (ICS) Manual (ICS) Manual (ICS)
Sync bidireccional calendarios NO NO NO (v2.0+)

IMPORTANTE V1.0: La sincronizacion bidireccional con calendarios externos (Google Calendar, Apple Calendar, Outlook) esta planificada para v2.0+. En V1.0 solo se soporta exportacion manual via archivo ICS.

3. 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 Gestiona sus propias citas medicas. Control total sobre agenda.
Paciente Dependiente PD Visualiza sus citas. Cuidador puede gestionar creacion/modificacion.
Cuidador Supervisor CS Visualiza citas del paciente (con permiso). Solo lectura. Recibe recordatorios.
Cuidador Responsable CR Puede crear, modificar y cancelar citas en nombre del paciente.

3.1. Actores del Sistema

Actor Descripcion
Sistema Programa y envia recordatorios, detecta conflictos con medicamentos

4. Funcionalidades

4.1. Registro de Citas (MTS-CIT-001-F01)

4.1.1. Descripción 3.1

Permite al paciente registrar citas médicas y de análisis.

4.1.2. Datos de la Cita

Campo Tipo Obligatorio Descripción
tipo enum Consulta, Análisis, Procedimiento, Otro
titulo string Nombre descriptivo
medico string No Nombre del médico
especialidad string No Especialidad médica
institucion string No Hospital/Clínica
direccion string No Ubicación
fecha_hora datetime Fecha y hora de la cita
duracion_estimada integer No Duración en minutos
notas string No Notas o preparación
recordatorios array Configuración de alertas
recurrente boolean No Si se repite
recurrencia object No Patrón de repetición

4.1.3. Tipos de Evento

Tipo Descripción Subcategorías
CONSULTA Cita médica General, Especialista, Urgencia, Control
ESTUDIO_LAB Estudios de laboratorio Sangre, Orina, Otros fluidos
ESTUDIO_IMAGEN Estudios de imagen Rayos X, Ultrasonido, Tomografía, Resonancia
TRATAMIENTO Tratamientos programados Quimioterapia, Diálisis, Transfusión, Infusión
TERAPIA Terapias de rehabilitación Física, Ocupacional, Psicológica, Respiratoria
VACUNA Vacunación Programada, Refuerzo
PROCEDIMIENTO Procedimientos médicos Cirugía menor, Biopsia, Otros

4.1.4. Campos Adicionales por Tipo

4.1.5. Para Estudios de Laboratorio (ESTUDIO_LAB)

Campo Tipo Obligatorio Descripción
requiere_ayuno boolean Si requiere ayuno previo
horas_ayuno integer Condicional Horas de ayuno requeridas (8-12 típico)
preparacion_especial text No Instrucciones especiales
puede_tomar_agua boolean No Si se permite agua durante ayuno
medicamentos_suspender array No Medicamentos a suspender antes

4.1.6. Para Tratamientos (TRATAMIENTO)

Campo Tipo Obligatorio Descripción
numero_sesion integer No Número de sesión (ej: 3 de 6)
total_sesiones integer No Total de sesiones del tratamiento
duracion_estimada integer Duración en minutos
requiere_acompanante boolean No Si necesita alguien que lo lleve
efectos_esperados text No Efectos secundarios a esperar

4.1.7. Recordatorios Inteligentes para Estudios con Ayuno

+----------------------------------------+
| RECORDATORIO: Estudio de Glucosa       |
| Mañana 8:00 AM - Lab San José          |
+----------------------------------------+
| IMPORTANTE: Este estudio requiere      |
| ayuno de 12 horas.                     |
|                                        |
| Ultima comida permitida:               |
| HOY a las 8:00 PM                      |
|                                        |
| Puedes tomar agua natural.             |
|                                        |
| CONFLICTO DETECTADO:                   |
| Tu Metformina de las 7:00 AM debe      |
| tomarse con alimento. Consulta con     |
| tu médico si debes posponerla.         |
+----------------------------------------+

4.1.8. Flujo: Crear Cita

  1. Paciente selecciona "Nueva Cita"
  2. Sistema muestra formulario de cita
  3. Paciente selecciona tipo de cita
  4. Paciente ingresa datos de la cita
  5. Sistema sugiere recordatorios según tipo:
  6. Consulta: 1 día antes, 2 horas antes
  7. Análisis: 1 día antes (con preparación), 2 horas antes
  8. Paciente ajusta recordatorios si desea
  9. Sistema valida datos
  10. Sistema guarda cita
  11. Sistema programa recordatorios
  12. Sistema ofrece agregar a calendario externo

4.2. Recordatorios de Citas (MTS-CIT-001-F02)

4.2.1. Descripción 3.2

Sistema de alertas para recordar citas próximas.

4.2.2. Recordatorios por Defecto

Tipo de Cita Recordatorio 1 Recordatorio 2 Recordatorio 3
Consulta 1 día antes 2 horas antes -
Análisis 1 día antes 12 horas antes 2 horas antes
Procedimiento 3 días antes 1 día antes 2 horas antes

4.2.3. Contenido del Recordatorio

┌────────────────────────────────────────┐
│ MedTime - Recordatorio de Cita         │
├────────────────────────────────────────┤
│ Mañana a las 10:00                     │
│                                        │
│ Consulta con Dr. García               │
│ Cardiología                            │
│ Hospital San José                      │
│                                        │
│ Preparación: Llevar estudios previos   │
│                                        │
│ [Ver en mapa]  [Ver detalles]         │
└────────────────────────────────────────┘

4.3. Vista de Calendario (MTS-CIT-001-F03)

4.3.1. Descripción 3.3

Visualización de citas en formato calendario.

4.3.2. Vistas

Vista Descripción
Mes Calendario mensual con indicadores
Semana Vista semanal detallada
Agenda Lista cronológica de próximas citas

4.3.3. Integracion con Calendario Externo (V1.0)

IMPORTANTE V1.0: Solo se soporta exportacion unidireccional. Sincronizacion bidireccional planificada para v2.0+.

Plataforma V1.0 V2.0+ (Planificado)
Google Calendar Exportar ICS manual Sync bidireccional
Apple Calendar Exportar ICS manual Sync bidireccional
Outlook Exportar ICS manual Sync bidireccional
Archivo ICS Exportacion manual Exportacion manual

4.3.4. Flujo de Exportacion V1.0

  1. Usuario selecciona cita(s) a exportar
  2. Sistema genera archivo ICS
  3. Sistema ofrece opciones: Descargar / Compartir / Abrir con app de calendario
  4. Usuario importa manualmente en su calendario externo

4.4. Detección de Conflictos con Medicamentos (MTS-CIT-001-F04)

4.4.1. Descripción 3.4

El sistema detecta automáticamente conflictos entre estudios/tratamientos y medicamentos programados.

4.4.2. Tipos de Conflicto

Conflicto Descripción Acción del Sistema
AYUNO_MEDICAMENTO Medicamento debe tomarse con comida durante período de ayuno Alerta con sugerencia de consultar médico
SUSPENDER_MEDICAMENTO Estudio requiere suspender medicamento Lista de medicamentos afectados
HORARIO_CONFLICTO Toma de medicamento coincide con cita/tratamiento Sugerencia de ajustar horario
INTERACCION_ESTUDIO Medicamento puede afectar resultados del estudio Información sobre posible afectación

4.4.3. Flujo de Detección

flowchart TD
    A[Usuario crea estudio con ayuno] --> B[Sistema analiza medicamentos activos]
    B --> C{¿Algún medicamento en horario de ayuno?}
    C -->|Sí| D[Verificar requisitos del medicamento]
    C -->|No| E[Confirmar estudio sin alertas]
    D --> F{¿Requiere tomarse con comida?}
    F -->|Sí| G[ALERTA: Conflicto detectado - consultar con médico]
    F -->|No| H[Avisar que puede tomarse en ayunas]

4.4.4. Vista de Conflicto

+----------------------------------------+
| CONFLICTO DETECTADO                    |
+----------------------------------------+
| Tu estudio de PERFIL LIPÍDICO          |
| (5 Dic 7:00 AM) requiere ayuno         |
| de 12 horas.                           |
|                                        |
| MEDICAMENTOS AFECTADOS:                |
|                                        |
| Metformina 850mg (7:00 AM)             |
| Debe tomarse con alimento.             |
| Recomendación: Consulta con tu médico  |
| si debes posponer esta toma.           |
|                                        |
| Omeprazol 20mg (7:00 AM)               |
| Puede tomarse en ayunas.               |
| Sin conflicto.                         |
|                                        |
| [Entendido] [Contactar médico]         |
+----------------------------------------+

4.5. Historial de Citas (MTS-CIT-001-F05)

4.5.1. Descripción 3.5

Registro histórico de citas pasadas con notas post-consulta.

4.5.2. Datos Post-Cita

Campo Descripción
asistio Si el paciente asistió
notas_consulta Notas de la consulta
diagnostico Diagnóstico recibido
seguimiento Indicaciones de seguimiento
proxima_cita Fecha sugerida de próxima cita
documentos Archivos adjuntos

4.5.3. Flujo: Completar Cita

  1. Sistema detecta cita pasada sin completar
  2. Sistema envía notificación: "¿Cómo te fue en tu cita?"
  3. Paciente abre registro de cita
  4. Paciente indica si asistió
  5. Si asistió:
  6. Opción de agregar notas
  7. Opción de adjuntar documentos
  8. Opción de programar seguimiento
  9. Sistema guarda información
  10. Sistema sugiere digitalizar recetas si aplica

4.6. Citas Recurrentes (MTS-CIT-001-F06)

4.6.1. Descripción 3.6

Citas que se repiten con un patrón definido.

4.6.2. Patrones de Recurrencia

Patrón Ejemplo
Semanal Cada lunes
Quincenal Cada 2 semanas
Mensual El día 15 de cada mes
Trimestral Cada 3 meses
Personalizado Definido por usuario

5. Reglas de Negocio

ID Regla
RN-CIT-001 Citas pasadas sin confirmar se marcan despues de 24 horas
RN-CIT-002 Recordatorios minimo 1 hora antes de la cita
RN-CIT-003 SIN LIMITE de citas/eventos. Usuario puede crear las que necesite
RN-CIT-004 Historial de citas se mantiene indefinidamente (Pro/Perfect) o 30 dias (Free)
RN-CIT-005 V1.0: Solo exportacion manual a calendario (ICS). Sync bidireccional en v2.0+
RN-CIT-006 Estudios con ayuno generan recordatorio automatico de ultima comida
RN-CIT-007 Conflictos con medicamentos generan alerta pero NO bloquean
RN-CIT-008 Tratamientos muestran numero de sesion y total (ej: "Sesion 3 de 6")
RN-CIT-009 Cuidador Supervisor (CS): Solo visualiza. Cuidador Responsable (CR): Puede gestionar
RN-CIT-010 Maximo 5 recordatorios por evento
RN-CIT-011 Cancelacion de evento elimina todos sus recordatorios pendientes
RN-CIT-012 Free: Solo almacenamiento local y recordatorios locales
RN-CIT-013 Pro/Perfect: Sync cloud + push. Mismas funcionalidades, diferente numero de cuidadores
RN-CIT-014 V1.0: Exportacion ICS disponible en TODOS los tiers

6. Modelo de Datos

6.1. Entidad EventoMedico

EventoMedico {
  id: UUID (PK)
  usuario_id: UUID (FK)
  tipo: enum [CONSULTA, ESTUDIO_LAB, ESTUDIO_IMAGEN, TRATAMIENTO, TERAPIA, VACUNA, PROCEDIMIENTO]
  subtipo: string
  titulo: string (encrypted)
  medico_nombre: string (encrypted)
  especialidad: string
  institucion: string (encrypted)
  direccion: string (encrypted)

  // Ubicacion GPS (Iteracion 13)
  ubicacion: jsonb {
    direccion_formateada: string,
    latitud: decimal,
    longitud: decimal,
    place_id: string (opcional, para Google Maps)
  }

  fecha_hora: timestamp
  duracion_minutos: integer
  notas_previas: text (encrypted)
  recordatorios: jsonb
  recurrente: boolean
  recurrencia_patron: jsonb
  recurrencia_padre_id: UUID (FK, nullable)
  estado: enum [PROGRAMADA, COMPLETADA, CANCELADA, NO_ASISTIO]
  notas_post: text (encrypted)

  // Campos para estudios de laboratorio
  requiere_ayuno: boolean
  horas_ayuno: integer
  puede_tomar_agua: boolean
  medicamentos_suspender: jsonb

  // Campos para tratamientos
  numero_sesion: integer
  total_sesiones: integer
  requiere_acompanante: boolean
  efectos_esperados: text (encrypted)

  // Sincronización
  sync_calendar_id: string
  sync_provider: enum [GOOGLE, APPLE, OUTLOOK, NONE]

  created_at: timestamp
  updated_at: timestamp
}

6.2. Entidad ConflictoEventoMedicamento

ConflictoEventoMedicamento {
  id: UUID (PK)
  evento_id: UUID (FK)
  medicamento_id: UUID (FK)
  tipo_conflicto: enum [AYUNO_MEDICAMENTO, SUSPENDER_MEDICAMENTO, HORARIO_CONFLICTO, INTERACCION_ESTUDIO]
  descripcion: text
  severidad: enum [INFO, ADVERTENCIA, CRITICO]
  resuelto: boolean
  accion_tomada: text
  created_at: timestamp
}

7. Criterios de Aceptacion

ID Criterio
AC-001 Paciente (PI) puede crear citas medicas con fecha, hora y detalles
AC-002 Paciente puede crear estudios de laboratorio con requisitos de ayuno
AC-003 Paciente puede crear tratamientos con numero de sesion
AC-004 Sistema envia recordatorios configurables por evento
AC-005 Estudios con ayuno muestran hora limite de ultima comida
AC-006 Sistema detecta conflictos entre estudios y medicamentos
AC-007 Conflictos alertan pero no bloquean la creacion del evento
AC-008 Paciente puede ver calendario integrado con medicamentos
AC-009 Paciente puede exportar citas via archivo ICS (todos los tiers)
AC-010 Paciente puede registrar notas post-evento
AC-011 Sistema soporta eventos recurrentes SIN limite de cantidad
AC-012 Historial de eventos accesible segun tier (30 dias Free, ilimitado Pro/Perfect)
AC-013 Cuidador Supervisor (CS) puede ver eventos. Cuidador Responsable (CR) puede gestionar
AC-014 Free funciona 100% offline con recordatorios locales
AC-015 Pro y Perfect tienen las MISMAS funcionalidades (diferente limite cuidadores)

8. Integraciones

Este módulo se integra con MTS-EST-001 para obtener información de estudios diagnósticos y tratamientos, y con MTS-INT-002 para detectar conflictos entre medicamentos y procedimientos programados.


9. Referencias


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