visual impairment and blindness

Reading File
Finding Sources
Searching PubMed

"visual impairment" OR "blindness" causes epidemiology

Searching the Web

visual impairment blindness causes classification management 2025

Reading File
Reading File
Reading File
I now have rich content. Let me compile the comprehensive answer.

Visual Impairment and Blindness

Definitions

A WHO compilation (1966) listed 65 different definitions of blindness. The 25th World Health Assembly (1972) standardized this, defining blindness as:
"Visual acuity of less than 3/60 (Snellen) or its equivalent."
The ICD-11 (2018) classifies vision impairment into two groups:

Distance Vision Impairment

CategoryVisual Acuity
MildWorse than 6/12
ModerateWorse than 6/18
SevereWorse than 6/60
BlindnessWorse than 3/60

Near Vision Impairment

Presenting near vision acuity worse than N6 or M0.8 at 40 cm with existing correction.

Global Magnitude

  • 1 billion people globally have a vision impairment that could have been prevented or has yet to be addressed (WHO)
  • Breakdown of those with distance vision impairment or blindness:
    • Unaddressed refractive error: 123.7 million
    • Cataract: 65.2 million
    • Glaucoma: 6.9 million
    • Corneal opacities: 4.2 million
    • Diabetic retinopathy: 3 million
    • Trachoma: 2 million
    • Unaddressed presbyopia (near): 826 million
  • ~80% of all blindness is avoidable (treatable or preventable)
  • 82% of visually impaired people are aged 50 years or older
  • 19 million children are visually impaired; 12 million due to refractive errors alone; 1.4 million are irreversibly blind
