Nearly 28 million Americans live with asthma, according to the CDC and the Asthma and Allergy Foundation of America, and on average, 9 to 11 of them die from it every day. Every one of those diagnosed patients eventually funnels into the same coding decision, since asthma runs on a real severity-and-status matrix.
The wrong tier isn’t just a coding technicality. It misrepresents how sick the patient actually is, and that shows up as denied claims, documentation queries, and forfeited risk-adjustment revenue.
Dedicated pulmonary billing support handles this exact level of specificity as part of end-to-end RCM. This guide breaks down every J45 code, how severity and exacerbation status combine to pick the right one, and where asthma claims most often go wrong.
Table of Contents
ToggleAsthma ICD-10 Codes: Quick Reference
The table below shows how severity and status combine to form every code in the J45 family.
| Severity Tier | Uncomplicated | With 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 | J45.909 | J45.901 | J45.902 |
How Is Asthma Classified in ICD-10?
Every asthma code is built from two pieces of information stacked together: how severe the patient’s asthma is, and what’s happening with it right now.
Severity comes first, and it has four tiers: mild intermittent, mild persistent, moderate persistent, and severe persistent. This describes how the patient’s asthma behaves on an ongoing basis, not just today’s visit.
Status comes second, and it has three options: uncomplicated, with an acute exacerbation, or with status asthmaticus. This explains what’s happening at the current encounter.

Asthma is just one of many pulmonology ICD-10 codes that follow this kind of severity-and-status structure.
What Is the ICD-10 Code for Mild Intermittent Asthma?
The ICD-10 code for mild intermittent asthma, uncomplicated, is J45.20. Mild intermittent means the patient’s symptoms happen less than twice a week, nighttime symptoms happen twice a month or less, and the asthma doesn’t limit normal activity between episodes.
This is the lightest tier on the severity scale, and it’s often where a stable, well-controlled asthma patient stays for years without needing a step up in treatment.
What Documentation Supports J45.20?
The chart needs to state the actual frequency of the patient’s symptoms. A note that says the patient has daytime symptoms once or twice a week, minimal nighttime symptoms, and no limitation on daily activity gives a payer everything needed to support this specific code.
Without that frequency detail, the claim still looks plausible, but it no longer clearly distinguishes this tier from mild persistent or from the unspecified code.
What Is J45.21 (Mild Intermittent With Exacerbation)?
J45.21 applies when a patient whose baseline severity is mild intermittent is having a documented acute flare-up at the current visit. The severity tier itself does not change. The patient is still mild intermittent by history, but the encounter reflects a worsening episode.
The note needs to describe what changed during this episode, such as an increase in wheezing, shortness of breath, or the need for extra rescue inhaler use.
What Is J45.22 (Mild Intermittent With Status Asthmaticus)?
J45.22 applies when a patient with mild intermittent asthma is in status asthmaticus, a severe and prolonged asthma attack that does not respond to standard rescue treatment such as inhaled bronchodilators. This is treated as a medical emergency, not simply a bad flare-up.
Documentation should describe the lack of response to standard treatment directly, since that separates status asthmaticus from an ordinary exacerbation.
What Is the ICD-10 Code for Mild Persistent Asthma?
The ICD-10 code for mild persistent asthma, uncomplicated, is J45.30. Mild persistent describes a patient whose daytime symptoms happen more than twice a week but not every day, and whose nighttime symptoms occur three to four times a month.

