Key Takeaways
ICD-10 Code M81.8 is a billable ICD-10-CM code for other osteoporosis without a current pathological fracture, effective October 1, 2025 (2026 edition).
M81.8 covers six subtypes: drug-induced, idiopathic, disuse, postoophorectomy, postsurgical malabsorption, and post-traumatic osteoporosis.
Use M81.8 when osteoporosis is not age-related (M81.0) and no current pathological fracture is present; fracture cases require M80 series codes.
Pabau’s claims management software supports structured documentation workflows that reduce M81.8 coding errors and claim denials.
ICD-10 Code M81.8 is the billable ICD-10-CM code for other osteoporosis without current pathological fracture, covering every form of osteoporosis that is neither age-related nor accompanied by an active fracture.
According to the CDC/NCHS ICD-10-CM web tool, M81.8 became effective on October 1, 2025 as part of the 2026 edition of ICD-10-CM. It is a specific, billable code, meaning no further character expansion is required for claim submission.
The code sits within the M80-M85 category (disorders of bone density and structure) and is the United States clinical modification of the international ICD-10 M81.8 code.
Conditions covered under M81.8
The phrase “other osteoporosis” in ICD-10 Code M81.8 has a precise clinical meaning. It captures every form of osteoporosis that is not age-related and not accompanied by a current pathological fracture. Six subtypes are explicitly included.
- Drug-induced osteoporosis: bone loss caused by medications such as corticosteroids, anticonvulsants, or aromatase inhibitors. Long-term steroid use is the most common trigger in clinical settings.
- Idiopathic osteoporosis: osteoporosis with no clearly identifiable secondary cause and no age-related basis. Often diagnosed in premenopausal women or younger men.
- Osteoporosis of disuse: bone loss resulting from prolonged immobility, bed rest, or neurological conditions that prevent weight-bearing activity.
- Postoophorectomy osteoporosis: bone density loss following surgical removal of the ovaries, driven by the resulting estrogen deficiency.
- Postsurgical malabsorption osteoporosis: bone loss secondary to malabsorption after gastrointestinal surgery, such as gastric bypass or bowel resection, which impairs calcium and vitamin D uptake.
- Post-traumatic osteoporosis: regional or generalized bone loss following trauma, sometimes called Sudeck’s atrophy in its regional form.
Each subtype is classified under M81.8 in the 2026 ICD-10-CM edition, as confirmed by the AAPC Codify ICD-10-CM lookup. When the medical record documents one of these etiologies and no current fracture is present, M81.8 is the correct code selection.
When to use ICD-10 Code M81.8
Selecting M81.8 correctly depends on two concurrent conditions in the clinical record: confirmed osteoporosis with a documented non-age-related etiology, and the absence of a current pathological fracture.
Apply M81.8 when all of the following are true.
- The provider has documented a definitive osteoporosis diagnosis, supported by DXA scan findings, clinical history, or physician attestation.
- The etiology is one of the six subtypes above: drug-induced, idiopathic, disuse, postoophorectomy, postsurgical malabsorption, or post-traumatic.
- There is no current pathological fracture present at the time of the encounter. If a fracture exists, the appropriate M80 series code applies instead.
- The condition is not attributable to age-related (senile) bone loss, which is coded separately as M81.0.
Do not apply M81.8 when the documentation is vague or when only osteopenia (low bone density not meeting the clinical threshold for osteoporosis) is present. Osteopenia codes differently and should not be lumped under the osteoporosis category without physician confirmation. Coders should query the provider when etiology is not clearly documented.
M81.8 vs. M81.0: Key differences
The most common coding error in osteoporosis without fracture is applying M81.0 when the clinical picture calls for M81.8, or vice versa. The distinction turns entirely on etiology.
Both codes sit in the same parent category (M81) and both indicate the absence of a current pathological fracture. Both are billable in the 2026 edition, but they describe fundamentally different patient populations.
When the provider documents “postmenopausal osteoporosis” without specifying a secondary cause such as postoophorectomy or drug-induced bone loss, coders should default to M81.0. M81.8 requires an identifiable, documented non-age-related etiology.
The same specificity principle governs M45.9 and other musculoskeletal diagnoses: documentation has to support the code before a coder assigns it.
M81.8 vs. M80 codes: Understanding the fracture distinction
The fracture status question is the most consequential decision in osteoporosis coding. Applying M81.8 when an M80 code should be used results in undercoding, potential audit flags, and missed reimbursement.
The rule is straightforward: if a current pathological fracture is present, the M80 series applies. If no current fracture exists, M81.x applies.
A pathological fracture is a fracture occurring in bone that is abnormally weakened, where the fracture happens with minimal or no trauma. When osteoporosis causes such a fracture, the fracture codes from the M80 series take precedence, not M81.8.
The same current-vs-healed distinction applies to S82.61XN and other injury codes, where laterality and encounter type change the billable code.
A prior history of pathological fracture that has healed does not preclude M81.8. “Current” means active at the time of the encounter. A healed fracture from a previous visit is a historical fact, not a current condition requiring M80 coding.
Related ICD-10 codes for osteoporosis
Osteoporosis ICD-10 codes span the M80-M85 range. Understanding the full family helps coders confirm M81.8 is the right selection and identify when a related code better captures the clinical picture.
For the complete 2026 ICD-10-CM tabular listing, the CMS ICD-10 codes page publishes the annual update files and official code descriptions maintained by the NCHS. Code validity changes each October 1, so it is worth checking the current edition before submitting claims.
M81.8 documentation requirements
Payers scrutinize osteoporosis claims closely because the condition drives significant downstream costs in fracture prevention and management. Weak documentation is the primary reason M81.8 claims are denied or downcoded.
The same documentation principle governs M65.4 and other specificity-driven codes: the record must establish clinical basis, etiology, and current status before the code is assigned.
For M81.8, the clinical record should contain all of the following before a coder assigns the code.
- Osteoporosis diagnosis confirmed: DXA T-score of -2.5 or below at the spine, hip, or forearm, or a physician’s definitive diagnosis supported by clinical evidence. The DXA report date, T-score, and site tested should appear in the record.
- Etiology documented: the provider must explicitly state which subtype applies. “Drug-induced osteoporosis secondary to long-term prednisone use” is sufficient. “Osteoporosis” alone does not specify M81.8 over M81.0.
- Fracture status confirmed as absent: the note should confirm no current pathological fracture. A statement such as “no acute fracture on imaging” or “no current fracture” covers this requirement.
- Causative medication listed (drug-induced cases): document the specific drug, dose, and duration. Coders should also assign an adverse effect code from the T-codes to indicate the drug is taken as prescribed.
- Encounter type specified: whether the encounter is for monitoring, initiation of treatment, medication management, or a routine follow-up affects how the code is sequenced with procedure codes.
Using structured patient record workflows reduces the likelihood that these documentation elements are scattered across different visit notes or missing entirely.
When clinical notes are templated to capture etiology and fracture status at every relevant encounter, the coder can assign M81.8 with confidence rather than querying the physician after the fact.
Digital clinical forms can also standardize the intake and follow-up data collection that feeds directly into accurate diagnosis coding.

