ICD-10 coding for COPD, asthma, and overlap syndrome
J44.9 and J45.909 are always valid codes and almost never the right ones. Both are billable, both clear a claims-editing system with no complaint, and both are exactly the version of the diagnosis a payer's coverage policy is least likely to recognize as medical necessity for anything beyond a basic office visit. This guide goes past "code to the highest specificity" and into the actual code structure — the COPD family beyond J44.9, the full asthma severity-and-status grid, how COPD-asthma overlap syndrome gets sequenced on a real claim, and where the specificity decision shows up downstream in a coverage edit.
Key takeaways
- COPD and asthma can both be coded on the same claim. J44 carries an Excludes2 note against J45, not an Excludes1 — the two conditions aren't mutually exclusive, they just each need to be separately documented.
- J44.0 has a sequencing instruction most coders miss: code the specific infection first, then J44.0 — the acute infection leads, the COPD code follows.
- Asthma's code structure encodes two separate facts — baseline severity and current status — and only one of them changes visit to visit. Reassessing severity from zero every encounter, or carrying forward a stale tier, are both documentation errors.
- Specificity is what a coverage edit actually reads. Local coverage policy for services like pulmonary rehabilitation is decided MAC by MAC, not nationally — and it's built around a covered-diagnosis list that an unspecified code is written to miss.
The COPD family: what's under J44.9
J44 (Other chronic obstructive pulmonary disease) is a five-code category, and J44.9 is only the fallback. Every code below was looked up and validated live against the FY2026 ICD-10-CM code set (ICD-10-CM FY2026, verified billable).
| Code | Description | When it applies |
|---|---|---|
J44.0 | COPD with (acute) lower respiratory infection | Acute bronchitis, pneumonia, or another lower respiratory infection is documented as the trigger — code the infection first (see sequencing below) |
J44.1 | COPD with (acute) exacerbation | A documented worsening of COPD symptoms beyond normal day-to-day variation, no infection identified as the cause |
J44.81 | Bronchiolitis obliterans and bronchiolitis obliterans syndrome | A specific obliterative small-airway process, most often post-transplant or post-infectious — not a generic COPD label |
J44.89 | Other specified COPD | A COPD variant the chart documents specifically but that doesn't have its own dedicated code |
J44.9 | COPD, unspecified | No documented exacerbation, infection, or specified variant — the fallback, not the default |
Two categories sit next to J44 and get folded into it by habit rather than by the chart: emphysema (J43.0–J43.9, including panlobular and centrilobular subtypes) and chronic bronchitis (J41.0/J41.1/J41.8, and J42 when the type isn't specified). All are valid, billable codes (confirmed live, FY2026). When the chart documents emphysema or chronic bronchitis specifically, that diagnostic language should drive the code — not a default to J44.9 by a coder who never sees J43 as an option.
J44.0's instructional note trips up otherwise careful coders: when the acute infection is pneumonia or another specified organism-driven infection, ICD-10-CM directs coding the infection first, then J44.0 second. Leading with J44.0 and appending the infection code afterward reverses the required order and can affect medical-necessity review, since the principal diagnosis is what payers scan first.
Asthma: severity and status are two different facts
J45.909 collapses two separate clinical questions into one unspecified code. The full category separates them deliberately — severity across the rows, current status across the columns — and every cell below is confirmed billable against the FY2026 code set.
| Severity (baseline) | Uncomplicated | With (acute) exacerbation | With status asthmaticus |
|---|---|---|---|
| Mild intermittent | J45.20 | J45.21 | J45.22 |
| Mild persistent | J45.30 | J45.31 | J45.32 |
| Moderate persistent | J45.40 | J45.41 | J45.42 |
| Severe persistent | J45.50 | J45.51 | J45.52 |
| Unspecified severity | J45.909 | J45.901 | J45.902 |
The row is the patient's baseline classification — how much controller therapy their disease requires when stable — established from a prior formal assessment, not reassigned from a single visit's symptoms. The column is what today's encounter shows: uncomplicated means no acute worsening; exacerbation is a documented flare short of an emergency; status asthmaticus is a severe episode failing to respond to usual bronchodilator therapy. Carrying a severity tier forward from an outdated assessment, or dropping to J45.909 because today's note doesn't restate severity already established, are the two most common ways this grid gets under-coded.
Two codes sit outside the grid and are worth knowing by name rather than folding into J45.909: J45.990 (exercise-induced bronchospasm) and J45.991 (cough-variant asthma) — both confirmed billable, FY2026. Neither carries a severity-persistent classification; each describes a specific phenotype, and using either where it applies beats defaulting to unspecified asthma.
Build a note template that forces two separate fields for asthma: "baseline severity (carry forward unless reassessed)" and "today's status." Free-text notes that mix the two are exactly where a coder either loses the severity tier entirely or, worse, upgrades status asthmaticus into next visit's baseline by mistake.
Coding COPD-asthma overlap syndrome
Asthma-COPD overlap is a recognized clinical phenotype — fixed airflow obstruction plus a genuinely present, separately assessed reversible component, not one diagnosis standing in for the other. ICD-10-CM has no combination code for it; overlap is coded as J44.x plus the applicable J45.x code together, and the coding mechanics support doing exactly that.
Category J44 carries an Excludes2 note relative to J45, not an Excludes1. An Excludes1 note means the excluded condition can never be coded with the category, because the two are mutually exclusive by definition. An Excludes2 note means the excluded condition isn't part of this category, but the patient can have both, and both get coded when the record documents them separately — which is exactly the J44/J45 relationship.
- 1Both conditions need independent documentation. A note that says "COPD (with asthmatic features)" once, without separately assessing asthma severity and status, reads as a single condition described loosely — not two conditions supporting two codes.
- 2Sequencing follows the reason for the encounter, not a fixed rule that COPD always leads. If the visit is driven by an asthma exacerbation in a patient who also has stable COPD, the asthma code is the principal diagnosis for that encounter.
- 3J44.0's infection-first instruction still applies even in an overlap patient — if the encounter involves COPD with a documented lower respiratory infection, the infection code precedes J44.0 regardless of whether an asthma code is also on the claim.
- 4Don't let one code stand in for the other to save documentation time. Billing only J44.1 when the chart genuinely shows a separate, active asthma component under-codes the encounter and drops specificity a payer's coverage policy may be checking for.
Where the specificity decision shows up in a coverage edit
Diagnosis specificity isn't just a coding-quality exercise — it's frequently the literal input a payer's system checks before it pays. Pulmonary rehabilitation shows this structurally: CMS's own national coverage determination (NCD 240.8, Pulmonary Rehabilitation Services) declines to set national coverage criteria, deferring to each Medicare Administrative Contractor's own LCD process. The covered-diagnosis list a claim gets checked against depends entirely on which MAC has jurisdiction — there's no single national list.
Noridian Healthcare Solutions currently publishes Article A56152, Billing and Coding: Pulmonary Rehabilitation Services, effective 11/06/2025 (superseding retired A52770) — confirmed live via the CMS Coverage MCP connector. ⚠️ The connector returns document metadata, not full local-article text, so the covered-diagnosis list, GOLD-stage or FEV1-percentage thresholds, and session-count limits inside the article weren't re-verified line by line. Pull the full text from the Medicare Coverage Database for your practice's actual MAC before building an order set around it.
The point holds regardless of the specific article: a diagnosis-driven coverage edit checks the code against a list, and J44.9 is written to be the version of "this patient has COPD" that misses lists built around exacerbation status or a specified severity marker. Biologic asthma therapy prior authorization runs the same way, typically requiring the severity-plus-status combination (most often J45.5x) rather than an unspecified code — more in our pillar guide's prior authorization section.
Do and don't
- Build a note template with separate fields for asthma baseline severity and current-encounter status.
- Code the specific infection before J44.0 whenever COPD with lower respiratory infection is documented.
- Code both J44.x and J45.x when the chart separately documents and assesses each condition.
- Check which specific code from J43, J44, or J45 the physician's own diagnostic language actually supports before defaulting to J44.9.
- Don't assume J44 and J45 are mutually exclusive — the Excludes2 note says otherwise.
- Don't drop a previously documented severity tier to J45.909 because today's note doesn't restate it.
- Don't let a single loosely-worded overlap note ("COPD with asthmatic features") stand in for two separately assessed diagnoses.
- Don't build a pulmonary rehab or biologic prior-auth checklist against a cached diagnosis list without confirming the current MAC article first.
Losing pulmonary medicine revenue to unspecified codes?
We'll audit a sample of your recent COPD and asthma claims for severity, status, and overlap-syndrome coding gaps, and show what's costing you at the coverage-edit level.
Frequently asked questions
Can COPD and asthma both be coded on the same claim?
Yes, when the chart documents both as separate, actively managed conditions. Category J44 carries an Excludes2 note against J45, not an Excludes1 — Excludes1 means the two conditions can never be coded together, while Excludes2 means the excluded condition isn't part of the category but the patient can have both, and both are coded when the record supports it. A note that says "COPD" once and never separately assesses asthma doesn't support billing both codes; a note that documents a fixed obstructive component (COPD) and a separately assessed reversible, variable component (asthma) does.
Which code is the principal diagnosis when a patient has COPD with acute exacerbation and pneumonia?
ICD-10-CM's own instructional note under J44.0 directs coding the specific type of infection first, then J44.0 — for pneumonia, that means the pneumonia code is sequenced before J44.0, not after. This trips up coders who default to leading with the chronic condition; the guideline is explicit that the acute infection is coded first when J44.0 applies. J44.1 (COPD with exacerbation, no documented infection) doesn't carry that sequencing instruction and is coded on its own merits based on the reason for the encounter.
Does asthma severity have to be reassessed at every visit to bill severity-specific codes?
No. Severity (intermittent, mild persistent, moderate persistent, severe persistent) reflects the patient's baseline classification and is carried forward from the most recent formal assessment, not reassigned from scratch at every encounter. What does need to be current each visit is the status add-on — uncomplicated, with exacerbation, or with status asthmaticus — which describes that specific encounter. Carrying forward a stale severity tier when the chart shows the patient has since been reclassified is the more common error than failing to reassess severity on a routine follow-up.
Verify before billing. CPT is a registered trademark of the American Medical Association; codes here are paraphrased, not reproduced from the CPT Professional edition. CPT, HCPCS and ICD-10 codes, coverage policy, and bundling edits change, including annual code-set updates. This page reflects standard industry practice and is provided for general education — it is not a substitute for your own compliance review, your current payer contracts, or the current-year code sets. Confirm requirements against your specific payer mix before submitting claims.
Sources and verification
Every ICD-10-CM code above — the full J44, J43, and J41/J42 categories, the complete J45 severity-and-status grid, and J45.990/J45.991 — was validated live against the FY2026 ICD-10-CM code set via the ICD-10 MCP connector; all are confirmed billable (ICD-10-CM FY2026, verified billable). NCD 240.8, Pulmonary Rehabilitation Services, and local Article A56152 (Noridian Healthcare Solutions, effective 11/06/2025, superseding retired A52770) were retrieved live via the CMS Coverage MCP connector by document ID, contractor, and effective date; the article's full covered-diagnosis and threshold text was not re-verified line by line, since the connector returns metadata rather than full local-article bodies — flagged inline above. Published 2026-08-28 against the FY2026 ICD-10-CM code set.