This tier sits between mild intermittent and moderate persistent, and the distinction between all three depends entirely on frequency. A patient can move up into this tier over time if their intermittent symptoms become more frequent.
What Documentation Supports J45.30?
The note needs to reflect this specific frequency pattern, more than twice weekly but not daily, since that detail is what separates mild persistent from both the lighter intermittent tier below it and the heavier persistent tiers above it.
A chart that only states the label mild persistent asthma without any frequency detail leaves a reviewer to take the severity classification on faith rather than see it demonstrated in the record.
Recording the actual number of episodes per week, along with nighttime frequency, gives the claim a concrete basis that holds up under review. This same level of detail also matters if the patient’s treatment plan changes later, since it creates a clear record of how their asthma was behaving at the time.
What Is J45.31 (Mild Persistent With Exacerbation)?
J45.31 applies when a mild persistent patient has a documented acute worsening at the current visit. The logic here matches J45.21 exactly, just one severity tier higher, so the same documentation standard applies. The chart needs to describe what changed during the exacerbation, not just note that one occurred.
A patient at this tier who develops an exacerbation may need a short course of oral steroids or a temporary increase in their controller medication, and the note documenting that treatment change further supports the exacerbation code being billed.
What Is J45.32 (Mild Persistent With Status Asthmaticus)?
J45.32 applies when a mild persistent patient is in status asthmaticus, meaning their attack has not responded to standard rescue treatment. As with the intermittent tier, this represents a sharp escalation from the patient’s usual pattern of symptoms.
Because status asthmaticus is a medical emergency, encounters coded this way are far more likely to occur in an emergency department or urgent care setting than in a routine office visit, and the documentation should reflect that setting and the interventions actually used.
What Is the ICD-10 Code for Moderate Persistent Asthma?
The ICD-10 code for moderate persistent asthma, uncomplicated, is J45.40. Moderate persistent describes a patient with daily symptoms, nighttime symptoms more than once a week, and some limitations on normal physical activity.

This tier represents a meaningful step up in disease burden from the persistent tiers below it, since daily symptoms generally mean the patient’s asthma is affecting their day-to-day life in a way that mild persistent asthma typically does not.
What Documentation Supports J45.40?
Daily symptom occurrence is the detail that separates this tier from mild persistent, so the chart should state plainly that symptoms happen every day, not simply that they happen often.
The activity limitation that comes with this level of severity should also be documented specifically, whether that means avoiding exercise or needing to modify daily routines around symptom flares.
Because this tier usually requires a more involved treatment plan than the lighter tiers, the note often already contains the clinical detail needed to support the code.
What Is J45.41 (Moderate Persistent With Exacerbation)?
J45.41 applies when a moderate persistent patient has a documented acute worsening at the current visit.
Given that this patient’s baseline already includes daily symptoms, the note needs to be specific about what counts as worse than usual for this particular patient, since their normal day already includes some symptom burden.
What Is J45.42 (Moderate Persistent With Status Asthmaticus)?
J45.42 applies when a moderate persistent patient is in status asthmaticus. At this severity tier, status asthmaticus often reflects a patient whose disease was already poorly controlled, being pushed into a full emergency, so the chart should capture both the baseline severity and the acute event clearly.
This combination is a signal worth flagging for follow-up care planning as well, since a patient with moderate persistent asthma who reaches status asthmaticus may need their long-term treatment plan reassessed.
What Is the ICD-10 Code for Severe Persistent Asthma?
The ICD-10 code for severe persistent asthma, uncomplicated, is J45.50. Severe persistent describes a patient with continuous daytime symptoms, frequent nighttime symptoms, and significant limitation of normal physical activity.
This is the most severe tier in the classification system, and patients here typically require intensive, ongoing management. Continuous symptoms mean the patient rarely, if ever, has a symptom-free day, which is a meaningfully different clinical picture than any of the tiers below it.

What Documentation Supports J45.50?
The chart should reflect that continuous, all-day symptom burden clearly, rather than relying on a general statement that the patient’s asthma is severe. Two specific details a reviewer looks for here are continuous symptoms and significant activity limitation, both stated plainly rather than implied.
Because patients at this tier are usually on complex treatment regimens, the supporting documentation is often already present in the note as part of describing their medication plan.
What Is J45.51 (Severe Persistent With Exacerbation)?
J45.51 applies when a severe persistent patient has a documented acute worsening on top of their already-severe baseline. Since this patient’s normal state already includes continuous symptoms, the note needs to describe specifically how the current presentation differs from that already-significant baseline.
This is one of the more clinically demanding documentation scenarios in the whole family, since distinguishing an exacerbation from a bad day at an already-severe baseline requires real clinical detail.
What Is J45.52 (Severe Persistent With Status Asthmaticus)?
J45.52 applies when a patient with severe persistent asthma is in status asthmaticus. Given how severe this patient’s baseline already is, this combination reflects one of the most acute presentations in the entire asthma code family, and it frequently involves hospitalization or intensive intervention.
These patients are already at the highest end of the severity scale. That makes careful documentation of the treatment response, or lack of response, especially important, both for accurate coding and for the patient’s ongoing care record.
What Is the ICD-10 Code for Unspecified Asthma?
The ICD-10 code for unspecified asthma, uncomplicated, is J45.909. This code applies when a patient has a confirmed asthma diagnosis, but their severity tier has not been documented or established yet.
This is a common and entirely legitimate code for a new patient whose asthma history has not yet been fully characterized, or for a chart where prior records simply did not capture severity detail. The only problem is how often this code gets used when a more specific code is actually available.

