Chronic Care Management: Vendor vs EHR Module vs AI Agent

By Jude Lee · · Comparison

Nurse care coordinator reviewing a chronic care management plan on a computer in a small primary care practice

Why care management programs stall in small practices

The clinical part of chronic care management is the part practices are usually good at: calling the patient with uncontrolled A1c, reconciling meds after a hospital discharge, chasing a specialist note. The part that fails is the billing scaffolding around it — proving the time, keeping a current comprehensive care plan in the record, documenting consent, and producing a monthly note that survives an audit.

Per the CMS Medicare Learning Network booklet Chronic Care Management Services (MLN909188), the base CCM code requires at least 20 minutes of clinical staff time directed by a physician or other qualified health professional per calendar month, for patients with multiple chronic conditions, with a patient-agreed comprehensive care plan in the record. CMS revises that booklet periodically — check the revision date printed on the cover against whatever you build. CMS has also been expanding this family: Advanced Primary Care Management (APCM) services were finalized in the CY2025 Physician Fee Schedule final rule, published in the Federal Register in late 2024 and effective January 1, 2025, and they bundle care management on a different basis than the time-threshold codes. The rule and each year’s successor are posted on the CMS Physician Fee Schedule page. Confirm the current-year requirements and payment in both documents before you build anything; the details move almost every year.

20 min
Minimum clinical staff time per calendar month for the base CCM code — verify current rules
CMS Medicare Learning Network, Chronic Care Management Services (MLN909188)
2+
Chronic conditions expected to last at least 12 months, or until death, required for CCM eligibility — verify current definitions
CMS Medicare Learning Network, Chronic Care Management Services (MLN909188)

The three paths, honestly described

Outsourced CCM vendor. A company supplies care managers, a platform, time tracking, and the monthly documentation, usually for a per-enrolled-patient fee or a share of collections. You supply the panel, the clinical oversight, and the signature. Fastest to launch, lowest internal lift, thinnest relationship with the patient — and you are trusting someone else’s documentation to hold up under audit.

EHR care-management module. Your existing system probably has a CCM or care-plan module with a timer, templates, and a worklist. Cheapest to turn on, no new vendor, no new BAA. Also typically the most rigid: enrollment targeting is a report you run yourself, the monthly note is a template someone retypes, and nothing proactively tells you that 40 enrolled patients will hit month-end at 12 minutes.

In-house staff plus an AI agent. Your MA or nurse does the actual care management. An AI agent handles the surrounding paperwork: building the eligible-patient list from problem lists and claims history, drafting the care plan from chart evidence for clinician edit, summarizing the month’s documented touches into a note, and surfacing an exception list before the billing window closes. This is the path with the highest setup cost and the most control.

Outsourced CCM vendor
Launch in weeks. Vendor owns staffing, turnover, and the platform. Per-patient economics are predictable but permanent — the margin never comes back in-house. Patients may notice they’re being called by someone who isn’t “the office.” Your audit exposure depends on their documentation discipline. Requires a BAA and a hard look at what PHI leaves your walls.
In-house team + AI agent
Months, not weeks, to stand up. Your staff keep the patient relationship and the margin. The agent removes the clerical tax, not the clinical work. Breaks if your care team has no capacity to begin with — automation cannot create 20 minutes of nursing time that doesn’t exist. Needs real governance over EHR access.

What the agent is actually doing

The capability worth naming here is an AI agent with scoped access to your systems through MCP — the Model Context Protocol, an open standard for giving an assistant like Claude governed, auditable access to specific tools and data rather than a copy-paste window. A custom MCP server over your EHR or practice-management data exposes a deliberately narrow set of operations: list patients with two or more qualifying chronic conditions and a visit in the last year, fetch this patient’s problem list, med list, and last three encounter summaries, read logged care-coordination time entries, write a draft note to a review queue.

On top of that you define skills — packaged, reusable instructions that make the agent do the job the same way every time. A “monthly CCM summary” skill specifies exactly which sections the note must contain, which phrasing your compliance reviewer approved, and what to do when something is missing: stop and flag, never fill in. That consistency is the real product. It’s the same pattern as closing care gaps with an agent rather than a static registry report — the agent assembles and drafts, a human decides and signs.

An agent can prove the month looks thin. It can never decide that the month looks full.

The lines a care-management agent must not cross

Time and clinical judgment are not generable content. If an agent writes “23 minutes of care coordination” because the note reads better that way, you have manufactured a false claim. Design the system so the agent reads logged time and reports it — and escalates when the threshold isn’t met — with no path to write a number itself.

A guardrail you haven’t tested is an aspiration. Before the agent touches a live billing month, run it against a seeded test set with deliberate gaps: a patient at 12 logged minutes, one with no consent record on file, one whose care plan predates the last hospitalization. Confirm the skill routes each case to the review queue with the gap named, rather than drafting around it or smoothing it over in prose. Re-run that set whenever you edit the skill, change the underlying model, or upgrade the EHR integration.

The other hard boundary is write access. Start the agent read-only with drafts landing in a human queue. Our view: graduate to narrow write permissions only after you’ve watched a few months of output. The read-only vs. approval vs. full-auto permission models framing applies directly here.

Modeling the economics without fake numbers

Don’t trust anyone’s published CCM ROI, including a vendor’s. Eligible patients multiplied by your real enrollment rate is the single input that decides whether any of this pencils out — everything else is arithmetic on top of it. Build it yourself with four inputs you can verify:

  1. Count real eligibility

    Pull patients with two or more qualifying chronic conditions and a recent visit. Then haircut it by your honest guess at the consent and enrollment rate — not the vendor’s. Build that haircut around the patients who are genuinely harder to enroll and keep enrolled: limited English proficiency, no reliable phone or portal access, hearing loss, cognitive impairment, unstable housing. These patients often stand to gain the most from care management and cost the most to reach, and remote, scripted, English-first, phone-dependent outsourced programs tend to perform worst on exactly that group. If they are a large share of your panel, weigh that against the convenience of outsourcing.
  2. Look up your own payment

    Find the allowed amount for the relevant codes in your payer fee schedules and the current Physician Fee Schedule. Revenue = enrolled patients × allowed amount × months billed.
  3. Price the labor both ways

    Clinical minutes are unavoidable in every scenario. Estimate only the clerical minutes per patient per month (list building, note assembly, time reconciliation) and compute (minutes ÷ 60) × loaded hourly rate × enrolled patients. That’s the slice automation can touch.
  4. Subtract honest costs

    Vendor per-patient fee, or agent build plus hosting plus the ongoing attention of whoever owns the workflow. Compare the two totals against doing nothing.

If the clerical slice is small because you have twelve enrolled patients, build nothing. The math only turns in favor of a custom agent at volume, or when the same MCP plumbing also serves prior auth, referrals, or recall.

Honest expectations about what AI changes here

Ignore the round-number rules of thumb about how much work AI absorbs — the ones that circulate in AI-adoption threads with no source behind them. Measure your own before-and-after on one workflow instead.

As for which roles survive: in care management, the jobs that persist are the ones requiring relationship, judgment, and accountability — the nurse who hears hesitation in a patient’s voice, the clinician who owns the care plan, the office manager who catches that a payer changed its documentation expectations. What shrinks is retyping, list-building, and month-end scrambling. At the time of writing, that remains the realistic shape of it: agents are strong at assembling and drafting from structured records, weak at anything requiring accountability for a clinical decision.

Not sure where to start?

Get a free automation audit: we map your scheduling, intake, insurance, billing, and patient communication and show you what's worth automating — before you spend a dollar.

Get a free automation audit