Phase 7.1 · Customer-ready
Onboarding runbook A→E
Cole can run commercial/legal → client_config → access → connectivity → go-live gates without tribal knowledge. Every item has how-to steps. Synthetic only. Code gates — not a HIPAA attestation.
Loading checklist… · runbook docs/customer-ready/11-cole-onboarding-runbook.md
Packaging lock
Paid door = Med Review (VantaUM). Included free only under UM’s Vanta med-review contract. Not a standalone free UM SKU. Not free with another shop’s med review. docs/customer-ready/01-product-boundary.md
Hard constraints
- Synthetic fixtures only. Tokenized refs. No live PHI in this runbook, UI, or packs.
- Do not flip ENABLE_AWS_AUTH or any ENABLE_AWS_* default. Do not invent production vendor keys.
- VantaUM sells Med Review (paid wedge). Brief Engine / UM is free only when the buyer uses Vanta med review under UM’s contract — no standalone free UM SKU, no free UM with a third-party review shop. VantaHG = IRO + IDR only. Optum frozen (no outreach).
- Checking boxes is a code / ops gate, not a HIPAA attestation. BAA is a hard gate before live PHI.
- Every live determination is human MD-signed. No silent auto-approve.
Day script
Same cadence as 02-onboarding.md. Expand a day for the exact steps.
Day 0KickoffPhases A · B
- Confirm LOBs, SLAs, one primary intake mode, determination channels, CX owner, reviewer queue.
- Confirm packaging: buyer uses Vanta med review under UM’s contract (VantaUM sells Med Review). Brief Engine is included free only under that contract. VantaHG is IRO + IDR only.
- Write it down, then publish client_config v1 from the synthetic fixture (or a real staging tenant with synthetic data).
Day 1–2Config + users + connectivity (staging)Phases B · C · D
- Phase A artifacts on file (MSA, BAA, subprocessors, Meow billing contact) before any PHI path.
- Publish / confirm client_config (append-only). PATCH/DELETE → 409; SLA or route changes need a new version + written CX confirm.
- Invite client admin. Do not flip ENABLE_AWS_AUTH. Test /client, /cx, /med-review on staging.
- Pick one primary intake. Empty HMAC slots = synthetic allow. Document it in clients/{id}/connectivity.md.
Day 3–4E1 synthetic packPhases E
- Run npm run test:go-live-synthetic or click Run synthetic pack on this page.
- Expect ≥10 cases: happy path + missing clinicals (R01 → intake_incomplete, SLA paused) + gray zone (md_queue).
- Client watches /client and /med-review. Still synthetic.
Day 5–7E2 shadowPhases E
- POST /api/golive/shadow or click Run shadow pack.
- ≥10 live-shaped synthetic packets. MD signs. Fan-out records intent only.
- member_provider_final_sends must be 0. go_live_mode=shadow / shadow_mode=true.
Day 8+E3 live hypercare (first 25)Phases E
- Agree N with the client (default 25). Full fan-out. MD on every determination.
- Daily CX standup until first 25 clear. Scorecard: /cx + go-live log.
- If first-25 SLA miss rate > sla_miss_rollback_threshold (default 0.2): pause live intake, stay on shadow, root-cause.
Copy-paste commands
Local demo. No secrets. Do not point these at production with live PHI.
curl -s -X POST http://localhost:3000/api/client-config \ -H 'content-type: application/json' \ -d @docs/customer-ready/fixtures/client-config-synthetic.json
npm run test:go-live-synthetic
curl -s -X POST http://localhost:3000/api/golive/shadow \
-H 'content-type: application/json' \
-d '{}'Phase A · · 0 required left
A
Phase B · · 0 required left
B
Phase C · · 0 required left
C
Phase D · · 0 required left
D
Phase E · · 0 required left
E
Go-live log
Non-PHI. Also written to memory SoR for this process.
No entries yet. Run E1 / E2 / E4.
Related: Client lens · CX first-25 scorecard · Med review queue · Production setup · TPA signups · Client reports