# DIRECTIVA-GESTION-CITAS **Version:** 1.0 **Fecha:** 2025-12-08 **Vertical:** Clinicas **Nivel:** 2B.2 --- ## PROPOSITO Define las directrices para el sistema de gestion de citas medicas. --- ## ALCANCE - Agenda de medicos - Programacion de citas - Confirmaciones y recordatorios - Gestion de consultorios --- ## PRINCIPIOS ### 1. Disponibilidad Visible - Horarios de medicos siempre actualizados - Slots disponibles en tiempo real - Sin overbooking ### 2. Comunicacion Proactiva - Confirmacion inmediata de cita - Recordatorios automaticos (24h, 2h antes) - Notificacion de cambios ### 3. Optimizacion de Recursos - Maximizar uso de consultorios - Minimizar tiempos muertos - Balance de carga entre medicos --- ## MODELO DE DATOS ### doctors (medicos) ```yaml campos: - id: uuid - employee_id: FK -> hr.employees - license_number: string # cedula profesional - specialty_id: FK -> specialties - consultation_duration: integer # minutos default - max_daily_appointments: integer - status: enum(active, inactive, vacation) ``` ### doctor_schedules (horarios) ```yaml campos: - id: uuid - doctor_id: FK -> doctors - day_of_week: enum(mon, tue, wed, thu, fri, sat, sun) - start_time: time - end_time: time - consulting_room_id: FK -> consulting_rooms - is_active: boolean ``` ### appointments (citas) ```yaml campos: - id: uuid - patient_id: FK -> patients - doctor_id: FK -> doctors - appointment_type_id: FK -> appointment_types - consulting_room_id: FK -> consulting_rooms - scheduled_start: timestamp - scheduled_end: timestamp - actual_start: timestamp - actual_end: timestamp - status: enum(scheduled, confirmed, in_progress, completed, cancelled, no_show) - cancellation_reason: text - notes: text ``` ### consulting_rooms (consultorios) ```yaml campos: - id: uuid - room_number: string - floor: string - equipment: json # equipo disponible - specialty_id: FK -> specialties (si es especializado) - status: enum(available, occupied, maintenance) ``` --- ## FLUJO DE CITA ### Programacion ``` 1. Paciente solicita cita | 2. Selecciona especialidad/medico | 3. Sistema muestra disponibilidad | 4. Paciente selecciona horario | 5. Sistema valida: |-- Disponibilidad del medico |-- Disponibilidad del consultorio |-- No conflictos del paciente | 6. Cita creada (status: scheduled) | 7. Notificacion al paciente ``` ### Confirmacion ``` 24 horas antes: Sistema envia recordatorio Paciente puede: - Confirmar - Reprogramar - Cancelar 2 horas antes: Sistema envia recordatorio final ``` ### Dia de la Cita ``` 1. Paciente llega | 2. Recepcion marca llegada | 3. Cuando medico esta listo: |-- Cita pasa a "in_progress" |-- Registra hora real de inicio | 4. Al terminar: |-- Cita pasa a "completed" |-- Registra hora real de fin ``` --- ## ESTADOS DE CITA ``` scheduled --> confirmed --> in_progress --> completed | | | v v v cancelled no_show cancelled ``` ### Reglas de Transicion | De | A | Condicion | |----|---|-----------| | scheduled | confirmed | Paciente confirma | | scheduled | cancelled | Antes de 24h | | confirmed | in_progress | Paciente presente | | confirmed | no_show | No se presento | | in_progress | completed | Consulta terminada | --- ## NOTIFICACIONES ### Canales | Canal | Uso | |-------|-----| | Email | Confirmacion, recordatorios | | SMS | Recordatorio 2h antes | | WhatsApp | Opcional, si configurado | | Push | Si tiene app instalada | ### Templates ``` Confirmacion: "Su cita con Dr. {doctor} ha sido confirmada para el {fecha} a las {hora}." Recordatorio 24h: "Le recordamos su cita manana {fecha} a las {hora} con Dr. {doctor}. Por favor confirme respondiendo SI o cancele respondiendo NO." Recordatorio 2h: "Su cita es en 2 horas. Direccion: {direccion}. Consultorio: {consultorio}." ``` --- ## INTEGRACION CON CORE ### Herencia de Specs | Spec Core | Aplicacion | |-----------|------------| | SPEC-INTEGRACION-CALENDAR | Base del calendario | | SPEC-TAREAS-RECURRENTES | Citas recurrentes | | SPEC-MAIL-THREAD-TRACKING | Historial de comunicacion | ### APIs a Extender - Calendar del core para la agenda - Notification service para recordatorios --- ## METRICAS | Metrica | Objetivo | Alerta | |---------|----------|--------| | Ocupacion de agenda | > 80% | < 60% | | No-shows | < 5% | > 10% | | Tiempo de espera | < 15 min | > 30 min | | Confirmaciones | > 90% | < 80% | --- ## REFERENCIAS - SPEC-INTEGRACION-CALENDAR.md (core) - DIRECTIVA-EXPEDIENTE-CLINICO.md - HERENCIA-SPECS-ERP-CORE.md --- **Documento de directiva oficial**