Healthcare operations leaders ask Dock the same question every shift: where is throughput breaking, and who decided what to do about it. The EHR holds the bed board, the staffing roster, and the ED queue. Dock holds the agent's reading of that data, the brief it drafted, and the ops lead who approved. Each Dock row points back to the exact Epic, Oracle Health, or athenahealth record the agent consulted.
The architecture
Epic, Oracle Health, and athenahealth stay the system of record for the raw clinical and census data. Dock is the system of record for what the agent interprets from that data. Each Dock row carries a pointer back to the platform record (epic_encounter_id, oracle_bed_id, athena_appointment_id), agent identity, decision, reviewer, and timestamp. The agent re-fetches platform data via fresh API reads when it needs current state. When the ops lead opens a 06:00 brief at 09:00, the agent re-reads the bed board first.
The Dock surface
A single table, throughput_briefs, holds one row per shift per unit.
| brief_id | unit | epic_encounter_ids | oracle_bed_ids | staffed_ratio | queue_depth | agent_recommendation | agent | reviewer | status |
|---|---|---|---|---|---|---|---|---|---|
| TB-4411 | ED-North | enc_8821, enc_8822, enc_8830 | bed_N12, bed_N14 | 1:5 | 14 waiting | Hold 2 fast-track beds; page float RN | agent.ops.mei | dr.kavya.r | approved |
| TB-4412 | Med-Surg-3 | enc_8901..enc_8917 | bed_M301..bed_M318 | 1:6 | 6 admits pending | Open 4 swing beds; delay 2 electives | agent.ops.mei | ops.lead.t | pending |
| TB-4413 | ICU-2 | enc_9001, enc_9004 | bed_I22, bed_I24 | 1:2 | 3 transfers held | Escalate to nursing supervisor | agent.ops.mei | n.sup.m | escalated |
Every row resolves back to live Epic and Oracle records. No clinical detail is duplicated.
The workflow
At 05:45 the agent reads the overnight census from Epic, the staffing assignments from Oracle Health, and the scheduled-arrival queue from athenahealth. It drafts a brief, writes it as a row in throughput_briefs, and tags the charge nurse and the ops lead. At 06:15 the ops lead opens the row. The agent re-fetches the bed board, confirms the recommendation, and surfaces any drift. The ops lead approves and the action ships to the unit huddle. The approval is the consent gate. Nothing leaves Dock without it.
Why it matters
ED length of stay fell 13.4% between Q4 2024 and Q4 2025 even as volumes rose 4.2%, according to Vizient data reported by Becker's Hospital Review. Gains at that scale come from disciplined, attributed decisions made every shift, not from dashboards no one signs.
The American Hospital Association's 2024 Fast Facts counts more than 6,000 US hospitals running this loop daily. The bottleneck is rarely data. It is the chain from observation to decision to accountability.
When a regulator or board member asks who decided to hold two ED beds on May 30, the row answers: agent identity, reviewer, platform pointers, timestamp.
See the Dock for healthcare operations pillar for the full pattern, Dock for compliance for the audit posture, and agent audit and compliance for the evidence trail. The decision-making half rests on agent identity; the read-side analytics pattern carries over to Dock for research and again to agent identity as the binding primitive.
Move your throughput brief into Dock this week.
FAQ
Does Dock store PHI? No clinical detail is duplicated. Dock stores pointers (epic_encounter_id, oracle_bed_id, athena_appointment_id), the agent's operational reading, and the human approval. Clinical state stays in the EHR.
What happens when the EHR data changes between draft and approval? The agent re-fetches at review time. The row shows both the draft snapshot and the current state, and the reviewer approves against current.
Who is accountable for a bad recommendation? The row names the agent identity that drafted it and the reviewer who approved it. Both are durable. Neither can be edited after approval without a new row that supersedes the old one.
Does this work across Epic, Oracle Health, and athenahealth at the same hospital? Yes. Dock holds one row per brief regardless of which platform supplied which feed. The pointers identify the source per field.