Shifts Journal
Platform

What AI Actually Does When Matching a Nurse to a Shift

Dr. Markus Eigenmann 6 min read
Abstract network matching visualization representing AI nurse-to-shift pairing

The phrase "AI matching" gets used loosely in healthcare staffing. It can mean a basic keyword filter that checks whether a nurse's job title contains the right word. It can also mean a weighted scoring system that reads a dozen signals in parallel and ranks candidates by overall suitability. When we built the matching layer at Carewell, the first design question was not which algorithm to use, it was which requirements are hard constraints and which are scored preferences. Getting that split wrong in either direction creates problems: too many hard constraints and you get empty results for legitimate gaps; too few and you surface candidates who cannot actually do the job safely.

Hard constraints versus scored signals

Some requirements are binary. Either a nurse meets them or they do not, and there is no value in a partial match. We apply these as filters before any scoring happens:

  • Active SRK registration. Swiss Red Cross (SRK/CRS) registration status is checked at matching time, not just at onboarding. If a registration has lapsed, the nurse does not appear in results.
  • Required specialty certifications. When a clinic specifies that ICU certification is required for a particular shift, nurses without that certification are excluded entirely. This is a patient safety requirement, not a preference weight.
  • Language requirement. Swiss hospitals operate in German, French, or Italian depending on canton and ward. A nurse whose documented working language does not match the ward requirement is excluded, regardless of how strong the other signals are.
  • Shift timing coverage. A nurse's stated availability window must cover the full shift duration. Partial availability does not produce a partial match, it produces no match for that shift.

After hard constraints are applied, the remaining candidates are scored. Signals that contribute to the score include travel distance from the nurse's registered address to the clinic, recency and type of prior placements at similar ward environments, and nurse preference flags, clinics they have starred or previously worked with receive a small uplift in the ranking.

What ward type compatibility actually means

Swiss hospital wards span a wide range: internal medicine, surgery, geriatrics, pediatrics, neurology, oncology, palliative care, emergency, and intensive care. A nurse certified for ICU work may not have comfortable workflow in a geriatric ward. These environments have different patient profiles, different documentation rhythms, and different team communication norms. Treating them as interchangeable would produce matches that are technically valid on paper but awkward in practice.

The system reads ward type compatibility from two sources. First, the nurse's documented specialty experience, uploaded certifications and self-reported ward preferences during registration. Second, the clinic's explicit requirement when posting the shift. When these align, the match scores higher. When a nurse has deep experience in one ward type but is being considered for a different one, that mismatch reduces the score but does not necessarily exclude the candidate, unless the ward type is specified as a hard requirement.

Nurses can actively flag which ward types they want to work in. These preference declarations are treated as strong positive signals. A nurse who has flagged interest in geriatric placements will rank higher for a geriatric shift than a nurse with equivalent certifications who has not indicated that preference.

Location, travel range, and cross-canton placements

Swiss nurses typically commute up to 30-45 minutes for a shift. The system estimates travel time from the nurse's registered home address to the clinic using a distance proxy. Nurses set a maximum travel range in their profile, and anything beyond that threshold is excluded from results regardless of how strong the other signals look.

The Swiss transport network creates some interesting cross-canton scenarios. The Zurich-Aargau-Zug corridor is well-connected enough that nurses can realistically cover across those cantonal borders without the placement feeling like a long commute. The Basel area spans two half-cantons and sees regular cross-border placements. The system handles these cases by using travel time as the filter, not administrative borders, which is how nurses themselves think about commute feasibility.

When a shift notification fires and what happens next

When a ward posts a gap and the matching algorithm produces a ranked list, the top-ranked candidates receive a shift notification simultaneously. The ward coordinator sees incoming acceptances in real time. When the first nurse accepts, the other candidates stop receiving the notification for that shift.

This parallel notification approach is deliberately different from a sequential phone-list process. It means the ward gets a confirmed nurse as soon as any qualified candidate accepts, rather than waiting for each call to go unanswered before moving to the next. In our early-access pilot operations with Zurich-area clinics, median time from posting to first acceptance was under ten minutes for day shifts where the nurse pool had reasonable coverage for the required specialty.

Nurses who regularly decline shifts at short notice receive a modest reduction in their ranking for future emergency slots, not a ban, but a learning signal. The system needs to route emergency notifications toward nurses who historically respond and accept, not toward nurses who view and decline repeatedly. This is a fairness mechanism for both sides: clinics get faster responses, and nurses who are genuinely available get more opportunities.

What happens when no match is strong enough

If a shift has no viable candidates after applying hard constraints, the system returns an empty result rather than a misleading partial match. We surface contextual suggestions in that case: posting the shift earlier in the day to give more response time, relaxing a non-critical preference requirement if the ward coordinator agrees, or widening the geographic radius. The ward coordinator makes those decisions, the system identifies the options, it does not make the call.

Transparency about match confidence is deliberately built in. When the top-ranked candidate meets all hard constraints but has a longer travel distance than typical for that clinic, the ward coordinator sees that context. They can confirm the match with complete information rather than discovering the issue after the nurse is booked.

What the system does not do

Automated matching has real and honest limits.

The system cannot assess how a nurse will work with a specific ward team. It cannot evaluate clinical judgment quality from registration data. It does not know whether a nurse's preferred communication style will fit a particular charge nurse or whether someone will feel at ease in a specific ward culture. These things matter, and they belong to human assessment.

What the matching layer does is narrow the field from every registered nurse in the system to the best-fit candidates for a specific shift, based on criteria that are objective and verifiable: credentials, availability, location, ward type compatibility, and stated preferences. The ward coordinator confirms who gets the shift. Whether a specific nurse is the right fit for a specific clinical context on a specific day, that stays with the people who know the ward.

We are not building a system that removes human judgment from shift decisions. We are building one that makes the candidate-selection step fast enough that it does not become the bottleneck when a ward coordinator has three hours to fill a morning gap.

More from Shifts Journal