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:- Surgeons
- OR staff
- Device reps
| Tab | Icon | Description |
|---|---|---|
| Home | House | Personal dashboard with today’s schedule, ORbit Score, and progress tracking |
| Rooms | Door | Room status board with case progress and pace tracking |
| Cases | Folder | Full case list with filters and case detail |
| Actions | Plus | Quick actions sheet (call next patient, surgeon left) |
| Alerts | Bell | Notification center with real-time updates |
| Profile | Person | Settings, 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-computedsurgeon_scorecards table.
Schedule card
| Metric | Description |
|---|---|
| Total cases | Number of cases scheduled for the day |
| Procedure groups | Types of procedures on the schedule |
| First case time | Scheduled start time of the day’s first case |
Progress card
| Metric | Description |
|---|---|
| Completed vs. total | Cases finished out of total scheduled |
| Elapsed time | Time since first case start |
| Estimated finish | Projected end time based on median durations |
| Surgeon done time | When 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
| Filter | Options |
|---|---|
| Date | Navigate between dates |
| Room | Filter by specific OR room |
| Status | All, Active, Scheduled, Completed, Delayed |
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:| Action | Availability | Description |
|---|---|---|
| Call next patient | Always | Notify staff that the room is ready for the next patient |
| Surgeon left | When a case is in progress | Mark the surgeon’s departure from the OR |
| Add staff | In case detail | Assign additional staff to the current case |
| Add delay | In case detail | Record a delay with a reason code |
| Add implant | In case detail | Log 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
| Filter | Description |
|---|---|
| All | All cases across assigned facilities |
| Needs Action | Cases with trays pending delivery or confirmation |
| Active | Cases currently in progress |
| Scheduled | Upcoming cases needing preparation |
| Completed | Finished cases |
Tray management
Each case card shows tray status at a glance:| Status | Meaning |
|---|---|
| Requested | Trays have been ordered but not yet confirmed |
| Confirmed | Rep has confirmed tray availability |
| Delivered | Trays are on-site at the facility |
| Returned | Trays have been picked up post-case |
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
| Device | Experience |
|---|---|
| iPhone | Full app with standard tab navigation |
| iPad | Full app plus Room Mode — a dedicated full-screen OR dashboard with voice commands |
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.