Shift Scheduler Blog
Turni dei medici: uno schema fisso e venerdì pomeriggio distribuiti equamente
Questo caso di studio, presentato in forma anonima, nasce dalle richieste molto specifiche di un nostro cliente per la pianificazione dei turni. L’obiettivo è offrirti qualche spunto per impostare al meglio le regole del tuo spazio di lavoro.
Le richieste erano queste:
- Il gruppo è composto da 6 medici.
- Ci sono 2 turni: M — mattina (8:00–16:00) e A — pomeriggio (11:00–19:00).
- Ogni medico segue uno schema ricorrente dal lunedì al giovedì:
| Medico | Lunedì | Martedì | Mercoledì | Giovedì |
|---|---|---|---|---|
| Dottoressa 1 | A | A | M | M |
| Medico 2 | M | A | A | M |
| Medico 3 | A | M | A | M |
| Medico 4 | A | M | M | A |
| Medico 5 | M | M | A | A |
| Medico 6 | M | A | M | A |
- I venerdì vengono pianificati a parte: 2 medici lavorano di pomeriggio, con una rotazione equa nel tempo. Gli altri medici disponibili lavorano il venerdì mattina.
- Per la maggior parte dei medici, un venerdì pomeriggio deve essere compensato trasformando uno dei turni pomeridiani dal lunedì al giovedì in un turno mattutino. In questo modo, il numero di mattine e pomeriggi resta il più possibile equilibrato. La dottoressa 1 fa eccezione: le assegnazioni del venerdì non devono modificare il suo schema fisso dal lunedì al giovedì, anche se partecipa alla rotazione dei venerdì pomeriggio.
- Per garantire un’assistenza sicura, ogni giorno lavorativo devono esserci almeno 2 medici nel turno del mattino e 2 in quello del pomeriggio.
- Di norma, tutti lavorano ogni giorno dal lunedì al venerdì. Nessuno vuole il venerdì pomeriggio :)
L’obiettivo: mantenere uno schema di base stabile e ricorrente, automatizzando la gestione dei venerdì, delle assenze e delle eccezioni con il minor numero possibile di modifiche. In caso di ferie o altre assenze, la copertura va riorganizzata senza stravolgere le abitudini degli altri medici.
Per la pianificazione con l’IA servivano quindi regole impostate in modo preciso e un po’ di ragionamento su come avrebbe lavorato l’algoritmo. Se hai bisogno di aiuto con la configurazione, scrivici a adam@shiftscheduler.ai: saremo felici di darti una mano. In questo caso abbiamo configurato lo spazio di lavoro così:
- In
/locationsabbiamo creato, per ogni giorno dal lunedì al venerdì, 2 posti da coprire per il turno M del mattino e 2 per il turno A del pomeriggio.
Regole per l’IA, con il livello di importanza tra parentesi:
- Ogni persona può avere al massimo un turno al giorno (Obbligatoria).
- Ogni venerdì si possono assegnare al massimo 2 turni A complessivi a tutto il gruppo (Obbligatoria).
- Distribuire equamente i turni A del venerdì, in modo che nel tempo ciascuno ne svolga un numero il più possibile simile a quello degli altri (Alta).
- I medici 2, 3, 4, 5 e 6 non dovrebbero avere più di 2 turni A ciascuno a settimana (Alta).
- La dottoressa 1 non deve lavorare nel turno A il mercoledì né il giovedì (Obbligatoria).
- La dottoressa 1 non deve lavorare nel turno M il lunedì né il martedì (Obbligatoria).
- Per il medico 2, evitare i turni A il lunedì e il giovedì (Media).
- Per il medico 2, evitare i turni M il martedì e il mercoledì (Bassa).
- Per il medico 3, evitare i turni A il martedì e il giovedì (Media).
- Per il medico 3, evitare i turni M il lunedì e il mercoledì (Bassa).
- Per il medico 4, evitare i turni A il martedì e il mercoledì (Media).
- Per il medico 4, evitare i turni M il lunedì e il giovedì (Bassa).
- Per il medico 5, evitare i turni A il lunedì e il martedì (Media).
- Per il medico 5, evitare i turni M il mercoledì e il giovedì (Media).
- Per il medico 6, evitare i turni A il lunedì e il mercoledì (Media).
- Per il medico 6, evitare i turni M il martedì e il giovedì (Bassa).
- Nessuno deve lavorare nel fine settimana (Obbligatoria).
Come vedi, si tratta soprattutto di definire dei limiti: invece di indicare soltanto quando le persone devono lavorare, specifichiamo quando dovrebbero evitare un certo turno. L’algoritmo riceve così una penalità se non rispetta una regola di importanza Alta, Media o Bassa. Le regole con importanza «Obbligatoria», invece, sono vincoli rigidi che non possono essere violati.
Il limite settimanale dei pomeriggi favorisce la compensazione dei venerdì, mentre le preferenze per i singoli giorni mantengono il piano vicino allo schema di base. Questo prevede, ogni giorno dal lunedì al giovedì, 3 medici al mattino e 3 al pomeriggio. Spostando un turno dal pomeriggio al mattino, restano comunque i 2 medici necessari al pomeriggio. Se entrambi i medici assegnati al venerdì pomeriggio hanno bisogno di compensare un turno in settimana, le due modifiche devono avvenire in giorni diversi per mantenere la copertura. In un singolo mese non è sempre possibile distribuire i venerdì in modo perfettamente uguale: l’equità va cercata nel tempo.
Abbiamo chiesto all’agente IA di avviare la pianificazione. Quando ci è stato richiesto, era importante specificare quante ore ciascuna persona dovesse lavorare nel mese. In questo modo, il sistema non si limita a coprire i posti previsti, ma crea anche turni aggiuntivi affinché tutti lavorino dal lunedì al venerdì, salvo assenze e festività. Con questi turni di 8 ore, il riferimento è di 8 ore per giorno lavorativo, adeguando gli obiettivi alle assenze e alle eventuali pause non retribuite.
Le schermate qui sotto mostrano il risultato. In un mese senza ferie né richieste particolari, tutti possono seguire la rotazione abituale, con gli aggiustamenti in settimana necessari a compensare i venerdì pomeriggio e a distribuirli equamente. La seconda schermata mostra un piano con ferie e richieste individuali. Il sistema cerca automaticamente una distribuzione equilibrata e permette di generare il piano ogni mese con un clic, tenendo conto delle richieste delle persone. Se le assenze lasciano troppo pochi medici disponibili per garantire la copertura, alcuni posti restano scoperti e il piano deve essere rivisto.