CPT codes commonly paired with ICD-10 Code M81.8
M81.8 is almost never billed in isolation. The clinical management of osteoporosis involves diagnostic testing, monitoring, and in some cases infusion therapy, each of which has its own CPT code. The following CPT codes are commonly used alongside M81.8 in practice.
Payer coverage policies vary: always verify medical necessity requirements with the specific MAC or commercial payer before billing.
For physical therapy EMR workflows where disuse osteoporosis is a secondary diagnosis, the CPT code for the primary physical therapy service (such as 97110 or 97530) would be the principal code, with M81.8 supporting the clinical picture as an additional diagnosis. Always sequence codes per the encounter’s primary reason for the visit.
Commonly co-coded conditions with M81.8
Osteoporosis rarely presents in isolation. Several comorbidities and risk factors appear alongside M81.8 regularly in clinical records, and accurate co-coding improves the completeness of the claim and supports medical necessity for associated services.
The following secondary ICD-10 codes are the ones most frequently assigned alongside M81.8.
- E55.9 (Vitamin D deficiency, unspecified): nutritional deficiency that accelerates bone loss. Commonly co-coded when lab results confirm low 25-hydroxyvitamin D and supplementation is initiated.
- Z91.81 (History of falling): fall risk is a central concern in osteoporosis management. Documenting fall history supports the medical necessity for DXA monitoring and pharmacological treatment.
- Z79.899 (Other long-term current drug use): used alongside M81.8 when drug-induced osteoporosis is caused by a medication the patient takes on a long-term basis. The causative drug should be identified separately.
- M85.80 (Other specified disorders of bone density and structure): occasionally co-coded when the patient has regional bone changes in addition to generalized osteoporosis.
- Z82.61 (Family history of arthritis): relevant where musculoskeletal risk factors are being documented for preventive care planning.
- E28.39 (Other primary ovarian failure): co-coded with postoophorectomy osteoporosis when the bone loss is attributed to premature ovarian failure rather than surgical removal, often managed through hormone replacement therapy.
Supporting patient compliance in chronic disease management is especially relevant in osteoporosis care, where long treatment durations and medication side effects frequently drive non-adherence. Co-coding the comorbidity picture accurately also gives payers the clinical context needed to approve ongoing monitoring services.
Pro Tip
When coding drug-induced osteoporosis under M81.8, always assign an adverse effect code from the T-code range (e.g. T38.0x5A for corticosteroids taken as prescribed) in addition to M81.8. The adverse effect code confirms the drug caused the bone loss, strengthens medical necessity documentation, and reduces the risk of a payer query on the claim.
Billing and reimbursement tips for osteoporosis coding guidelines
Even with correct code selection, M81.8 claims run into payer friction when supporting documentation is incomplete or when sequencing errors appear on the claim. These practical steps reduce denials and support clean first-pass submission.
- Sequence M81.8 correctly: at an encounter focused on osteoporosis management, M81.8 is the principal diagnosis. When the encounter is for a related condition (such as vitamin D deficiency or a medication review), M81.8 may be a secondary code. Sequencing errors are one of the most common audit flags.
- Medicare DXA frequency rules: per CMS guidance, Medicare covers DXA bone density testing every 24 months for eligible beneficiaries. Billing DXA (77080) more frequently requires documentation of clinical justification. M81.8 supports medical necessity but does not override frequency limitations.
- Match ICD to DXA result: payers expect the M81.8 diagnosis to be corroborated by a DXA T-score of -2.5 or below. A claim with M81.8 but a T-score of -1.5 (osteopenia) may trigger a medical necessity review.
- Drug-induced: add the adverse effect T-code: as noted in the pro tip above, the adverse effect code is required, not optional, for drug-induced cases. Missing it is an audit trigger.
- Verify LCD/NCD policies: local coverage determinations (LCDs) vary by Medicare Administrative Contractor (MAC). Check the relevant LCD for osteoporosis diagnosis codes to confirm M81.8 is listed as a covered diagnosis for each service billed alongside it.
Maintaining HIPAA compliance in medical offices also intersects with billing accuracy: protected health information must be handled correctly in claim submission, and any coding or billing audit will examine both documentation quality and compliance processes simultaneously.
Practices managing osteoporosis patients should treat documentation hygiene and billing accuracy as two sides of the same compliance obligation.
For physiotherapy compliance requirements, M81.8 as a secondary diagnosis in a physical therapy encounter follows the same principles: it must be supported by documented etiology and fracture status, and it should appear on the claim only when it genuinely influenced the clinical decision-making at that visit.
Reduce coding errors with structured clinical documentation
Pabau helps practices capture the documentation that supports accurate ICD-10 Code M81.8 assignment, from DXA results and etiology notes to encounter-level coding workflows, reducing claim denials before they happen.
How practice management software supports M81.8 coding accuracy
Coding errors in osteoporosis claims are rarely a knowledge problem. Coders know M81.8 requires etiology documentation and fracture status confirmation. The problem is that the information exists somewhere in the clinical record but is not structured in a way that makes it easy to find and apply consistently.
Practice management platforms reduce M81.8 coding errors by structuring the documentation workflow at the point of care, not at the point of billing. When providers work from templates that prompt for etiology, DXA results, medication history, and fracture status, the clinical record arrives at the billing team complete.
Claims management software can then apply coding logic to structured data, flagging encounters where required fields are blank before the claim is submitted.

