Choosing the right ICD 10 code for osteoporosis sounds easy, but many claims still fail. The code depends on whether the patient has a fracture, and it depends on the cause. However, small wording gaps in the chart often push coders toward the wrong option. Therefore, this guide explains each code, its use, and its documentation needs.
You will learn how M81 and M80 differ. You will also see how osteopenia, screening, and bone density tests fit in. Because rules change each October, we use plain steps and real examples.
What Is Osteoporosis, and Why Does Coding Matter?
Osteoporosis is a bone disease that makes bones weak and brittle. Bone density drops, and so even a minor fall can cause a fracture. The hip, spine, and wrist break most often.
Payers tie coverage to the diagnosis. So the ICD 10 code for osteoporosis must fit the chart. A bone density test, a drug, and a fracture visit each need a matching code. So an exact diagnosis protects both patient care and payment.
How Doctors Diagnose It
Doctors use a DEXA scan to measure bone density. The result appears as a T-score. A score of -2.5 or lower usually means osteoporosis. A score between -1.0 and -2.5 usually means low bone mass, or osteopenia.
A fragility fracture can also confirm the diagnosis. For example, a spine fracture after a simple cough may point to osteoporosis. This holds even with a higher T-score.
What Is the ICD 10 Code for Osteoporosis?
The ICD 10 code for osteoporosis starts with M80 or M81. Both sit in Chapter 13 of ICD-10-CM, which covers the musculoskeletal system. The first digit pair tells you one key fact. M81 means no current fracture, and M80 means a current fracture.
This split drives most coding choices. So always ask one question first. Does the patient have a new fracture from osteoporosis?
Osteoporosis ICD 10 Codes at a Glance
The table below lists the main osteoporosis ICD 10 options.
| ICD-10 Code | Description | When to Use It |
| M81.0 | Age-related osteoporosis without current pathological fracture | Most postmenopausal and senile cases |
| M81.6 | Localized osteoporosis (Lequesne) | Bone loss in one area |
| M81.8 | Other osteoporosis without current pathological fracture | Drug-induced or other specified types |
| M80.00XA | Age-related osteoporosis with current pathological fracture, unspecified site, initial encounter | New fracture, site not stated |
| M80.08XA | Age-related osteoporosis with current pathological fracture, vertebra(e), initial encounter | New vertebral fracture |
| Z87.310 | Personal history of (healed) osteoporosis fracture | Old fracture, now healed |
| Z13.820 | Encounter for screening for osteoporosis | Screening with no known disease |
| M85.8- | Other specified disorders of bone density and structure | Osteopenia |
Always verify codes against the current ICD-10-CM book. Updates take effect every October.
What Does Osteoporosis M81 0 Mean?
Many coders ask what osteoporosis M81 0 means. The M81.0 ICD 10 code stands for age-related osteoporosis without a current pathological fracture. It is the most common choice in outpatient care.
The term “age-related” covers more than one label. It includes postmenopausal osteoporosis, senile osteoporosis, and involutional osteoporosis. So the postmenopausal osteoporosis ICD 10 code is M81.0 as well.
Similarly, the age related osteoporosis ICD 10 entry points to M81.0. The patient has bone loss from aging, but no new break.
Real Example: Routine Follow-Up
A 68-year-old woman visits her doctor for a yearly bone check. Her DEXA scan shows a T-score of -2.8. She has no new fracture. The doctor writes “postmenopausal osteoporosis” and starts a calcium and vitamin D plan. The coder reports M81.0.
Osteoporosis With a Current Fracture: M80 Codes
Fractures change the story. When a patient has a new fracture from weak bone, the M80 family applies. Doctors also call this an osteoporotic fracture. Coders call it a pathological fracture due to osteoporosis.
The ICD 10 code for osteoporosis with a fracture needs a 7th character. The 7th character shows the stage of care. “A” means active treatment, “D” means routine healing, and “S” means sequela.
M80.00XA Explained
The M80.00XA code covers age-related osteoporosis with a current fracture at an unspecified site. The “XA” ending shows an initial encounter. Use it only when the chart does not name the fracture site.
However, the chart usually names a site. In that case, pick a more exact code. For example, a spine fracture uses M80.08XA.
Pathological Fracture of Vertebra Due to Osteoporosis
A pathological fracture of vertebra due to osteoporosis uses M80.08XA for age-related cases. The code applies at the first visit for the fracture. Later healing visits use “D” in the 7th place.
Consider a 75-year-old man who has sudden back pain after lifting a bag. Imaging shows a compression fracture of the lumbar spine. The doctor documents osteoporosis as the cause. The coder reports M80.08XA, not M81.0.
Osteoporotic Fracture ICD 10 Rules

