Search Free
Navigation
Home Search Codes
Pricing Billing Guide Roadmap
Free Cheat Sheet — Updated July 2026

ICD-10 → 837-P Billing Pitfalls

The seven highest-leverage diagnosis-coding mistakes that drive denials on professional claims. Read this before you submit another 837-P.

~7 min read · sourced from real claim-edit patterns
Pitfall 1 of 7

Code specificity — don't ship an unspecified parent when a billable child exists

ICD-10-CM's structure lets many three-character categories (e.g. I10, E11.9) act as "parent" codes, but those parents are often non-billable. Payors reject claims where the chosen code is the unspecified parent when a more specific billable child exists in the same category.

This is the single most common reason an otherwise-correct claim comes back with a denial marked CO-97 — "Benefit included in payment for another service/procedure." It is also the most preventable: a quick stop at the billable-child screen catches it.

Fix
Always verify is_billable = true before submitting. If the parent you pulled isn't billable, drill into the child list and select the option that matches the documentation — type, acuity, manifestation, and laterality.
Avoid
I10
Essential (primary) hypertension — parent code. Non-billable.
Use
I16.x / I12.x / I13.x
Hypertensive crisis (I16) or hypertensive heart/kidney disease (I12/I13) when documented.
Pitfall 2 of 7

Diagnosis-to-procedure linkage — every E/M needs a referenced diagnosis

The 837-P Loop 2300 segment with qualifier ABK is the primary diagnosis; each CPT/HCPCS in SV1 must reference one of the diagnoses listed in the same claim. An E/M code (9920299215) submitted with no linked diagnosis pointer triggers denials marked CO-16 / CO-50 and the line is regarded as non-reimbursable.

Fix
When building the claim, map every service line to a pointer (1, 2, 3, 4) back to the diagnosis list. The 837-P form builder does this automatically when you drop codes into Block 24D — verify the pointer column is populated before submission.
Pitfall 3 of 7

Laterality — the 7th character on fractures and injuries is non-optional

Fracture codes (and certain injury categories — burns, lacerations, some sprains) require a 7th character that encodes the encounter type and laterality. The format is two pieces stacked: encounter (A initial, D subsequent, S sequela) plus side (1 right, 2 left). A missing 7th character is a claim-level rejection, not a line denial.

Common mistake: coding a fracture as S52.501A (unspecified side, initial encounter) when the documentation clearly says left radius. Payor edit CO-16 follows.

Fix
Check the operative note or imaging report for the explicit side. If laterality truly is undocumented, query the provider — do not default to unspecified.
Avoid
S52.501A
Unspecified fracture of right radius, initial. Documentation said left.
Use
S52.502A
Unspecified fracture of left radius, initial encounter for closed fracture.
Pitfall 4 of 7

Manifestation / etiology order — code the underlying disease first

When a condition has both an underlying etiology and a manifestation (e.g. diabetic neuropathy), ICD-10 requires the etiology code to appear before the manifestation code on the claim. Reversing the order, or omitting the etiology entirely, triggers CO-11 and CO-16.

Routine offender: submitting E11.9 (Type 2 DM uncomplicated) when the encounter actually documents diabetic neuropathy. The correct pair is E11.40 (with neurological complications) followed by G63.2 (diabetic polyneuropathy).

Fix
For any "with" condition under the classification's "code also" or "use additional code" instruction, the underlying disease code is primary in the diagnosis list. The 837-P form builder pre-sorts these when it sees the combo.
Avoid
G63.2 + E11.9
Wrong order. Also drops the "with complication" specifier.
Use
E11.40 + G63.2
Etiology (E11.40) before manifestation (G63.2). Order matters.
Pitfall 5 of 7

Encounter type vs. diagnosis — a Z-code has to match what you did

Z00.00 (general adult medical exam without abnormal findings) does not support a sick-visit E/M like 99213. If the documentation says the patient came in for an annual physical but the provider also addressed sinus pressure and prescribed antibiotics, the diagnosis that drives reimbursement must reflect the sick-visit portion — not the exam Z-code alone.

Submitting a wellness Z-code with a problem-oriented E/M is a frequent source of CO-97 and CO-11 denials.

Fix
If the visit combined preventive and problem-oriented services, code both: the Z-code first (primary, since it carries the highest likely reimbursement when preventive benefits apply), then the acute diagnosis with its own service line. Don't bundle under one E/M.
Pitfall 6 of 7

Active vs. history codes — did the condition happen this encounter?

Z86.73 ("personal history of cerebrovascular accident") is the right code for a patient who had a stroke last year and is now in for an unrelated visit. It is the wrong code for a patient you are actively managing for an acute stroke this encounter — that one wants I63.x with the appropriate 7th-character encounter type. Recovery-audit contractors flag this routinely.

The rule of thumb: active conditions get the disease code; history of a condition (no longer being treated but relevant to risk) gets the Z-code.

Fix
Before picking a Z-code, ask: "Is this condition being addressed, evaluated, or treated at this encounter?" If yes, drop the Z-code and use the disease code.
Avoid
Z86.73
History-of-stroke code. Wrong when the patient is in for new acute stroke workup.
Use
I63.9 + appropriate 7th char
Acute ischemic stroke, unspecified, with the correct encounter extension.
Pitfall 7 of 7

Unspecified vs. symptom codes — chest pain isn't all the same code anymore

R07.9 ("chest pain, unspecified") still appears in many EMR defaults, but payor edits increasingly want laterality and quality: R07.81 (pleuritic chest pain) or R07.82 (non-pleuritic chest pain). Missing the qualifier when documentation supports it can lower both your E/M level (the medical-decision-making complexity drops) and your reimbursement, and auditors increasingly deny R07.9 outright.

Fix
Match the symptom code to what the documentation says — pleuritic vs. non-pleuritic, antepartum vs. postpartum, with or without dyspnea. The sub-codes exist because the clinical course (and the workup) is different.
Avoid
R07.9
Chest pain, unspecified. Payor edits increasingly reject this for E/M > 99212.
Use
R07.81 / R07.82
Pleuritic chest pain (R07.81) or non-pleuritic chest pain (R07.82) when the note supports it.

Catch these at the form, not at the remit

The MedDex 837-P form builder flags missing billable children, blank diagnosis pointers, and 7th-character violations before you generate the X12 file. Pair it with the CPT lookup to keep service-line codes aligned with the diagnosis pointers.