Skip to main content
Feature ID: CL-10
Status: 📋 Spec approved; implementation pending
Spec Reference: CL-10-outcomes-tracking-measurement.md
Last Updated: 2026-02-19

Overview

CL-10 defines outcomes tracking and measurement: patient-reported outcome measures (PROMs), HEDIS measure calculation (FUH, FUM, IET, AMM), program-level outcomes dashboards, and CARF/reporting compliance. It depends on PF (organizations, RBAC, reports), CL-01/02/03 (chart, assessments, treatment plan), and CL-15 (quality reporting). Data flows to PF-12 (report engine) and CL-15.

Integration Points (from Spec)


Cross-Core Data Reference

cl_program_outcomes.program_id references rh_programs(id) by design for program-scoped outcomes (HEDIS aggregates, program dashboards).
  • Rationale: Program context is required for CARF/reporting and program-level dashboards; the FK ensures referential integrity and aligns with RH-03, RH-04, PM-04.
  • Failure/coupling implications: RH program deletion or schema changes to rh_programs(id) can affect CL (e.g. FK constraint violations, orphaned program_id). Compatibility and migration expectations are documented in the integration contracts below; RH owns rh_programs and must not break the contract for id without a coordinated migration.
  • Integration contracts: See CL-10–RH program_id data contract (publisher: RH; consumer: CL). That document specifies the data contract, ownership, and migration/compatibility rules for cl_program_outcomes.program_id and rh_programs(id).

API / Data Contracts

  • Outcome measures: Stored in cl_outcome_measures; consumed by chart UI (CL-01), PF-12, and CL-15.
  • Program outcomes: Stored in cl_program_outcomes; aggregated from measures and HEDIS logic; consumed by dashboards and CL-15.
  • HEDIS calculation: Batch (cron) and on-demand; reads from cl_transitions, cl_problems, cl_medications, PM encounters; writes to cl_program_outcomes.
(Add request/response or event schemas here when APIs or events are defined.)

Event Contracts

(None specified for CL-10. Outcome data is consumed via direct queries and PF-12/CL-15 reporting; add events here if outcome-recorded or measure-calculated events are added.)

Security and RLS

  • RLS on cl_outcome_measures and cl_program_outcomes via SECURITY DEFINER helpers (e.g. cl_has_org_access); no direct queries to RLS-protected tables in policies (§5.7).
  • UPDATE policies include WITH CHECK on organization_id (§5.2.4).
  • Permission keys: cl.outcome_measures.view/create/update, cl.program_outcomes.view/manage (seed in migration per PF-30).