(Park's Textbook of Preventive and Social Medicine, p. 452)

Causes

Causes of Moderate to Severe Vision Impairment (Global)

  1. Uncorrected refractive errors - 53%
  2. Un-operated cataract - 25%
  3. Age-related macular degeneration - 4%
  4. Glaucoma - 2%
  5. Diabetic retinopathy - 1%

Causes of Blindness (Global)

  1. Un-operated cataract - 35%
  2. Uncorrected refractive error - 21%
  3. Glaucoma - 8%

Regional Variation

  • Developed countries: Accidents, glaucoma, diabetes, vascular diseases (hypertension), cataract, retinal degeneration, hereditary conditions
  • South-East Asia (including India): Cataract is the single most common cause (50-80% of all blindness); emerging causes include glaucoma, AMD, diabetic retinopathy, corneal ulcer, ocular trauma; Vitamin A deficiency (xerophthalmia) is gradually declining

Childhood Blindness (Developing World)

  • Xerophthalmia (Vitamin A deficiency)
  • Congenital cataract
  • Congenital glaucoma
  • Optic atrophy (from meningitis)
  • Retinopathy of prematurity
  • Uncorrected refractive errors
(Park's Textbook of Preventive and Social Medicine, p. 452-453)

Prevention and Control

Blindness control hinges on the VISION 2020: The Right to Sight initiative (WHO + IAPB), targeting avoidable blindness through:
StrategyExamples
PreventionVitamin A supplementation, trachoma control, eye safety programs
TreatmentCataract surgery, refractive error correction (glasses/surgery)
RehabilitationLow vision aids, white canes, Braille, mobility training

India - National Programme for Control of Blindness and Visual Impairment (NPCB&VI)

  • Centrally sponsored scheme (60:40 funding in states; 90:10 in NE states)
  • Goal: Reduce prevalence of blindness to 0.3% by 2020
  • Key initiatives:
    • Dedicated eye units in NE/hilly states
    • Contractual ophthalmic manpower deployment
    • Mobile ophthalmic units for hard-to-reach areas
    • Treatment for diabetic retinopathy, glaucoma, refractive errors, corneal transplantation, vitreo-retinal surgery, and childhood blindness
(Park's Textbook of Preventive and Social Medicine, p. 453; block 10)

Access Gaps

  • 2 out of 3 people in low-income countries who need eyeglasses don't have access to them
  • 1 in 2 people globally who need cataract surgery can't access it
  • These gaps disproportionately affect rural populations, elderly individuals, and tribal/marginalized communities

Recent Evidence (2024-2026)

A 2024 meta-analysis in Eye (PMID: 38461217) from the Global Burden of Disease Study estimated global numbers blind or visually impaired by cataract from 2000-2020, highlighting cataract's ongoing dominance as a treatable cause. A 2025 US study (Ophthalmology Science) found cataract (60%), AMD (38%), glaucoma (22%), and diabetic retinopathy (15%) as the most commonly associated conditions with vision loss - confirming the global picture holds in high-income settings too.

Key takeaway: The vast majority of vision impairment globally is preventable or treatable. Refractive errors and cataract together account for the overwhelming burden, and simple interventions - glasses and cataract surgery - remain the highest-yield public health tools in ophthalmology.

india - National Programme for Control of Blindness and Visual Impairment (NPCB&VI) make a revision flowchart

Finding Sources
Reading File
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Generating Image

A detailed medical revision flowchart titled "National Programme for Control of Blindness and Visual Impairment (NPCB&VI) - India" for medical students. The flowchart should be structured top-to-bottom with clear boxes and arrows, on a white background with clean typography. Structure the flowchart as follows: TOP HEADER BOX (dark blue): "NPCB&VI – India | Centrally Sponsored Scheme | Funding: 60:40 (States) | 90:10 (NE States + Sikkim)" Second row (orange box): "GOAL: Reduce prevalence of blindness to 0.3% by 2020 | Previous name: NPCB → Renamed to NPCB&VI" Arrow down to: "INDIA STATISTICS" box (teal): - Old definition: Cannot count fingers at 6m | New (WHO aligned): Cannot count fingers at 3m - Prevalence: 1.0% (2006-07) → 0.36% (2015-18) - Blind population: 1.20 crore → 80 lakh (after new definition) Arrow down splits into THREE BRANCHES labeled "LEVELS OF CARE": LEFT BRANCH (green box) "PRIMARY EYE CARE": - Village health guides + MPW - Treat: conjunctivitis, trachoma, xerophthalmia, foreign bodies - Drugs: tetracycline, Vit A capsules - Refer difficult cases to PHC - 1 VHG per 1000 pop; 2 MPW per 5000 MIDDLE BRANCH (blue box) "SECONDARY CARE": - PHC + District Hospitals - Cataract surgery (eye camps) - Trichiasis, entropion, glaucoma, trauma - Mobile eye clinics - Cataract = 66.2% of blindness in India RIGHT BRANCH (purple box) "TERTIARY CARE": - Medical Colleges + National Institutes - Retinal detachment surgery - Corneal grafting (Eye Banks) - National Institute for Blind – Dehradun - Rehabilitation + special schools Arrow down to NATIONAL INITIATIVES box (dark teal): - Dedicated eye units in NE/hilly states - Contractual ophthalmic manpower - Mobile ophthalmic district units - Diabetic retinopathy, glaucoma, refractive errors, corneal transplant, vitreo-retinal surgery, childhood blindness Arrow down to MAJOR CAUSES BOX (red-orange): BLINDNESS: Cataract 66.2% | Posterior segment 5.9% | Glaucoma 5.5% | Refractive error 0.1% MODERATE-SEVERE VI: Refractive error 53% | Cataract 25% | AMD 4% | Glaucoma 2% | DR 1% Arrow down to GLOBAL EYE HEALTH ACTION PLAN 2014-19 box (grey): - Reduce avoidable VI by 25% (from 2010 baseline) by 2019 - Principles: Universal access, Human rights, Evidence-based, Life-course approach - 3 Indicators: (1) Prevalence/causes (2) Eye care personnel (3) Cataract surgery rate BOTTOM BOX (yellow): "80% of blindness is AVOIDABLE – Treatable or Preventable" Use color-coded boxes, bold headings, clear directional arrows, and make it visually organized like a high-quality medical exam flowchart.

!

404 Not Found. {'message': '{\n "error": {\n "code": 404,\n "message": "Publisher model `projects/engaged-beaker-474810-u2/locations/global/publishers/google/models/gemini-3-pro-image-preview` was not found or your project does not have access to it. Ensure you are using a valid model name and that the model is available in the specified region. For more information, see: https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations.",\n "status": "NOT_FOUND"\n }\n}\n', 'status': 'Not Found'}

We encountered an error while processing your request. Please try again or reach out to us for help.

make a flowchart

Running Command

mkdir -p /tmp/workspace/npcb-flowchart && ls /tmp/workspace/

Writing File

~/npcb-flowchart/generate_flowchart.py

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch, FancyArrowPatch

fig, ax = plt.subplots(figsize=(22, 34))
ax.set_xlim(0, 22)
ax.set_ylim(0, 34)
ax.axis('off')
fig.patch.set_facecolor('#F7F9FC')

# ─── colour palette ───────────────────────────────────────────
C = {
    'header':  '#1A3A5C',   # dark navy
    'goal':    '#D64E12',   # strong orange-red
    'stats':   '#1E7A8C',   # teal
    'primary': '#2A7A3B',   # green
    'second':  '#1A5EA8',   # blue
    'tertiary':'#6A3D9A',   # purple
    'national':'#B8860B',   # dark gold
    'causes':  '#C0392B',   # red
    'global':  '#4A4A4A',   # dark grey
    'footer':  '#1A7A1A',   # dark green
    'arrow':   '#333333',
    'white':   '#FFFFFF',
    'ltblue':  '#EAF4FB',
    'ltgreen': '#EAF7EC',
    'ltpurple':'#F3EBF9',
    'ltyellow':'#FFFDE7',
    'ltred':   '#FDEDEC',
    'ltgold':  '#FEF9E7',
    'ltteal':  '#E8F6F9',
}

def box(ax, x, y, w, h, bg, border, text, fs=9.5, bold=False,
        text_color='black', pad=0.18, valign='center', wrap=True):
    rect = FancyBboxPatch((x, y), w, h,
                          boxstyle=f"round,pad={pad}",
                          linewidth=2, edgecolor=border,
                          facecolor=bg, zorder=3)
    ax.add_patch(rect)
    weight = 'bold' if bold else 'normal'
    ax.text(x + w/2, y + h/2, text,
            ha='center', va=valign,
            fontsize=fs, fontweight=weight,
            color=text_color, wrap=wrap,
            multialignment='center',
            zorder=4,
            bbox=dict(boxstyle='square,pad=0', fc='none', ec='none'))

def arrow(ax, x1, y1, x2, y2, color='#333333', lw=2):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle='->', color=color,
                                lw=lw, mutation_scale=18),
                zorder=5)

def label_arrow(ax, x, y, text, fs=8, color='#555555'):
    ax.text(x, y, text, ha='center', va='center',
            fontsize=fs, color=color, style='italic', zorder=6)

# ══════════════════════════════════════════════════════════════
#  ROW 1 – TITLE HEADER
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 31.8, 21, 1.8, C['header'], C['header'],
    "NATIONAL PROGRAMME FOR CONTROL OF BLINDNESS & VISUAL IMPAIRMENT\n(NPCB&VI) — INDIA  |  Revision Flowchart",
    fs=14, bold=True, text_color=C['white'])

