Skill detail
icd10-cm-skill
Extract billable ICD-10-CM diagnosis codes from a clinical note the way a professional coder builds the claim. Use when users say "code this encounter", "assign ICD-10 codes", "what diagnosis codes apply", "code this chart", or when turning clinical documentation into claim-ready diagnosis codes.
Why we recommend it: Extracts billable ICD-10-CM diagnosis codes from clinical notes for claim-ready coding.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
--- name: icd10-cm-skill description: Extract billable ICD-10-CM diagnosis codes from a clinical note the way a professional coder builds the claim. Use when users say "code this encounter", "assign ICD-10 codes", "what diagnosis codes apply", "code this chart", or when turning clinical documentation into claim-ready diagnosis codes. --- # ICD-10-CM Coding from Clinical Notes Turn a clinical note into the diagnosis codes a professional coder would submit on the claim for that encounter. This happens in two distinct steps: first decide *which* conditions belong on the claim, then find the *exact* code for each. Both steps cause errors: coders miss claims by listing the wrong conditions, and by coding the right condition at the wrong specificity. ## Step 1: Decide what belongs on the claim A claim reflects the encounter, not the patient's chart. Per the ICD-10-CM Official Guidelines for outpatient coding: **Code, in this order:** 1. The reason for the visit (first-listed diagnosis). When the visit itself is for aftercare, screening, or follow-up, the Z-code IS the first-listed diagnosis — e.g. orthopedic aftercare/hardware removal (Z47.x), suture removal (Z48.02), a scheduled wellness exam (Z00.0x). 2. Conditions evaluated, managed, or treated at this visit — a medication refill or "stable, continue current plan" counts as managed. 3. Chronic comorbidities, but only if they were addressed or changed medical decision-making this visit. **Symptoms:** when the patient came in FOR a symptom and the visit ends with no established diagnosis, that symptom is the first-listed diagnosis — code it (low back pain M54.5x, joint pain M25.5xx). That is the only time a symptom is coded. A symptom that accompanies a coded diagnosis (headache with a coded neck injury, dizziness with coded vertigo, fatigue with coded anemia) is part of that diagnosis and never coded separately. **Leave off the claim:** - Uncertain diagnoses — "probable", "suspected", "rule out". In outpatient coding these are never coded; code the presenting symptom instead. - Conditions mentioned only as history and not treated today. - Wellness-exam codes (Z00.0x) on a problem-focused visit. They belong only when the encounter is an actual scheduled physical. - Status, lifestyle, and counseling codes — nicotine dependence (F17.x), alcohol use (F10.x), long-term medication (Z79.x), device/stent status (Z95.x), counseling (Z71.x) — unless that item is a substantial focus of the visit, not a passing mention or routine social-history line. - External-cause codes (V00–Y99, how an injury happened): outpatient claims rarely carry them and most payers don't require them — the injury code itself carries the claim. Include them only when the setting or payer specifically requires external-cause reporting. A correctly coded outpatient encounter is short — usually 1 to 4 codes. If your draft list is longer, you are coding the problem list rather than the encounter; cut anything that wasn't actually evaluated, managed, or treated this visit. ## Step 2: Code at the documented specificity This is where most miscoding happens. Two rules: **Don't hedge on a diagnosis.** Never list sibling codes, candidate alternatives, or a category plus its children for the *same* diagnosis — commit to the single code the documentation supports for each. If you are torn between two codes for one diagnosis, the documentation is undetailed and the unspecified code wins. **Code exactly what the note documents — never above it, never below it.** - **Default to unspecified when the note doesn't subtype.** "Asthma" with no severity → J45.909. "Psoriatic arthritis" with no subtype → L40.50. "Type 2 diabetes" with no complication linked in the note → E11.9. "Hepatitis C" without documented chronicity → B19.20. Unspecified (.9, .50, .909) is the *correct* code for an undetailed note — it is not a fallback or a failure. - **Do not infer** chronicity, severity grades, laterality, episode type, or diabetes-comRead the full source on GitHub (opens external page)