Practices using integrated practice management software typically see fewer coder queries and faster claim turnaround. The documentation that drives accurate ICD-10 coding is captured as part of the clinical workflow, not reconstructed from memory during the billing cycle.
For conditions like osteoporosis, where etiology specificity is the difference between M81.8 and an unspecified code, that upstream discipline pays off in clean claims.
Pro Tip
Audit your osteoporosis claims quarterly. Pull all encounters coded M81.8 over 90 days and spot-check whether the clinical record includes: (1) DXA T-score, (2) documented etiology matching one of the six M81.8 subtypes, (3) confirmation of no current fracture, and (4) an adverse effect T-code where drug-induced osteoporosis is the cause. Missing any of these four elements is a denial waiting to happen.
Conclusion
ICD-10 Code M81.8 is a high-specificity code that rewards precise documentation. When the clinical record clearly identifies the osteoporosis subtype, confirms the absence of a current fracture, and supports medical necessity for associated services, M81.8 processes cleanly.
Pabau’s structured patient record workflows help practices capture the etiology, DXA results, and fracture status that make M81.8 defensible at audit. To see how Pabau supports clinical documentation and claims accuracy for conditions like osteoporosis, book a demo.
Continue your research
Need a compliance framework for your physiotherapy practice? Physiotherapy compliance requirements covers the documentation and regulatory requirements that affect practices managing musculoskeletal conditions including osteoporosis.
Coding myositis or other muscle disorders? M60.9 follows the same documentation-first coding logic used throughout this guide.
Want to understand how EHR features support billing accuracy? EHR integration explains how connected documentation and billing workflows reduce claim errors at the point of care.
Frequently Asked Questions
What does ICD-10 Code M81.8 mean?
ICD-10 Code M81.8 is a billable ICD-10-CM diagnosis code for other osteoporosis without current pathological fracture, covering six non-age-related subtypes including drug-induced, idiopathic, disuse, postoophorectomy, postsurgical malabsorption, and post-traumatic osteoporosis. It became effective October 1, 2025 as part of the 2026 ICD-10-CM edition and requires no additional character expansion for billing purposes.
When should you use M81.8 instead of M81.0?
Use M81.8 when the provider documents a specific non-age-related cause for the osteoporosis, such as corticosteroid use, surgical oophorectomy, or prolonged immobility. Use M81.0 when the osteoporosis is attributed to natural aging or postmenopausal bone loss without a secondary cause. Both codes require no current pathological fracture to be present.
Is M81.8 a billable ICD-10 code?
Yes, M81.8 is a billable and specific ICD-10-CM code in the 2026 edition, effective October 1, 2025. No additional 7th character or further specification is needed. It can be submitted directly on a claim without requiring a more specific code combination.
What is the difference between M81.8 and M80 codes?
M80 codes cover osteoporosis with a current pathological fracture. They require additional characters for fracture site and encounter type. M81.8 covers other osteoporosis without any current pathological fracture. If a patient with osteoporosis coded under M81.8 sustains a pathological fracture, the encounter should be coded with the appropriate M80 code, not M81.8.
What CPT codes are commonly paired with M81.8?
The most common CPT codes billed alongside M81.8 include 77080 (DXA bone density study, axial skeleton), 77081 (DXA appendicular skeleton), evaluation and management codes 99213-99215, and 96365 (IV infusion, first hour) when zoledronic acid is administered. CPT 82306 for vitamin D testing is also frequently co-billed. Payer coverage requirements vary and should be verified against the applicable LCD before submission.
What is the ICD-10 code for osteoporosis without fracture?
The ICD-10 codes for osteoporosis without fracture are M81.0 (age-related osteoporosis without current pathological fracture) and M81.8 (other osteoporosis without current pathological fracture). The distinction between them depends on whether the bone loss is attributable to natural aging (M81.0) or a specific secondary cause such as medication use or surgical history (M81.8).