CPC Practice Questions (2026) — Free Sample Questions with Answers

14 free CPC questions from our 150-question bank, grouped by content domain. Each answer explains why the right option is right — and why every wrong option is wrong.

0 of 14 answered — answer a question to check it Take a full CPC practice test

Surgery (CPT 10000–60000 Series)

Question 1

A pain physician performs an interlaminar epidural steroid injection at L5–S1 under fluoroscopic guidance for lumbar radiculopathy. Which code(s) should be reported?

Show answer & explanation

Answer: D

64483: This is a transforaminal epidural injection. The note says interlaminar.

62322, 77003: Unbundled. 62322 is the version without imaging. When imaging is used, the with-imaging code 62323 is reported, and fluoroscopy is not coded separately.

62321: This is the cervical or thoracic interlaminar code with imaging. The injection was lumbosacral.

62323: Correct. 62323 is interlaminar epidural injection of a non-neurolytic substance, lumbar or sacral, with imaging guidance (fluoroscopy or CT) included.

Interlaminar epidural injections (62320–62323) are chosen by spinal region and by whether imaging guidance was used, which is included in the code.

Question 2

Which procedure code and diagnosis codes should the gastroenterologist report?

Operative report

Patient: 67-year-old male, Medicare beneficiary. Indication: average-risk colorectal cancer screening. No GI symptoms, no personal history of polyps or colorectal cancer, no family history. His last colonoscopy was more than 10 years ago.

Procedure: After moderate sedation was given by an independent anesthesia provider, the adult colonoscope was inserted and advanced to the cecum. The appendiceal orifice and ileocecal valve were photographed. Bowel prep was good.

Findings: A 9 mm sessile polyp was found in the sigmoid colon at 25 cm. It was removed completely with a cold snare and retrieved for pathology. No other lesions were seen, and withdrawal time was 11 minutes.

Impression: Sigmoid colon polyp, removed. Pathology is pending at the time of coding, and the physician documents only "sigmoid colon polyp."

Show answer & explanation

Answer: A

45385-PT; Z12.11, K63.5: Correct. For Medicare, a screening colonoscopy that becomes therapeutic is reported with the procedure actually done (snare removal, 45385) plus HCPCS modifier PT, not G0121. List Z12.11 first because the reason for the encounter was screening, and add K63.5 for the polyp found. Pathology is pending, so code the documented polyp.

45385-33; Z12.11, K63.5: Modifier 33 (preventive service) is the CPT modifier that commercial payers use. Medicare requires PT on the converted screening colonoscopy.

45385-PT; K63.5, Z12.11: Wrong sequencing. When a finding is discovered during a screening, the screening Z code stays first-listed and the finding is added after it.

45380-PT; Z12.11, K63.5: Wrong technique. 45380 is biopsy; the polyp was removed with a snare (cold or hot snare both map to 45385).

Screening that becomes therapeutic: code the procedure performed, add PT (Medicare) or 33 (CPT/commercial), and list Z12.11 first with the finding second.

Question 3

A gastroenterologist performs a flexible transoral esophagogastroduodenoscopy (EGD) for epigastric pain. Patchy erythema is seen in the gastric antrum and body, and four cold-forceps biopsies are taken from the two areas. Which CPT code(s) should be reported?

Show answer & explanation

Answer: D

43235: Diagnostic EGD only. Once a biopsy is done the surgical endoscopy code applies, and it includes the diagnostic examination.

43235, 43239: Unbundled. A diagnostic endoscopy is always included in a surgical endoscopy of the same family at the same session.

43239 ×4: The descriptor already covers single or multiple biopsies, so 43239 is reported once no matter how many specimens are taken.

43239: Correct. Endoscopy > Esophagogastroduodenoscopy > biopsy leads to 43239 (flexible transoral EGD with biopsy, single or multiple). One unit covers every biopsy taken by this technique, and the diagnostic EGD (43235) is included in the surgical endoscopy.

Surgical endoscopy includes diagnostic endoscopy, and "single or multiple" biopsy codes are reported once per session.

Question 4

Based on the operative report, which CPT and ICD-10-CM codes should be reported?

Operative report

Preoperative diagnosis: Three-vessel coronary artery disease with unstable angina. Postoperative diagnosis: Same. Procedure: Coronary artery bypass grafting x4; endoscopic harvest of the left greater saphenous vein.

