Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt

Use this file to discover all available pages before exploring further.

Version: 1.2.0
Last Updated: 2026-02-22
Status: ✅ Implemented
Last Verified: 2026-02-22 Spec: PM-11 Revenue Cycle Dashboard & Analytics
Constitution Reference: Section 1.2 (Core Independence), Section 1.3 (Integration Patterns)

Overview

PM-11 owns the revenue cycle dashboard and analytics: KPI dashboard (days in A/R, clean claim rate, denial rate, collection rate, charge lag), A/R aging, denial analysis, payer mix, provider productivity, service line profitability, charge capture completeness, and report scheduling via PF-12 (Phase 2).

Integration Points (from spec)

DependencyPatternPurposeStatus
PM-07Data (same core)Source data for RCM metrics (charges, encounters)✅ Available
PM-08Data (same core)Claims data for clean claim rate, denial rate, claim lag✅ Available
PM-09Data (same core)Payment posting for collection rate, payment lag✅ Available
PM-10Data (same core)Authorization utilization and trends✅ Available
PF-12Platform LayerReport generation engine; configurable scheduling and distribution⏳ Deferred to Phase 2
FA-07Platform Layer / APIFinancial reporting integration📋 Future

Data Source Tables

TableKey Columns for PM-11Used By
pm_chargesservice_date, charge_amount, status, encounter_id, created_atDays in A/R, Charge Lag, Collection Rate
pm_claimsstatus, total_charge, paid_amount, adjustment_amount, submitted_at, adjudicated_at, denial_codesClean Claim Rate, Denial Rate, Net Collection Rate, Claim Lag
pm_claim_linesPer-line detailService Line Profitability
pm_paymentspayment_date, total_amount, posted_amount, payer_id, patient_idCollection Rate, Payer Mix, Payment Lag
pm_payment_applicationsClaim-to-payment linkagePayment Lag, Net Collection Rate
pm_encountersencounter_date, status, charge_captured_atCharge Lag, Provider Productivity
pm_prior_authorizationsstatus, approved_units, used_unitsAuthorization Utilization
pm_payersPayer detailsPayer Mix
Note: pm_adjustments table does NOT exist. Adjustments are stored as pm_claims.adjustment_amount and as CARC group code entries in pm_payment_applications.

Metric Type Values

The following metric_type values are used in pm_rcm_snapshots and pm_rcm_benchmarks:
metric_typeDescriptionRefresh Frequency
days_in_arDays in Accounts ReceivableDaily
clean_claim_rateClaims accepted on first submission %Weekly
denial_rateDenied claims %Weekly
collection_rateCollected / Allowed amount %Monthly
net_collection_ratePayments / (Charges - CO adjustments) %Monthly
first_pass_resolution_rateClaims paid without rework %Weekly
charge_lag_daysAvg days from service to charge entryWeekly
claim_lag_daysAvg days from charge to claim submissionWeekly
payment_lag_daysAvg days from submission to paymentWeekly
payer_mixRevenue by payer category %Monthly

Dimensions JSONB Shape

// Example dimensions for a snapshot record
{
  "payer_id": "uuid-of-payer",      // optional
  "service_line": "iop",            // optional: iop, php, residential, outpatient
  "provider_id": "uuid-of-provider", // optional
  "site_id": "uuid-of-site"          // optional
}
Dimensions vary by metric_type. Not all dimensions apply to all metrics.

PF-12 Integration (Phase 2 — Deferred)

Status: ⏳ Deferred — PF-12 tables exist (pf_reports, pf_report_schedules, pf_report_runs) but no API contract is defined for PM-11 to register reports with PF-12. When implemented:
  • PM-11 will register snapshot-based reports with PF-12 for scheduled generation and distribution
  • Document the exact API or data contract in this file and in API_CONTRACTS.md
  • US5 in the spec will be undeferred

Event / API Contracts

  • PM-07/08/09/10: Dashboard and snapshots read from PM tables (pm_charges, pm_claims, pm_payments, authorization data); no new event contracts; data accessed via same core.
  • PF-12: Deferred to Phase 2. See section above.
  • FA-07: When integrated, document in API_CONTRACTS.md or EVENT_CONTRACTS.md.

Events Consumed

pm_cost_estimate_generated (from PM-48)

  • Publisher: PM-48 (Patient Cost Estimation & Financial Clearance)
  • Event Name: pm_cost_estimate_generated
  • Version: 1.0
  • Payload Schema:
    {
      estimate_id: string;
      patient_id: string;
      organization_id: string;
      patient_estimated_responsibility: number;
      service_type: string;
    }
    
  • Subscription Rules: Unconditional — all estimates feed into clearance metrics
  • Delivery Semantics: At-least-once; idempotent processing via estimate_id
  • ACL/Topic: pm.cost_estimates topic
  • Purpose: Feed clearance metrics into PM-11 dashboard (US-3: clearance completion rate, avg days to clearance, avg patient responsibility)
  • Status: 📝 Planned

Integration Matrix

FromToPatternStatusDoc
PM (PM-11)PM-07, PM-08, PM-09, PM-10Data (same core)✅ AvailableThis doc
PM (PM-11)PF-12Platform Layer (reports)⏳ Phase 2This doc
PM (PM-11)FA-07Platform Layer / API (future)📋 FutureTBD

References