arrow(ax, 11, 31.8, 11, 31.3)

# ══════════════════════════════════════════════════════════════
#  ROW 2 – FUNDING & GOAL
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 29.6, 9.8, 1.6, '#FFF3E0', C['goal'],
    "FUNDING\nCentrally Sponsored Scheme\n60:40 (All States)  |  90:10 (NE States + Sikkim)",
    fs=9.5, bold=False)

box(ax, 11.2, 29.6, 10.3, 1.6, '#FFEBEE', C['goal'],
    "GOAL\nReduce prevalence of blindness\nto ≤ 0.3% by 2020\n(Old name: NPCB → Renamed NPCB&VI)",
    fs=9.5, bold=False)

arrow(ax, 11, 29.6, 11, 29.1)

# ══════════════════════════════════════════════════════════════
#  ROW 3 – INDIA STATISTICS
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 26.8, 21, 2.2, C['ltteal'], C['stats'],
    "INDIA — KEY STATISTICS\n"
    "▸ Old definition: Cannot count fingers at 6 m   →   New (WHO-aligned): Cannot count fingers at 3 m\n"
    "▸ Prevalence: 1.0% (2006–07)  →  0.36% (2015–18)          ▸ Blind population: 1.20 cr  →  80 lakh (post redefinition)\n"
    "▸ Principal cause: Cataract — 66.2%  |  Glaucoma prevalence 5.5%  |  Posterior segment pathology 5.9%",
    fs=9.5, bold=False)