The 66-year-old patient was brought to the OR after a recent admission for unstable angina in native-vessel disease, with no prior bypass. A median sternotomy was performed. The left internal mammary artery was taken down as a pedicle. At the same time, the left greater saphenous vein was harvested endoscopically by the surgeon.

The patient was placed on cardiopulmonary bypass. The LIMA was anastomosed to the left anterior descending artery. Separate reversed saphenous vein grafts were sewn to the first obtuse marginal, the posterior descending and the first diagonal arteries, with proximal anastomoses to the ascending aorta.

The patient was weaned from bypass without difficulty. Chest tubes were placed and the sternum was closed with wires. The patient went to the ICU in stable condition.

Show answer & explanation

Answer: D

  1. Count the grafts by type: LIMA → 1 arterial; SVG to OM1, PDA and D1 → 3 venous.
  2. Arterial grafting is present → arterial code for 1 graft: 33533.
  3. Venous grafts done with arterial grafts use the combined add-on series (33517–33523), not 33510–33516: 3 vein grafts → 33519.
  4. Open saphenous harvest is included; the endoscopic harvest add-on is 33508.
  5. ICD-10-CM: Arteriosclerosis, coronary, native, with unstable angina → I25.110.

33533, 33519, 33508, I25.10: Wrong diagnosis: I25.10 is ASHD without angina. The patient has unstable angina, which uses the combination code I25.110.

33533, 33519-51, 33508-51, I25.110: Modifier error: 33519 and 33508 are add-on codes and are exempt from modifier 51.

33534, 33518, 33508, I25.110: Wrong graft counts: 33534 is two arterial grafts and 33518 is two vein grafts. There was one arterial and three venous grafts.

33533, 33519, 33508, I25.110: Correct. One arterial graft (LIMA) = 33533. Three vein grafts done with arterial grafting = add-on 33519. Endoscopic vein harvest = add-on 33508. ASHD of native coronary artery with unstable angina = I25.110.

For combined CABG, report the arterial graft code plus the combined arterial-venous add-on for the vein grafts (never 33510–33516), and add 33508 for endoscopic vein harvest.

Question 5

In the ED, an orthopedist sees a patient who fell on an outstretched hand and has a displaced Colles' fracture of the right radius, with no break in the skin. Under a hematoma block, the fracture is reduced by closed manipulation and a short arm cast is applied. Which codes should the orthopedist report for the procedure?

Show answer & explanation

Answer: A

25605, S52.531A: Correct. Closed treatment of a distal radius fracture with manipulation = 25605, and the first cast is included. Colles' fracture, right radius, initial encounter for closed fracture = S52.531A.

25600, S52.531A: Wrong code: 25600 is closed treatment without manipulation. The fracture was reduced.

25605, S52.531D: Wrong 7th character: D is for a subsequent encounter with routine healing. This is active initial treatment, so A applies.

25605, S52.532A: Wrong laterality: S52.532A is the left radius. The right radius is fractured.

Fracture codes depend on the approach (closed/percutaneous/open) and whether manipulation was done; the ICD-10-CM 7th character A applies while the patient is getting active treatment.

Question 6

After a fall, a patient has three lacerations: a 2.5 cm scalp laceration and a 3.0 cm right forearm laceration, each closed with simple single-layer sutures, and a 2.0 cm chin laceration that needs a layered closure. Per CPT guidelines, which codes should be reported?

Show answer & explanation

Answer: D

  1. Group the wounds by complexity and anatomic group: simple scalp + simple forearm are both in 12001–12007.
  2. Add their lengths: 2.5 + 3.0 = 5.5 cm → 12002.
  3. The chin is in a different group (face) and is intermediate: 2.0 cm → 12051.
  4. Report the more complex repair first; append 51 to the secondary code.

12052, 12002-51: Wrong size range: 12052 is an intermediate face repair of 2.6–5.0 cm. The chin wound is 2.0 cm.

12011, 12002-51: Wrong complexity: 12011 is a simple face repair. A layered closure is an intermediate repair (12051).

12051, 12002: Missing modifier: the second repair code needs modifier 51 for multiple procedures under CPT rules.

12051, 12002-51: Correct. The scalp and forearm are in the same simple-repair group: 2.5 + 3.0 = 5.5 cm → 12002 (2.6–7.5 cm). The chin layered closure is an intermediate face repair, 2.5 cm or less → 12051. The more complex repair is listed first and 51 goes on the second.

