Recurso

roster-periods

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

NombreEnTipoObl.
unitIdquerystring o nuloNo
statusquerystring o nuloNo
pagequeryintegerNo
page_sizequeryintegerNo
tenant_idquerystring o nuloNo

Respuestas

CódigoDescripciónDevuelve
200Respuesta correctaPagedResponse_RosterPeriodOut_
422Error de validaciónHTTPValidationError
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

NombreEnTipoObl.
tenant_idquerystring o nuloNo

Cuerpo obligatorio RosterPeriodIn

CampoTipoObl.
unitIdstring
startDatestring (date)
endDatestring (date)
notesstring o nuloNo

Respuestas

CódigoDescripciónDevuelve
201Respuesta correctaRosterPeriodOut
422Error de validaciónHTTPValidationError
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

NombreEnTipoObl.
periodo_idpathstring
tenant_idquerystring o nuloNo

Respuestas

CódigoDescripciónDevuelve
204Respuesta correcta
422Error de validaciónHTTPValidationError
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

NombreEnTipoObl.
periodo_idpathstring
tenant_idquerystring o nuloNo

Cuerpo obligatorio PublicacionIn

CampoTipoObl.
notesstring o nuloNo

Respuestas

CódigoDescripciónDevuelve
200Respuesta correctaPublicacionOut
422Error de validaciónHTTPValidationError
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.

Parámetros

NombreEnTipoObl.
periodo_idpathstring
tenant_idquerystring o nuloNo

Cuerpo obligatorio PublicacionIn

CampoTipoObl.
notesstring o nuloNo

Respuestas

CódigoDescripciónDevuelve
200Respuesta correctaPublicacionOut
422Error de validaciónHTTPValidationError