arrow(ax, 11, 26.8, 11, 26.3)

# ══════════════════════════════════════════════════════════════
#  ROW 4 – CAUSES PANEL (2 boxes side by side)
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 24.0, 10.0, 2.2, C['ltred'], C['causes'],
    "CAUSES OF BLINDNESS (India / Global)\n"
    "1. Cataract (un-operated)  —  35% (global) / 66.2% (India)\n"
    "2. Uncorrected refractive error  —  21%\n"
    "3. Glaucoma  —  8%   4. Corneal opacities   5. Trachoma",
    fs=9, bold=False)

box(ax, 11.2, 24.0, 10.3, 2.2, C['ltred'], C['causes'],
    "CAUSES OF MODERATE–SEVERE VISION IMPAIRMENT\n"
    "1. Uncorrected refractive errors  —  53%\n"
    "2. Un-operated cataract  —  25%\n"
    "3. AMD 4%   4. Glaucoma 2%   5. Diabetic retinopathy 1%",
    fs=9, bold=False)

# connecting arrows from stats to causes
arrow(ax, 5.5, 26.8, 5.5, 26.2)
arrow(ax, 5.5, 26.2, 5.5, 24.0+2.2)   # top of causes box left
arrow(ax, 16.4, 26.8, 16.4, 26.2)
arrow(ax, 16.4, 26.2, 16.4, 24.0+2.2)

arrow(ax, 11, 24.0, 11, 23.5)

# ══════════════════════════════════════════════════════════════
#  ROW 5 – LEVELS OF CARE HEADER
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 22.7, 21, 0.75, '#E3F2FD', C['second'],
    "METHODS OF INTERVENTION — 3 LEVELS OF EYE CARE",
    fs=11, bold=True, text_color=C['second'])

# branch arrows
arrow(ax, 11, 22.7, 4.0,  22.1)   # to primary
arrow(ax, 11, 22.7, 11,   22.1)   # to secondary
arrow(ax, 11, 22.7, 18.0, 22.1)   # to tertiary

# ══════════════════════════════════════════════════════════════
#  ROW 6 – THREE CARE COLUMNS
# ══════════════════════════════════════════════════════════════
h_care = 5.4

# --- PRIMARY ---
box(ax, 0.2, 16.6, 6.8, h_care, C['ltgreen'], C['primary'],
    "PRIMARY EYE CARE\n\n"
    "Providers:\n"
    "▸ Village Health Guides (VHG)\n"
    "▸ Multi-Purpose Workers (MPW)\n\n"
    "Coverage:\n"
    "▸ 1 VHG per 1,000 population\n"
    "▸ 2 MPW per 5,000 population\n\n"
    "Conditions treated:\n"
    "▸ Acute conjunctivitis\n"
    "▸ Ophthalmia neonatorum\n"
    "▸ Trachoma\n"
    "▸ Superficial foreign bodies\n"
    "▸ Xerophthalmia\n\n"
    "Drugs provided:\n"
    "▸ Topical tetracycline\n"
    "▸ Vitamin A capsules\n"
    "▸ Eye bandages & shields\n\n"
    "Action:\n"
    "▸ Refer difficult cases to PHC\n"
    "▸ Promote hygiene, sanitation,\n"
    "   good diet, safety",
    fs=8.8, bold=False, valign='top')