Add repair lengths only when the wounds share both the same complexity and the same anatomic group; code different groups separately, most complex first.

Evaluation and Management (E/M)

Question 7

A 45-year-old established patient comes in for her annual preventive exam. During the visit she reports two weeks of right knee pain after a fall. The physician performs a separate problem-focused evaluation, orders a knee X-ray, and prescribes an anti-inflammatory; the problem work supports 99213. Which codes should be reported?

Show answer & explanation

Answer: C

99386, 99213-25: 99386 is the new-patient preventive code for ages 40–64. This patient is established.

99396-25, 99213: Modifier 25 goes on the problem-oriented office E/M (99213), not on the preventive code.

99396, 99213-25: Correct. 99396 is the established-patient preventive visit for ages 40–64. A significant problem-oriented service on the same day is reported separately, with modifier 25 on the problem E/M.

99395, 99213-25: 99395 is the established-patient preventive code for ages 18–39. The patient is 45, so 99396 applies.

Preventive codes are chosen by new or established status and age; when a significant problem is also addressed, add the office E/M with modifier 25.

Question 8

Based on the visit note, which CPT and ICD-10-CM codes should be reported?

Office visit note — established patient

CHIEF COMPLAINT: Follow-up of diabetes and blood pressure. Patient is a 61-year-old woman last seen 4 months ago.

HISTORY: She takes metformin twice daily and lisinopril daily. She reports more thirst over the past month and admits to frequent snacking. No chest pain, no vision change, no foot numbness.

DATA: I reviewed today's in-office hemoglobin A1c (8.9%, up from 7.4%) and the basic metabolic panel drawn last week (normal renal function). No outside records were reviewed. No independent historian.

EXAM: BP 128/78. Feet intact to monofilament. Weight up 3 kg.

ASSESSMENT/PLAN: 1) Type 2 diabetes mellitus with hyperglycemia, worsening — increase metformin to 1,000 mg twice daily; dietitian referral. 2) Essential hypertension, well controlled on current dose — continue lisinopril. Return in 3 months.

Total time was not documented.

Show answer & explanation

Answer: C

  1. Problems: worsening type 2 diabetes (chronic illness with progression) + stable hypertension (stable chronic illness) → moderate.
  2. Data: A1c result reviewed + BMP result reviewed = 2 items in category 1 → limited.
  3. Risk: metformin dose increased → prescription drug management → moderate.
  4. Two of three elements (problems and risk) are moderate → 99214.
  5. ICD-10-CM: Index Diabetes, type 2, with hyperglycemia → E11.65; Hypertension → I10; Long-term drug therapy, oral hypoglycemic → Z79.84.

99215, E11.65, I10, Z79.84: 99215 needs high MDM in two of three elements (e.g., a severe exacerbation, extensive data, or a decision about hospitalization). Nothing here reaches high.

99214, E11.9, I10, Z79.84: E11.9 is type 2 diabetes without complications. The provider documents hyperglycemia, which has its own combination code, E11.65.

99214, E11.65, I10, Z79.84: Correct. Problems: one chronic illness that is worsening plus one stable chronic illness = moderate. Data: review of two unique test results = limited. Risk: prescription drug management = moderate. Two of three elements reach moderate, so 99214. Diabetes with hyperglycemia is E11.65, hypertension I10, and Z79.84 for long-term oral hypoglycemic (metformin) use.

99214, E11.65, I10, Z79.4: Z79.4 is long-term insulin use. The patient takes metformin, an oral hypoglycemic, so Z79.84 is correct.

Office E/M level by MDM requires 2 of the 3 elements (problems, data, risk) to meet or exceed the level; prescription drug management is moderate risk.

Pathology and Laboratory

Question 9

Based on the surgical pathology report, which codes should the pathologist report?

Surgical pathology report

Patient: fictional 52-year-old female. Procedure: laparoscopic cholecystectomy; the surgeon also removed the appendix incidentally during the same operation. No appendiceal symptoms or findings were documented.

Specimen A, labeled "gallbladder": received in formalin is a 7.5 cm gallbladder with a tan-green, mildly thickened wall. The lumen contains numerous yellow faceted stones, the largest 1.1 cm. The cystic duct is patent. Representative sections are submitted.

Specimen B, labeled "appendix, incidental": received is a 6.0 cm unremarkable appendix with a glistening serosa. The tip is submitted in its entirety, along with a cross section of the base.

