feat: version 4.7.0 -- Agenda medica
Modulo clinic (habilitado por usuario): citas de pacientes para medicos con choques bloqueantes (medico, paciente con cualquier medico, quirofano/bloqueos recurrentes y horario de atencion), validados en transaccion con bloqueo de filas para que dos recepcionistas no tomen el mismo hueco. Recepcion (alcance todos) y medico (alcance propio). Vista Dia por columnas de medico, Semana y Lista; pacientes con historial; bloqueos; configuracion de personal, horarios y tipos solo admin/superadmin. Capa de citas en el calendario personal del medico. Migracion 036. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -93,6 +93,25 @@ tiene cada cosa — sin que cargar la información sea tedioso para quien lo usa
|
||||
- La pestaña Calendario del proyecto muestra todas sus actividades y todas las reuniones
|
||||
vinculadas al proyecto (requiere acceso de lectura al proyecto).
|
||||
|
||||
### 7 bis. Agenda médica (v4.7.0)
|
||||
- `clinic` se habilita explícitamente por usuario (desactivado por defecto; superadmin siempre tiene el módulo). Además exige una fila activa en `clinic_staff`: `all` permite
|
||||
a recepción ver/agendar con todos los médicos, gestionar pacientes y bloqueos; `own` permite
|
||||
a un médico ver su agenda, gestionar sus bloqueos y marcar atendida/no asistió. No crea citas.
|
||||
Los médicos conservan el resto de sus módulos y no se crea un rol del sistema.
|
||||
- Admin/superadmin con acceso a `clinic` y fila de staff configuran personal, horarios por tramos
|
||||
y tipos de cita desde la pestaña Configuración de agenda.
|
||||
- Día muestra columnas por médico; Semana muestra un médico; Lista muestra citas y bloqueos.
|
||||
Crear cita desde un hueco precarga médico/hora; el tipo fija la duración por defecto.
|
||||
- Una cita no cancelada solo cabe si está completa dentro de un tramo de atención y no cruza
|
||||
otra cita del médico, un bloqueo suyo (también recurrente) ni otra cita del paciente con
|
||||
cualquier médico. Son errores 409 bloqueantes; la validación se repite bajo bloqueo de filas
|
||||
en una transacción para evitar reservas simultáneas del mismo hueco.
|
||||
- Crear/editar un bloqueo que cruce citas devuelve las citas afectadas; solo se guarda tras
|
||||
`confirmAffected=true`. No cancela las citas: recepción debe reprogramarlas.
|
||||
- Datos de paciente mínimos, sin historia clínica; cambios auditados sin incluir datos sensibles
|
||||
en el detalle. `DATETIME` representa hora civil `America/Guayaquil`.
|
||||
- El calendario personal muestra al médico sus citas activas y bloqueos en la capa Citas médicas.
|
||||
|
||||
### 8. Gantt
|
||||
- Vista de solo lectura por proyecto: barras por actividad (inicio/fin/avance), sin edición directa
|
||||
desde el gráfico en el MVP.
|
||||
|
||||
Reference in New Issue
Block a user