The gap
Doug's 2026-06-24 ask, verbatim from the meeting notes: "You can do calculations and attribute patient even if they came from two different EHR systems… If they are compliant anywhere, are they compliant everywhere? When doing quality calculations, give everybody credit regardless of who did it." (The cardiologist-gives-the-flu-shot example.)
Today this is display-only. E15 (#187, ADR-022) resolves a person across systems and shows a merged, system-tagged compliance timeline — but by design it never re-aggregates: quality snapshots, the hierarchy rollup, and the roster all count each tenant's record independently. A person vaccinated in system A still reads non-compliant in system B's numbers. Surfaced during the 2026-07-13 gap analysis (docs/INTEGRATION_RESEARCH_2026-07-13.md §5).
Proposed shape (design, not committed)
An additive, descriptive person-resolved quality view alongside the per-tenant one — never a mutation of stored outcomes:
- A read model that, for each resolved Person (E15
resolvePeople), takes the best outcome across their linked records per measure ("credit anywhere") — the union of each record's evidence, CQL buckets untouched.
- Surfaced as an opt-in scope (e.g.
?resolution=person on quality/history + roster, or a person-level panel on /people/[personId]), clearly labeled, with the per-tenant view remaining the default.
- Invariants preserved: ADR-008 (CQL is the sole
Outcome Status authority — this view selects among CQL-decided outcomes, never re-derives), ADR-019 (All = Σ tenants holds in the default view; the person-resolved view is a separate lens, not a re-count), ADR-022 (match-don't-auto-merge — credit only flows across human-confirmed or match-key-grouped records).
Open design questions
- Does "credit anywhere" apply only to PERMANENT (series-completion) measures, or also RECURRING ones (a recent audiogram in system A satisfying system B's window)? Doug's example (flu shot) is RECURRING — suggests both.
- Which surfaces get the person-resolved lens first — quality snapshots, roster, or the /people view?
- Interaction with the E16 snapshot store: a person-resolved snapshot scope level, or read-time only?
Depends on: E15 (shipped), and gains real data via E12 PR-2c + #187 PR-3 (WebChart identity sources). Buildable against the synthetic directory now.
🤖 Filed by Claude Code on Taleef's behalf (2026-07-13 gap analysis)
The gap
Doug's 2026-06-24 ask, verbatim from the meeting notes: "You can do calculations and attribute patient even if they came from two different EHR systems… If they are compliant anywhere, are they compliant everywhere? When doing quality calculations, give everybody credit regardless of who did it." (The cardiologist-gives-the-flu-shot example.)
Today this is display-only. E15 (#187, ADR-022) resolves a person across systems and shows a merged, system-tagged compliance timeline — but by design it never re-aggregates: quality snapshots, the hierarchy rollup, and the roster all count each tenant's record independently. A person vaccinated in system A still reads non-compliant in system B's numbers. Surfaced during the 2026-07-13 gap analysis (
docs/INTEGRATION_RESEARCH_2026-07-13.md§5).Proposed shape (design, not committed)
An additive, descriptive person-resolved quality view alongside the per-tenant one — never a mutation of stored outcomes:
resolvePeople), takes the best outcome across their linked records per measure ("credit anywhere") — the union of each record's evidence, CQL buckets untouched.?resolution=personon quality/history + roster, or a person-level panel on/people/[personId]), clearly labeled, with the per-tenant view remaining the default.Outcome Statusauthority — this view selects among CQL-decided outcomes, never re-derives), ADR-019 (All = Σ tenants holds in the default view; the person-resolved view is a separate lens, not a re-count), ADR-022 (match-don't-auto-merge — credit only flows across human-confirmed or match-key-grouped records).Open design questions
Depends on: E15 (shipped), and gains real data via E12 PR-2c + #187 PR-3 (WebChart identity sources). Buildable against the synthetic directory now.
🤖 Filed by Claude Code on Taleef's behalf (2026-07-13 gap analysis)