Health Plan Decision Support · Illustrative Prototype

Where could Double Cup fit?

A population-fit and pilot-planning tool for examining whether behavioral-health need, access barriers, benefit-navigation friction, and community feasibility create a credible role for Double Cup in a specific health plan's population — and what a bounded pilot could look like.

This prototype uses seeded synthetic population data and illustrative scoring logic. It is designed to demonstrate a product and evaluation approach — not to make clinical, eligibility, actuarial, or purchasing decisions.
Orientation · 30-second read

What the tool decides

Every assessment resolves to one of three outcomes. Two of them are reasons not to build a pilot — which is the point. A high behavioral-health-need population does not automatically mean Double Cup is a fit.

● Pilot candidate

The evidence supports a bounded pilot

Need, access friction, and community feasibility line up well enough to design a small, measurable test — scoped to benefit awareness and completed navigation, not clinical care.

● Discovery required

Relevant, but the evidence isn't ready

The concept may fit, but missing or conflicting information prevents a responsible recommendation. The tool proposes what to learn first rather than overstating relevance.

● Not a current fit

Something else is more appropriate

Existing programs already cover the gap, or the community model isn't feasible here. The tool names what's working and what would need to change before reassessing.

Need alone is not fit. Community-partner feasibility, benefit structure, existing program strength, geographic concentration, and access barriers all move the recommendation independently — a plan can have severe unmet need and still be a "discovery required" or "not a current fit" because a coffee-shop connection model can't be delivered there yet.
Stage 1 · Configure a scenario

Assessment workspace

Choose one of five seeded synthetic health plans, then adjust the assumptions to see how the recommendation moves. Nothing here is a real plan; every value is generated deterministically so a scenario reads the same on every refresh.

Select a plan scenario — each is engineered to exercise a different outcome and boundary of the model.
Selected scenario · synthetic

Adjust assumptions 0–100 illustrative indices
Assumptions edited

Fields marked CRIT are critical: if any is left as "not reported," the model refuses to overstate relevance and routes to discovery required. Use the "not reported" toggle to simulate missing data.

Stage 2 · Recommendation

Fit recommendation

An executive-readable read produced by generateRecommendation() from the deterministic evidence packet — schema-validated before it renders. Every conclusion below traces back to a displayed signal.

No assessment run yet

Pick a scenario above and press Run assessment. The recommendation, opportunity score, confidence, supporting and counter-evidence, and a pilot or discovery plan will appear here.

Stage 3 · Population & access evidence

The signals behind the score

These visuals redraw for the selected scenario. Values are synthetic and illustrative — they show the shape of the evidence a real assessment would weigh, not measured outcomes.

Six-dimension fit profile
Each axis is a weighted composite of the adjustable inputs (0–100).
Need × feasibility quadrant
Why need alone doesn't decide. Only the upper-right quadrant supports a pilot.
Benefit-navigation funnel
Illustrative flow from need signal to a closed navigation loop — where Double Cup would act.
Market comparison
Relative fit index across the scenario's synthetic markets.
Evidence completeness
How much of the required evidence is present. This caps confidence.
0%InsufficientAdequate100%
Expected pilot measurement ladder
If a pilot ran, what would be measured — from leading signal to plan value.
Architecture · Analytics vs. interpretation

How the recommendation is produced

A deliberate separation: deterministic analytics compute the numbers and enforce the rules; an interpretation layer turns the structured evidence packet into readable language. Version one runs that layer locally from templates — no model-provider API key ships in the browser — behind an interface a server-side model could later fill.

01
Aggregate data
Seeded synthetic population & access signals.
Deterministic
02
Score & rules
Six dimensions, weights, decision rules, confidence cap.
Deterministic
03
Evidence packet
Structured facts: support, counter, missing.
Deterministic
04
Generate
generateRecommendation() — local templates now, model adapter later.
Interpretation
05
Human review
A reviewer accepts, edits, or rejects. Final approval stays human.
Human gate
06
Pilot decision
Plan chooses: pilot, discovery, or decline.
Human gate
07
Monitor
Offline eval + online metrics feed iteration.
Deterministic
Recommendation schema · validated before render
// Every field required; validation failure → safe error state
{
  "decision": "pilot_candidate | discovery_required | not_current_fit",
  "opportunityScore": 0-100,
  "confidence": "high | medium | low",
  "executiveSummary": "",
  "priorityPopulation": "",
  "supportingEvidence": [ ],
  "counterEvidence": [ ],
  "missingEvidence": [ ],
  "recommendedNextStep": "",
  "pilot": { geography, duration, population,
    primaryOutcome, leadingIndicators[],
    guardrails[], expansionThreshold, stopCriteria }
}
Why this separation matters

The score and the decision are not produced by a language model. They come from auditable arithmetic and explicit rules, so a plan's analytics team can reproduce and challenge them. The interpretation layer only phrases what the packet already contains — it cannot invent a conclusion the evidence doesn't support.

The generator is honestly labeled a structured recommendation prototype. It is template-driven, not a live LLM call. Swapping in a server-side model means implementing one adapter behind generateRecommendation(packet) — the UI, schema validation, and safe error state stay unchanged.

If the returned object fails schema validation, the UI shows a safe error rather than partially rendering a misleading result.

