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:
+20
-1
@@ -10,11 +10,30 @@
|
||||
- Charset: `utf8mb4`
|
||||
- Collation: `utf8mb4_unicode_ci`
|
||||
|
||||
Migración `034_meetings.sql` (v4.4.0): pendiente de aplicar tanto en desarrollo como en
|
||||
Migración `034_meetings.sql` (v4.4.0): aplicada en desarrollo, pendiente en
|
||||
producción. Crea tablas e índices de reuniones y amplía el tipo de entidad de notificaciones.
|
||||
`DATETIME` se guarda como hora civil de `America/Guayaquil`; la conexión usa `dateStrings: true`.
|
||||
La recurrencia se almacena como JSON de texto y se expande al consultar, sin filas por ocurrencia.
|
||||
|
||||
## Agenda médica (migración 036, v4.7.0)
|
||||
|
||||
`backend/database/migrations/036_clinic.sql` está creada y **no se ha aplicado** en ninguna BD.
|
||||
Usa `utf8mb4`, FKs hacia `users`, `clinic_staff`, pacientes y tipos, e índices de rangos por
|
||||
médico y por paciente. `DATETIME` se interpreta en hora civil de `America/Guayaquil`.
|
||||
|
||||
| Tabla | Uso |
|
||||
|---|---|
|
||||
| `clinic_staff` | permiso `all`/`own`, condición de médico, especialidad, color, activo, versión |
|
||||
| `clinic_patients` | identificación única opcional, contacto mínimo, nacimiento, nota corta, versión |
|
||||
| `clinic_schedules` | tramos por médico y día de semana, lunes=0 |
|
||||
| `clinic_appointment_types` | nombre, duración, color y estado |
|
||||
| `clinic_appointments` | cita, médico, paciente, tipo, estado, canal, cancelación y versión |
|
||||
| `clinic_blocks` | bloqueo de médico, clase y recurrencia con las reglas de reuniones |
|
||||
|
||||
La reserva bloquea la fila `clinic_staff` del médico y la del paciente antes de verificar choques;
|
||||
los cambios de horario y bloqueos se serializan por la misma fila del médico. La migración crea una fila inicial `all` para el superadmin más antiguo; el resto se habilita
|
||||
desde la UI. No hay migración aplicada ni conexión a BD en este cambio.
|
||||
|
||||
## Fuente de verdad
|
||||
|
||||
- La base ya existe: sí (creada en dev el 2026-09-03, usuario `project_linkedcorp`).
|
||||
|
||||
Reference in New Issue
Block a user