Cases are the central entity in ORbit. Each case represents a single surgical procedure and tracks everything from scheduling through completion and validation.
Case lifecycle
A case moves through these statuses:
| Status | Description |
|---|
| Draft | Case created but not yet finalized. Can be freely edited. |
| Scheduled | Case is confirmed on the schedule. Milestones are pre-populated. |
| In Progress | Case has started — at least one milestone has been recorded. |
| Needs Validation | Case is finished but waiting for data review before analytics processing. |
| Completed | Case is validated. Triggers the stats pipeline and flag detection. |
| Cancelled | Case was cancelled. Cancellation reason is recorded. |
Cases list
The cases page shows all cases for your facility with tabbed filtering by status. Use the filter bar to narrow by:
- Date range — specific day or date range
- Surgeon — filter to a specific surgeon’s cases
- Procedure — filter by procedure type
- Room — filter by operating room
- Flags — show only flagged cases
- Complexity — filter by complexity level
Columns are sortable. Click a case row to open the case detail view.
Creating a case
Navigate to Cases > New case to create a case. Required fields:
| Field | Description |
|---|
| Surgeon | The operating surgeon |
| Procedure type | Selected from your facility’s procedure catalog |
| OR room | The assigned operating room |
| Case date | Scheduled date |
| Scheduled start time | Expected start time |
Optional fields include payer, complexity level, notes, team members, and device rep/implant information.
What happens at creation
When you save a new case, ORbit:
- Resolves the milestone template using the cascade
- Pre-populates milestone rows with empty timestamps
- Stamps the resolved
milestone_template_id on the case
- Assigns the case to the selected room’s schedule
Case detail view
The case detail page provides a full view of a single case:
Milestone timeline
Milestones are displayed in a phase-grouped timeline. Each phase header shows the phase name and its boundary milestones. Individual milestones display:
- Name and sequence position
- Recorded time or empty state for pending milestones
- Interval from previous milestone compared to facility median
Click a milestone to record the current time or edit an existing timestamp.
Financial breakdown
The financials section shows:
- Revenue from payer reimbursement
- Cost breakdown by category (soft goods, hard goods, OR time, etc.)
- Profit and margin calculations
- Comparison to procedure averages
Flags
Any flags detected on the case are displayed with severity, rule name, and the metric that triggered them.
Team and devices
View and edit the surgical team (surgeon, anesthesia, nurses, techs) and any device reps or implants associated with the case.
Validation
After a case completes, it enters the Needs Validation status. Validation confirms that the recorded data is accurate before it flows into analytics.
When a case is validated:
- The
record_case_stats trigger fires
- Denormalized stats are written to
case_completion_stats (41 columns)
- Flag detection runs against the case
- Materialized views are refreshed for analytics
Once validated, case data feeds into surgeon scorecards, analytics dashboards, and flag detection. Ensure milestone times are accurate before validating.
Bulk operations
- Bulk create — create multiple cases at once for schedule loading
- Cancel — cancel a case with a required cancellation reason
- Exclude — exclude a validated case from analytics without deleting it
Next steps