# --- SECONDARY ---
box(ax, 7.6, 16.6, 6.8, h_care, C['ltblue'], C['second'],
    "SECONDARY CARE\n\n"
    "Providers:\n"
    "▸ PHC & District Hospitals\n"
    "▸ Eye departments / clinics\n"
    "▸ Mobile eye clinics\n\n"
    "Conditions managed:\n"
    "▸ Cataract surgery (eye camps)\n"
    "▸ Trichiasis / Entropion\n"
    "▸ Glaucoma\n"
    "▸ Ocular trauma\n\n"
    "Highlights:\n"
    "▸ Cataract = 62–66% blindness\n"
    "   in India\n"
    "▸ Eye camp approach highly\n"
    "   successful + community\n"
    "   participation\n"
    "▸ Mobile units: problem-specific,\n"
    "   inexpensive, peripheral care\n"
    "▸ General health surveys at camps\n"
    "▸ Adequate follow-up & evaluation",
    fs=8.8, bold=False, valign='top')

# --- TERTIARY ---
box(ax, 15.0, 16.6, 6.8, h_care, C['ltpurple'], C['tertiary'],
    "TERTIARY CARE\n\n"
    "Providers:\n"
    "▸ Medical Colleges\n"
    "▸ National/Regional Institutes\n\n"
    "Services:\n"
    "▸ Retinal detachment surgery\n"
    "▸ Corneal grafting\n"
    "▸ Complex eye surgeries\n\n"
    "Eye Banks:\n"
    "▸ Most states have Corneal\n"
    "   Grafting Acts\n"
    "▸ Eye Banks established\n\n"
    "Rehabilitation:\n"
    "▸ Special schools for the blind\n"
    "▸ Gainful employment\n"
    "▸ National Institute for the Blind\n"
    "   — Dehradun (U.P.)",
    fs=8.8, bold=False, valign='top')

# arrows from care boxes down
arrow(ax, 4.0,  16.6, 4.0,  16.1)
arrow(ax, 11,   16.6, 11,   16.1)
arrow(ax, 18.5, 16.6, 18.5, 16.1)
# converge
arrow(ax, 4.0,  16.1, 11,   15.8)
arrow(ax, 11,   16.1, 11,   15.8)
arrow(ax, 18.5, 16.1, 11,   15.8)

# ══════════════════════════════════════════════════════════════
#  ROW 7 – NATIONAL INITIATIVES
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 13.2, 21, 2.5, C['ltgold'], C['national'],
    "NATIONAL INITIATIVES UNDER NPCB&VI\n"
    "▸ Dedicated eye units in NE States (including Sikkim) & hilly areas\n"
    "▸ Contractual ophthalmic manpower: Ophthalmic surgeons, assistants, eye donation counsellors\n"
    "▸ Multipurpose District Mobile Ophthalmic Units — diagnosis & management in difficult areas\n"
    "▸ Services beyond cataract: Diabetic retinopathy  |  Glaucoma  |  Refractive errors  |  Corneal transplantation  |  Vitreo-retinal surgery  |  Childhood blindness",
    fs=9.2, bold=False)

arrow(ax, 11, 15.8, 11, 15.7)
arrow(ax, 11, 15.7, 11, 13.2+2.5)

arrow(ax, 11, 13.2, 11, 12.7)

# ══════════════════════════════════════════════════════════════
#  ROW 8 – INITIAL ASSESSMENT
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 11.2, 21, 1.4, '#F0F0F0', '#888888',
    "INITIAL ASSESSMENT  |  Step 1: Prevalence surveys → assess magnitude, geographic distribution & causes\n"
    "→ Essential for setting priorities and designing intervention programmes",
    fs=9, bold=False)

