Fee Schedule Engine
Ingest any fee schedule. Price any claim line. Audit every decision.
CHO’s fee schedule pipeline separates the update path from the claim-time pricing path. Fee schedules are loaded, validated, versioned, and stored independently. At claim time, the pricing engine resolves the correct schedule, applies modifier logic, and returns an allowed amount with full audit trail — in sub-millisecond time from Redis hot cache.
Fee Schedule Sources
The platform supports five source types, each with its own ingestion format and update cadence.
CMS MPFS (Medicare Physician Fee Schedule)
- Annual release (January) with quarterly updates
- RBRVS-based: Work RVU + Practice Expense RVU + Malpractice RVU × Conversion Factor
- Geographic Practice Cost Index (GPCI) adjustments per locality
- CHO auto-ingests CMS flat files on release
CMS OPPS / ASC (Outpatient Prospective Payment)
- APC-based rates with status indicators
- Annual update with mid-year corrections
- Facility vs non-facility differential
TX Medicaid Fee Schedules
- HHSC / TMHP published rates
- STAR, STAR+PLUS, CHIP program-specific schedules
- Rate notices and mid-cycle adjustments
- Critical for any Texas managed care organization
Contracted Provider Rates
- Per-diem, case rate, percentage of Medicare, UCR
- Loaded per provider agreement with effective/term dates
- Network tier awareness (in-network, out-of-network, tier 1/2/3)
Portal Manual Upload
- Blazor portal interface for CSV/Excel upload
- Custom plan-specific schedules
- Validation and preview before activation
Update Pipeline
The update pipeline moves fee schedule data through three stages before it is available for claim-time pricing.
1. Ingestion & Validation (FeeScheduleLoaderService)
- Format auto-detection (CMS flat file, CSV, Excel, FHIR)
- Schema validation against expected structure
- CPT/HCPCS code verification against TerminologyService
- Duplicate detection — prevent double-loading
- Rejected loads generate detailed error reports
2. Versioning & Effective Dating (FeeScheduleVersionStore)
- Every load creates an immutable version (e.g., v2026.Q1 → v2026.Q2)
- Future-dated schedules auto-activate on effective date
- No destructive updates — old versions retained indefinitely
- Rollback to any prior version without data loss
- Full audit trail: who loaded, when, what changed
3. Fee Schedule Repository
| Index Dimension | Purpose |
|---|---|
| Line of Business | Isolate Medicare, Medicaid, Commercial schedules |
| Provider Type | Facility vs professional rate differentiation |
| Place of Service | Office, outpatient hospital, ASC, etc. |
| Modifier | Component-specific rates (26, TC, etc.) |
| Procedure Code | CPT/HCPCS code lookup |
| Network | In-network, out-of-network, tiered |
| Contract | Provider-specific negotiated rates |
| Geographic Region | GPCI locality, state, ZIP-based |
MongoDB serves as the primary store with Redis hot cache. Cache warming occurs on version activation. Multi-tenant isolation ensures each health plan has its own schedule sets.
Claim-Time Pricing
When an 837 claim line arrives for adjudication, the pricing engine resolves the allowed amount through a defined resolution order, applies modifier and reduction logic, and returns a fully auditable result.
Resolution Order
- Contracted rate — Exact match on provider + procedure + network
- LOB-specific fee schedule — e.g., TX Medicaid STAR rate
- Medicare MPFS fallback — Default floor
Pricing Logic
| Rule | Description |
|---|---|
| Modifier application | –26 (professional), –TC (technical), –59 (distinct procedure), etc. |
| Multiple procedure reduction (MPPR) | Per CMS rules — highest-valued at 100%, subsequent at 50%/25% |
| Geographic GPCI adjustment | Work, PE, and MP GPCI components per provider locality |
| Bilateral procedure rules | 150% of single rate for modifier 50 |
| Assistant surgeon reduction | 16% of primary surgeon allowed amount (modifiers 80, 81, 82) |
| Anesthesia pricing | Base units + time units × conversion factor |
Output
Each pricing call returns:
- Allowed amount per claim line
- Fee schedule ID + version used for the determination
- Pricing methodology applied (contracted, LOB schedule, Medicare fallback)
- Full audit reference for downstream review
- Sub-millisecond response from Redis hot cache
Engine Interactions
The fee schedule engine is one step in the claims adjudication pipeline. Each engine is a separate class library invoked by the claims-service orchestrator in this sequence:
| Order | Engine | Role |
|---|---|---|
| 1 | Claims Scrub | Edit checks, clean claim validation |
| 2 | NCCI Engine | Unbundling — must run before pricing |
| 3 | Fee Schedule Engine | Price the claim line |
| 4 | COB Engine | Primary/secondary payer split |
| 5 | Benefit Engine | Copay, coinsurance, covered amount |
| 6 | Accumulators | Deductible application, OOP tracking |
The NCCI Engine must run before the Fee Schedule Engine because unbundling edits can remove or modify claim lines. Pricing a line that will be denied by NCCI wastes compute and produces misleading audit data. The orchestrator enforces this ordering.
Operating Mode Behavior
The fee schedule engine operates differently depending on the platform’s configured operating mode for the line of business.
Augment Mode
CHO prices the claim independently and passes the allowed amount to QNXT. Can be used as a validation/override check against QNXT’s native pricing, or as the authoritative price if QNXT pricing is disabled for the line of business.
Replace Mode
CHO pricing IS the adjudication price. The allowed amount flows directly into CHO’s claim record as the system-of-record determination.
Operating mode is configurable per engine, per line of business. A health plan can run fee schedule pricing in Replace mode while keeping other engines (e.g., eligibility) in Augment mode. See the Architecture page for the full platform operating mode design.
Related Documentation
Fee Schedule Guide
User guide for rate table configuration, DRG pricing, multiple procedure rules, and cross-schedule resolution.
View guide →Claims Adjudication
Full 10-step auto-adjudication pipeline where the Fee Schedule Engine executes at Step 6 (Repricing).
View guide →Architecture
Platform architecture including all 9 calculation engines, multi-tenant design, and infrastructure.
Explore →API Reference
Repricing API for programmatic rate lookup and real-time claim line pricing.
Browse APIs →