ICD-10 code H28 is the single billable ICD-10-CM code for cataract in diseases classified elsewhere, and it has no subcodes. It reports a lens opacity caused by a systemic disease coded in another chapter, such as hypoparathyroidism, myotonic disorders, or myxedema.
H28 is a manifestation code, so the underlying disease is coded first and H28 follows it. The sections below cover sequencing, the exclusion, and the documentation a payer expects.
Key takeaways
H28 reports cataract caused by a systemic disease coded in another ICD-10-CM chapter, such as hypoparathyroidism, myotonic disorders, or myxedema
H28 has no subcodes in ICD-10-CM, so the three-character code is complete and billable through September 30, 2026
The underlying disease is coded first and H28 second, because a manifestation code never leads the claim
One Excludes1 note bars H28 with diabetic cataract, so E08.36 through E13.36 is reported on its own
The note must name the systemic disease and state that the cataract came from it, because coders cannot infer the link
Practice management software like Pabau lets clinicians add both diagnosis codes in the same encounter, so the pair reaches billing together
ICD-10 code H28 is billable at three characters
ICD-10 code H28 is a valid, billable ICD-10-CM code for cataract that develops as a manifestation of a disease classified elsewhere. The CDC/NCHS ICD-10-CM web tool confirms H28 is current for FY2026, effective October 1, 2025 through September 30, 2026.
The code sits in the H25-H28 block, “Disorders of lens,” inside chapter H00-H59, “Diseases of the eye and adnexa.” H25 covers age-related cataract and H26 covers other cataracts. H28 is held back for lens opacities that are manifestations of a separately classified systemic condition.
H28 has no fourth character and no subcodes. The three-character code is complete as it stands, and the next code in the tabular list is H30. Any reference showing an H28.0 is quoting the WHO’s international ICD-10, not the clinical modification used for US billing.
The H28 facts a coder checks before billing
The table below carries the administrative facts a coder needs before building a claim around H28. The same fields for the neighboring cataract categories sit in our ICD-10-CM code reference.
What “cataract in diseases classified elsewhere” means clinically
“Diseases classified elsewhere” is ICD-10-CM shorthand for conditions that carry their own code in a different chapter. When one of those conditions clouds the lens, the cataract is the manifestation, and H28 is the code that reports it.
Hypoparathyroidism shows how that works. The disease belongs to chapter E00-E89, “Endocrine, nutritional and metabolic diseases,” which is “elsewhere” relative to H28’s home in the eye chapter. Chronic hypocalcemia follows the disease, the lens clouds, and H28 reports the lens change alone.
Per the CMS ICD-10 coding guidelines, a manifestation code is never the principal or first-listed diagnosis. The etiology code goes first, then H28. Submitting H28 on its own leaves the payer with no coded cause for the cataract.
Why H28.0 does not exist in ICD-10-CM
H28 is one of the few three-character ICD-10-CM codes that is billable as it stands. No H28.0, H28.1, or H28.2 exists in any edition of ICD-10-CM, and none has ever existed, FY2026 included.
The confusion has a traceable source. The WHO’s international ICD-10, used for statistical reporting outside the United States, does carry H28.0 for diabetic cataract. The US clinical modification left it out, because a diabetes combination code already captures the same clinical picture.
Three practical consequences follow for anyone building a claim.
- Never add a fourth character. A claim line carrying H28.0 will reject as an invalid code, since no such code exists in ICD-10-CM.
- Never treat H28 as a category header. No more specific code sits beneath it, so the three-character code is the final answer.
- Never reach for H28 on a diabetic cataract. The diabetes combination code stands alone, as the exclusion section below explains.
Code the disease first, then H28
The etiology-manifestation convention governs every H28 claim, and it is where sequencing errors start. These five steps cover the decisions in order.
- Confirm the underlying disease in the record. The provider must name the systemic condition and state that the cataract is related to it.
- Code the underlying disease first. For idiopathic hypoparathyroidism, that is E20.0 in the first diagnosis position on the claim.
- Add H28 second. It reports the lens opacity itself, takes no fourth character, and never moves into first position.
- Rule diabetes out. Where the record attributes the cataract to diabetes, the claim carries E08.36 through E13.36 alone and H28 comes off.
- Handle laterality on the procedure side. H28 has no laterality character, so the eye is identified by the CPT modifier, RT or LT.
Worked example, hypoparathyroidism: a 52-year-old with idiopathic hypoparathyroidism is referred for reduced vision. The ophthalmologist documents bilateral posterior subcapsular opacities attributed to chronic hypocalcemia. The claim reads E20.0 first, then H28. Dropping E20.0, or putting H28 first, breaks the convention the payer is checking against.
Worked example, galactosemia: an infant with confirmed galactosemia is seen for bilateral oil-droplet lens opacities. The metabolic disease is coded first as E74.21, and H28 follows it. Galactosemia is not named in the tabular note, but that list is prefaced by “such as” and is not closed.
Laid out as a claim, the hypoparathyroidism example takes the shape below, alongside the three arrangements a payer sends straight back.

