Chronic Care Management is one of the highest-leverage revenue codes available to internal medicine practices, and it is also one of the most consistently underbilled. The mechanics are not complicated. The discipline required to capture the revenue cleanly is. After working 3M+ claims annually since 1992, our AAPC-certified team sees the same pattern at practice after practice: CCM eligibility is identified, care is actually delivered, and then the billing falls apart because nobody logged time correctly or because the calendar-month rules were missed.
This post is the playbook for locking that down. We will cover the CCM code family, the 20-minute threshold that quietly kills most CCM revenue, the time-log standard that survives audit, the 99490 vs 99491 decision, when complex CCM actually applies, the TCM same-month trap, and the five denial patterns we see most often.
The CCM code family — what each code covers
CCM splits along two axes: who delivered the time (clinical staff vs physician/QHP), and whether the case meets the higher bar for complex CCM. Reimbursement figures below are approximate 2026 Medicare PFS national averages — verify your locality and payer-specific rates before relying on them for budgeting.
- 99490 — First 20 minutes of clinical staff time per calendar month, directed by the billing practitioner. Reimburses approximately $62.
- 99439 — Each additional 20 minutes of clinical staff time. Billable up to 2 units per month, capping the staff-time add-on at roughly $109.
- 99491 — First 30 minutes of time personally provided by the physician or other qualified health professional. Reimburses approximately $83. This is MD/QHP time, not staff time.
- 99437 — Each additional 30 minutes of physician/QHP time, used in conjunction with 99491.
- 99487 — Complex CCM: 60 minutes of clinical staff time, moderate-to-high MDM, and substantial care plan revision in the calendar month.
- 99489 — Each additional 30 minutes of complex CCM staff time.
For a typical IM panel with a meaningful CCM-eligible cohort, the recurring monthly revenue adds up fast — but only if the time-log discipline holds.
The 20-minute threshold — why most CCM revenue dies here
The rule is binary. If clinical staff time on a CCM-eligible patient is under 20 minutes in a calendar month, you cannot bill 99490 for that month. Not at 18 minutes. Not at 19 minutes and 30 seconds. Twenty minutes is the floor, and Medicare expects the time-log to prove it.
This is where most CCM revenue quietly walks out the door. A medication reconciliation gets logged informally as “about 15 minutes.” A specialist coordination call gets noted in the chart without start and stop times. The month closes, the time can’t be reconstructed with confidence, and the bill doesn’t go out.
“We did about 25 minutes” does not survive a CMS audit. Auditors want timestamps tied to specific activities, attributed to a specific named staff member, with the activity itself documented in the care plan or chart. Approximations get clawed back.
The compounding effect is what makes this so expensive. Every patient who falls under 20 minutes of clinical staff time in a given month is $62 to roughly $172 in unrealized revenue — that’s the floor (99490 alone) up to the ceiling (99490 + two units of 99439). Per patient, per month, every month it happens. Across a panel of 150 CCM-eligible patients, even a 20% miss rate is a five-figure annual hole.
Time-log documentation that survives audit
The standard is straightforward: every CCM activity needs an EHR-captured start time, end time, the named clinical staff member who performed it, and a short description of what was done. No reconstruction after the fact. No “approximately.” No batched entries at the end of the month.
Activities that count toward the 20-minute threshold include:
- Care plan creation, review, and revision
- Medication reconciliation and management
- Coordination with specialists, home health, hospice, or community resources
- Patient and caregiver communication (phone, secure message, portal)
- Transitions of care follow-up that falls outside an active TCM service period
- Review of labs, imaging, or specialist reports tied to the care plan
Activities that do not count toward CCM time:
- Routine documentation of an in-person encounter (that time is part of the E/M)
- Paperwork unrelated to the care plan (forms, prior auths for unrelated services)
- Any time during the face-to-face visit itself
- Time spent by ineligible staff (front desk, billing staff, non-clinical roles)
The “named clinical staff member” rule matters. CCM staff time must be performed by clinical staff — typically RNs, LPNs, MAs, or other licensed clinical roles — under the general supervision of the billing practitioner. The time-log must identify who did the work. A generic “nursing staff” entry will not hold up.
99490 (staff time) vs 99491 (MD time) — which to bill
The two codes are mutually exclusive in the same calendar month for the same patient. You bill staff time or MD/QHP time — not both.
The financial calculus tilts toward staff time for most practices. 99490 reimburses approximately $62 for 20 minutes of clinical staff time. 99491 reimburses approximately $83 for 30 minutes of physician time. On a per-minute basis, staff time pays better, and the opportunity cost of MD time is almost always higher than the marginal reimbursement difference.
99491 is the right call when the MD is genuinely the one doing the CCM work — personally coordinating with specialists, personally revising the care plan, personally communicating with the patient or caregiver about chronic disease management. If that’s consistently happening in your practice (some smaller IM practices do work this way), 99491 is appropriate and captures the value of the physician’s time.
For most IM practices, though, the default should be 99490. Staff-delivered CCM scales. Physician-delivered CCM doesn’t.
Complex CCM (99487/99489) — when and when not to use it
Complex CCM has a higher reimbursement, and a much higher documentation bar. To bill 99487, three things must all be true in the calendar month:
- At least 60 minutes of clinical staff time
- Moderate-to-high complexity medical decision-making
- Substantial revision of the comprehensive care plan
All three. Not two of three. The “substantial care plan revision” is the requirement most often missed — adding a single medication or noting a specialist referral is generally not enough. Auditors look for meaningful structural changes to the care plan driven by clinical reassessment.
Most patients we see flagged as “complex” by practices are clinically complex but still bill correctly as standard CCM. Three chronic conditions and a med list a mile long don’t automatically make the case complex CCM — it’s the decision-making and care plan activity in that specific month that determines code selection.
The audit risk of upcoding standard CCM to complex CCM is real. Recoupments hit hardest on patterns — if every complex CCM claim looks structurally identical month over month, that’s a target. When in doubt, bill standard CCM and add 99439 units for additional staff time. The reimbursement difference is usually not worth the audit exposure.
The TCM same-month trap (mutually exclusive)
CCM and Transitional Care Management cannot be billed for the same patient in the same calendar month. This is one of the most common CCM denials we see at intake on new client books, and it’s entirely avoidable.
The rule of thumb: in the month a patient is discharged from an inpatient or qualifying facility stay, bill TCM. TCM reimburses substantially more than a single month of CCM, and the 30-day TCM service period covers the highest-touch window after discharge anyway. Then resume CCM the calendar month after the TCM service period ends.
For the full TCM mechanics — the 14-day face-to-face rule, the 99495 vs 99496 decision, and the discharge-day-counting trap — see our companion post on TCM billing and the 14-day rule for internal medicine.
Documentation requirements (the 4 audit checkpoints)
When CCM claims get audited, reviewers walk a predictable checklist. Build your CCM program to clear all four:
- Comprehensive care plan exists and is current. It must address all chronic conditions, be patient-specific (not a template), and be updated at least annually. It must be accessible to the care team.
- Patient consent on file. Required once at enrollment. Verbal consent is acceptable if documented in the medical record, including the date and the patient’s acknowledgment of cost-sharing, the 24/7 access provision, and the right to stop services at any time.
- Time-log with start and stop timestamps. Every CCM activity, every month, attributed to the named clinical staff member who performed it.
- 24/7 access language in the care plan. The care plan must document that the patient has 24/7 access to care management services and providers for urgent chronic care needs.
A practice that consistently clears these four checkpoints holds up under audit. A practice that’s loose on any one of them is exposed across the entire CCM book — not just one claim.
Top 5 CCM denial patterns and the fix for each
Across the CCM claims we touch, five denial patterns account for the overwhelming majority of preventable losses. Each has a process fix that’s cheaper than the revenue at stake.
- Time under 20 minutes. Fix: configure the EHR to enforce a 20-minute threshold before a CCM claim can be generated. No claim drops until the time-log clears the floor.
- CCM and TCM billed in the same calendar month. Fix: a billing rule that auto-suppresses CCM in any month a TCM claim exists for the same patient. This is a one-time configuration that prevents a recurring denial.
- Missing patient consent. Fix: consent capture at the moment of CCM enrollment, with an auto-flag on the patient record if consent documentation is incomplete. No time-log entries roll up into a billable claim until the flag clears.
- Care plan not updated within 12 months. Fix: an annual care plan refresh workflow tied to enrollment anniversaries. The care team gets a 30-day heads-up, and CCM billing for the patient pauses if the refresh isn’t completed.
- Time logged by ineligible staff. Fix: role-based time entry permissions in the EHR. Front-desk and billing staff cannot log CCM time. Only credentialed clinical roles can.
These fixes are tactical, not strategic. They’re the kind of process discipline that separates a practice running CCM as a real revenue line from one running it as a hope. For the broader framing of how these process fixes fit into a healthy revenue cycle, see our overview of best practices for revenue cycle management.
How CCM fits in the broader IM revenue picture
CCM is one of the highest-leverage revenue codes in internal medicine — alongside the Annual Wellness Visit (G0438/G0439), Transitional Care Management (99495/99496), Remote Patient Monitoring (99453-99458), Behavioral Health Integration, and the Advanced Primary Care Management code (G0511) introduced in 2025. Each one rewards process discipline more than clinical heroics. The practices that capture this revenue are the ones with workflows that make compliant billing the path of least resistance.
For the full code map across IM — including AWV, TCM, BHI, prevention services, and the high-frequency E/M codes — see our 2026 Internal Medicine CPT Cheat Sheet. It’s the companion reference to this post.
If your CCM program is leaking revenue, or if you’re not running CCM at all because the time-log discipline feels too heavy to install, that’s a fixable problem. Our AAPC-certified billing team has built CCM programs from scratch for IM practices and rebuilt them when denial rates crept past tolerance. We hold 95%+ clean claim rates, 30-35 day A/R, and under 6% denial rates across 3M+ claims annually — and CCM is one of the lines where that discipline shows up most clearly. Learn more about our medical billing services, or grab time on the calendar for a 20-minute conversation about your CCM book.