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 |
Sí |
Consulta, Análisis, Procedimiento, Otro |
| titulo |
string |
Sí |
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 |
Sí |
Fecha y hora de la cita |
| duracion_estimada |
integer |
No |
Duración en minutos |
| notas |
string |
No |
Notas o preparación |
| recordatorios |
array |
Sí |
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 |
Sí |
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 |
Sí |
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
- Paciente selecciona "Nueva Cita"
- Sistema muestra formulario de cita
- Paciente selecciona tipo de cita
- Paciente ingresa datos de la cita
- Sistema sugiere recordatorios según tipo:
- Consulta: 1 día antes, 2 horas antes
- Análisis: 1 día antes (con preparación), 2 horas antes
- Paciente ajusta recordatorios si desea
- Sistema valida datos
- Sistema guarda cita
- Sistema programa recordatorios
- 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
- Usuario selecciona cita(s) a exportar
- Sistema genera archivo ICS
- Sistema ofrece opciones: Descargar / Compartir / Abrir con app de calendario
- 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
- Sistema detecta cita pasada sin completar
- Sistema envía notificación: "¿Cómo te fue en tu cita?"
- Paciente abre registro de cita
- Paciente indica si asistió
- Si asistió:
- Opción de agregar notas
- Opción de adjuntar documentos
- Opción de programar seguimiento
- Sistema guarda información
- 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.