Skip to main content
The ORbit iOS app is a native SwiftUI companion to the web platform. It connects to the same Supabase backend and provides role-based experiences for surgeons, OR staff, and device reps — optimized for mobile workflows in and around the operating room.
The iOS app shares the same database, same RLS policies, and same data model as the web app. Cases, milestones, staff assignments, and analytics are all in sync across both platforms.

Role-based navigation

The iOS app adapts its tab bar based on the logged-in user’s role:
TabIconDescription
HomeHousePersonal dashboard with today’s schedule, ORbit Score, and progress tracking
RoomsDoorRoom status board with case progress and pace tracking
CasesFolderFull case list with filters and case detail
ActionsPlusQuick actions sheet (call next patient, surgeon left)
AlertsBellNotification center with real-time updates
ProfilePersonSettings, appearance, Face ID, and account management

Surgeon home

The surgeon home tab is a personalized dashboard showing everything a surgeon needs for the day at a glance.

Greeting header

A time-based greeting (Good morning / Good afternoon / Good evening) with the surgeon’s name and today’s date.

ORbit Score card

Displays the surgeon’s current performance scorecard — composite score, pillar breakdown, and trend indicators. Scores are read from the pre-computed surgeon_scorecards table.

Schedule card

MetricDescription
Total casesNumber of cases scheduled for the day
Procedure groupsTypes of procedures on the schedule
First case timeScheduled start time of the day’s first case

Progress card

MetricDescription
Completed vs. totalCases finished out of total scheduled
Elapsed timeTime since first case start
Estimated finishProjected end time based on median durations
Surgeon done timeWhen the surgeon is expected to finish all cases

Insights section

Contextual insights for the day:
  • Team insights — who’s on the surgical team, role assignments
  • Anesthesiologist insights — assigned anesthesia provider and schedule overlap
  • Rep status — device rep confirmation and tray delivery status

Today’s cases

A scrollable list of the day’s cases. Tap any case to open the full case detail view. Each card shows procedure name, room assignment, scheduled time, and current status.

Empty state

When no cases are scheduled, the home screen shows a “No Cases Today” message with a preview of the surgeon’s next OR day and its case count.

Rooms

The rooms tab displays a room-by-room status board, similar to the web rooms page but optimized for mobile.

Features

  • Date selector — navigate between dates with previous/next buttons and a “Today” shortcut
  • Room filter — filter to a specific OR room or view all rooms
  • Multi-case room cards — each room shows its current case and upcoming cases
  • Status indicators — visual badges for in-progress, scheduled, and completed cases
  • Pace tracking — color-coded progress bars (green = ahead, yellow = on pace, red = behind)
  • Completed cases toggle — show or hide finished cases
On iPad, tapping a case in the rooms view enters Room Mode — a full-screen OR dashboard optimized for wall mounting. See Room Mode for details.

Cases

The cases tab provides a comprehensive case list with multiple filter options.

Filters

FilterOptions
DateNavigate between dates
RoomFilter by specific OR room
StatusAll, Active, Scheduled, Completed, Delayed
Cases are grouped into sections by status: In Progress, Delayed, Scheduled, and Completed.

Case cards

Each case card displays:
  • Procedure name and laterality
  • Surgeon name and avatar
  • Room assignment
  • Scheduled time
  • Status badge with color coding

Case detail view

Tap any case to open the detailed case view with:
  • Milestone timeline — carousel of all milestones with recording capability (tap to stamp)
  • Enterprise time cards — elapsed timers for total case time and surgical time
  • Staff assignments — current team with ability to add/remove staff
  • Delay records — logged delays with reason codes and durations
  • Implant tracking — implant data and sizing information
  • Notes — free-text case notes and documentation

Actions sheet

The Actions sheet provides quick access to common workflow actions. Available actions depend on the current context:
ActionAvailabilityDescription
Call next patientAlwaysNotify staff that the room is ready for the next patient
Surgeon leftWhen a case is in progressMark the surgeon’s departure from the OR
Add staffIn case detailAssign additional staff to the current case
Add delayIn case detailRecord a delay with a reason code
Add implantIn case detailLog implant sizing and details
Surgeons only see Call next patient and Surgeon left — the staff-focused actions (add staff, add delay, add implant) are available to OR coordinators and nurses.

Alerts (notification center)

The alerts tab is a unified notification center that surfaces events across the platform:

Notification types

  • HL7v2 integration — EHR import events, review queue items, and integration errors
  • Data quality — missing milestones, validation issues, and anomaly detection alerts
  • Case updates — milestone recordings, staff changes, and delay notifications
  • System alerts — maintenance windows, feature announcements, and account notifications

Features

  • Real-time delivery via Supabase Realtime subscriptions
  • Unread count badge on the tab bar
  • Auto-cleanup of old notifications
  • Push notifications via APNs for backgrounded app alerts
  • Tap to navigate — tapping a notification opens the relevant case or setting

Device rep experience

Device representatives get a specialized multi-facility interface focused on tray management and case preparation.

Multi-facility cases

  • Cross-facility view — see cases from all assigned facilities in one list
  • Facility filter — toggle between all facilities or filter to a specific one
  • Grouped by facility — cases organized under facility headers

Status filters

FilterDescription
AllAll cases across assigned facilities
Needs ActionCases with trays pending delivery or confirmation
ActiveCases currently in progress
ScheduledUpcoming cases needing preparation
CompletedFinished cases

Tray management

Each case card shows tray status at a glance:
StatusMeaning
RequestedTrays have been ordered but not yet confirmed
ConfirmedRep has confirmed tray availability
DeliveredTrays are on-site at the facility
ReturnedTrays have been picked up post-case
Reps can confirm availability, mark as delivered, and add notes directly from the case detail view.

Active case bar

A floating bar appears above the tab bar whenever there’s an in-progress case at the user’s facility. It shows the current case’s procedure, room, surgeon, and elapsed time. Tapping the bar navigates directly to the case detail.

Authentication

Login

Standard email + password authentication against Supabase Auth. Sessions are stored securely in the iOS Keychain with automatic token refresh (5 minutes before expiry).

Face ID

When available, Face ID can be enabled in Profile settings. When active, the app prompts for biometric authentication on launch with a fallback to password entry.

Forgot password

Email-based password reset flow accessible from the login screen.
Tokens are refreshed automatically in the foreground. If the app has been suspended for an extended period, the session refreshes immediately when the app returns to the foreground.

Device support

DeviceExperience
iPhoneFull app with standard tab navigation
iPadFull app plus Room Mode — a dedicated full-screen OR dashboard with voice commands
UI elements scale automatically between iPhone and iPad using a 1.0x / 1.5x device scaling factor for fonts and spacing.

Next steps

Room Mode

Full-screen OR dashboard with voice commands (iPad).

iOS settings

Configure appearance, Face ID, and voice feedback.

Voice commands

Hands-free milestone recording and case control.

iOS architecture

Technical deep-dive for developers.