Microscopic description: A — the gallbladder wall shows chronic inflammation with Rokitansky-Aschoff sinuses and muscular hypertrophy; no acute inflammation, no dysplasia. B — normal appendiceal mucosa and wall.

Final diagnosis: A. Gallbladder: chronic cholecystitis with cholelithiasis; no obstruction identified. B. Appendix: no pathologic abnormality.

Show answer & explanation

Answer: B

88304, 88304, K80.10: Wrong. Only an appendix removed for a reason other than incidental removal is level III (88304); an incidental appendix is level II (88302).

88304, 88302, K80.10: Correct. Gallbladder is a level III specimen (88304). An appendix removed incidentally is level II (88302). The final diagnosis combines stones with chronic cholecystitis and no obstruction, which ICD-10-CM codes with the combination code K80.10. The normal incidental appendix needs no separate diagnosis code.

88305, 88302, K80.10: Wrong. A gallbladder is a level III specimen (88304), not level IV.

88304, 88302, K81.1: Wrong. K81.1 is chronic cholecystitis alone. When gallstones are present with chronic cholecystitis, the combination code from K80.1- (K80.10) is required.

Code each specimen at its own surgical-pathology level (gallbladder 88304, incidental appendix 88302) and use the K80 combination code when calculus and cholecystitis occur together.

Medicine

Question 10

Which codes should be reported for this visit?

Pediatric immunization visit note

Patient: fictional 4-year-old male, established patient, presents with his mother for kindergarten-entry vaccines only. No other complaints; no separate problem-oriented or preventive visit is performed today.

Vaccine history reviewed against the schedule. Due today: DTaP-IPV booster (combination vaccine for ages 4 through 6) and MMR dose 2.

Counseling: the pediatrician met face-to-face with the mother and discussed each vaccine, including the diseases prevented by each component (diphtheria, tetanus, pertussis and polio for the DTaP-IPV; measles, mumps and rubella for the MMR), common side effects, and when to call. Vaccine Information Statements were given. All questions were answered and consent was obtained.

Administration: DTaP-IPV 0.5 mL IM, left deltoid. MMR 0.5 mL subcutaneous, right upper arm. Both given by the RN under the pediatrician's supervision. Lot numbers and expiration dates recorded. Observed 15 minutes with no reaction.

Assessment: encounter for immunization. Plan: next vaccines per schedule at age 11.

Show answer & explanation

Answer: D

  1. Products: DTaP-IPV (ages 4–6) = 90696; MMR = 90707.
  2. Counseling codes apply: patient under 19, face-to-face counseling by the physician.
  3. DTaP-IPV: 4 components → 90460 x1 + 90461 x3.
  4. MMR: 3 components → 90460 x1 + 90461 x2.
  5. Totals: 90460 x2, 90461 x5; diagnosis Z23.

90696, 90707, 90460 x2, 90461 x3, Z23: Wrong. This counts additional components for the DTaP-IPV only; MMR also has two additional components, for 5 units of +90461 in total.

90696, 90707, 90471, 90472, Z23: Wrong. 90471/90472 apply when the counseling codes are not met; this patient is 4 and the physician counseled face-to-face, so 90460/90461 are required.

90696, 90707, 90460 x7, Z23: Wrong. 90460 is reported once per vaccine (for its first component); each additional component uses the add-on 90461.

90696, 90707, 90460 x2, 90461 x5, Z23: Correct. Products: DTaP-IPV for ages 4–6 (90696) and MMR (90707). The patient is under 19 and the physician counseled face-to-face, so each vaccine gets 90460 for its first component (x2) and +90461 for each additional component: DTaP-IPV has 3 more (diphtheria is first; tetanus, pertussis, polio) and MMR has 2 more, totaling 5. Z23 is the encounter for immunization.

With counseling for patients through age 18, count components: 90460 per vaccine plus 90461 for every component after the first.

ICD-10-CM and Coding Guidelines

Question 11

Based on the emergency department record, which ICD-10-CM codes report the injury, the external cause and the place of occurrence?

Emergency department record

CHIEF COMPLAINT: Left ankle pain after a fall.

HPI: A 54-year-old man was trimming a tree branch in the backyard of his single-family house when the ladder he was standing on tipped over. He fell about 5 feet onto the grass and landed on his left foot. He felt immediate pain and swelling over the outer ankle and cannot bear weight. He had no loss of consciousness and no other injuries.

