Jake Rosow
Healthcare Agent-Workspace Case Study
case-study · healthcare-support-specialist

Healthcare Support Specialist

A drop-in agent workspace for health plan member-services reps. Five layers, every quote taken word for word, and three ways a run can end.

Role
Workspace designer + author
Status
Open source · scope-frozen
Started
2026-05
URL
github.com/…/healthcare-customer-support-specialist ↗
Source
Public
one run

One question, one auditable answer.

Run 20260512-008-er-visit-cost · stage 05_compose · one member question to a line the rep can say.
member asks

How much is an ER visit going to run me?

04_extract verbatim

BEN-1.4 reference/acme_kb/benefits/benefit_grid.md

Section IDServiceIn-network member cost (after deductible)Out-of-network member cost (after deductible)PA notes
BEN-1.4Emergency room$300 copay (waived if admitted)$300 copay (waived if admitted)None
  • Annual deductible. Individual: $1,500 in-network / $3,000 out-of-network. Family: 2× individual.
  • All copay and coinsurance values apply after the annual deductible has been met, unless the row notes otherwise.
05_compose rep-facing

According to your plan’s benefits guide, an emergency room visit is a $300 copay after your deductible has been met — and that copay is waived if you end up being admitted. Under your PPO, the ER copay is the same whether the hospital is in-network or out-of-network. Until the deductible is met, you’d be responsible for the allowed amount up to the deductible threshold first. If you’d like, I can also check where you currently stand on your deductible for the year.

on disk

runs/20260512-008-er-visit-cost/05_compose-answer.md runs/20260512-008-er-visit-cost/_audit.md

hiring signal
What this proves

I can structure an agent workspace around auditable healthcare support work instead of generic chat.

Risk handled

An assistant that paraphrases benefit language is a liability. "After deductible" has to reach the member intact.

Evidence

The repo is public: five folder stages, every quote carried with the section ID it came from, three ways a run can end, and a worked example of each.

the pipeline
the member’s question walks 5 staged contracts; compose picks one of 3 output branches.
REP TYPES "Is my MRI covered?" · "Why was my claim denied with CO-197?" · "Does Ozempic need PA?"
  1. 01 intake normalize · entities · clarify-flag reads 00_question · glossary
  2. 02 classify intent: benefits / claims / PA / OOS reads intent_taxonomy · rep_persona
  3. 03 route intent + entities → KB section IDs reads _index.md
  4. 04 extract verbatim quotes · no paraphrase reads acme_kb/* sections
  5. 05 compose rep-facing answer · 3 branches reads voice_guide · rep_persona
05_compose · branch selector
NORMAL
KB pointer + verbatim quote + rep talk-track
most runs · 5 of the 7 fixtures
OUT-OF-SCOPE
warm-transfer talk-track to the right team
network · eligibility · billing
NEEDS-CLARIFICATION
question for the rep to ask the member
missing entities · ambiguous intent

A drop-in agent workspace for health plan member-services reps. A rep types a member question; the workspace returns the knowledge base section, the passage quoted word for word, and a line the rep can say out loud. The folder structure is the pipeline.

Why it exists

Member-services reps spend their day translating a benefit grid, a denial code, or a prior-auth policy into a sentence the member can use. The knowledge base is already written. The hard part is landing on the right section and not paraphrasing the words that matter.

I work that seat at Health First Health Plans. This is the workspace I would want: section ID, quote, and a line the rep can actually say. The fictional payer, Acme Health Plan, keeps the artifact clear of real patient data and anything proprietary.

What made it hard

One large prompt pointed at a knowledge base gets you a demo. It breaks the first time the model softens after deductible, invents a denial code, or answers a network question the workspace was never scoped to handle.

I built it read-first. Separate folders, separate contracts, verbatim quotes with section IDs, and exactly one output branch per run: normal, out-of-scope, or needs clarification.

ICM layer mapping

Five layers, on purpose.

The structure follows Singer's Interpretable Context Methodology: identity, shared resources, contracts, reference material, and per-run artifacts each get their own layer. A reviewer reads the stable layers once; only the run changes.

Singer 2026 · ICM layers · stable layers on top, per-run artifacts on the bottom.
  1. L0 stable
    Workspace identity one file orients any reader
    / 00_workspace.md
  2. L1 stable
    Shared resources stable per-stage context
    shared/ intent_taxonomy.md · glossary.md · rep_persona.md · voice_guide.md
  3. L2 stable
    Stage contracts 5 numbered folders · same 5-section schema
    01_intake/ … 05_compose/ contract.md · Purpose / Inputs / Process / Outputs / Failure modes
  4. L3 stable
    Reference material the KB itself · canonical section IDs
    reference/acme_kb/ _index.md · benefits/ · claims/ · prior_auth/
  5. L4 per-run
    Per-run artifacts one directory per question · full stage chain
    runs/<run_id>/ 00_question · 01_intake … 05_compose-answer · _audit.md
raw run

The same run, unedited.

The composed answer above is the artifact. This is the session that produced it, kept as backing evidence rather than as the exhibit.

decisions

Where the contracts bind.

Five stage folders, five contracts

Chose

Five numbered stage folders each carry a contract.md. AGENTS.md is the runbook. Any agentic CLI that loads project instructions can run a committed case.

Why

A reviewer can audit the pipeline by reading the folders.

Cost

Convention is the enforcement. If a stage skips part of its output contract, the next stage only sees weaker input.

Verbatim quoting at 04_extract, paraphrasing only at 05_compose

Chose

Stage 04 quotes knowledge base passages with section IDs. Stage 05 turns the quote into rep language and preserves guardrails like 'after deductible,' network qualifier, and criteria gate.

Why

A benefit grid is not a vibe. The source quote and the rep line need to be auditable separately.

Cost

It is two stages instead of one call. The voice guards still need review; they are not a regex.

Three output branches: normal · out-of-scope · needs-clarification

Chose

05_compose returns exactly one branch: normal answer, out-of-scope transfer, or needs-clarification question.

Why

On a member-services floor, 'ask this follow-up' beats a confident wrong answer.

Cost

Three templates have to stay current with the payer's team boundaries. A fourth branch would need new fixtures.

the stack

The stack.

Want the walkthrough, or the parts that aren’t written up yet?

jakerosow@gmail.com
Up next
AI Workflow Fit Operator Workflow triage where AI is route nine of ten