Skip to main content
The NCCI (National Correct Coding Initiative) endpoints resolve Medicare correct coding edits from CMS quarterly data. The sample dataset includes 56 MUE entries (across Practitioner, Hospital Outpatient, and DME settings), 42 PTP pairs (both Practitioner and Hospital tables), and 29 AOC relationships. Three edit types are supported:
Every NCCI route is also available under the canonical knowledge namespace at /v1/knowledge/ncci/.... Both /v1/ncci/mue/practitioner/99213 and /v1/knowledge/ncci/mue/practitioner/99213 return identical results — pick whichever fits your URL conventions.

Pick a date_of_service to select the right NCCI version

Every endpoint accepts an optional date_of_service=YYYY-MM-DD query parameter (and validate/batch accepts date_of_service in the request body). The platform stores every quarterly NCCI release with its effective_date and (where applicable) deletion_date, then returns the row that was active on that date — not just the latest.
Behaviour: This means you can confidently reprice or re-validate an historical claim without worrying that the response reflects a later CMS revision.

MUE — Medically Unlikely Edits

MUE limits are split by clinical setting. Use the endpoint matching your claim type:

Response

MAI (MUE Adjudication Indicator)

PTP — Procedure-to-Procedure Edits

PTP edits tell you whether two codes are bundled. Endpoints are split by claim type:

Response

Modifier Indicator

AOC — Add-On Code Edits

Look up which add-on codes are valid with a primary procedure (or vice versa). Provide at least one of add_on_code or primary_proc_cd:

Response

AOC Edit Types

Validate a Code Pair

Quick check whether two codes have a PTP bundling edit:

AI Summaries

Add ?include_summary=true to any MUE, PTP, or AOC request to get a plain-English explanation written for billing staff:
Summaries are generated by the rcm-agents service using Claude. They explain:
  • What the procedure code represents
  • Why it appears on the edit list
  • Practical billing impact
  • A follow-up question to confirm interpretation
AI summaries require the rcm-agents service running at RCM_AGENTS_URL with a valid ANTHROPIC_API_KEY. Without it, ai_summary returns null — the structured data still works.

Sample data coverage

The bundled sample data covers these codes across all settings and claim types:

Data freshness

NCCI data is sourced from CMS quarterly releases. The platform tracks the version_year / quarter / effective_date of every row so historical versions coexist (this is what powers date_of_service selection above). Use the admin API to check data freshness and trigger syncs:
The data/refresh response now also reports betos_nodes and betos_assignments counters from the BETOS/RBCS taxonomy loader (see Service Code Groups).