Which diseases get coded ahead of H28
The tabular list names four examples under “Code first underlying disease.” Other systemic diseases qualify on the same logic, as long as the provider documents the causal link.
Myotonic dystrophy deserves particular attention. Posterior subcapsular cataracts appear early in myotonic dystrophy (G71.11) and are sometimes the first presenting sign. Coding that cataract as H25, age-related, will not survive an audit when the record already carries the myotonic dystrophy diagnosis.
Pro Tip
Before H28 goes on a claim, check which disease the note blames for the cataract. If the answer is diabetes, the combination code E08.36 through E13.36 is the whole answer and H28 comes off the claim. If the answer is any other systemic disease, that code leads and H28 follows.
What the note must say to support H28
H28 is only as defensible as the note behind it. Because the code reports a manifestation, the record has to establish both halves of the pair. It needs the systemic disease on one side, and the cataract that came from it on the other.
A coder cannot supply the missing half. ICD-10-CM presumes a causal relationship only where the classification says so, as it does for the diabetes “with” codes. H28 carries no such presumption, so the treating provider has to state the connection in writing.
Six elements in the note decide whether an H28 encounter survives review.
- The systemic diagnosis by name. “Idiopathic hypoparathyroidism” or “myotonic muscular dystrophy” supports a code. “Metabolic disease” does not.
- A causal statement. Wording such as “cataract secondary to chronic hypocalcemia” is what licenses the pair; “patient also has cataracts” does not.
- The lens findings from the exam. Record the type and location of the opacity, such as posterior subcapsular, and state which eye is affected.
- Visual acuity and functional effect. Note corrected acuity and what the patient can no longer do, such as driving at night or reading.
- Diabetes ruled in or out. Where the patient also carries a diabetes diagnosis, the note must say which condition the cataract is attributed to.
- Support for the etiology code itself. The first-listed disease needs its own documentation, including status and current management.
Surgery raises the bar again. Medicare contractor policies for cataract extraction expect more than the lens finding. The record generally has to show impaired visual function that interferes with daily activities. The operative report then has to support whichever CPT code is billed.
Keep the underlying disease on the problem list too. A systemic diagnosis buried in a specialist’s letter leaves the coder inferring the link, which the convention rules out.
Where H28 is excluded, and where it only looks excluded
H28 carries exactly one exclusion note. It is an Excludes1 for cataract in diabetes mellitus, covering E08.36, E09.36, E10.36, E11.36, and E13.36. Excludes1 is the strict form, so the two codes are never reported together at the same encounter.
The reason is structural. Each of those diabetes codes already reads “with diabetic cataract” in its title, so one code reports the disease and the lens change together. Adding H28 behind it would report the same cataract twice.
A patient with type 2 diabetes and a diabetic cataract therefore gets E11.36, and nothing further from the cataract categories. H28 does not follow that code, and it does not precede it either.
Other cataract types are absent from H28 for a different reason, and coders often misremember this as an exclusion note.
- Drug-induced cataract (H26.3) is not excluded from H28 by any tabular note. It belongs to H26 because a medication, not a disease, caused the opacity.
- Traumatic cataract (H26.1) is likewise not an H28 exclusion. An injury is not a disease classified elsewhere, so the code lives in H26.
- Complicated cataract (H26.2) covers opacity secondary to an ocular disorder, such as chronic uveitis. It sits outside H28 because the cause is an eye disease, not a systemic one.
- Radiation cataract has no code of that title anywhere in ICD-10-CM, and no radiation exclusion appears under H28.
H28 has no Excludes2 note either, so there is no second, softer list to check before submission.
H28 vs the other cataract codes in H25-H28
The H25-H28 block holds several sibling categories that are easy to confuse. The comparison below clarifies when each one applies.
The line between H26.2 and H28 is the one that catches coders. H26.2 applies when the driving condition is an ocular disease, such as chronic uveitis. H28 applies when the driving condition is systemic and coded in another chapter, as myotonic dystrophy is.
Wording in the record that points to H28
Problem lists and clinical letters rarely use the official descriptor. Recognizing the wording below stops a coder defaulting to H25 when the record supports H28.
- Cataract in hypoparathyroidism
- Tetanic cataract, an older term for cataract with hypocalcemia
- Myotonic cataract
- Cataract in myotonic dystrophy
- Galactosemia-associated cataract
- Cataract in Wilson’s disease
- Hypothyroid or myxedematous cataract
- Metabolic cataract
- Cataract secondary to systemic disease
“Secondary cataract” is ambiguous and worth a query before coding. In everyday speech it often means posterior capsule opacification after surgery, which codes to H26.4-, not H28. Ask the provider whether the note means a post-surgical capsule change or a cataract caused by a systemic disease.
Which CPT codes pair with H28 in cataract surgery
H28 supports medical necessity for cataract surgery once the underlying disease code is in place ahead of it. The CPT codes most often paired with it are below. A superbill that carries the diagnosis pair and the procedure together shortens clean-claim processing.
The choice between 66982 and 66984 is a standing audit trigger. Systemic disease can bring zonular weakness or a poorly dilating pupil, either of which may justify the complex code. The operative note has to record that finding, because the diagnosis alone never earns 66982.
Crosswalking legacy ICD-9-CM cataract codes to H28
Practices reworking legacy claims or historical records will meet the ICD-9-CM cataract codes below. Verify any mapping against the AAPC ICD-10-CM code reference, since the general equivalence mappings are approximate.
The 366.41 row is the one to watch. A legacy diabetic cataract crosses to the diabetes chapter alone, so any migrated record that pairs it with an eye code needs correcting before resubmission.
Before you submit: Five checks on an H28 claim
Five checks catch the errors that send an H28 claim back, and each one takes under a minute. Run them once the note is signed and before the claim leaves the practice.
- The systemic disease is named. Look for the diagnosis itself in the note, not a hint of it on the problem list.
- A causal statement is present. The provider has to tie the cataract to that disease in writing.
- The sequence is right. The etiology code holds the first diagnosis position, with H28 directly behind it.
- No fourth character has crept in. Search the claim for H28.0 and any other H28 variant, then delete it.
- Diabetes is ruled in or out. Where diabetes caused the cataract, H28 comes off and the combination code goes on alone.
A line that fails any of the five is far quicker to fix now than after a denial lands.
How practice management software keeps the H28 pair together
H28 needs a second code to make sense, and that is an operational problem as much as a coding one. The clinician sees the patient, a coder looks the code up somewhere else, and the two diagnoses get entered at different moments by different people. Sequencing errors tend to start in that hand-off.
Keeping both codes in one place shortens the journey. Pabau’s claims software for clinicians lets them search ICD-10-CM codes from inside the encounter.
Both the underlying disease and H28 go on alongside the clinical note. The sequence stays a coding decision, but the pair is captured together rather than reassembled later from two screens.