What Is J45.901 (Unspecified With Exacerbation)?
J45.901 applies when a patient is having a documented acute asthma exacerbation, but no specific severity tier has been established for them. This is a very commonly used code in emergency and urgent care settings, where a patient shows up with an active flare-up and there is no prior severity classification on record to draw from.
These encounters are often the patient’s first significant contact with the healthcare system for their asthma. That makes the visit a good opportunity to begin documenting severity going forward, even if the current claim still has to be coded as unspecified.
What Is J45.902 (Unspecified With Status Asthmaticus)?
J45.902 applies when a patient is in status asthmaticus, and no established severity tier is on record. As with the exacerbation version, this is common in emergency settings where the priority during the visit itself is treating a life-threatening episode.
Once the acute episode is resolved, follow-up care should aim to establish the patient’s severity tier so that future visits can move away from the unspecified track entirely.
Why Does Defaulting to Unspecified Cost Revenue?
J45.909 is the easiest code to reach for, especially for a new patient or one without a documented severity history. When a patient’s chart actually contains enough detail to support a specific severity tier, but the coder defaults to unspecified anyway, the practice loses real value.
Two things get lost at once in that situation. The practice loses access to a more specific code that more accurately reflects the visit, and it loses the documentation trail that would support a more precise picture of the patient’s actual condition over time.
Since asthma is one of the most common chronic diagnoses across primary care and pulmonology alike, this small, repeated gap compounds quietly across a large number of patients rather than showing up as one obvious mistake.
It’s exactly the kind of quiet leak that shows up across pulmonology billing more broadly, not just on asthma claims.
How Do You Choose the Right Severity Tier and Status?
The table below lays out that decision process step by step, in the order a coder would apply it after reading through the clinical note.
| Step | Question | If Yes | If No |
|---|---|---|---|
| 1 | Has the patient’s severity tier been documented (mild intermittent, mild persistent, moderate persistent, or severe persistent)? | Go to step 2, using that tier | Code the unspecified track (J45.909, J45.901, or J45.902 depending on status) |
| 2 | Is the patient having an acute exacerbation or status asthmaticus at this visit? | Code the exacerbation or status asthmaticus variant for that tier | Code the uncomplicated variant for that tier |
The most common mistake happens at step one. A patient with plenty of chart history showing daily symptoms and frequent nighttime awakenings still gets coded as unspecified simply because nobody has typed the words moderate persistent.
What Is Status Asthmaticus, and How Does It Change the Code?
Status asthmaticus is a severe, prolonged asthma attack that does not respond to standard rescue treatment, such as inhaled bronchodilators. It is treated as a medical emergency, and it represents the most acute status option available anywhere in the asthma code family.
Because status asthmaticus can occur at any severity tier, a mild intermittent patient can end up in status asthmaticus just as easily as a severe persistent patient can, at least from a coding standpoint. The severity tier and the status option are two separate pieces of information, and either one can be more or less severe independent of the other.
The code needs to reflect both pieces at once: the patient’s usual severity tier by history, plus the fact that this particular episode escalated into a treatment-resistant emergency. Documentation needs to describe the lack of response to standard treatment directly, rather than simply describing a bad asthma attack in general terms, for the status asthmaticus code to hold up under review.
What CPT Codes Are Commonly Billed Alongside Asthma Diagnoses?
Pulmonology CPT codes tell the payer what was actually done about it during the visit. Asthma encounters typically pair with a fairly predictable set of procedures.
Spirometry codes, 94010 and 94060, are especially relevant for asthma specifically. The pre- and post-bronchodilator design of 94060 is the actual reversibility test used to help confirm an asthma diagnosis in the first place.
94010 covers baseline spirometry alone, with no medication involved, while 94060 measures how much the airways improve after a bronchodilator is given. That improvement is the clinical hallmark that helps distinguish reversible asthma from a fixed airway obstruction.

