Our complete rheumatology guide

Rheumatology ICD-10 specificity: the complete guide.

Rheumatology's four highest-volume disease families — rheumatoid arthritis, lupus, gout, and the spondyloarthropathies — each carry a specificity axis that a payer's biologic coverage policy or step-therapy edit checks directly, and an unspecified code fails that check even when the clinical picture is sound. This guide goes deeper than our pillar page: full seropositive-versus-seronegative crosswalks by site, lupus organ-involvement codes with the drug-induced distinction, gout by etiology, the complete spondyloarthropathy family, osteoarthritis site and laterality rules, and when Z79.899 belongs on a biologic patient's claim.

Key takeaways

  • M05 (RA with rheumatoid factor) is the only branch with dedicated organ-involvement codes. M06 (without rheumatoid factor) doesn't carry lung, heart, vasculitis, or Felty's subcodes — the serology axis and the organ-involvement axis aren't interchangeable, and mixing them up loses a code a coverage policy may specifically require.
  • Drug-induced lupus (M32.0) is a distinct code, not a footnote on M32.9. It's a different etiology from idiopathic SLE and typically resolves when the causative drug stops — conflating the two on the claim misstates a documented clinical fact.
  • Gout splits by etiology first, then by site and laterality. Idiopathic, lead-induced, drug-induced, renal-impairment, and other-secondary gout are five separate first-level codes (M10.0X–M10.4X) before the joint is even specified — defaulting to idiopathic when the chart documents a secondary cause is a common, avoidable error.
  • Z79.899 belongs on every ongoing biologic patient's chart, not just the infusion visit. It's the long-term-drug-therapy status code payers and quality programs look for on maintenance visits where the biologic itself isn't the reason for the encounter.

Rheumatoid arthritis: the full seropositive/seronegative-by-site crosswalk

RA splits into two top-level families by serology — M05 with rheumatoid factor, M06 without — and both families then require a site and laterality suffix (right, left, or unspecified) on nearly every subcategory. The families are not symmetric: M05 alone carries the extra-articular organ-involvement subcodes, because seropositive disease is the form associated with systemic manifestations in ICD-10-CM's structure.

RA with rheumatoid factor (M05), verified live against the FY2026 ICD-10-CM code set via the ICD-10 MCP connector.
CodeDescription
M05.9RA with rheumatoid factor, unspecified — avoid as primary when a site is documented
M05.79RA with rheumatoid factor, multiple sites, without organ or systems involvement
M05.741RA with rheumatoid factor, right hand, without organ or systems involvement
M05.752RA with rheumatoid factor, left hip, without organ or systems involvement
M05.762RA with rheumatoid factor, left knee, without organ or systems involvement
M05.011Felty's syndrome, right shoulder — RF-positive only, no M06 equivalent exists
M05.10Rheumatoid lung disease with RA, unspecified site
M05.20Rheumatoid vasculitis with RA, unspecified site
M05.30Rheumatoid heart disease with RA, unspecified site
RA without rheumatoid factor (M06), same verification.
CodeDescription
M06.9RA, unspecified — avoid as primary when a site is documented
M06.041RA without rheumatoid factor, right hand
M06.062RA without rheumatoid factor, left knee
M06.1Adult-onset Still's disease — its own code, not filed under a site subcategory
M06.20Rheumatoid bursitis, unspecified site — a distinct M06 subcategory from the arthritis-by-site codes above
M06.32Rheumatoid nodule, elbow

The practical rule: pick the serology family first from the chart's documented rheumatoid factor or anti-CCP status, then pick the most specific site and laterality the note supports, and only reach for M05's organ-involvement subcodes when the patient is both RF-positive and has documented extra-articular disease. A seronegative patient with genuine lung or cardiac involvement gets that manifestation coded through the relevant organ-specific code elsewhere in the chart plus the M06 site code — never forced into an M05 code that misstates serology just to capture the organ involvement.

Lupus: organ involvement and the drug-induced distinction

Systemic lupus erythematosus runs on the same logic as RA's organ-involvement axis, but it's a single family (M32) rather than a serology split — the axis that matters here is idiopathic versus drug-induced, plus which organ system is documented as involved.

SLE codes, verified live against the FY2026 ICD-10-CM code set.
CodeDescription
M32.0Drug-induced systemic lupus erythematosus — a distinct etiology code, not a subtype of M32.9
M32.9SLE, unspecified — avoid as primary when organ involvement or drug etiology is documented
M32.10SLE, organ or system involvement unspecified
M32.11Endocarditis in SLE
M32.12Pericarditis in SLE
M32.13Lung involvement in SLE
M32.14Glomerular disease in SLE
M32.15Tubulo-interstitial nephropathy in SLE
M32.19Other organ or system involvement in SLE