Follow these rules for an osteoporotic fracture ICD 10 claim.
- Confirm the fracture is current, not healed.
- Confirm the doctor links the fracture to osteoporosis.
- Pick the site-specific code when the chart gives the site.
- Add the right 7th character for the stage of care.
- Do not report M81.0 for the same fracture.
M81 carries an Excludes1 note for current pathological fractures. So M81 and M80 should not appear together for the same condition.
What Are the ICD-10 Codes for Osteopenia and Osteoporosis?
ICD 10 Code for Osteoporosis and osteoporosis use different code families. Osteopenia means low bone density that has not reached the osteoporosis level. Therefore, it sits in M85, not M80 or M81.
Osteopenia ICD 10 (M85.8)
The osteopenia ICD 10 index entry leads to M85.8-. That category covers other specified disorders of bone density and structure. A fifth character shows the site, such as M85.80 for an unspecified site.
Some coders search for icd 10 osteopenia and expect one simple code. Instead, they find a range. So the note should state the site, such as the spine or the hip. If the chart gives no site, M85.80 is the usual fit.
Osteopenia vs Osteoporosis
The table below shows the key differences.
| Feature | Osteopenia | Osteoporosis |
| Typical T-score | -1.0 to -2.5 | -2.5 or lower |
| Bone strength | Mildly reduced | Severely reduced |
| Fracture risk | Moderate | High |
| ICD-10 family | M85.8- | M80 and M81 |
| Common care | Diet, exercise, monitoring | Medicine plus lifestyle changes |
Can You Code Both Osteoporosis and Osteopenia?
Usually, no. Osteopenia is an earlier, milder stage of the same bone loss process. Once a doctor diagnoses osteoporosis, that diagnosis covers the bone loss. Coding both for the same site looks redundant.
However, a doctor may document different findings at different sites. For example, the spine may show osteoporosis while the hip shows osteopenia. In that rare case, the chart must state each finding clearly. Also check the Excludes notes and payer policy before reporting both.
When in doubt, ask the provider. A short query can prevent a denial.
What Diagnosis Code Will Cover a Bone Density Test?
Many practices ask this question. A DEXA scan needs a diagnosis that supports medical necessity. The right code depends on the reason for the test.
Screening for Osteoporosis ICD 10 (Z13.820)
The screening for osteoporosis ICD 10 code is Z13.820. It applies when the patient has no known osteoporosis and the test is preventive. For instance, a 65-year-old woman gets a first baseline scan.
DEXA Scan ICD 10 Options
The dexa scan icd 10 choice depends on the reason for the scan. The table below lists common options.
| Reason for DEXA Scan | Common Diagnosis Code |
| Routine screening | Z13.820 |
| Known osteoporosis follow-up | M81.0 |
| Estrogen deficiency or menopause | Z78.0 or E28.310 |
| Long-term steroid use | Z79.52 |
| Long-term bisphosphonate use | Z79.83 |
| Prior low bone density finding | M85.8- |
Medicare covers bone mass measurement for certain people. These include estrogen-deficient women at risk and people on long-term steroids. Coverage usually allows one test every 24 months. However, plans may differ, so verify each payer’s policy.
ICD 10 Code for History of Osteoporosis (Z87.310)
Many coders look for an ICD 10 code for history of osteoporosis. Z87.310 is the closest match, but it has a narrow meaning. It covers a personal history of a healed osteoporosis fracture, not the disease itself.
If the patient still has osteoporosis, report M81.0 instead. The disease does not “heal” in the coding sense. So use Z87.310 only for an old, healed fracture.
Step-by-Step Process to Pick the ICD 10 Code for Osteoporosis
Follow these steps for each encounter.
- Read the full note. Look for the exact diagnosis wording.
- Check for a fracture. Decide whether the patient has a current break.
- Find the cause. Look for age-related, drug-induced, or other types.
- Pick the code family. Use M81 for no fracture and M80 for a fracture.
- Add the site and 7th character. Do this for M80 codes.
- Check the Excludes notes. Make sure no conflict exists.
- Link the code to the service. Point each test or visit to the right diagnosis.
- Scrub before submission. Catch errors before the payer does.
Guidelines for Documentation and Medical Necessity
Strong notes protect revenue on every ICD 10 code for osteoporosis claim. A reviewer must see why the service was needed. So the chart should include a few key details.
- The exact diagnosis and cause.
- DEXA results and T-scores.
- Fracture site and stage of care.
- Risk factors, such as steroid use or menopause.
- The treatment plan and follow-up date.
A note that says only “bone loss” invites questions. Instead, write “age-related osteoporosis without fracture, T-score -2.9, spine.” That sentence supports M81.0 clearly.
Pathology and Bone Biopsy Billing
Most osteoporosis care does not involve pathology. However, a surgeon may biopsy bone during a spine procedure for a vertebral fracture. In that case, the lab may bill the 88305 CPT code for the tissue examination. The diagnosis on that claim must match the surgeon’s documented reason for biopsy.
Prior Authorization in Medical Billing for Osteoporosis Care
Some payers require approval for advanced imaging or costly drugs. Injectable bone drugs often fall in this group. Understanding prior authorization in medical billing helps your team plan ahead.
Check the payer portal before you schedule the service. Then record the approval number in the chart. As a result, you avoid denials and delays.
Common Mistakes
Most denials trace back to a few repeat errors with the ICD 10 code for osteoporosis. The table below shows them with fixes.
| Mistake | Why It Causes Problems | How to Fix It |
| Using M81.0 with a current fracture | Conflicts with the Excludes1 note | Switch to the M80 family |
| Missing the 7th character | The claim fails edits | Add A, D, or S |
| Coding osteopenia and osteoporosis together | Redundant for the same site | Report the higher diagnosis |
| Using Z87.310 for active disease | It means healed fracture only | Use M81.0 for active disease |
| Using Z13.820 for follow-up scans | Screening means no known disease | Use the disease code instead |
| Vague “bone loss” in the chart | Coder cannot choose a specific code | Ask the provider to clarify |
Key Optimization Methods
Smart workflows keep claims clean. These methods work well in clinics and imaging centers.
| Optimization Method | What It Does | Expected Benefit |
| Documentation templates | Prompt for fracture, site, and cause | More specific codes |
| EHR code shortcuts | List M80, M81, and M85 options | Faster, safer choices |
| Pre-bill scrubbing | Flags missing 7th characters | Higher first-pass rates |
| Payer policy tracker | Stores DEXA and drug rules | Fewer surprise denials |
| Monthly coding audits | Finds repeat errors early | Targeted training |
Start with documentation templates, because they fix problems at the source. Then add scrubbing and audits.
Best Tools and Practices
The right tools help coders choose the ICD 10 code for osteoporosis faster. Pair them with steady habits.
| Tool or Practice | Purpose | Tip |
| Current ICD-10-CM codebook | Confirm code details | Replace it each October |
| Encoder software | Guides code choice | Verify every suggestion |
| Claim scrubber | Catches edit conflicts | Update edits each quarter |
| Provider query forms | Resolve unclear notes | Keep questions short and neutral |
| Quarterly training | Refresh rules | Review recent denials together |
Future Trends
Osteoporosis care and coding keep evolving. Practices should watch these shifts.
| Trend | What to Expect | How to Prepare |
| AI-assisted imaging | Faster fracture detection on routine scans | Keep human review in place |
| Opportunistic screening | More bone checks from existing CT scans | Learn the payer rules |
| Stricter specificity rules | Fewer payments for vague codes | Push providers for detail |
| Telehealth follow-up | More virtual bone health visits | Confirm payer telehealth policy |
| Quality reporting | Fracture prevention measures tied to pay | Track screening and treatment rates |
Technology will help, but it will not replace judgment. Coders still need to read the note carefully.
How USA RCM Solutions Can Help
Coding bone disease takes skill and steady attention. USA RCM Solutions supports practices with experienced teams. The team writes clear notes, uses real examples, and follows step-by-step workflows.
The company offers Medical Billing & Coding Services for accurate claim submission. Its Denial Management Services help find the root cause behind repeat denials. In addition, the team appeals denied claims with strong records.
Providers also use Medical Credentialing Services to enroll with payers faster. Meanwhile, Accounts Receivable Services keep unpaid claims from aging past filing limits.
Documentation quality matters here too. A Virtual Medical Scribe can capture fracture details and T-scores during the visit. As a result, notes support the right ICD 10 code for osteoporosis from the start.
Finally, growth matters as much as collections. Healthcare Marketing Services help practices attract new patients and build local trust. Together, these services strengthen the revenue cycle from visit to payment.
Conclusion
The ICD 10 code for osteoporosis depends on one main question. Does the patient have a current fracture? If not, use M81.0 for most age-related cases. If yes, use the M80 family with the right site and 7th character.
Keep osteopenia in M85.8-, and keep screening in Z13.820. Use Z87.310 only for a healed osteoporosis fracture. Then support every claim with a clear note and a matching diagnosis.
Good habits protect revenue when you assign the ICD 10 code for osteoporosis. Document the cause, the site, and the DEXA result. Check payer rules before you bill. With these steps, your practice can cut denials and keep claims clean.
FAQs
How often can Medicare pay for a DEXA scan?
Medicare Part B usually covers a bone mass measurement once every 24 months for qualified people. More frequent scans may qualify if the doctor documents medical necessity. Examples include monitoring a patient on long-term steroids. Therefore, the note should explain why an earlier repeat scan is needed.
Which CPT codes go with a DEXA scan claim?
Most DEXA claims use CPT 77080 for an axial scan of the hip and spine. CPT 77081 covers an appendicular scan, such as the forearm. Imaging centers often bill the technical and professional parts together or split them with modifiers. So match the CPT code to the body area scanned. Then link it to the right diagnosis.
Does drug-induced osteoporosis use a different ICD-10 code?
Yes, drug-induced osteoporosis uses M81.8 when no fracture exists. With a current fracture, coders use the M80.8 family instead. The chart should also name the drug. Coders may add a code for long-term drug use. Steroid users often receive Z79.52 as a supporting code.
Can a nurse practitioner diagnose osteoporosis for billing purposes?
Yes, nurse practitioners and physician assistants can diagnose osteoporosis within their scope of practice. They must document the findings and the plan clearly. Payers may apply different billing rules or payment rates for these providers. So check each plan’s policy before you submit the claim.



