Chronic care management billing for internal medicine: 99490, 99439, 99487.
CCM is the highest-volume care-management program most internal medicine panels run, and it's also the one where an otherwise well-run practice loses revenue to its own workflow, not to a payer's coverage policy. Six codes make up the family, three of them are mutually exclusive with the other three for the same patient in the same month, and the entire claim rests on documentation — consent, care plan, and a monthly time log — that CMS audits harder than almost anything else in the specialty. This guide covers the full code family, the exclusivity rules, and exactly what the documentation has to contain to survive review.
Key takeaways
- Pick one track per patient per month, never mix them. Clinical-staff codes 99490/99439 cannot be billed alongside physician-personal-time codes 99491/99437, or alongside complex CCM 99487/99489, for the same patient in the same calendar month.
- Incomplete time documentation is the single most common CCM denial driver. A log that shows entries but doesn't clearly sum to the billed threshold reads as unsupported on review, whether or not the underlying work happened.
- Consent has to name cost-sharing, not just describe the program. Verbal consent is allowed, but the record has to show the patient understood coinsurance and deductible may apply, dated at the time it was obtained.
- CCM has no MAC-specific LCD at all. We confirmed this directly against the CMS Coverage Database, which returns zero local coverage documents for chronic care management — it's governed nationally by CMS program instructions, not by jurisdiction.
The CCM code family, in full
Three code pairs cover the same underlying service — ongoing, non-face-to-face care coordination for a patient with multiple chronic conditions — split by who performs the time and how complex the case is. Knowing which pair applies before the month starts, not after the time log is built, is what keeps the claim clean.
| Code | Who performs the time | Threshold | Notes |
|---|---|---|---|
99490 | Clinical staff, under general supervision | First 20 minutes/month | Standard (non-complex) CCM; base code for the clinical-staff track |
99439 | Clinical staff | Each additional 20 minutes/month | Add-on to 99490 only; typically capped at 2 units/month |
99487 | Clinical staff | First 60 minutes/month | Complex CCM — requires moderate- or high-complexity MDM and substantial care-plan revision, not just additional time |
99489 | Clinical staff | Each additional 30 minutes/month | Add-on to 99487 only |
99491 | Physician or NPP, personally, not clinical staff | First 30 minutes/month | The physician-personal-time track; mutually exclusive with the entire clinical-staff track above for the same patient, same month |
99437 | Physician or NPP, personally | Each additional 30 minutes/month | Add-on to 99491 only |
The distinction between 99490 and 99487 isn't just more time — it's clinical complexity. 99487 requires the visit's underlying MDM to be moderate or high complexity and the care plan to be substantially revised that month, not simply that 60 minutes of routine coordination happened. A practice billing 99487 purely because a patient's calls ran long, without a documented care-plan revision and the complexity to match, is billing the wrong code even if the time is real.
The mutual-exclusivity rule
This is the rule that costs practices the most avoidable denials, because the three pairs above look like options rather than a single either/or decision. They aren't. CMS treats CCM as one service billed under one track per patient per calendar month.
- 99490/99439 with 99491/99437. Clinical-staff time and physician-personal time are two tracks for the same service; the same patient's minutes for a given month have to belong entirely to one track.
- 99490/99439 with 99487/99489. Standard and complex CCM are alternative levels of the same clinical-staff track, not stackable add-ons to each other.
- 99487/99489 with 99491/99437. Complex CCM and physician-personal-time CCM are still two different tracks; the same exclusivity applies.
- Choosing the clinical-staff track one month and the physician-personal-time track a different month for the same patient, if circumstances genuinely change.
- Billing RPM (99453, 99454, 99457, 99458) alongside CCM in the same month, as long as the time counted toward each program is tracked and never double-counted.
- Escalating from standard to complex CCM (99490 to 99487) in a month where MDM complexity and care-plan revision genuinely reach that bar — but not billing both levels for the same month.
A practical failure mode: a medical assistant logs 12 minutes of care-coordination time for a diabetic, hypertensive patient with stage 3 CKD, and separately the physician personally spends 10 minutes that same month reviewing labs and adjusting the care plan. That's 22 minutes of genuine work, but it can't be combined across tracks into either code family's threshold — it has to be billed entirely under one track, which usually means restructuring so one practitioner category performs the qualifying time that month, or accepting that neither track's threshold was independently met. CCM is also mutually exclusive with transitional care management (99495, 99496) for the same patient in the same calendar month — if a discharge opens a TCM episode mid-month, hold that patient's CCM time until the 30-day TCM period closes, covered in full in our transitional care management billing guide. CCM and principal care management (99424–99427) are likewise mutually exclusive per patient per month — a patient who qualifies for full CCM under two or more conditions belongs in CCM, not PCM, for that month.
Eligibility: two or more chronic conditions
CCM requires two or more chronic conditions expected to last at least 12 months, or until the patient's death, each of which places the patient at significant risk of death, acute exacerbation or decompensation, or functional decline. A patient with well-controlled hypertension and osteoarthritis technically has two chronic conditions, but the significant-risk standard is what separates a legitimately enrolled CCM patient from one whose conditions are chronic but not meaningfully risk-bearing — document why each qualifying condition carries that risk, not just that it's present on the problem list.
CCM can't start from nothing. A face-to-face visit that addresses the qualifying chronic conditions — typically a comprehensive E/M, an annual wellness visit, or the initial preventive physical exam — has to occur before or at CCM initiation for a patient new to the program with that practitioner. You can't enroll a patient in CCM off a chart review alone, and a CCM claim with no qualifying initiating visit on file is a structural gap that surfaces on audit even when every subsequent monthly claim looks clean on its own.
Written consent, including the cost-sharing disclosure
Consent is where a genuinely eligible, genuinely worked CCM claim most often falls apart on review, because the requirement isn't just "get permission" — it's a specific set of disclosures the patient has to understand and the record has to show they understood.
- 1Cost-sharing is disclosed. The patient has to be informed that Medicare Part B cost-sharing — coinsurance and any applicable deductible — may apply to CCM services, since this is a billable Part B service, not a no-cost preventive benefit. A consent note that never mentions cost-sharing is incomplete regardless of how thorough the rest of the conversation was.
- 2The patient understands only one practitioner can bill CCM per month. If the patient sees multiple providers, they need to know only one can furnish and be paid for CCM services in a given calendar month, and which one that is.
- 3The patient can stop CCM services at any time. Ongoing consent, not a one-time signature that's assumed to cover every future month regardless of the patient's wishes.
- 4Verbal consent is allowed but has to be dated at the time it was obtained. A consent note added after the fact, or with no date, is a fixable-in-appeal problem only if the actual conversation genuinely happened and can be reconstructed from real documentation — not backfilled to match the claim.
Sample consent language that covers the required elements: "I have explained that [Patient] has been identified as eligible for chronic care management services, which include ongoing care coordination between visits for their chronic conditions. I've explained that Medicare coinsurance and any applicable deductible may apply to this monthly service, that only one provider may bill for these services per month, and that [Patient] may stop these services at any time by notifying our office. [Patient] verbally agreed to enroll on [date]." Documented once, at enrollment, dated — not re-obtained monthly, but on file before the first month is billed.
Comprehensive care plan elements
A care plan that's really just a diagnosis list is the second most common reason a CCM claim that reflects real work still fails audit. CMS's own definition requires more than a problem list.
| Element | What it has to show |
|---|---|
| Problem list | All chronic conditions being managed under the program, not just the two that established eligibility |
| Expected outcomes and prognosis | What the care plan is working toward for each condition, stated in terms specific to the patient |
| Measurable treatment goals | Targets that can be tracked over time — an A1c target, a blood pressure goal — not a general intention to "manage" the condition |
| Symptom management | How symptoms tied to the qualifying conditions are being addressed between visits |
| Planned interventions, with the responsible individual named | Each intervention tied to who on the care team is executing it, not left generic |
| Medication management | A current medication list with the management plan for it, including reconciliation |
| Community and social services ordered | Referrals or services arranged outside the practice, where relevant to the conditions being managed |
| Schedule for review and revision | When the plan itself will next be reassessed, not left open-ended |
The plan also has to be accessible to the entire care team at all times and shared with the patient or caregiver — typically through the patient portal, a printed copy, or fax. A thorough care plan that exists only in the physician's private notes doesn't satisfy the requirement even if every element above is genuinely present, because the sharing requirement is part of the definition, not a formality layered on top of it.
Monthly time-log documentation CMS actually audits
The time log is the single document most likely to decide whether a CCM claim survives review, and it fails audit far more often on formatting than on substance — the work happened, but the log doesn't prove it clearly enough.
| Field | Why it's checked |
|---|---|
| Date of the activity | Establishes the entry falls inside the billed calendar month, not carried over from a prior one |
| Duration (start/stop time or stated minutes) | What the running monthly total is built from — without it, an entry can't be counted toward the threshold |
| Name and credential of the staff member | Confirms the time was performed by clinical staff under the billing practitioner's general supervision, not an outside vendor billing independently |
| Specific description of the activity | "Care coordination" alone is not defensible; "reviewed home glucose log, called patient's pharmacy to confirm insulin refill, coordinated nephrology referral" is |
| Cumulative monthly total, stated explicitly | The number reviewers check first — a log with entries that don't add up to a stated total, or that requires the reviewer to do the math, reads as unsupported |
The log has to be contemporaneous — built entry by entry as the work happens across the month — not reconstructed at month-end from memory or from the EHR's audit trail after the fact. A retroactively built log that happens to land on 20 minutes is exactly the pattern payers and auditors are trained to spot, because entries built after the fact tend to be round numbers with generic descriptions, unlike a log built in real time.
Build the time log as a running document tied to the patient's CCM record, not a spreadsheet reconstructed at billing time. Every qualifying interaction — a phone call, a portal message reviewed, a referral coordinated — gets logged the same day it happens, with the four fields above filled in immediately. At month-end, billing staff should only need to confirm the total crosses the threshold and pull the log as-is, not build it from scratch. Practices that switch to this workflow see their CO-16/MA130 denial rate on CCM claims drop within one or two billing cycles, because the documentation gap that caused the denial stops existing at the point of care instead of getting discovered after submission.
Denial patterns and fixes
| Pattern | Why it fires | Fix |
|---|---|---|
| Incomplete time documentation Usually CO-16 with remark MA130 | Log entries exist but don't clearly sum to the billed threshold, or lack the specificity a reviewer needs to credit them as qualifying CCM time | Pull the actual monthly entries, confirm the running total against the code billed, and resubmit with a log that states the sum explicitly rather than leaving the reviewer to add it up |
| Missing or undated consent Usually CO-16 with remark MA130 | No consent on file, or a consent note with no date and no cost-sharing disclosure | If the conversation genuinely happened, document it now with the actual date recalled and the cost-sharing element stated; if it never happened, the claim isn't billable until it does, going forward |
| CCM billed the same month as TCM Usually CO-18 (duplicate) or a care-management-specific denial | A discharge and TCM episode fall in a month where CCM time was also logged for the same patient | Confirm the actual discharge date against the hospital's own claim; hold that month's CCM time, bill TCM instead, and resume CCM the following month once the 30-day TCM period has closed |
All three patterns share the same root cause: the underlying clinical work was probably real, but the claim doesn't prove it in the specific way CMS requires. That makes all three winnable on appeal or resubmission when the actual documentation exists and just needs to be pulled together correctly — and all three are preventable with a scheduling and time-logging system that enforces the rule before the claim goes out, rather than a biller catching it after a denial comes back. Full appeal-letter structure for CCM-specific denials, plus more care-management denial patterns across AWV and PCM, is in our internal medicine billing and coding pillar.
Losing CCM revenue to documentation gaps?
We'll audit a sample of your CCM claims for time-log completeness, consent gaps, and track-mixing errors, and show what's recoverable versus what needs a workflow fix going forward.
Frequently asked questions
Can we bill 99490 and 99491 for the same patient in the same month?
No. 99490 (and its add-on 99439) bills clinical-staff time under general supervision; 99491 (and its add-on 99437) bills the physician or non-physician practitioner's own personal time. They are two separate tracks for the same underlying CCM service, and CMS requires picking one track per patient per calendar month, never combining time across both. A practice that logs 15 minutes of nurse time and 15 minutes of physician time in the same month cannot add them together under either code — the time has to belong entirely to one track.
What has to be in a CCM comprehensive care plan for the claim to survive audit?
At minimum: the patient's problem list, expected outcomes and prognosis, measurable treatment goals, a symptom-management plan, planned interventions with the individual responsible for each one named, a medication management plan, any community or social services ordered, and a schedule for periodically reviewing and revising the plan. A diagnosis list with no goals, interventions, or review schedule attached is not a comprehensive care plan under CMS's own definition, even if it's clinically accurate, and auditors treat a bare problem list as a missing care plan.
Why do CCM claims get denied even when the care coordination genuinely happened?
The most common reason is documentation, not coverage. A monthly time log that lists entries without a clear running total reaching the 20-minute (or 60-minute, for complex CCM) threshold reads as unsupported on review, even when the underlying work was real. Missing or undated patient consent and billing CCM in a month that also has an open TCM episode for the same patient are the other two recurring patterns. All three are fixable by tightening the workflow that captures time, consent, and program eligibility before the claim goes out, not by changing the clinical care itself.
Verify before billing. CPT is a registered trademark of the American Medical Association; codes here are paraphrased, not reproduced from the CPT Professional edition. CPT, HCPCS and ICD-10 codes, coverage policy, and bundling edits change, including annual code-set updates. This page reflects standard industry practice and is provided for general education — it is not a substitute for your own compliance review, your current payer contracts, or the current-year code sets. Confirm requirements against your specific payer mix before submitting claims.