Block Scheduling

Build block schedules that meet every requirement

Encode your program's rotation rules once and let OSO generate block schedules that balance requirements with resident requests.

A rule for every requirement

Every program has unique requirements. We've worked with many different programs and built rules for almost any case.

Simple configurations
Configurations are intutive and have full documentation.
Wide rule coverage
Control both high level and granular details.
Built from experience
Rules gathered across many programs and schedules.
Missing a rule?
We'll add it for you quickly.
Resident well-being

Resident requests matter as much as program rules

We've reviewed thousands of requests so OSO can support any type of resident request.

Residents prioritize what's important to them instead of defaulting to vacation requests only.

“ Getting to do my ICU rotation early in the year allowed me to get a letter of recommendation for fellowship applications and set me up for the next few years! ”
- Resident feedback
Request form

An integrated request form

OSO provides a full request form out of the box. There's no need to build a Google Form and translate responses into another system. Residents configure their requests directly in OSO, and you review them there too.

Iteration

Easily iterate on rules

Even after you set your initial rules, things will inevitably change - residents go on leave, rotations change capacity, etc. Instead of rebuilding the schedule from scratch, make the change and rerun the optimizer.

Analytics

Analyze your schedule

With built-in analytics, you can see staffing counts on each rotation every block, how many times each resident is assigned to each rotation, and how many resident requests are satisfied.

See if OSO works for your schedule

Schedule a demo and we'll walk through how OSO handles your program's rotations and rules. Afterward, you can start a free trial to see it work on your own schedule.