Generating PVA Better eye variable
tab1 status
gen enrol = status==1
egen pvaBetter = rowmin(pvare pvale) if enrol==1
Codes for vision
1 Can see 6/12
2 Can see 6/18, Cannot see 6/12
3 Can see 6/60, Cannot see 6/18
4 Can see 3/60, Cannot see 6/60
5 Can see 1/60, Cannot see 3/60
6 PL+, Cannot see 1/60
7 PL-
9 Missing
Codes for Cause of vision loss: causep, causere, causele
1 Refractive error
2 Aphakia, uncorrected
3 Cataract, untreated
4 Cataract surg. complications
5 Trachoma corneal opacity
6 Other corneal opacity
7 Phthisis
8 Others/Undetermined
9 Glaucoma
10 Diabetic retinopathy
11 ARMD
12 Other posterior segment
13 All globe/CNS abnormalities
14 Not examined: can see 6/12
99 Missing
Corneal Opacity Related Outcomes
There are four sets of variables
- First we identify persons who have better eye vision worse than the threshold, and have one or both eye marked as corneal opacity (unilateral / bilateral )
- Next we identify persons who have better eye vision worse than the threshold, and where cornal opacity is the most preventable cause of visual impairment
- Thirdly, we identify persons who have better eye vision worse than the threshold, and where cornal opacity is the most preventable cause of visual impairment and have at least percepton of light positive in one corneal opacity afected eye
- Finally, we identify persons who have better eye vision equal to or better than the threshhold, but have one eye affected with Corneal oapcity and in that eye, the vision is worse than the threshold
Stata Code
****************************************************************************************
** EVI, MSVI or blindness with U/L, B/L or any Eye COs
*** The next set of variables identify
*** those persons in whom CO is marked as the cause of PVA < 6/12 in one, two or any eye
****** among persons who are at a specified threshold of PVA in better eye
** This set of variables ignore cause of VI in the fellow eye
** Also, the PVA in CO afflicted eye is not taken into account. Only PVA better eye in person is taken into account
/*
EVI, MSVI or blindness with
Bilateral CO PVA < 6/12 in better eye, AND both eyes have corneal opacity noted as cause of PVA < 6/12 coVi612Bl
Unilateral CO PVA < 6/12 in better eye, AND only one eye has corneal opacity noted as cause of PVA < 6/12 coVi612Ul
*/
cap drop coVi612
gen coVi612 = 0
replace coVi612 = 2 if ///
inlist(pvaBetter,2,3,4,5,6,7) & ///
(inlist(causere,5,6) & inlist(causele,5,6) ) & ///
coVi612==0
replace coVi612 = 1 if ///
inlist(pvaBetter,2,3,4,5,6,7) & ///
(inlist(causere,5,6) | inlist(causele,5,6) ) & ///
coVi612==0
label var coVi612 "CO marked as cause in persons with PVA<6/12 Better Eye"
label define coVi612 0 "No CO" 1 "U/L CO" 2 "B/L CO", replace
label value coVi612 coVi612
tab coVi612
bysort coVi612: tab2 causere causele, nol
bysort coVi612: tab prcause, nol
gen coVi612Ul = coVi612==1
gen coVi612Bl = coVi612==2
gen coVi612AnyEye = coVi612==1 | coVi612==2
label var coVi612Ul "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label var coVi612Bl "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label var coVi612AnyEye "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label define coVi612Ul 0 "Not CO as cause of VI in one eye" 1 "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label value coVi612Ul coVi612Ul
label define coVi612Bl 0 "Not CO as cause of VI in one eye" 1 "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label value coVi612Bl coVi612Bl
label define coVi612AnyEye 0 "Not CO as cause of VI in any eye" 1 "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/12"
label value coVi612AnyEye coVi612AnyEye
/* A2.
MSVI or Blindness with
Bilateral CO PVA < 6/18 in better eye, AND Both eyes have corneal opacity noted as cause of PVA < 6/12 coVi618Bl
Unilateral CO PVA < 6/18 in better eye, AND only one eye has corneal opacity noted as cause of PVA < 6/12 coVi618Ul
*/
cap drop coVi618
gen coVi618 = 0
replace coVi618 = 2 if ///
inlist(pvaBetter,3,4,5,6,7) & ///
(inlist(causere,5,6) & inlist(causele,5,6) ) & ///
coVi618==0
replace coVi618 = 1 if ///
inlist(pvaBetter,3,4,5,6,7) & ///
(inlist(causere,5,6) | inlist(causele,5,6) ) & ///
coVi618==0
label var coVi618 "CO marked as cause in persons with PVA<6/18 Better Eye"
label define coVi618 0 "No CO" 1 "U/L CO" 2 "B/L CO", replace
label value coVi618 coVi618
tab coVi618
bysort coVi618: tab2 causere causele, nol
bysort coVi618: tab prcause, nol
gen coVi618Ul = coVi618==1
gen coVi618Bl = coVi618==2
gen coVi618AnyEye = coVi618==1 | coVi618==2
label var coVi618Ul "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label var coVi618Bl "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label var coVi618AnyEye "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label define coVi618Ul 0 "Not CO as cause of MSVIB in one eye" 1 "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label value coVi618Ul coVi618Ul
label define coVi618Bl 0 "Not CO as cause of MSVIB in one eye" 1 "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label value coVi618Bl coVi618Bl
label define coVi618AnyEye 0 "Not CO as cause of MSVIB in any eye" 1 "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/18"
label value coVi618AnyEye coVi618AnyEye
/* A3.
SVI or Blindness with
Bilateral CO PVA < 6/60 in better eye, AND Both eyes have corneal opacity noted as cause of PVA < 6/12 coVi660Bl
Unilateral CO PVA < 6/60 in better eye, And only one eye has corneal opacity noted as cause of PVA < 6/12 coVi660Ul
*/
cap drop coVi660
gen coVi660 = 0
replace coVi660 = 2 if ///
inlist(pvaBetter,4,5,6,7) & /// PVA , 6/60
(inlist(causere,5,6) & inlist(causele,5,6) ) & ///
coVi660==0
replace coVi660 = 1 if ///
inlist(pvaBetter,4,5,6,7) & ///
(inlist(causere,5,6) | inlist(causele,5,6) ) & ///
coVi660==0
label var coVi660 "CO marked as cause in persons with PVA<6/60 Better Eye"
label define coVi660 0 "No CO" 1 "U/L CO" 2 "B/L CO", replace
label value coVi660 coVi660
tab coVi660
bysort coVi660: tab2 causere causele, nol
bysort coVi660: tab prcause, nol
gen coVi660Ul = coVi660==1
gen coVi660Bl = coVi660==2
gen coVi660AnyEye = coVi660==1 | coVi660==2
label var coVi660Ul "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label var coVi660Bl "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label var coVi660AnyEye "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label define coVi660Ul 0 "Not CO as cause of SVIB in one eye" 1 "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label value coVi660Ul coVi660Ul
label define coVi660Bl 0 "Not CO as cause of SVIB in one eye" 1 "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label value coVi660Bl coVi660Bl
label define coVi660AnyEye 0 "Not CO as cause of SVIB in any eye" 1 "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 6/60"
label value coVi660AnyEye coVi660AnyEye
/* A4. Blindness with
Bilateral CO PVA < 3/60 in better eye,
AND Both eyes have corneal opacity noted as cause of PVA < 6/12 coVi360Bl
Unilateral CO PVA < 3/60 in better eye,
AND only one eye has corneal opacity noted as cause of PVA < 6/12 coVi360Ul
*/
cap drop coVi360
gen coVi360 = 0
replace coVi360 = 2 if ///
inlist(pvaBetter,5,6,7) & ///
(inlist(causere,5,6) & inlist(causele,5,6) ) & ///
coVi360==0
replace coVi360 = 1 if ///
inlist(pvaBetter,5,6,7) & ///
(inlist(causere,5,6) | inlist(causele,5,6) ) & ///
coVi360==0
label var coVi360 "CO as cause of PVA<3/60 in eyes"
label define coVi360 0 "No CO" 1 "U/L CO" 2 "B/L CO", replace
label value coVi360 coVi360
tab coVi360
bysort coVi360: tab2 causere causele, nol
bysort coVi360: tab prcause, nol
gen coVi360Ul = coVi360==1
gen coVi360Bl = coVi360==2
gen coVi360AnyEye = coVi360==1 | coVi360==2
label var coVi360Ul "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label var coVi360Bl "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label var coVi360AnyEye "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label define coVi360Ul 0 "Not CO as cause of Blindness in one eye" 1 "Ul-CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label value coVi360Ul coVi360Ul
label define coVi360Bl 0 "Not CO as cause of Blindness in one eye" 1 "Bl-CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label value coVi360Bl coVi360Bl
label define coVi360AnyEye 0 "Not CO as cause of Blindness in any eye" 1 "Any eye CO marked as cause of PVA < 6/12 in persons with PVA < 3/60"
label value coVi360AnyEye coVi360AnyEye
************************************************************************
* Persons with PREVENTABLE BLINDNESS OR VI DUE TO COs
*** It may happen that persons with one eye CO may have a more preventable / treatable cause in other eye
*** The next set of variables identify those persons in whom CO is marked as cause at specified PVA threhold in that eye,
*** and the fellow eye has a less avoidable /treatable cause
******* among persons who are at a specified threshold of PVA in better eye
** This set of variables DO NOT ignore cause of VI in the fellow eye
** Also, the PVA in CO afflicted eye IS taken into account.
** Thereby these overcome some of the limitations of previous set of variables
****************************************************************************
/*
B1. Avoidable EVI, MSVI or blindness due to CO potentially amenable to keratoplasty PVA < 6/12 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60
AND at least one CO affected eye has perception of light
– RAAB protocol ensures that these have PVA worse than 6/12 in better eye
*/
cap drop coVi612prev
gen coVi612prev = 0
replace coVi612prev = 1 if inlist(pvaBetter,2,3,4,5,6,7) & (inlist(prcause,5,6)) & coVi612prev==0
tab coVi612prev // 275
tab coVi612prev coVi612
label var coVi612prev "CO main cause of PVA < 6/12 in person"
label define coVi612prev 0 "Not Preventable VIB due to CO" 1 "CO main cause of PVA < 6/12 in person"
label value coVi612prev coVi612prev
/* B2. Avoidable MSVI or blindness due to CO
PVA < 6/18 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 6/18, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 6/18
*/
cap drop coVi618prev
gen coVi618prev = 0
replace coVi618prev = 1 if ///
inlist(pvaBetter,3,4,5,6,7) & /// Person has MSVI or blindness, AND
( /// One of the following three conditions are met
( inlist(causere, 5,6) & inlist(pvare, 3,4,5,6,7) & inlist(causele,7,8,9,10,11,12,13) ) | /// 1. Right eye has CO (5,6) and Rt pva < 6/18 and Left eye has less avoidable cause of PVA < 6/12 (7-13) OR
( inlist(causele, 5,6) & inlist(pvale, 3,4,5,6,7) & inlist(causere,7,8,9,10,11,12,13) ) | /// 2. Left eye has CO (5,6) and Lt pva < 6/18 and Right eye has less avoidable cause of PVA < 6/12 (7-13) OR
( inlist(causere, 5,6) & inlist(pvare, 3,4,5,6,7) & inlist(causele, 5,6) & inlist(pvale, 3,4,5,6,7) ) /// 3. BOTH Right eye has CO pva < 6/18, Left eye has CO (5,6) pva < 6/18
)
tab coVi618prev
tab coVi618prev coVi618
label var coVi618prev "CO main cause of PVA < 6/18 in person"
label define coVi618prev 0 "Not Preventable MSVIB due to CO" 1 "CO main cause of PVA < 6/18 in person"
label value coVi618prev coVi618prev
/* B3. Avoidable SVI or blindness due to CO
PVA < 6/60 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 6/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 6/60
*/
cap drop coVi660prev
gen coVi660prev = 0
replace coVi660prev = 1 if ///
inlist(pvaBetter,4,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 4,5,6,7) & inlist(causele,7,8,9,10,11,12,13) ) | /// Right eye has CO (5,6) and rt pva < 6/60 and Left eye has (7-13) OR
( inlist(causele, 5,6) & inlist(pvale, 4,5,6,7) & inlist(causere,7,8,9,10,11,12,13) ) | /// Left eye has CO (5,6) and Lt pva < 6/60 , Right eye has (7-13) OR
( inlist(causere, 5,6) & inlist(pvare, 4,5,6,7) & inlist(causele, 5,6) & inlist(pvale, 4,5,6,7) ) /// Right eye has CO (5,6) pva < 6/60 , Left eye has CO (5,6) pva < 6/60
)
tab coVi660prev // 275
tab coVi660prev coVi660
label var coVi660prev "CO main cause of PVA < 6/60 in person"
label define coVi660prev 0 "Not Preventable SVIB due to CO" 1 "CO main cause of PVA < 6/60 in person"
label value coVi660prev coVi660prev
/* B4. Avoidable Blindness due to CO
PVA < 3/60 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60 */
cap drop coVi360prev
gen coVi360prev = 0
replace coVi360prev = 1 if ///
inlist(pvaBetter,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 5,6,7) & inlist(causele,7,8,9,10,11,12,13) ) | /// Right eye has CO (5,6) and rt pva < 3/60 and Left eye has (7-13) OR
( inlist(causele, 5,6) & inlist(pvale, 5,6,7) & inlist(causere,7,8,9,10,11,12,13) ) | /// Left eye has CO (5,6) and Lt pva < 3/60 , Right eye has (7-13) OR
( inlist(causere, 5,6) & inlist(pvare, 5,6,7) & inlist(causele, 5,6) & inlist(pvale, 5,6,7) ) /// Right eye has CO (5,6) pva < 3/60 , Left eye has CO (5,6) pva < 3/60
)
tab coVi360prev // 177
label var coVi360prev "CO main cause of PVA < 3/60 in person"
label define coVi360prev 0 "Not Preventable Blindness due to CO" 1 "CO main cause of PVA < 3/60 in person"
label value coVi360prev coVi360prev
************************************************************************
* Persons with Surgically TREATABLE BLINDNESS OR VI DUE TO COs -
*** It may happen that persons with CO may have PL-ve vision and therefore are non-treatable by keratoplasty services.
*** The next set of variables identify those persons in whom CO is marked at the more preventable cause at specified PVA threhold in that eye,
*** and the CO affected eye has PL+ve vision
*** and the fellow eye has a less avoidable /treatable cause and may be PL-ve
******* among persons who are at a specified threshold of PVA in better eye
** This set of variables DO NOT ignore cause of VI in the fellow eye
** Also, the PVA in CO afflicted eye and PL+ positivity IS taken into account.
** Thereby these overcome some of the limitations of previous set of variables
****************************************************************************
/*
C1.
Avoidable EVI, MSVI or blindness due to CO potentially amenable to keratoplasty
PVA < 6/12 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60
AND at least one CO affected eye has perception of light
PVA < 6/12 IN BETTER EYE AND
- Right eye has CO and is PL+ and left eye is 7-13
- Left eye has CO and is PL+ and Right eye is 7-13
- Both eyes have CO and one eye is PL+
*/
cap drop coVi612prevSurg
gen coVi612prevSurg = 0
replace coVi612prevSurg = 1 if ///
inlist(pvaBetter,2,3,4,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 2,3,4,5,6) & inlist(causele,7,8,9,10,11,12,13) & inlist(pvale, 2, 3,4,5,6,7) ) | /// Right eye has CO and is PL+ and left eye is 7-13
( inlist(causele, 5,6) & inlist(pvale, 2,3,4,5,6) & inlist(causere,7,8,9,10,11,12,13) & inlist(pvare, 2, 3,4,5,6,7) ) | /// Left eye has CO and is PL+ and Right eye is 7-13
( inlist(causere, 5,6) & inlist(causele, 5,6) & inlist(pvare, 2,3,4,5,6,7) & inlist(pvale, 2,3,4,5,6,7) & (inlist(pvale,1,2,3,4,5,6) | inlist(pvare,1,2,3,4,5,6)) ) /// Both eyes have CO and both eye cannot see PVA 6/12 and one eye is PL+
)
tab coVi612prevSurg
/* C2. Avoidable MSVI or blindness due to CO Potentially amenable to keratoplasty
PVA < 6/18 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60
AND at least one CO affected eye has perception of light
*/
cap drop coVi618prevSurg
gen coVi618prevSurg = 0
replace coVi618prevSurg = 1 if ///
inlist(pvaBetter,3,4,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 3,4,5,6) & inlist(causele,7,8,9,10,11,12,13) & inlist(pvale, 3,4,5,6,7) ) | /// Right eye has CO and cannot see PVA 6/18 and is PL+; left eye is 7-13 and cannot see PVA 6/18
( inlist(causele, 5,6) & inlist(pvale, 3,4,5,6) & inlist(causere,7,8,9,10,11,12,13) & inlist(pvare, 3,4,5,6,7) ) | /// Left eye has CO and is PL+ and cannot see PVA 6/18 and; Right eye is 7-13 and cannot see PVA 6/18
( inlist(causere, 5,6) & inlist(causele, 5,6) & inlist(pvare, 3,4,5,6,7) & inlist(pvale, 3,4,5,6,7) & (inlist(pvale,1,2,3,4,5,6) | inlist(pvare,1,2,3,4,5,6)) ) /// Both eyes have CO and both eye cannot see PVA 6/18 and one eye is PL+
)
tab coVi618prevSurg
/* C3. Avoidable SVI or blindness due to CO Potentially amenable to keratoplasty
PVA < 6/60 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60
AND at least one CO affected eye has perception of light
*/
cap drop coVi660prevSurg
gen coVi660prevSurg = 0
replace coVi660prevSurg = 1 if ///
inlist(pvaBetter,4,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 4,5,6) & inlist(causele,7,8,9,10,11,12,13) & inlist(pvale, 4,5,6,7) ) | /// Right eye has CO and cannot see PVA 6/60 and is PL+; left eye is 7-13 and cannot see PVA 6/60
( inlist(causele, 5,6) & inlist(pvale, 4,5,6) & inlist(causere,7,8,9,10,11,12,13) & inlist(pvare, 4,5,6,7) ) | /// Left eye has CO and is PL+ and cannot see PVA 6/60 and; Right eye is 7-13 and cannot see PVA 6/60
( inlist(causere, 5,6) & inlist(causele, 5,6) & inlist(pvare, 4,5,6,7) & inlist(pvale, 4,5,6,7) & (inlist(pvale,1,2,3,4,5,6) | inlist(pvare,1,2,3,4,5,6)) ) /// Both eyes have CO and both eye cannot see PVA 6/60 and one eye is PL+
)
tab coVi660prevSurg
/* C4.Avoidable Blindness due to CO Potentially amenable to keratoplasty
PVA < 3/60 in better eye,
AND either
a. Only one eye has corneal opacity noted as cause of visual impairment and has PVA < 3/60, with fellow eye having a less avoidable cause of visual impairment, OR
b. Both eyes have corneal opacity noted as cause of visual impairment and have PVA < 3/60
AND at least one CO affected eye has perception of light
*/
cap drop coVi360prevSurg
gen coVi360prevSurg = 0
replace coVi360prevSurg = 1 if ///
inlist(pvaBetter,5,6,7) & ///
( ///
( inlist(causere, 5,6) & inlist(pvare, 5,6) & inlist(causele,7,8,9,10,11,12,13) & inlist(pvale, 5,6,7) ) | /// Right eye has CO and cannot see PVA 3/60 and is PL+; left eye is 7-13 and cannot see PVA 3/60
( inlist(causele, 5,6) & inlist(pvale, 5,6) & inlist(causere,7,8,9,10,11,12,13) & inlist(pvare, 5,6,7) ) | /// Left eye has CO and is PL+ and cannot see PVA 3/60 and; Right eye is 7-13 and cannot see PVA 3/60
( inlist(causere, 5,6) & inlist(causele, 5,6) & inlist(pvare, 5,6,7) & inlist(pvale, 5,6,7) & (inlist(pvale,1,2,3,4,5,6) | inlist(pvare,1,2,3,4,5,6)) ) /// Both eyes have CO and both eye cannot see PVA 3/60 and one eye is PL+
)
tab coVi360prevSurg
label var coVi612prevSurg "Surgically amenable VI or blindness due to CO"
label define coVi612prevSurg 0 "Not Surgically amenable VIB due to CO" 1 "Surgically amenable VI or blindness due to CO"
label value coVi612prevSurg coVi612prevSurg
label var coVi618prevSurg "Surgically amenable MSVI or blindness due to CO"
label define coVi618prevSurg 0 "Not Surgically amenable MSVI due to CO" 1 "Surgically amenable MSVI or blindness due to CO"
label value coVi618prevSurg coVi618prevSurg
label var coVi660prevSurg "Surgically amenable SVI or blindness due to CO"
label define coVi660prevSurg 0 "Not Surgically amenable SVIB due to CO" 1 "Surgically amenable SVI or blindness due to CO"
label value coVi660prevSurg coVi660prevSurg
label var coVi360prevSurg "Surgically amenable blindness due to CO"
label define coVi360prevSurg 0 "Not Surgically amenable blindness due to CO" 1 "Surgically amenable blindness due to CO"
label value coVi360prevSurg coVi360prevSurg
************************************************************************
** SO far, the starting point has been person having PVA < 6/12 and identifying how many had CO in one or both eyes
*** The next set of variables identify
*** those persons in whom CO is marked as the cause of PVA < 6/12 in one, two eyes
****** among persons who are ABOVE specified threshold of PVA in better eye
** Therefore, now we identify persons with NO VI at person level but having one or both eye VI and CO in that eye
* D1. No EVI, MSVI or blindness, unilateral CO with PVA 6/12 in affected eye
cap drop coNoVi612
gen coNoVi612 = 0
// replace coNoVi612 = 2 if ///
// inlist(pvaBetter,1) & /// PVA better eye - Can see 6/12
// (inlist(causere,5,6) & inlist(causele,5,6) ) & /// Both eyes have CAO as cause of PVA < 6/12 - will be ZERO always as cuase is not marked iv PVA is can see 6/12
// coNoVi612==0
replace coNoVi612 = 1 if ///
inlist(pvaBetter,1) & ///
(inlist(causere,5,6) | inlist(causele,5,6) ) & /// Any One eye cause of PVA < 6/12 is CO
coNoVi612==0
label var coNoVi612 "CO in any eye but NO VI in person"
label define coNoVi612 0 "PVA >= 6/12 without CO or EMSVIB with CO" 1 "U/L CO PVA < 6/12, no VI" 2 "B/L CO with no VI", replace
label value coNoVi612 coNoVi612
tab coNoVi612
* D2. No MSVI or blindness, unilateral CO with PVA < 6/18 in affected eye
tab pvaBetter coVi618
cap drop coNoVi618
gen coNoVi618 = 0
// replace coNoVi618 = 2 if ///
// inlist(pvaBetter,1,2) & /// PVA better eye - Can see 6/18
// (inlist(causere,5,6) & inlist(causele,5,6) & inlist(pvare, 3,4,5,6,7) & inlist(pvale, 3,4,5,6,7) ) & /// Both eyes have CO as cause of PVA < 6/18 - will be ZERO
// coNoVi618==0
replace coNoVi618 = 1 if ///
inlist(pvaBetter,1,2) & /// PVA better eye - Can see 6/18
( ///
( inlist(causere,5,6) & inlist(pvare, 3,4,5,6,7) ) | /// Right eye has CO as cause of PVA <6/12
( inlist(causele,5,6) & inlist(pvale, 3,4,5,6,7) ) /// Left eye has CO as cause of PVA <6/12
) & ///
coNoVi618==0 //
label var coNoVi618 "CO in any eye but NO MSVIB in person"
label define coNoVi618 0 "PVA >= 6/18 without CO OR MSVIB with CO" 1 "U/L CO with no MSVIB" 2 "B/L CO with no MSVIB", replace
label value coNoVi618 coNoVi618
tab pvaBetter coNoVi618
tab pvaBetter coNoVi612
* D3. No SVI or blindness, unilateral CO with PVA < 6/60 in affected eye
tab pvaBetter coVi660
cap drop coNoVi660
gen coNoVi660 = 0
// replace coNoVi660 = 2 if ///
// inlist(pvaBetter,1,2,3) & /// PVA better eye - Can see 6/60
// (inlist(causere,5,6) & inlist(causele,5,6) & inlist(pvare, 4,5,6,7) & inlist(pvale, 4,5,6,7) ) & /// Both eye has CO as cause of PVA < 6/60 - will be ZERO
// coNoVi660==0
replace coNoVi660 = 1 if ///
inlist(pvaBetter,1,2,3) & /// PVA better eye - Can see 6/60
( ///
( inlist(causere,5,6) & inlist(pvare, 4,5,6,7) ) | /// Right eye has CO as cause of PVA <6/60
( inlist(causele,5,6) & inlist(pvale, 4,5,6,7) ) /// Left eye has CO as cause of PVA <6/60
) & ///
coNoVi660==0 //
label var coNoVi660 "CO in any eye but NO SVIB in person"
label define coNoVi660 0 "PVA >= 6/60 without CO or SVIB with CO" 1 "U/L CO with no SVIB" 2 "B/L CO with no SVIB", replace
label value coNoVi660 coNoVi660
* D4. No blindness, unilateral CO with PVA < 3/60 in affected eye
tab pvaBetter coVi360
cap drop coNoVi360
gen coNoVi360 = 0
// replace coNoVi360 = 2 if ///
// inlist(pvaBetter,1,2,3,4) & /// PVA better eye - Can see 3/60
// (inlist(causere,5,6) & inlist(causele,5,6) & inlist(pvare, 5,6,7) & inlist(pvale, 5,6,7) ) & /// Both eye has CO as cause of PVA < 3/60 - will be ZERO
// coNoVi360==0
replace coNoVi360 = 1 if ///
inlist(pvaBetter,1,2,3,4) & /// PVA better eye - Can see 3/60
( ///
( inlist(causere,5,6) & inlist(pvare, 5,6,7) ) | /// Right eye has CO as cause of PVA <3/60
( inlist(causele,5,6) & inlist(pvale, 5,6,7) ) /// Left eye has CO as cause of PVA <3/60
) & ///
coNoVi360==0 //
label var coNoVi360 "CO in any eye but NO Bl in person"
label define coNoVi360 0 "PVA >= 3/60 without CO or Blindness with CO" 1 "U/L CO with no Bl" 2 "B/L CO with no Bl", replace
label value coNoVi360 coNoVi360
tab pvaBetter coNoVi360
tab pvaBetter coNoVi660
tab pvaBetter coNoVi618
tab pvaBetter coNoVi612
gsort coNoVi360
list pvare pvale pvaBetter causere causele prcause coNoVi360 if coNoVi360 > 0, noobs clean
gsort coNoVi660
list pvare pvale pvaBetter causere causele prcause coNoVi660 if coNoVi660 > 0, noobs clean
gsort coNoVi618
list pvare pvale pvaBetter causere causele prcause coNoVi618 if coNoVi618 > 0, noobs clean
gsort coNoVi612
list pvare pvale pvaBetter causere causele prcause coNoVi612 if coNoVi612 > 0, noobs clean
Code language: Stata (stata)
The above Stata code can be used by anyone under a CC-BY-SA license.