OnService

Duty hours in one tap. Bandwidth at a glance.

OnService helps residency teams stay effective. Residents and fellows log their hours with one tap. The app keeps their ACGME numbers and turns the hours into Bandwidth, an estimate of how much each person has left to give. Programs see the whole team on one page, for the residents who choose to share.

Free for trainees. No account and nothing to install.

Bandwidth runs from 0 to 100, and 100 is fully rested. It is worked out from tiredness: every hour on duty draws it down, faster at night and past 12 hours in a row, and every hour off builds it back.

One resident's week, scored by the same model the app uses. Example data. Bandwidth, 0 to 100HospitalCall
  1. Ordinary days build it back. Monday starts at 21, just after a weekend call. Four 12-hour days later, Bandwidth is back to 70.
  2. A call draws it down. Thursday's overnight call makes 27 hours straight. Bandwidth dips to 10 on Friday afternoon, below the 20 mark the app draws in red.
  3. A weekend off restores it. Two days away, and by Sunday night it is back to 99.

For residents and fellows

Logging hours should take a second. OnService makes it one tap, then shows you where you stand.

One tap in, one tap out
A big button checks you in. The same button checks you out. Mark the time as Hospital, Clinic or Call, switch on Night shift for a run of nights, and fix anything you forgot by hand.
Your ACGME numbers, kept for you
Hours this week, this month and in total, with a 4-week average that changes color as you get close to 80 hours a week.
Bandwidth
See how much you have left, and where your call schedule will take you next week, so you can plan your rest ahead of time. If the score doesn't match how you feel, every number behind it can be changed.
Yours to keep
Your log stays on your phone. Copy it out as a spreadsheet (CSV) whenever you like.
Free for trainees, always
There is no account to make and nothing to download from an app store.

To keep it on your home screen: on an iPhone, open it in Safari, tap Share, then Add to Home Screen. On Android, open Chrome's menu and choose Add to Home screen.

The app's Log screen: a large round Check Out button, showing nine and a half hours on the clock.
Log: one button
The app's Bandwidth screen: a chart with a predicted line, an actual line and bars for each day's hours.
Bandwidth: predicted and actual

For program directors and coordinators

The OnService dashboard shows how your team is doing on one page, drawn from what the residents log themselves. See a heavy stretch coming and rebalance while there is still time.

The dashboard overview for an example team: six residents sharing, four on duty now, a team tiredness of 35, two residents with ACGME flags, and a chart of each resident's tiredness over the last 14 days with the team average.
An example team. The names and hours are made up.
  • Who is on duty now, since when, and how long their longest stretch has been this week.
  • Hours for each resident: the last 7 days and the 4-week average, with a marker when someone is within 8 hours of the 80-hour limit.
  • Five ACGME checks, flagged per resident: over 80 hours a week on a 4-week average; more than 24 + 4 hours in one stretch; under 8 hours off between shifts; under 14 hours off after 24 hours of duty; fewer than 4 days off in 28.
  • Bandwidth over time for each resident and for the team, across 7, 14 or 28 days. The dashboard charts it as tiredness, the same score read from the other end.
  • Hours you can file. Download any date range as a spreadsheet file named by program, team and dates.
  • Your own coordinators. Add them by email. Each one signs in separately, and they can look but not change anything.
The dashboard roster for the same example team, listing each resident's status, tiredness, hours and flags, followed by a table of two ACGME flags.
The roster and the flags behind the numbers

Everything here is worked out from logged hours, so treat a flag as a good reason to check in with someone. The dashboard is not an official ACGME report or a verdict on whether anyone is fit for duty.

How a program starts

  1. Write to us. Tell us your program and roughly how many residents you have. We reply with how to get started.
  2. Create a dashboard account. Use your work email on the dashboard sign-in page. We approve it once we have heard from you.
  3. Create your team. The dashboard gives you a join link and a join code.
  4. Send the link to your residents. Each one opens it on their phone, chooses the name you will see, and taps Join.
  5. Watch it fill in. Hours arrive within a minute of each check-in and check-out.

Residents stay in control of what they share

Sharing is each resident's choice. It is off until they turn it on, and they can pause it or leave whenever they like.

Notes on your entries, and the note to your future self
Stays on your phoneNever sent anywhere. Not to your program, and not to us.
Your hours, call schedule, vacation days and settings
Stays on your phone, unless you join a teamIf you never join a team, none of this goes anywhere.
The name of your program and your specialty
Sent once, with no name attachedThe app asks which program you are in so we can count how many people use OnService at each place. Nothing that identifies you or your phone goes with it.
If you join a team
Shared with your team's dashboardThe name you choose to show, your check-in and check-out times and their type, your call schedule, vacation days, training dates and Bandwidth settings. The coordinators your program has added can see them. Pause sharing and they no longer can. Leave the team and the copy is deleted.

Read the full privacy page

For trainees

The app is free and always will be.

For programs

The dashboard is in early access. Write to us if your program wants to try it.

Turn on JavaScript to see the address

OnService is built by a surgery resident.