Drug-induced lupus (commonly triggered by hydralazine, procainamide, or certain TNF inhibitors used elsewhere in a patient's regimen) is clinically distinct from idiopathic SLE and typically resolves once the causative drug is withdrawn — coding it under M32.9 or any of the organ-involvement codes instead of M32.0 misstates a fact the chart already establishes, and it matters if a payer or an auditor is trying to reconcile the diagnosis against the medication list. On the organ-involvement side, a biologic's coverage policy for lupus nephritis specifically checks for M32.14 or M32.15, not a generic M32.10 or M32.9 — a claim coded to the unspecified level can fail that check even when the clinical note clearly documents nephritis, because the payer's system is matching against the specific code, not the narrative.

Gout: idiopathic vs. secondary, then by site

Gout's first specificity axis is etiology, and it's a five-way split before the joint is ever specified — a structure most other rheumatologic diseases don't share.

Gout by etiology (M10), verified live against the FY2026 ICD-10-CM code set. Each etiology then carries its own site/laterality suffixes.
EtiologyFirst-level codeWorked example
IdiopathicM10.0XM10.061 idiopathic gout, right knee
Lead-inducedM10.1XM10.161 lead-induced gout, right knee
Drug-inducedM10.2XM10.261 drug-induced gout, right knee
Due to renal impairmentM10.3XM10.361 gout due to renal impairment, right knee
Other secondaryM10.4XM10.461 other secondary gout, right knee
UnspecifiedM10.9Gout, unspecified — avoid as primary when etiology and site are documented

Every etiology branch repeats the identical joint list (shoulder, elbow, wrist, hand, hip, knee, ankle/foot, vertebrae, multiple sites) with right/left/unspecified suffixes, so once the etiology is picked correctly the site-and-laterality step is mechanical. The failure mode we see most: a chart documents chronic kidney disease and elevated urate clearly consistent with M10.3X, but the claim defaults to M10.9 or the idiopathic M10.0X family because that's the habitual first pick in the coding software's autocomplete. Since a payer's gout-flare coverage or urate-lowering-therapy step-therapy policy can key off the secondary-cause codes specifically, that default costs real coverage determinations, not just specificity points.

The spondyloarthropathy family: M45, M08.1, L40.5x, and M07

Axial and peripheral spondyloarthropathies span four different top-level categories depending on radiographic status, age of onset, and whether psoriasis or inflammatory bowel disease drives the arthritis — treating them as one interchangeable group is a common specificity failure.

Spondyloarthropathy family, verified live against the FY2026 ICD-10-CM code set.
Code familyCoversStructure
M45.0M45.9Ankylosing spondylitis (radiographic axial spondyloarthritis)By specific spinal region — occipito-atlanto-axial, cervical, cervicothoracic, thoracic, thoracolumbar, lumbar, lumbosacral, sacral/sacrococcygeal, multiple sites, or unspecified (M45.9, avoid as primary)
M45.A0M45.ABNon-radiographic axial spondyloarthritis (nr-axSpA)Identical regional breakdown to M45.0–M45.9, distinguishing pre-radiographic disease from established AS
M08.1Juvenile ankylosing spondylitisA single code, not broken out by spinal region — used for pediatric-onset axial disease
L40.50L40.59Psoriatic arthropathyBy pattern: L40.50 unspecified (avoid as primary) · L40.51 distal interphalangeal · L40.52 arthritis mutilans · L40.53 psoriatic spondylitis · L40.54 juvenile · L40.59 other
M07.60M07.69Enteropathic arthropathies (IBD-associated)By joint site and laterality — shoulder, elbow, wrist, hand, hip, knee, ankle/foot, vertebrae, multiple sites

The distinction between M45 and M45.A matters for both natural-history documentation and, increasingly, coverage: nr-axSpA has its own biologic-approval pathway separate from established AS on some payers' policies, so coding a pre-radiographic patient under the M45.0–M45.9 range instead of M45.A can misstate exactly the distinction a prior authorization reviewer is checking. Psoriatic spondylitis (L40.53) versus ankylosing spondylitis with comorbid psoriasis is a similar trap — if the spinal disease is the psoriatic pattern, L40.53 is the correct primary code, not an M45 code with psoriasis listed as a secondary diagnosis.

Osteoarthritis: site and laterality

Osteoarthritis in rheumatology practices is coded across four separate top-level categories by joint, and three of those categories require laterality — unilateral right, unilateral left, or bilateral — as a first-level split, not an afterthought suffix.

OA code structure, verified live against the FY2026 ICD-10-CM code set.
JointCategoryWorked examples
Generalized (multiple joints)M15M15.0 primary generalized osteoarthritis
HipM16M16.11 unilateral primary OA, right hip
KneeM17M17.0 bilateral primary OA of knee · M17.11/M17.12 unilateral primary OA, right/left knee
First carpometacarpal jointM18M18.11 unilateral primary OA of first CMC joint, right hand
Other joints (shoulder, hand, other specified/unspecified)M19M19.011 primary OA, right shoulder · M19.041 primary OA, right hand · M19.90 unspecified OA, unspecified site

M19.90 exists for genuinely diffuse or undifferentiated presentations, but it's also the single most common osteoarthritis specificity failure in rheumatology billing: a chart that clearly documents right-knee osteoarthritis on exam and imaging, billed as M19.90 because that's the default in an order set. Fixing this is almost entirely a template and order-set problem, not a training problem — make the specific joint the default selection and unspecified the deliberate exception.

Z79.899: long-term biologic use status

Z79.899 (other long-term current drug therapy) is a status code, not a diagnosis — it documents that a patient is on an ongoing medication regimen with its own monitoring burden, and it belongs as a secondary code on visits where a biologic or DMARD is part of the patient's active management, not just on the infusion date itself. A methotrexate or biologic patient's routine follow-up visit, where lab review and toxicity monitoring drive part of the medical decision making, is a legitimate use of Z79.899 alongside the primary rheumatologic diagnosis; it's also increasingly what quality-reporting programs and some payer risk-adjustment logic look for as evidence of ongoing high-risk medication management, separate from whatever CPT-level infusion or E/M code is billed the same visit.

Do and don't

Do
  • Pick the serology family (M05 vs. M06) from documented RF or anti-CCP status before picking the site.
  • Code drug-induced lupus (M32.0) and secondary gout (M10.1X–M10.4X) as their own etiologies whenever the chart documents the cause.
  • Distinguish M45 (radiographic AS) from M45.A (non-radiographic axial spondyloarthritis) — the two carry different coverage pathways on some payers.
  • Default order sets to a specific joint for osteoarthritis, with unspecified as the deliberate exception.
Don't
  • Don't force an M05 organ-involvement code onto a seronegative (RF-negative) patient to capture extra-articular disease — code the manifestation separately.
  • Don't default to M10.9 or the idiopathic gout family when the chart documents a renal, drug, or lead etiology.
  • Don't bill M19.90 out of habit when the note names a specific joint and side.
  • Don't skip Z79.899 on maintenance visits for biologic or DMARD patients just because the drug itself isn't billed that day.

Losing coverage to unspecified rheumatology diagnosis codes?

We'll audit a sample of your recent rheumatology claims for specificity gaps against your top payers' biologic and imaging coverage policies, and show what's recoverable.

Book a free claims review

Frequently asked questions

Why does it matter whether we code RA as M05 or M06?

M05 is rheumatoid arthritis with rheumatoid factor and M06 is rheumatoid arthritis without rheumatoid factor — serology, not severity. Getting the family wrong misstates a clinical fact the chart already documents, and it matters operationally because M05 is the only branch with dedicated codes for extra-articular organ involvement (lung, heart, vasculitis, Felty's syndrome). A seropositive patient with rheumatoid lung disease coded to M06 instead of M05 loses the specific organ-involvement code entirely, which can be exactly the code a biologic's coverage policy is checking for.

What's the difference between M32.0 and the other M32 codes for lupus?

M32.0 is drug-induced systemic lupus erythematosus, a distinct etiology from the idiopathic disease — it's caused by a specific medication (commonly hydralazine, procainamide, or certain TNF inhibitors) and typically resolves after the drug is stopped, which is clinically and administratively different from M32.1 through M32.9's organ-involvement codes for idiopathic SLE. Coding a drug-induced case under M32.9 instead of M32.0 misstates the etiology and can undermine a chart review or an appeal that hinges on the drug-induced distinction.

Do we need a site and laterality code for every osteoarthritis diagnosis?

For the joints ICD-10-CM breaks out by site — hip (M16), knee (M17), first carpometacarpal (M18), and the shoulder/hand/other-joint codes under M19 — yes, and most of those also require unilateral-with-side or bilateral specificity, not just the joint. M15 (generalized) and M19.90 (unspecified osteoarthritis, unspecified site) exist for genuinely diffuse or undifferentiated presentations, but defaulting to M19.90 when the chart clearly documents a specific joint is the single most common osteoarthritis specificity failure we see, and it's an easy one to fix at the point of diagnosis entry.

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.

Related resources