Staff Rostering Platform for an Ontario Community Hospital
Designed and built a clickable rostering platform for a 260-bed Ontario community hospital: 6-week unit schedules checked against collective agreement rules, a live staffing board for today, sick calls filled in agreement call-out order, and a requests inbox that checks every swap before it is approved.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, roster planner, staffing board, call-out list, call-out detail and requests inbox, with the Log sick call modal and the shift detail, rule check and swap panels.
Part-time on the unit at straight time, then casual staff by hours offered, then full-time at overtime by rotation. Every skip needs a reason, and the list is kept as a snapshot for grievance review.
4 West's 6-week period for 21 staff, checked against the ONA-2026 v3 and CUPE-2026 v2 rule sets. Hard breaches such as 8.0 h rest against a 12.0 h minimum must be fixed or overridden before posting.
39 staff including a 6-person float pool, 16 call-outs, 18 staff requests, 9 shift codes and overtime and agency budgets for every unit.
Tamarack Bend built schedules in one spreadsheet per unit, kept by clerks who knew their own collective agreement rules by memory. Swaps were paper forms in a binder, and a 05:30 sick call meant working down a printed seniority list by phone, an order disputed in grievances more than once. Nobody could see hospital-wide how many shifts were short today, while overtime and agency spend grew for three years in a row.
Watchbill covers the whole scheduling cycle: 6-week unit schedules checked against the agreement rule set in force, a live staffing board of every unit's gaps, call-outs offered in the order the agreement sets with every attempt logged, and a requests inbox that runs rule and coverage checks on each swap, time-off request and bid.
An Ontario hospital schedules under several collective agreements at once, on top of employment standards and its own fatigue and skill mix policy. The right answer depends on who the staff member is, which bargaining unit they belong to and what they have already worked this week.
Nurses are covered by the ONA hospital agreement plus a local one, other staff by unions such as CUPE or OPSEU. Each sets its own posting lead time, weekends off, consecutive shift limits and short-notice premiums, so the rules are configured per bargaining unit and versioned, never hard-coded.
Extra shifts must be offered in the order the agreement sets, often by seniority measured in hours for part-time staff and years for full-time. When a sick call is disputed, labour relations needs to reproduce exactly who was offered the shift, when, and why anyone was skipped.
The ESA sets floors for daily and weekly rest and overtime, but some provisions do not apply to regulated health professionals and a better agreement term prevails. The product checks the stricter of the two per staff group, plus hospital fatigue limits under the OHSA duty of care.
Every shift needs the right skill mix, such as a critical care RN in ICU or a charge-capable RN on each unit. Nurses must hold a current College of Nurses of Ontario registration, and French-designated units need a French-speaking staff member on shift.
Mapped 10 user roles, 43 screens across the staff web app and a mobile staff app, and the data model for employees, units, shift codes, versioned agreement rule sets, schedule periods, call-outs, requests, float and agency bookings, rule exceptions and the audit log. Wrote down the rules the design follows: the ESA, collective agreements, seniority, CNO registration, skill mix, the OHSA, FIPPA and PHIPA, and French language services.
Built 6 key screens on a production dashboard kit: the dashboard with KPIs, a 7-day coverage heat map and overtime against budget, the roster planner with demand rows and rule summary, the staffing board with unit cards and the gap list, call-outs with the ordered list, offer modes and attempt log, and the requests inbox with swap checks, override and bulk approve. All actions run on local state.
Integration with the HR system for staff records and seniority (such as Workday or SAP SuccessFactors), payroll export to Ceridian Dayforce or UKG Pro, unit acuity from Meditech or Epic, CNO register checks, Twilio SMS and voice call-outs and mobile push. Microsoft Entra ID sign-in by role, the constraint solver behind auto-scheduling, an append-only audit log, and the staff self-service app in English and French.
Every cell in the roster shows its shift code, premiums, approved time off and a red corner for a breach. The rule summary counts hard breaches and soft warnings, and a schedule cannot be posted until every hard breach is fixed or overridden by a manager with a reason.
The call-out list is built from the bargaining unit's configured order and shows each person's seniority, hours this week, overtime and rule check. Offers go one at a time with a 15-minute timeout or as a group, and every SMS, push and phone attempt is logged.
Unit cards show census, acuity and required against on-duty staff by role, turning amber when short 1 and red when short 2 or a required skill is missing. Each gap links to its call-out, float or agency request, so the staffing office sees every open shift at once.
Each swap, give-away, time-off request and bid shows its rule check and coverage impact before a decision, such as a swap that would push a nurse past 3 consecutive nights. Rows that pass every check can be approved in bulk; a breach needs an override that is logged as a rule exception.

Built a multi-department clinic operations console with appointment management, department load tracking, staff performance, resource utilisation and an AI assistant for staff queries - shipped from clickable AI prototype to production in 14 weeks.

Designed and built a clickable booking and intake platform for a group of GP, physiotherapy and psychology clinics in regional Victoria and southern NSW: a day calendar by practitioner or room, pre-visit forms reviewed before the visit, and a clinician-only queue that puts every risk answer in front of a clinician against a response target.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab