5 operaciones · base https://api.bestdoctorsrd.com
GET/v1/roster-periods
Los períodos del rol de una unidad
Qué rangos del rol están en borrador y cuáles publicados.
`VIEW` basta, igual que `GET /roster` y que la cuadrícula: saber si el rol de un servicio está
publicado es información de operación y no dato personal de asistencia.
PAGINA EN SERVIDOR y con el mismo sobre que el resto de los listados del módulo. Ordena por
fecha de inicio DESCENDENTE: lo que se mira es lo próximo que hay que publicar y lo último que se
publicó, no el rol de hace dos años.
Parámetros
Nombre
En
Tipo
Obl.
unitId
query
string o nulo
No
status
query
string o nulo
No
page
query
integer
No
page_size
query
integer
No
tenant_id
query
string o nulo
No
Respuestas
Código
Descripción
Devuelve
200
Respuesta correcta
PagedResponse_RosterPeriodOut_
422
Error de validación
HTTPValidationError
POST/v1/roster-periods
Declarar un rango en borrador
Declara un rango de fechas de una unidad como rol EN BORRADOR.
Nace en borrador SIEMPRE, y nunca publicado: publicar es otra operación, con otro permiso y con
su propio asiento. Un alta que pudiera nacer publicada dejaría el rol oficial del centro a un
parámetro de distancia de quien sólo tiene permiso para armarlo.
`CREATE` y no `MANAGE`: declarar que se va a armar el rol del mes es supervisión.
La unidad se exige ACTIVA. Una unidad desactivada no recibe asignaciones nuevas (CR-536), así que
declarar un rango nuevo sobre ella sería preparar un rol que no se puede llenar; lo que ya tiene
se sigue viendo, corrigiendo y publicando.
Parámetros
Nombre
En
Tipo
Obl.
tenant_id
query
string o nulo
No
Cuerpo obligatorioRosterPeriodIn
Campo
Tipo
Obl.
unitId
string
Sí
startDate
string (date)
Sí
endDate
string (date)
Sí
notes
string o nulo
No
Respuestas
Código
Descripción
Devuelve
201
Respuesta correcta
RosterPeriodOut
422
Error de validación
HTTPValidationError
DELETE/v1/roster-periods/{periodo_id}
Descartar un rango en borrador
Descarta un rango EN BORRADOR. Un período publicado se retira, no se borra.
Existe porque los períodos de una unidad no se solapan: un rango tecleado con el mes equivocado
bloquea el correcto, y sin esto habría que arreglarlo en la base.
**NO TOCA NI UNA GUARDIA.** Lo que se descarta es el rango declarado, no el rol: las
asignaciones de esas fechas siguen escritas, en borrador, y se publican en cuanto se declare el
rango bueno. Borrar el rol al descartar el rango sería destruir trabajo por corregir una fecha.
Parámetros
Nombre
En
Tipo
Obl.
periodo_id
path
string
Sí
tenant_id
query
string o nulo
No
Respuestas
Código
Descripción
Devuelve
204
Respuesta correcta
—
422
Error de validación
HTTPValidationError
POST/v1/roster-periods/{periodo_id}/publicar
Publicar el rol de un rango
Deja el rol de ese rango como HORARIO OFICIAL de la unidad.
**`MANAGE`, que es más fuerte que el `CREATE`/`UPDATE` de asignar**, y es criterio del CR: armar
el rol de una unidad es supervisión; decir que ese rol es el horario oficial del centro no lo es.
Con el mismo permiso para las dos cosas, el borrador no protegería de nada.
QUÉ HACE, en este orden:
1. marca el período como publicado, con **quién y cuándo** —el asiento mínimo que sustenta qué
horario estaba vigente en una fecha—;
2. marca como oficiales las guardias VIVAS de esa unidad en ese rango que aún no lo eran;
3. cuenta los **huecos de cobertura** con el cálculo del CR-539 y el CR-540, y los devuelve como
AVISOS. **No impide publicar**: el rol del sábado hay que publicarlo aunque falte gente. Lo
que hace la pantalla con ellos es no cerrarse hasta que se lean;
4. deja su **propio asiento** en la bitácora, con los valores.
LAS CANCELADAS NO SE MARCAN. Una guardia cancelada es historial del rol, no horario: marcarla
como oficial diría que el centro publicó un turno que había deshecho. Si se reactiva después, el
PATCH la marca en ese momento —y como corrección posterior, que es lo que es—.
Parámetros
Nombre
En
Tipo
Obl.
periodo_id
path
string
Sí
tenant_id
query
string o nulo
No
Cuerpo obligatorioPublicacionIn
Campo
Tipo
Obl.
notes
string o nulo
No
Respuestas
Código
Descripción
Devuelve
200
Respuesta correcta
PublicacionOut
422
Error de validación
HTTPValidationError
POST/v1/roster-periods/{periodo_id}/retirar
Devolver un período a borrador
Devuelve un período publicado a BORRADOR: deja de ser el horario oficial.
`MANAGE`, el mismo permiso que publicar y por la misma razón: retirar el horario oficial de un
servicio tiene exactamente el mismo alcance que ponerlo.
NO ES PARA CORREGIR. Corregir un rol publicado se hace en la cuadrícula, y la corrección entra al
horario oficial marcada como posterior a la publicación —que es el criterio del CR—. Esto es para
lo otro: el rango que se publicó por error, o el mes que hay que rehacer entero.
LAS GUARDIAS QUE ESTA PUBLICACIÓN HIZO OFICIALES DEJAN DE SERLO, y se buscan por
`publishedPeriodId` y no por fechas: una fila escrita después dentro del mismo rango también la
marcó esta publicación, y razonar por fechas la dejaría publicada sin período que la respalde.
Lo que NO se toca es `revisedAt`: que se corrigió es un hecho y no se deshace.