arrow(ax, 11, 11.2, 11, 10.7)

# ══════════════════════════════════════════════════════════════
#  ROW 9 – GLOBAL EYE HEALTH ACTION PLAN
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 8.8, 21, 2.3, '#ECEFF1', '#607D8B',
    "GLOBAL EYE HEALTH ACTION PLAN 2014–2019 (WHO)\n"
    "Goal: Reduce avoidable visual impairment by 25% by 2019 (from 2010 baseline)\n"
    "5 Principles: Universal access & equity  |  Human rights  |  Evidence-based practice  |  Life-course approach  |  Empowerment of visually impaired\n"
    "3 Progress Indicators:  (1) Prevalence & causes of VI    (2) Number of eye care personnel    (3) Cataract surgery rate",
    fs=9, bold=False)

arrow(ax, 11, 8.8, 11, 8.3)

# ══════════════════════════════════════════════════════════════
#  ROW 10 – VISION 2020 + KEY STATS BAND
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 6.6, 21, 1.6, '#E8F5E9', '#2E7D32',
    "VISION 2020: The Right to Sight (WHO + IAPB)\n"
    "Strategy: Prevention  →  Treatment  →  Rehabilitation  |  Targeted: avoidable blindness (80% of all blindness is avoidable)",
    fs=9.2, bold=False)

arrow(ax, 11, 6.6, 11, 6.1)

# ══════════════════════════════════════════════════════════════
#  ROW 11 – SPECIAL POPULATIONS
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 4.5, 9.8, 1.7, '#E3F2FD', '#1565C0',
    "CHILDHOOD BLINDNESS\n"
    "▸ Xerophthalmia (Vit A deficiency) — declining\n"
    "▸ Congenital cataract / glaucoma\n"
    "▸ Retinopathy of prematurity\n"
    "▸ Optic atrophy (meningitis)\n"
    "▸ Uncorrected refractive errors",
    fs=8.8)

box(ax, 11.2, 4.5, 10.3, 1.7, '#FFF3E0', '#E65100',
    "ELDERLY (≥50 yrs)\n"
    "▸ 82% of visually impaired are ≥50 yrs\n"
    "▸ Senile cataract (1 decade earlier vs West)\n"
    "▸ AMD, Glaucoma, Diabetic retinopathy\n"
    "▸ Population ageing → rising burden",
    fs=8.8)

arrow(ax, 11, 6.6, 5.5, 6.2)
arrow(ax, 5.5, 6.2, 5.5, 4.5+1.7)
arrow(ax, 11, 6.6, 16.4, 6.2)
arrow(ax, 16.4, 6.2, 16.4, 4.5+1.7)

# ══════════════════════════════════════════════════════════════
#  ROW 12 – FOOTER KEY FACT
# ══════════════════════════════════════════════════════════════
box(ax, 0.5, 2.8, 21, 1.5, '#E8F5E9', C['footer'],
    "KEY EXAM FACT  ★\n"
    "80% of all blindness is AVOIDABLE (treatable or preventable) — Glasses & Cataract surgery are highest-yield public health interventions",
    fs=10, bold=True, text_color='#1A5A1A')

# ══════════════════════════════════════════════════════════════
#  Source credit
# ══════════════════════════════════════════════════════════════
ax.text(11, 2.3, "Source: Park's Textbook of Preventive & Social Medicine | Govt. of India NPCB&VI 2017-18 | WHO Fact Sheets",
        ha='center', va='center', fontsize=7.5, color='#888888', style='italic')

plt.tight_layout(pad=0)
plt.savefig('/tmp/workspace/npcb-flowchart/NPCB_VI_Flowchart.png',
            dpi=160, bbox_inches='tight', facecolor=fig.get_facecolor())
print("Saved successfully.")
Running Command

cd /tmp/workspace/npcb-flowchart && python generate_flowchart.py 2>&1

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

Download the NPCB&VI flowchart as PNG

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.