EXAM: Swelling and point tenderness over the left lateral malleolus. Skin intact. Distal pulses and sensation normal. No medial tenderness.

IMAGING: Left ankle x-ray, 3 views: displaced fracture of the lateral malleolus of the left fibula. Mortise intact. No other fracture.

ASSESSMENT: Closed displaced fracture of the left lateral malleolus.

PLAN: Posterior splint applied, crutches, non-weight-bearing. Orthopedic follow-up in 5 days.

Show answer & explanation

Answer: A

S82.62XA, W11.XXXA, Y92.017: Correct. Index: Fracture, malleolus, lateral, displaced → S82.6-; left = S82.62, with placeholder X and 7th character A for ED treatment (active care). External cause: fall on and from ladder, W11.XXXA. Place: yard of a single-family house, Y92.017, reported once at the initial encounter.

W11.XXXA, S82.62XA, Y92.017: Wrong sequencing: external cause codes are never first-listed. The injury code comes first.

S82.62XD, W11.XXXA, Y92.017: Wrong 7th character: D is for routine healing care. The ED evaluation and splinting is active treatment (A).

S82.61XA, W11.XXXA, Y92.017: Wrong laterality: S82.61- is the right fibula. The x-ray shows the left lateral malleolus.

Injury code first, with laterality and the 7th character. External cause codes follow and are never first-listed. The place-of-occurrence code is reported only at the initial encounter.

Question 12

Inpatient admission: a 77-year-old man is admitted with severe sepsis with septic shock due to pneumococcal (Streptococcus pneumoniae) pneumonia. All conditions are present on admission, and no other acute organ dysfunction is documented. Which ICD-10-CM codes should be reported, in order?

Show answer & explanation

Answer: B

J13, A40.3, R65.21: Wrong sequencing: when sepsis is present on admission with a localized infection, the systemic infection is sequenced before the localized infection.

A40.3, J13, R65.21: Correct. The systemic infection comes first: A40.3 (sepsis due to Streptococcus pneumoniae). The localized infection J13 is secondary, and R65.21 adds severe sepsis with septic shock.

R65.21, A40.3, J13: Wrong sequencing: R65.2- carries a "code first underlying infection" note and can never be the principal or first-listed diagnosis.

A40.3, J13, R65.20: Wrong code: R65.20 is severe sepsis without septic shock. Septic shock is documented (R65.21).

Sepsis: systemic infection code first, then the localized infection. R65.20/R65.21 is never sequenced first, and septic shock is R65.21.

Question 13

A 68-year-old woman returns to the orthopedic clinic 4 weeks after a closed Colles' fracture of the right radius was treated with closed reduction and casting. X-rays show the fracture is healing as expected, and the cast is changed. Which ICD-10-CM code is reported?

Show answer & explanation

Answer: D

S52.531A: Wrong 7th character: A is for active treatment (e.g., the initial reduction). A cast change during healing is a subsequent encounter.

S52.531G: Wrong 7th character: G is for delayed healing, which the x-ray does not show.

S52.532D: Wrong laterality: S52.532- is the left radius.

S52.531D: Correct. Index: Fracture, Colles' → S52.53-; right radius = S52.531. Active treatment is finished, and this visit is routine healing care (cast change, follow-up x-ray), so the 7th character is D, subsequent encounter for closed fracture with routine healing.

For fractures, use A while active treatment is given and D for routine healing care such as cast changes and follow-up x-rays. G, K and P are for delayed healing, nonunion and malunion.

Medical Terminology and Anatomy

Question 14

A surgeon brings a segment of the colon through the abdominal wall to create a permanent opening for stool. Which term describes this procedure?

Show answer & explanation

Answer: D

Colopexy: Wrong: -pexy = surgical fixation (suspending the colon in place).

Colotomy: Wrong: -otomy = incision into the colon, without creating a lasting opening.

Colectomy: Wrong: -ectomy = surgical removal (excision) of all or part of the colon.

Colostomy: Correct. -ostomy = surgical creation of an opening (stoma); col/o = colon.

-ostomy creates an opening, -otomy cuts into, -ectomy removes and -pexy fixes in place — and each leads to a different code family.

Test yourself under exam conditions

Take the free CPC test and get a score report by domain.

The full CPC question bank is coming. Get an email when it launches.