Evaluation and management codes, in the 99213 to 99215 range, cover the office visit itself. The specific level billed depends on the complexity of managing the patient’s asthma alongside anything else addressed during that same appointment.
Nebulizer treatment, billed under 94640, applies when a bronchodilator is administered in the office as part of managing an acute exacerbation. This is separate from the diagnostic spirometry codes described above.
What Is the ICD-10 Code for Cough-Variant Asthma?
The ICD-10 code for cough-variant asthma is J45.991. This code applies when a persistent cough is the primary or only symptom of the patient’s asthma, without the wheezing or shortness of breath that is typically associated with the condition.
Documentation should describe why the cough is being attributed to asthma specifically, rather than to another cause of chronic cough, since this presentation can otherwise be mistaken for a respiratory infection or an entirely different chronic cough condition.
A note that simply says chronic cough, with no further clinical reasoning connecting it to asthma, does not give a reviewer enough to support this specific code over a more generic cough diagnosis.
Does Asthma Have Its Own History Code?
Yes, the ICD-10 code for personal history of asthma is Z87.09. It is used specifically when a patient’s asthma has fully resolved, they have no current symptoms, and they are not on any current asthma treatment. The medical record needs to state directly that the asthma is resolved for this code to apply correctly.
Z87.09 should never be used for a patient with active asthma, even if their symptoms are currently well controlled on medication. A patient who still requires treatment or still experiences occasional symptoms belongs under the appropriate active J45 code instead, not under the history code.

