What CPT Category II codes are
CPT Category II codes are four digits followed by the letter F. The AMA calls them "a set of supplemental tracking codes that can be used for performance measurement." They report that something was done or that a test came back at a particular value. They do not report a billable service.
Because they describe work already bundled into an evaluation and management service, they carry no relative value units. A Category II code on a claim is worth exactly $0.00. The AMA is explicit that using them is optional, that they are not required for correct coding, and that they may never substitute for a Category I code.
That is the mechanism, and it is also why they are useful. A Category II code is a free field on a claim you were already submitting, and it carries a clinical result that the claim otherwise leaves invisible to the plan.
Why they close HEDIS gaps without a chart chase
A HEDIS numerator can be met two ways. Administrative data, meaning claims and encounters, is scored automatically. Everything else has to arrive as supplemental data or come out of a chart, and both cost money.
Chart retrieval is the expensive end: a vendor requests the record, an abstractor reads it, and for a hybrid measure NCQA can ask for primary source verification of the whole process. A supplemental data feed is cheaper per record but has to be built, mapped, validated against NCQA's standard data requirements, and maintained by someone.
A Category II code skips both. It rides the claim the practice was already sending, so the result lands in the plan's administrative data with no new feed and no retrieval request. That is the difference between an A1c of 6.8 that closes a gap in February and an A1c of 6.8 that gets discovered by an abstractor in October, or never.
People often describe Category II codes as "the cheapest supplemental data." Strictly speaking they are not supplemental data at all. They are administrative data, which is what makes them cheap.
The Category II codes by HEDIS measure
These are the codes quality teams actually use. Each one reports a result or a completed action, and each one maps to a measure a Medicare Advantage plan is graded on.
| Measure | Code | What it reports |
|---|---|---|
| Controlling High Blood Pressure (CBP) and Blood Pressure Control for Patients with Diabetes (BPD) | 3074F | Systolic less than 130 mm Hg |
| 3075F | Systolic 130 to 139 mm Hg | |
| 3077F | Systolic 140 mm Hg or higher | |
| 3078F | Diastolic less than 80 mm Hg | |
| 3079F | Diastolic 80 to 89 mm Hg | |
| 3080F | Diastolic 90 mm Hg or higher | |
| Glycemic Status Assessment for Patients with Diabetes (GSD) | 3044F | HbA1c below 7.0% |
| 3051F | HbA1c at least 7.0% and below 8.0% | |
| 3052F | HbA1c at least 8.0% and no more than 9.0% | |
| 3046F | HbA1c above 9.0% | |
| Eye Exam for Patients with Diabetes (EED) | 2022F | Dilated retinal exam read by an ophthalmologist or optometrist, with retinopathy |
| 2023F | Dilated retinal exam read by an ophthalmologist or optometrist, without retinopathy | |
| 2024F | 7 standard field stereoscopic photos, with retinopathy | |
| 2025F | 7 standard field stereoscopic photos, without retinopathy | |
| 2026F | Validated eye imaging, with retinopathy | |
| 2033F | Validated eye imaging, without retinopathy | |
| 3072F | No retinopathy on the prior year's exam | |
| Transitions of Care (TRC), medication reconciliation post-discharge | 1111F | Discharge medications reconciled with the current outpatient medication list |
| Care for Older Adults (COA) | 1159F | Medication list documented in the medical record |
| 1160F | Review of all medications by a prescriber or clinical pharmacist | |
| 1170F | Functional status assessed | |
| Advance care planning | 1123F, 1124F, 1157F, 1158F | Advance care plan or surrogate documented, or the discussion documented |
The nine Category II measure ranges run 0001F through 7025F: composite measures, patient management, patient history, physical examination, diagnostic and screening results, therapeutic and preventive interventions, follow-up outcomes, patient safety, and structural measures, plus a separate non-measure reporting range at 9001F to 9007F. The codes above sit mostly in the history and results ranges, which is where result values live.
How to report them so they actually count
The reporting rules are small and easy to get wrong, and getting one wrong quietly voids the code.
- Report the date of the test, not the date you read it. For A1c and eye exam codes, the date of service is the date of the result. If a lab drawn in March is reviewed at a June visit and coded June, the measure sees June. The exception is 3072F, which uses the current-year office visit date.
- Send two codes for blood pressure. One for the lowest systolic reading of the encounter and one for the lowest diastolic. A systolic code alone does not close CBP.
- Bill at $0.00. Or $0.01 if the billing system refuses to accept a zero-dollar line. Either way the code does not change what the claim pays.
- Report medication reconciliation where it happened. 1111F is reportable whether the reconciliation was done by phone or during the transitional care management office visit.
- Document both COA medication codes. 1159F and 1160F cover different things, and the review under 1160F has to be performed by a prescribing practitioner or a clinical pharmacist.
The four modifiers, and why they do not close a gap
The AMA allows exactly four modifiers on a Category II code, and no others: 1P for a medical reason the service was not performed, 2P for a patient reason, 3P for a system reason, and 8P for an action not performed with no reason specified. They exist so a physician quality program can distinguish a legitimate exclusion from a miss.
They also do the opposite of what a gap-closure workflow wants. A code carrying 1P, 2P, 3P or 8P reports that the thing did not happen. It will not put the member in a HEDIS numerator. Staff who append a modifier out of habit are documenting a failure in a field the plan reads.
The AMA further restricts them: the exclusion modifiers are only intended to be used when the parenthetical notes or reporting language for that specific measure allow it.
Common mistakes
| What goes wrong | What it costs |
|---|---|
| Only the systolic code is sent | CBP and BPD both need a systolic and a diastolic code. The gap stays open |
| A1c coded to the visit date instead of the result date | The result can land outside the measurement window |
| Habitual 8P on codes where nothing was excluded | Reports the action as not performed. The member is scored as a miss |
| A Category II code used in place of a Category I code | The AMA prohibits it and the encounter goes unbilled |
| Codes suppressed by a clearinghouse scrubber as "non-payable" | The line never reaches the plan. Worth checking before blaming the practice |
| Eye exam coded by the primary care office as the retina specialist's exam | Allowed. Any provider may report the EED code, using the date of the test |
| Waiting for a supplemental data feed to carry a result the claim could have carried | Turns a free administrative hit into a build-and-validate project |
How Pelica handles Category II coding
The blocker is rarely willingness. A practice will happily add 3074F if someone tells it, at the moment of the encounter, that the member's CBP gap is open and that the reading in front of them closes it.
Pelica ingests claims, EHR, pharmacy, lab and ADT feeds into one live member record, scores the open gaps continuously, and pushes the specific code that closes each one into the practice's workflow before the claim goes out. The Quality & Stars copilot runs the same logic across every payer at once, so a practice sees one list rather than six portals. Customers have seen a 41% improvement in quality gap closure.
Related terms
HEDIS measures covers the measure set these codes feed. ECDS explains the reporting method that is replacing hybrid chart abstraction, and why claims data matters more every year. CBP and GSD are the two measures where Category II coding moves the rate the most.