Colonoscopy is one of the highest-volume procedures in gastroenterology, and it produces a steady stream of avoidable denials. Most of them trace back to a single question a coder has to settle before touching the claim. Was the exam a screening or a diagnostic study? The colonoscopy CPT code you report, the modifier you attach to it, and the diagnosis code you sequence first all follow from that answer. Choose wrong and the patient gets a surprise bill, or the claim bounces on a bundling edit.
This guide covers the procedure codes, the Medicare G-codes, the modifiers, and the ICD-10 rules that decide how a colonoscopy is paid in 2026.
The core colonoscopy CPT codes
The colonoscopy family runs from 45378 through 45398. The code you report reflects the single most extensive thing done during the exam, not how the patient was scheduled.
CPT code | Description |
45378 | Diagnostic colonoscopy, including specimen collection by brushing or washing (separate procedure) |
45379 | With removal of foreign body(s) |
45380 | With biopsy, single or multiple (cold forceps) |
45381 | With directed submucosal injection, any substance |
45382 | With control of bleeding, any method |
45384 | With removal of polyp(s) or lesion(s) by hot biopsy forceps |
45385 | With removal of polyp(s) or lesion(s) by snare technique |
45386 | With transendoscopic balloon dilation |
45388 | With ablation of tumor(s), polyp(s), or other lesion(s) |
45390 | With endoscopic mucosal resection (EMR) |
45398 | With band ligation |
A few points trip up new coders. 45378 is the base diagnostic code, and it is a “separate procedure.” That designation means it cannot be billed alongside any therapeutic colonoscopy code from the same session. The National Correct Coding Initiative (NCCI) lists 45378 as a component of every therapeutic code in the range, with a modifier indicator of 0, so no modifier will unbundle it. If a snare polypectomy is documented, you report 45385 and nothing from the diagnostic line.
Code 45383 no longer exists. The American Medical Association deleted it and moved ablation procedures into 45388. Anyone still carrying 45383 in a charge sheet is working from an outdated table.
Technique drives the code, and the operative note has to match it. A polyp taken with a snare is 45385. The same polyp taken with hot biopsy forceps is 45384. A cold-forceps biopsy that samples tissue without removing a lesion is 45380. Billing 45380 when the note describes snare removal is a documentation mismatch that invites audits.
The payment hierarchy follows the same order. The 2026 Medicare Physician Fee Schedule assigns roughly 3.18 work RVUs to 45378, about 3.47 to 45380, and about 4.46 to 45385, so the therapeutic codes carry both more clinical work and more reimbursement than the diagnostic base code.
Screening versus diagnostic: why the label sets the bill
A screening colonoscopy is performed on a patient with no symptoms and no abnormal prior test, purely to look for colorectal cancer or precancerous polyps. A diagnostic colonoscopy investigates something specific, such as rectal bleeding, a change in bowel habits, abdominal pain, iron-deficiency anemia, or a positive stool test. Same scope, same room, very different cost-sharing.
Under the Affordable Care Act, most commercial plans cover a screening colonoscopy at 100% with no patient cost. A diagnostic exam runs through the deductible and coinsurance. That gap is why the screening-versus-diagnostic determination affects the patient’s out-of-pocket cost more than almost any other coding choice in gastroenterology.
Screening colonoscopy | Diagnostic colonoscopy | |
Reason for exam | No symptoms, routine prevention | Symptoms or an abnormal test |
Commercial code | 45378, or therapeutic code with modifier 33 | 45378 or therapeutic code, no modifier 33 |
Medicare code | G0121 or G0105 | 45378 or the therapeutic code |
Primary diagnosis | Z12.11 | The symptom or finding |
Patient cost (ACA plan) | $0 | Deductible plus coinsurance |
When a screening becomes diagnostic
Here is the scenario that generates the most confusion. A patient arrives for a routine screening. The gastroenterologist finds a polyp and removes it by snare. The intent was preventive, but a therapy was performed.
The guidance from the GI tri-society groups (the American Gastroenterological Association, the American College of Gastroenterology, and the American Society for Gastrointestinal Endoscopy) is direct. Report the therapeutic code that reflects what was actually done, then use a modifier to preserve the screening intent. So that screening becomes 45385, not 45378, with the correct modifier appended and Z12.11 still sequenced first. The exam does not lose its screening status just because a polyp came out.
Medicare’s G-codes: G0105 and G0121
Medicare does not accept 45378 for a screening colonoscopy. It uses two HCPCS codes instead.
- G0105: colorectal cancer screening; colonoscopy on an individual at high risk
- G0121: colorectal cancer screening; colonoscopy on an individual not meeting high-risk criteria
Risk status sets the code and the frequency. Under 42 CFR 410.37, Medicare covers G0121 for average-risk beneficiaries once every 10 years (at least 119 months after the last screening colonoscopy). G0105 for high-risk patients is covered once every 24 months (at least 23 months apart). High risk includes a personal history of adenomatous polyps or colorectal cancer, inflammatory bowel disease, or a family history of familial adenomatous polyposis or hereditary nonpolyposis colorectal cancer.
So G0121 and 45378 are not interchangeable. G0121 is the Medicare screening code. 45378 is a commercial and diagnostic code. Send 45378 to Medicare for a routine screening and you have coded for the wrong payer.
One 2026 detail is worth flagging. Medicare lowered the minimum screening age from 50 to 45, aligning with the 2021 recommendation from the US Preventive Services Task Force.
The modifiers that decide the claim
Four modifiers do most of the work in colonoscopy billing.
Modifier 33 (preventive services) tells a commercial payer the exam began as a screening even though a therapy was performed. Use it when a screening colonoscopy converts to a polypectomy or biopsy on a commercial claim.
Modifier PT (colorectal cancer screening test converted to a diagnostic or other procedure) does the same job for Medicare. Append it to each therapeutic CPT code (45380, 45384, 45385, 45388) when a Medicare screening turns therapeutic.
The 33-versus-PT choice is payer-specific and unforgiving. Modifier PT on a commercial claim, or modifier 33 on a Medicare claim, generally produces an automatic denial. Build the payer logic into charge capture rather than relying on memory at the coding desk.
Modifier KX covers a narrower situation. Since January 1, 2023, Medicare treats a colonoscopy performed after a positive non-invasive stool test (the fecal immunochemical test, guaiac fecal occult blood test, or the multi-target stool DNA test) as a screening rather than a diagnostic follow-up. Bill G0105 or G0121 with modifier KX. Omit KX and Medicare returns the claim as unprocessable, according to coding guidance from the American Gastroenterological Association.
Modifier 53 applies to an incomplete colonoscopy, covered further below.
2026 Medicare coverage and the coinsurance phase-down
Medicare pays a clean screening colonoscopy (G0121 or G0105) at 100% with no deductible and no coinsurance. The complication starts when a polyp comes out.
When a Medicare screening converts to a therapy, the Part B deductible is waived under Section 4104 of the Affordable Care Act. Coinsurance is a separate matter. The Consolidated Appropriations Act of 2021 set up a gradual phase-down of the coinsurance owed on a screening that becomes therapeutic:
- 2023 through 2026: 15%
- 2027 through 2029: 10%
- 2030 and after: 0%
A Medicare patient whose 2026 screening includes a polypectomy still owes 15% of the Medicare-approved amount, with the deductible waived. Across a physician fee and a facility fee, that share commonly lands between $50 and $200, based on figures published by CMS and summarized by the Medicare contractor Noridian. By 2030 the coinsurance disappears, and polyp removal during a screening will cost the beneficiary nothing.
Anesthesia follows its own track. Screening colonoscopy anesthesia is reported with 00812. When the exam converts to therapeutic, anesthesia moves to 00811 with modifier PT. The phase-down that reduces coinsurance on the procedure itself does not fully extend to the anesthesia line, so a beneficiary can still see a coinsurance charge there.
ICD-10 diagnosis codes for colonoscopy
The procedure code answers what was done. The ICD-10 code answers why, and its sequencing decides whether the payer reads the claim as preventive.
The primary screening code is Z12.11, encounter for screening for malignant neoplasm of colon. The counterintuitive part is that Z12.11 stays first-listed even when the colonoscopy finds and removes a polyp. AHA Coding Clinic (First Quarter 2017) is explicit: the screening code remains primary regardless of the findings or any procedure performed as a result of them. The polyp finding, most often K63.5 (polyp of colon), is reported as a secondary diagnosis.
Two history codes carry the medical necessity for high-risk and surveillance exams:
- Z86.010, personal history of colonic polyps
- Z80.0, family history of malignant neoplasm of digestive organs
Note that Z86.010 requires a seventh character as of October 1, 2024. A patient returning for a surveillance colonoscopy after prior polyps is still coded with Z12.11 first, followed by Z86.010, per AHA Coding Clinic guidance. Once a polyp has been removed and the site has healed, follow-up visits should carry the personal-history code rather than an active polyp diagnosis.
Coding the common procedure variations
Biopsy. A cold-forceps biopsy without lesion removal is 45380, single or multiple. The Medically Unlikely Edit is 1, so several biopsies in one session still report a single unit.
Polypectomy. Snare removal is 45385. Hot biopsy forceps removal is 45384. Endoscopic mucosal resection is 45390, which already includes the submucosal injection, so 45381 is not separately reportable with it.
Biopsy plus polypectomy. When a biopsy and a snare removal happen at the same lesion, 45380 bundles into 45385. At anatomically separate sites, modifier XS or 59 can separate them if the note documents the distinct locations.
Control of bleeding. 45382 covers bleeding controlled during the exam. It does not cover bleeding the physician caused and then treated during a polypectomy, which is already included in the removal code.
Incomplete colonoscopy. If the scope does not reach the cecum, do not downcode to a flexible sigmoidoscopy. Report the intended colonoscopy code with modifier 53 (discontinued procedure) for Medicare. Documentation should state how far the scope advanced and why it stopped.
Colonoscopy through a stoma. A colonoscopy performed through a colostomy uses the 44388 series (44388 diagnostic, 44389 with biopsy, 44394 with snare), not the 45378 family.
Virtual colonoscopy. CT colonography has three codes: 74261 (diagnostic, no contrast), 74262 (diagnostic, with contrast), and 74263 (screening). Worth knowing for Medicare patients, Medicare does not cover screening CT colonography (74263) nationally, although many commercial payers do.
Where the denials come from
The recurring failures in colonoscopy billing are predictable, which makes them preventable.
Reporting 45378 alongside a therapeutic code is a hard NCCI edit that no modifier fixes. Placing modifier 33 on a Medicare claim, or PT on a commercial claim, inverts the payer logic. Dropping the KX modifier on a post-stool-test screening returns the claim unprocessable. Pairing Z12.11 with a diagnostic-only CPT code creates a screening-versus-procedure mismatch that payers reject. Each of these is a charge-capture rule, not an appeal.
Accurate colonoscopy CPT code selection in 2026 comes back to the same four habits. Read the operative note, match the technique to the code, preserve the original screening intent with the right modifier for the right payer, and sequence Z12.11 first when the exam started as a screening. Colorectal cancer remains the second-leading cause of cancer death in the United States when men and women are counted together, according to the American Cancer Society, which is why the coverage rules keep widening. The coding has to keep pace with them.


