M81.8 captures osteoporosis without a current pathological fracture when the etiology is something other than age-related bone loss — including drug-induced, idiopathic, disuse, post-oophorectomy, postsurgical malabsorption, and post-traumatic causes.
Verified May 8, 2026 · 5 sources ↓
- Status
- Billable
- Chapter
- 13
- Related CPT
- 7
- Region
- General
Documentation tips
What should appear in the chart to support M81.8.
Source · Editorial brief grounded in 5 cited references ↓
- Specify the underlying etiology in the note — 'drug-induced osteoporosis secondary to chronic prednisone use' drives M81.8 and triggers the required adverse-effect T-code; 'osteoporosis' alone does not.
- Record DXA T-score (≤ −2.5 confirms osteoporosis) and scan date to substantiate medical necessity for both the diagnosis and any bone mass measurement CPT billed.
- Explicitly state the absence of a current pathological fracture — 'no acute fracture on imaging' or 'no known current osteoporotic fracture' prevents inadvertent assignment of M80 codes.
- If the patient has a history of a healed osteoporotic fracture, document it and add Z87.310 as a secondary code per the M81 parent-level instruction.
- When drug-induced, name the specific drug and the duration of use so the T36–T50 adverse-effect code can be assigned accurately alongside M81.8.
Related CPT procedures
Procedure codes commonly billed with M81.8. Linking the right diagnosis to the right procedure is what establishes medical necessity.
Source · CMS LCDs · AAOS specialty guidance · claims-pattern analysis
Common coding pitfalls
The recurring mistakes coders make with M81.8 and adjacent codes.
Source · Editorial brief grounded in CDC ICD-10-CM tabular guidance, AAOS coding references, and cited references ↓
- Using M81.8 when an active pathological fracture is present — once a current osteoporotic fracture is confirmed, the correct category is M80, which requires site, laterality, and 7th-character encounter extension.
- Omitting the required T36–T50 adverse-effect code when osteoporosis is drug-induced — the tabular 'use additional code' instruction is mandatory, not optional, and its absence is a known audit trigger.
- Assigning M81.8 instead of M81.0 for straightforward age-related osteoporosis — M81.0 is the correct code when no secondary etiology is documented; M81.8 is for etiologies outside normal aging.
- Appending site or laterality characters to M81.8 — unlike M80 codes, M81.8 has no valid 6th-character site or laterality extensions; the code stands as five characters.
- Coding M81.8 without linking it to the DXA CPT on the claim when submitting for bone mass measurement reimbursement under CMS LCD A57132 Group 2 — the diagnosis-procedure linkage must be explicit.
Clinical context
Source · Editorial summary grounded in 5 cited references ↓
Use M81.8 when the documented osteoporosis has a specific non-age-related etiology and no active pathological fracture exists at the time of the encounter. The applicable-to list includes drug-induced (e.g., long-term corticosteroid use), idiopathic, disuse (e.g., immobilization), post-oophorectomy, postsurgical malabsorption (e.g., bariatric surgery), and post-traumatic osteoporosis. If the etiology is simply age or senescence, use M81.0 instead. If a pathological fracture is currently present, shift to the M80 category entirely.
When drug-induced osteoporosis is the documented etiology, the tabular instruction requires an additional code for adverse effect — a code from T36–T50 with a fifth or sixth character of 5. Failing to append that secondary code is an audit flag. Also add Z87.310 (personal history of healed osteoporosis fracture) when applicable; that code lives at the parent M81 level as a 'use additional' instruction.
M81.8 does not carry site or laterality characters, and it does not use 7th-character extensions. It is a single five-character billable code. CMS Bone Mass Measurement LCD (A57132) lists M81.8 in Group 2 as a supporting diagnosis for DXA reimbursement, making correct code selection directly relevant to DXA claim adjudication.
Inclusion & exclusion notes
Per the official ICD-10-CM Tabular List.
Source · CDC ICD-10-CM Official Tabular List · 2026
Includes
- Drug-induced osteoporosis without current pathological fracture
- Idiopathic osteoporosis without current pathological fracture
- Osteoporosis of disuse without current pathological fracture
- Postoophorectomy osteoporosis without current pathological fracture
- Postsurgical malabsorption osteoporosis without current pathological fracture
- Post-traumatic osteoporosis without current pathological fracture
Sibling codes
Other billable codes under M81 (laterality / anatomic variants).
Frequently asked questions
Source · Generated from the editorial pipeline, verified against 5 cited references ↓
01What is the difference between M81.0 and M81.8?
02When does drug-induced osteoporosis require an additional code?
03Can M81.8 be used if the patient had an osteoporotic fracture in the past that has healed?
04Does M81.8 support DXA billing under Medicare?
05Is M81.8 used for Prolia (denosumab, J0897) billing?
06Does M81.8 require a site or laterality character?
07What is the correct code if the patient has post-traumatic osteoporosis without a fracture?
Sources & references
Editorial content was developed using the following public sources. Last verified May 8, 2026.
- 01CDC ICD-10-CM Tabular List 2026 (effective October 1, 2025)
- 02icd10data.comhttps://www.icd10data.com/ICD10CM/Codes/M00-M99/M80-M85/M81-/M81.8
- 03aapc.comhttps://www.aapc.com/codes/icd-10-codes/M81.8
- 04cms.govhttps://www.cms.gov/medicare-coverage-database/view/article.aspx?articleId=57132&ver=19
- 05mdclarity.comhttps://www.mdclarity.com/icd-codes/m81-8
Mira AI Scribe
Mira captures the documented osteoporosis etiology (e.g., drug-induced, post-oophorectomy, disuse), the most recent DXA T-score and scan date, the specific causative drug with duration if applicable, and explicit provider confirmation that no current pathological fracture is present. That documentation ensures the correct T36–T50 adverse-effect code can be assigned alongside M81.8 and prevents downcoding to unspecified osteoporosis or an audit flag for a missing mandatory secondary code.
See how Mira captures M81.8 documentation