The revenue effect of a rejected H28 claim is easy to underestimate. A corrected claim has to be rebuilt, resubmitted, and reworked in the ledger, which pushes payment out by weeks on most payers.
Submitting through a clearinghouse adds an eligibility and edit layer before the claim reaches the payer, so obvious errors surface earlier.
Pro Tip
Add H28 to your billing software as a watched code. Two patterns deserve a manual look before submission: H28 sitting in the first diagnosis position, and H28 traveling alone with no etiology code behind it. Both are wrong every time, and both are quicker to catch on a worklist than in a denial.
Keep diagnosis pairs together from note to claim
Pabau lets clinicians add both diagnosis codes, the underlying disease and H28, in the same patient encounter as the clinical note. Coders and clinicians work in one interface, so the pair reaches billing together instead of being reassembled from separate lookups.
Conclusion
The whole of ICD-10 code H28 comes down to a relationship between two codes. Treat it as one code and the claim fails, however carefully the lens finding is documented. Diabetes is the single cause H28 cannot report, and that exclusion is the one worth committing to memory.
What remains is documentation and workflow. The note has to name the systemic disease and tie the cataract to it, and both codes have to reach the claim together.
To see how ICD-10-CM code entry and claim submission sit in one system, book a demo with the Pabau team.
Continue your research
Need help understanding how ICD-10-CM codes move through a billing system? What is medical billing explains the end-to-end claim lifecycle from diagnosis coding through payment posting.
Want to reduce claim denials across your ophthalmology practice? Denial management in healthcare covers the most common denial triggers and how to build a systematic prevention workflow.
Considering a clearinghouse for electronic claim submission? Claim.MD pricing and features outlines how the Pabau clearinghouse integration works for US-based practices submitting ICD-10-CM-coded claims.
Frequently asked questions
Does H28 cover congenital cataract?
No. A cataract present at birth codes to Q12.0, in the congenital malformations chapter. H28 covers lens opacity that develops later as a manifestation of a systemic disease, so the two never compete.
The patient has diabetes and hypoparathyroidism. Which code applies?
The note decides. Where the provider attributes the cataract to hypoparathyroidism, E20.- is coded first and H28 second. Where diabetes is named as the cause, the matching code from E08.36 to E13.36 stands alone. Query the provider if the note names neither.
Does H28 need a laterality character?
No. H28 takes no laterality digit and no seventh character, so it reports the lens opacity without naming an eye. On a surgical claim the eye comes from the CPT modifier, RT or LT.
Does H28 apply to a steroid-induced cataract?
No. Drug-induced cataract codes to H26.3, because a medication is not a disease classified elsewhere. H28 is reserved for lens opacity that a systemic disease caused, so steroid cases stay in H26.
Does every H28 claim need the etiology code, or only the first?
Every one. H28 can never hold the first diagnosis position, so the underlying disease code goes ahead of it every time. That includes follow-up visits and the surgical claim.
Does H28 have subcodes such as H28.0?
No. H28 is complete at three characters. H28.0 belongs to the WHO’s international ICD-10 rather than the clinical modification used for US billing, so a claim line carrying it rejects as invalid.