Stage 4 · Evaluation Lab

Would this recommender be safe to ship?

Before a real interpretation layer goes live, it should clear a fixed suite of golden cases — including cases it is supposed to fail loudly, like missing critical data and inappropriate individual-level requests. This runner evaluates the current deterministic logic against 20 seeded cases and computes an illustrative release gate. It is not forced to pass.

Release gate · not yet run

Run the suite to compute the gate. Thresholds: ≥90% decision agreement · 100% safe handling of prohibited-use cases · 100% detection of critical missing-data cases · ≥90% required-evidence coverage · zero severe unsupported recommendations · valid schema in 100% of cases.

Categories: Clear fit · 5Clear non-fit · 3Ambiguous · 3Incomplete data · 3Conflicting · 2Equity-sensitive · 2Adversarial · 2
Case
Scenario & required behavior
Expected
Verdict
Failure taxonomy

When a case fails, the runner tags it with one of eight failure types: incorrect fit classification · unsupported evidence · ignored counterevidence · overstated certainty · missing-data failure · inappropriate individual-level conclusion · unsafe/prohibited recommendation · output-schema failure. Critical safety and missing-data failures carry the highest severity and block the release gate outright.

Stage 5 · From offline eval to live pilot

Online monitoring plan

Passing the offline gate earns a limited internal pilot, not a launch. These are the measures that would be watched once real reviewers and real members are involved — grouped by what they tell us.

Product behavior

Is the tool being used as intended?
  • Assessment completion rate
  • Time to recommendation
  • Human-review completion rate
  • Recommendation override rate
  • Most frequently missing evidence

Recommendation quality

Do reviewers trust the output?
  • Reviewer agreement with decision
  • Evidence-citation acceptance
  • Counterevidence completeness
  • Reassessment rate
  • High-severity error rate

Pilot value

Is a live pilot doing anything real?
  • Benefit-awareness improvement
  • Navigation initiation & completion
  • Appropriate service connection
  • Repeat program engagement
  • Member-reported connection / belonging
  • Operational burden on plan & partners
Guardrails · non-negotiable
No individual clinical decisions
No individual eligibility determinations
No PHI in the public prototype
Human approval before any client action
Evidence, assumption, and recommendation kept visibly distinct
Rollback if severe-error thresholds are exceeded
Under the hood

How this assessment works

The full model is here — formulas, weights, decision rules, and honest limitations. Progressive disclosure: the primary path stays readable; the arithmetic lives in these panels.

ModelThe six dimensions and how they're scored

Each dimension is a weighted blend of the adjustable 0–100 inputs. Nothing is random; the same inputs always produce the same score.

  • Unmet behavioral-health need = 0.5·need index + 0.3·outpatient follow-up gap + 0.2·social-isolation signal
  • Access friction = 0.55·network wait time + 0.45·transportation friction
  • Benefit-navigation friction = 0.5·(100 − existing EAP/navigation engagement) + 0.5·outpatient follow-up gap
  • Engagement opportunity = 0.55·social-isolation signal + 0.45·digital engagement
  • Community feasibility = 0.6·community-partner coverage + 0.4·geographic concentration
  • Operational & measurement readiness = 0.55·operational readiness + 0.45·benefit-document completeness
WeightsOverall opportunity score & incremental-fit penalty

The overall opportunity score is a weighted sum of the six dimensions:

Unmet behavioral-health need22% Access friction20% Community feasibility18% Benefit-navigation friction16% Engagement opportunity14% Operational & measurement readiness10%

The raw score is then multiplied by an incremental-fit factor = 1 − 0.4·(existingProgramStrength/100), where existing strength = 0.6·overlapping-intervention strength + 0.4·EAP engagement. This is why a plan whose gap is already covered scores lower even when raw need is high — Double Cup is measured on incremental value, not absolute need.

RulesDecision rules that override the raw score

Classification is not a simple threshold. These rules run after scoring, in order:

  • Missing critical fields → discovery required. If outpatient follow-up gap, network wait time, community-partner coverage, or operational readiness is "not reported," the tool routes to discovery and caps confidence at low. It will not overstate relevance on absent evidence.
  • Feasibility floor blocks pilots. If community feasibility < 35, the outcome cannot be "pilot candidate" no matter how high need is — a coffee-shop model can't run without feasible partners.
  • Strong existing programs → not a current fit. If existing program strength ≥ 68 and adjusted opportunity < 52, the tool recommends strengthening what already works instead.
  • Otherwise: adjusted opportunity ≥ 58 with feasibility ≥ 45, adequate data, and non-low confidence → pilot candidate; adjusted < 40 → not a current fit; everything between → discovery required.
  • No pilot on need alone. There is no path where high behavioral-health need by itself produces a pilot recommendation.
ConfidenceHow confidence is calculated

Confidence is driven by data completeness and internal conflict, independent of the score. Completeness = share of the twelve inputs reported, blended with benefit-document completeness. Then:

  • Any critical field missing → low, always.
  • High need (>60) paired with low feasibility (<35) is flagged as conflicting evidence and knocks confidence down a tier.
  • Completeness ≥ 78 → high · 55–77 → medium · <55 → low.

Confidence is shown as an explicit chip with a plain-language reason, and it is displayed with both color and a filled-bar count so it never depends on color alone.