The Setup
Where the work started
Nordic Group, a regional healthcare provider, was losing patients at the front door. Peak-hour intake lines backed up across clinics, and the average caller hold time had crept to 94 minutes. Every minute over 30 correlated with higher abandonment and worse patient satisfaction scores.
The organization could not meaningfully expand headcount in the near term. Any solution had to run entirely inside a HIPAA posture — PHI encrypted in transit and at rest, Business Associate Agreements honored at every boundary, and auditable logs retained for the statutory window.
What had to be true
- Cut average caller hold time by more than half without adding intake staff.
- Integrate with the existing EMR so the IVR could authenticate callers, look up upcoming appointments, and route callbacks back into the scheduling system of record.
- Ship to production inside eight months and pass a full HIPAA audit before the first patient call hit the new system.
What I Did
The architecture
Delivered as a three-tier flow — triage, intake routing, callback queue — on AWS with Bedrock models behind Amazon Connect. Scoped tight to the top intake intents. No general-purpose assistant, no clever edge cases — just the intents that covered the overwhelming majority of call volume.
01
Narrow intent catalogue, built for intake
Trained and tuned a focused intent model around the top intake paths (appointment, prescription, triage escalation, billing, transfer). Refused to automate long-tail intents on day one — staff kept the long tail, the model kept its accuracy.
02
HIPAA-scoped architecture on AWS
VPC-isolated Bedrock inference behind PrivateLink, KMS-managed PHI encryption keys, audit logs to immutable S3 with Object Lock and seven-year retention, and BAA boundaries verified at every service edge — Connect, Bedrock, Transcribe, and the EMR link.
03
EMR integration via private scheduling API
Caller authentication and appointment lookup ran over a PrivateLink path to the EMR's scheduling API. Callback routing wrote back into the same system of record so staff never saw a second queue to reconcile.
04
Graceful human handoff
A break-glass escalation path was built in from day one. If confidence dropped or the caller asked for a person, the call routed to the existing intake team with full conversational context attached — no repeat, no friction.
05
Phased rollout with real load
Load-tested at 3× projected peak before go-live. Rolled out to two pilot clinics first, tightened the intent catalogue on real traffic, then extended to the full network.
Outcome
What actually happened
Average caller hold time dropped from 94 minutes to 22 minutes — a 77% reduction — without any change to staffing levels.
- 77%
- Hold time reduction
- 94 → 22 min
- Before → after
- 18% → 4%
- Abandonment drop
- 0
- Audit findings
- Call abandonment rate fell from 18% to 4% within the first 90 days of full rollout.
- Intake staff hours reallocated from phone queue triage to higher-touch patient-facing work.
- HIPAA audit passed on first review with no findings on the new system boundary.
- 99.95% system availability across the first six months post-launch.
Why it matters
The parts another team can take
- Start with the 20% of intents that cover 80% of calls. Long-tail intents belong to humans until the model earns them.
- Scope PHI inside the inference boundary from the first line of code. Retrofitting compliance is where schedule and budget go to die.
- Build the break-glass handoff before the first patient call. Trust in the system grows faster than trust in any single model.
Stack
- AWS
- Bedrock
- Amazon Connect
- Transcribe
- PrivateLink
- KMS
- S3 Object Lock
- HIPAA
