Citas
Calendario operativo de la clínica. Desde aquí ves las citas de la semana o el día, las creas arrastrando sobre un hueco libre, las mueves a otro profesional o gabinete y las haces avanzar por su flujo (programada → confirmada → en sala → completada → cobrada).
De un vistazo
- Cuatro vistas — semana, día y kanban en escritorio, y una vista móvil de un día simplificada en pantallas pequeñas. El selector vive en la cabecera, salvo en móvil donde solo existe la vista diaria.
- Filtros por gabinete y profesional — chips encima del calendario. Las citas sin gabinete asignado siempre se ven, para que recepción pueda arrastrarlas al gabinete que toque.
- Drag, resize y arrastre entre días — arrastra una cita a otra hora o profesional para moverla; arrastra su borde inferior para cambiarle la duración. Si solapa con otra del mismo profesional o gabinete, sale un aviso pero la operación se guarda.
- Conflictos del backend — si el servidor rechaza una cita por solape (HTTP 409) el calendario refresca la vista y muestra un toast de error; nada queda inconsistente.
- Vista kanban del día — las citas se agrupan por estado (programada, confirmada, en sala…). Sirve para que la consulta vea de un vistazo qué le toca a continuación.
Crear una cita
Requiere
agenda.appointments.write.
- En la vista semanal/diaria, pulsa o arrastra sobre un hueco libre. En kanban o móvil, pulsa Nueva cita o el botón flotante.
- Selecciona paciente, motivo y duración. El profesional y el gabinete se preseleccionan según el hueco desde el que abriste el modal.
- Guardar. Se publica el evento
appointment.scheduledpara que módulos como notificaciones puedan enviar la confirmación.
Mover o redimensionar
Requiere
agenda.appointments.write.
- Arrastra la tarjeta a otra hora, día o profesional para mover.
- Arrastra su borde inferior para cambiar la duración.
- Si la nueva posición solapa con otra cita del mismo profesional o gabinete verás un aviso amarillo, pero la cita queda guardada. Si el backend rechaza la operación (HTTP 409 por una colisión más estricta), la vista se refresca y la cita vuelve a su posición original.
Avanzar el estado
Requiere
agenda.appointments.write.
- Abre la cita pulsando sobre ella.
- En el panel de Acciones rápidas elige la siguiente transición disponible: Confirmar, En sala, Completar, Cancelar.
- Al transicionar a completada aparece un modal de seguimiento con acciones de módulos hermanos (p. ej. Programar recall). El modal solo se muestra si hay módulos que lo aporten.
Permisos
| Lo que ves / puedes hacer | Permiso |
|---|---|
| Ver calendario, abrir citas, ver historial de gabinete | agenda.appointments.read |
| Crear, mover, redimensionar, cancelar, transicionar | agenda.appointments.write |
| Ver los gabinetes (chips de filtro) | agenda.cabinets.read |
| Editar la nota clínica de la visita | clinical_notes.notes.write |
Resolución de problemas
- No veo el botón "Nueva cita". Tu rol no tiene
agenda.appointments.write. - No salen profesionales en el filtro. Aún no hay miembros de la clínica con rol clínico activo. Crea o activa profesionales desde Ajustes → Usuarios.
- Una cita movida vuelve a su sitio. El backend rechazó el cambio con HTTP 409 (típicamente porque el profesional o el gabinete tiene otra cita en esa franja). Mira el toast de error y prueba otra hora.
- El calendario solo va de 08:00 a 21:00. El módulo
schedulesno está instalado o no tiene horario configurado; la agenda usa la ventana por defecto.