Nurse Rostering When the Absences Arrive by Text Message
Nurse rosters are built carefully weeks in advance and then rebuilt, piece by piece, from messages that arrive at 5 a.m. The planning model is rarely the weak point. Getting the message into it is.


Nurse rostering is one of the classic hard problems in operations research. A good roster covers every shift with the right number of staff and the right mix of skills, respects rest periods and contractual limits, and spreads nights and weekends fairly. Hospitals that build rosters with optimization tools usually get good plans — weeks in advance.
Then the messages start. “Off sick tonight.” “Can I swap Thursday with Sam?” “Agency nurse cancelled for the late shift.” Each one has to be read by a ward manager, matched to the right person and shift, and worked into the roster without breaking a rule somewhere else. Most of this happens by hand, often at night.
Nurse rosters are built carefully weeks in advance and then rebuilt, piece by piece, from messages that arrive at 5 a.m. The planning model is rarely the weak point. Getting the message into it is.
§ 02Where the Time Actually Goes
Finding cover is rarely the slowest part. The slow part is everything before it: working out exactly who is affected, which shift, which ward, and whether the obvious replacement would break a rest-time rule or leave a shift without a required skill. A manager doing this from memory and a spreadsheet can easily fix one gap and create another.
§ 03Translate the Message, Then Let the Model Plan
The approach we take with GenOR-Twin separates two jobs. A language model reads the message and proposes a constraint — this person, this shift, unavailable — with a confidence score. That constraint is checked against the ward's own data before it counts: does the person exist on this ward, is the shift in the future, is the change possible at all? Only then does the rostering model work out the best response.
In the published evaluation, which included nurse scheduling among six problem types, this pipeline matched expert readings on 299 of 300 annotated logs, and the validation layer caught 88.2% of incorrect extractions on highly ambiguous messages.
§ 04Keep the Manager in the Loop Where It Matters
Not every message should trigger an automatic change. When cover exists within the roster's slack, a local repair is enough. When it doesn't, or a critical skill would be missing, the roster is re-optimized. And when the system isn't confident it understood the message, it asks the manager to confirm one interpretation rather than acting on a guess. In the same evaluation, planners working with this policy chose the right type of response 98.0% of the time, against 79.5% working alone.
The goal is not to take rostering decisions away from ward managers. It is to stop them spending the first twenty minutes of every disruption doing translation work that a system can do reliably — and to make sure that when they do step in, it is for the decisions that genuinely need them.


