Call Schedule System v2.1

Orthopaedic Trauma Surgery Coverage Management

System Status
Loading...
Active Surgeons
4
Hospital Sites
3
Being finalized
API Endpoint
Checking...
Loading identity…

Schedule Dashboard

Calendar

Scroll month by month: day and night coverage at all three sites, weekends and holidays shaded

Review & Approve

See the month being finalized, its warnings and balance, and approve it or request changes

Scheduling Office

Create drafts, send them for review, record final approval, and make controlled updates after approval

Equity Balance

Weekend/holiday duty days and overnight duty nights per surgeon, projected three months ahead

PTO & Absences

Manage surgeon time off (PTO/CME) — blocks day shift AND overnight

Shift Changes

Process swaps, give-ups, and weekday reassignment requests

Amion check

Compare what Amion shows with the approved schedule (Apr–Sep 2026 loaded from Amion as history)

Schedule Months

Which month is live, approved, being finalized, or still planning ahead

Weekday Coverage Pattern (Mon-Thu)

Children's is layered onto each surgeon's home-site day — no one ever covers Children's alone. Fri-Sun is one weekend block (see below).
DayAbbott (ANW)Children's (CHM)United (UNH)
MondayArmitageZeniZeni
TuesdayBoberBoberLee
WednesdayArmitageArmitageZeni
ThursdayBoberLeeLee
Weekend block (Fri-Sun): one surgeon covers all three sites for the full block. Rotates ~1 in 4. No back-to-back blocks. Weekday holidays roll into the adjacent block.

Night Preferences (Seeded from Q1)

Monday: Zeni
Tuesday: Bober
Wednesday: Armitage
Thursday: Lee
No overnight clustering limits. System learns preferences over time.

Key Rule Changes (v2.0)

PTO blocks full day — day shift AND evening overnight
No post-call Monday — weekend surgeon works Monday normally
Separate equity — weekend and overnight tracked independently
Weekend PTO invisible — not reported to management
Post-call Monday restriction — REMOVED
Overnight clustering limits — REMOVED

Call Calendar

BAKBFZTL day night Sat/Sun holiday OFF · PTOOFF · CMENO CALL Friday cells have a purple right edge: the weekend block starts Friday night.
Loading...

Equity Balance

Weekend count and overnight count tracked independently. No combined weighted score. Equity starts from October 1, 2026. Deviation threshold: 10%. Max gaps: 2 weekends, 3 overnights.
Loading equity data...

PTO & Absences

Time off & availability

Vacation, CME and No call block the whole day: the day shift and that evening's overnight. Vacation and CME count as vacation; No call does not. Prefer not / Prefer call are wishes the scheduler tries to honour.
Weekend PTO/CME is not reported to management. Weekend No-Call remains visible.

Site-Pair Warnings

System warns when both surgeons in a site pair are out simultaneously:
PairSites
Armitage + BoberAbbott / Children's
Lee + ZeniUnited
This is a soft warning, not a block.

Recorded time off

Loading...

Shift Changes

Three types: Swap (preferred, balanced exchange), Give-Up (one-way, donor loses equity points), and Weekday Reassignment (via backup cascade).

Request Shift Change

Give-Up Equity Impact: The giving surgeon loses equity points without gaining. The receiving surgeon gains them.

Recent Shift Changes

Loading...

Schedule Months

Loading zones...

Amion check

This app is the scheduling source document. Amion is where the scheduling office publishes the approved schedule. Check Amion reads what Amion currently shows for each approved month and lists every shift where Amion differs from the approved schedule, so the office can correct Amion. Nothing seen on Amion changes the schedule here.

Approved months on Amion

Loading...

History

Loading...

Review & Approve

Loading…
How review and approval works
The scheduling office generates one recommended schedule per month from the current rules, availability, preferences and rolling equity. Every call-pool surgeon approves that exact version or requests changes with a reason; the scheduling office then records the final approval. Approved months are protected: later changes go through a change request or a scheduling-office update, and the original approved version is always kept.

Scheduling Office

Loading…

Constraint Priority Hierarchy

Per the Metro Trauma rule set. Honored swap requests (tied to time off) may override #4, but never #1 or #2.
Loading...

Holidays

A weekday holiday is covered by whoever holds the adjacent weekend block, at all three sites — treated as an extension of that weekend.

Add Holiday

Major = New Year's, Memorial Day, Independence Day, Labor Day, Thanksgiving, day after Thanksgiving, Christmas (observed dates when they fall on a weekend). Existing dates are left alone.

Holidays

Loading...

System Configuration

Loading...

API Reference

MethodEndpointDescriptionChange
GET/api/healthSystem health check
GET/api/surgeonsList active surgeons
GET/api/sitesList hospital sites
GET/api/assignments?start_date&end_dateGet assignments (supports status, surgeon_id filters)Updated
POST/api/assignmentsCreate assignment (auto-zones, import_source)Updated
POST/api/assignments/bulkBulk create (for Amion import)NEW
GET/api/calendar/export.ics?scope=mine|all&drafts=1One-time Outlook / iCalendar download of the current scheduleNEW
POST/api/calendar/feedsCreate a subscription link (GET lists, DELETE /:id removes)NEW
GET/api/calendar/feed/:token.icsSubscription feed Outlook re-reads; no session, the token is the credentialNEW
GET/api/equityEquity in logical burden units over the three-month horizon (ledger from Jul 2026)Updated
GET/api/absences?view=managementAbsences (management view hides weekend PTO)Updated
POST/api/absencesSubmit absence (PTO/CME/coverage, site-pair warnings)Updated
GET/api/shift-changesList shift changesUpdated
POST/api/shift-changesRequest shift change (swap/give-up/reassignment)Updated
PUT/api/shift-changes/:id/approveApprove a shift changeNEW
GET/api/schedule/zones12-month zone breakdownNEW
GET/api/configSystem configurationNEW
PUT/api/config/:keyUpdate config valueNEW
GET/api/draft-confirmations?month=Draft confirmation statusNEW
POST/api/draft-confirmations/initInitialize draft for a monthNEW
PUT/api/draft-confirmations/:id/confirmConfirm a surgeon's draftNEW
GET/api/amion-importsImport historyNEW
POST/api/amion/checkCheck Amion against the approved scheduleNEW
GET/api/constraintsConstraint priority hierarchyNEW
GET/api/day-patternWeekday day coverage patternNEW
GET/api/warnings?start_date&end_dateBack-to-back weekend & other warningsNEW
Schedule assistant
Tell me what to change in plain English, e.g. "Zeni is on PTO Oct 5 to 7, Lee covers United" or "swap my weekend of Sept 12 with Bober's Sept 19". Ask questions too: "who's on at Children's Thursday night?"