Post-Denial Resolution
After a denial comes back through an ERA (835) or claim status response (277), call RCI to interpret it, get an appeal strategy, and understand root cause.
For: Denial management companies, AI RCM platforms, billing companies
How it works
ERA (835) / Claim Status (277) received │ ├─ Parse CARC and RARC codes from denial │ ├─ Call RCI: POST /v1/agents/denial-resolution │ ├─ Interpret CARC/RARC in plain English │ ├─ Identify root cause category │ ├─ Get payer-specific appeal deadline (L4) │ ├─ Generate appeal strategy │ └─ List required documentation │ ├─ Appeal strategy returned │ ├─ Auto-generate appeal letter │ ├─ Attach required documentation │ └─ Track appeal deadline │ └─ Resubmit corrected claim or file appeal
Code example
import httpx
async def resolve_denial(api_key: str, denial: dict) -> dict:
async with httpx.AsyncClient(
base_url="https://api.rci.health",
headers={"X-API-Key": api_key},
) as client:
# Submit to denial resolution agent
resp = await client.post("/v1/agents/denial-resolution", json={
"query": f"Claim denied with CARC {denial['carc']}",
"carc": denial["carc"],
"rarc": denial.get("rarc"),
"ccn": denial.get("facility_ccn"),
"cpt": denial.get("cpt_code"),
})
job = resp.json()
# Poll for completion
while job["status"] not in ("completed", "failed"):
resp = await client.get(f"/v1/agents/jobs/{job['job_id']}")
job = resp.json()
return {
"explanation": job["result"]["explanation"],
"root_cause": job["result"]["root_cause"],
"appeal_strategy": job["result"]["appeal_strategy"],
"appeal_deadline": job["result"]["appeal_deadline"],
"required_docs": job["result"]["required_documentation"],
"confidence": job["audit"]["composite_score"],
}Common denials RCI resolves
Precertification/authorization absent
Request retroactive auth, then appeal with clinical documentation
Non-covered service
Validate medical necessity against NCD/LCD, appeal with supporting criteria
Missing/incomplete information
Identify missing fields from L2/L3 validation, resubmit with corrections
Time limit for filing expired
Check if exception applies (e.g., retroactive eligibility), file exception request
Procedure inconsistent with POS
Resolve correct POS from L3 care setting, resubmit with corrected code
Procedure inconsistent with modifier
Check L3/L5 modifier requirements, resubmit with correct modifier
Automate denial resolution
Start interpreting denials and generating appeal strategies programmatically.