Using Z87.09 for a patient with active, ongoing asthma misrepresents the patient’s actual current health status, and it can lead to incorrect reimbursement or create real exposure during an audit.
Is Eosinophilic Asthma Coded Differently?
Eosinophilic asthma is a specific asthma phenotype driven by elevated eosinophils, a type of white blood cell. It’s coded with J82.83, which sits in an entirely different ICD-10 chapter from the rest of the J45 asthma family.
J82.83 is meant to be added alongside the primary J45 asthma code. The ICD-10-CM tabular list includes eosinophilic asthma as a code also under the J45 category.
This means the coder is expected to report both codes together whenever this phenotype is documented, the severity-based J45 code for the asthma itself and J82.83 to identify the eosinophilic component specifically.
How Do Excludes1 and Excludes2 Notes Affect Asthma Coding?
The J45 asthma category itself does not carry a hard, same-claim Excludes1 conflict. What J45 does exclude are conditions that sound similar to asthma but are coded entirely differently within the ICD-10 code set.
Detergent asthma, wood asthma, and miner’s asthma are each occupational or exposure-related conditions. They route to their own specific codes outside the J45 family entirely, which include:
- Detergent Asthma: J68.8 (Respiratory conditions due to chemicals, gases, fumes and vapors)
- Wood Asthma: J67.8 (Hypersensitivity pneumonitis due to other organic dusts)
- Miner’s Asthma: J60 (Coal workers’ pneumoconiosis)
The Excludes relationship that matters most in day-to-day asthma billing is the connection between asthma and chronic obstructive pulmonary disease.
How Does Asthma-COPD Overlap Get Coded?
Sometimes a doctor writes down both conditions as one thing. They might say asthma with COPD, or chronic asthmatic bronchitis, or chronic obstructive asthma. When that happens, ICD-10-CM sends you straight to one code: J44.89. Not a J45 code at all.
It’s because ICD-10-CM treats that combined language as one single condition, not two separate ones stacked together. If you bill a J45 code plus a J44 code instead, you miss the actual combination code the note is pointing to.
But sometimes a patient really does have both, as two separate, clearly documented conditions. Asthma is its own diagnosis, while COPD is its own diagnosis. Neither one is described as part of the other. In that case, you can bill both a J45 code and a J44 code together.
For the full breakdown of J44.0, J44.1, and J44.9, see our COPD ICD-10 code guide.
What Secondary Codes Are Commonly Required With Asthma?
Most of the secondary codes get added alongside the primary J45 code, which stays listed first. One major exception exists for asthma complicating pregnancy, where the sequencing actually reverses, and that exception is explained in detail directly below the table.
| Secondary Code | What It Covers | Sequencing Rule |
|---|---|---|
| Z77.22 (Exposure to environmental tobacco smoke) | Secondhand smoke exposure, common in pediatric asthma cases | Added alongside the primary J45 code, which is listed first |
| F17.- (Tobacco dependence) or Z72.0 (Tobacco use) | Active tobacco use in adult asthma patients | Added alongside the primary J45 code, which is listed first |
| J82.83 (Eosinophilic asthma) | The eosinophilic asthma phenotype, when documented | Added alongside the primary J45 code, never billed in place of it |
| O99.51- (Diseases of the respiratory system complicating pregnancy) | Asthma that actively complicates a pregnancy, by trimester | Listed first, with the specific J45 code added afterward to show type and severity |
When asthma actively complicates a pregnancy, the correct first-listed code comes from the O99.51 family. It also includes the specific trimester identified by the code’s final digit.
A patient in her second trimester whose moderate persistent asthma is complicating the pregnancy would be reported as O99.512 first, followed by J45.40 second to identify the specific type and severity of the asthma itself.
How Does Asthma Coding Affect HCC Risk Adjustment?
Under CMS’s Hierarchical Condition Category model, a patient’s diagnoses add up to a risk score. That score helps set payment for their ongoing care under Medicare Advantage and similar plans.
Asthma’s weight in that score depends on control. On one hand, severe, poorly controlled asthma carries real risk-adjustment value. Meanwhile, on the other hand, mild, well-controlled asthma usually carries less.
Two things still matter for every patient. Accurate severity coding makes the risk profile reflect reality; severe persistent and unspecified are not the same picture. And risk scores reset every year, so the condition needs fresh documentation annually to stay on record.
Why Do Asthma Claims Get Denied?
Most asthma claim denials come from the same five or six mistakes, repeated across thousands of claims. Almost none of them are random. The table below covers the common causes, what each one looks like, and how to fix it before submission.
| Denial Cause | Why It Happens | How to Fix It |
|---|---|---|
| Unspecified when a tier was known | J45.909 billed even though the chart supports a specific severity | Match symptom frequency and activity limits to the severity grid before coding |
| Vague exacerbation | “Exacerbation” noted with no symptom detail | Document exactly what changed or how the patient failed to respond to treatment |
| Eosinophilic code billed alone | J82.83 with no J45 code attached | Always pair J82.83 with a severity-based J45 code |
| Wrong use of the history code | Z87.09 billed for a patient still being treated | Use Z87.09 only when the chart says the asthma has resolved |
| Pregnancy codes out of order | J45 listed before the O99.51 pregnancy code | List O99.51 first, then add the J45 code |
| Biologic denied for a nonspecific code | A biologic like dupilumab billed against unspecified asthma instead of the specific severe persistent code | Use the exact severity code the biologic’s coverage policy requires |
| Missing step therapy proof for biologics | Prior auth denied because standard treatments were never documented as tried and failed | Record which medications were tried first, the doses, and why they didn’t work |
| Spirometry bundled into the same visit | 94010 or 94060 denied because it was billed alongside an E/M visit with no modifier | Document a separately identifiable reason for the test and append the correct modifier |
Frequently Asked Questions About Asthma ICD-10
What is the Difference Between J45.909 and a Specific Severity Code Like J45.20?
J45.909 means the severity tier was never documented. J45.20 and the other severity-specific codes apply once the chart states symptom frequency and activity limitation clearly. Usually the clinical detail already exists; it just never gets translated into the code.
Can Asthma and COPD Be Coded on the Same Claim?
Yes, but only when both are documented as separate diagnoses. Suppose the note describes them together, like “asthma with COPD,” that routes to J44.89 instead. The deciding factor is how the physician phrased it, not just whether both words appear.
Is Eosinophilic Asthma Billed Without a Regular Asthma Code?
No, J82.83 gets added alongside the primary J45 code, never billed alone. The J45 code establishes the actual severity and status. A claim with J82.83 and no J45 code is missing that foundation.
Does Asthma Have a Code For Exercise-Induced Symptoms?
Yes, J45.990, but it specifically covers exercise-induced bronchospasm, not asthma triggered by activity in general. A patient whose regular asthma just flares during exercise still gets their standard severity-based J45 code.
What’s the Difference Between Exercise-Induced Bronchospasm and Cough-Variant Asthma Codes?
J45.990 applies when exertion triggers a bronchospasm episode, with wheezing or shortness of breath. J45.991 applies when a persistent cough, with no wheezing, is the main symptom. Neither should be confused with the general severity-tier codes.



