Convert ETDRS score to LogMAR units
Details
ETDRS value converted to logMAR as:
$$logMAR = -0.02 * ETDRS + 1.7$$
Source for conversion formula: Beck, R.W., et al. A computerized method of visual acuity testing. American Journal of Ophthalmology, 135(2), pp.194-205. doi:https://doi.org/10.1016/s0002-9394(02)01825-1.
Examples
library(tibble)
library(dplyr)
#>
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#>
#> filter, lag
#> The following objects are masked from ‘package:base’:
#>
#> intersect, setdiff, setequal, union
library(admiral)
oe <- tribble(
~STUDYID, ~USUBJID, ~OETESTCD, ~OEMETHOD, ~OESTRESN,
"XXX001", "P01", "VACSCORE", "logMAR EYE CHART", 1.08,
"XXX001", "P02", "VACSCORE", "logMAR EYE CHART", 1.66,
"XXX001", "P03", "VACSCORE", "logMAR EYE CHART", 1.60,
"XXX001", "P04", "VACSCORE", "ETDRS EYE CHART", 57,
"XXX001", "P05", "VACSCORE", "ETDRS EYE CHART", 62
)
adbcva <- oe %>%
filter(OETESTCD == "VACSCORE" & toupper(OEMETHOD) == "ETDRS EYE CHART") %>%
mutate(AVAL_LOGMAR = convert_etdrs_to_logmar(OESTRESN))
adbcva
#> # A tibble: 2 × 6
#> STUDYID USUBJID OETESTCD OEMETHOD OESTRESN AVAL_LOGMAR
#> <chr> <chr> <chr> <chr> <dbl> <dbl>
#> 1 XXX001 P04 VACSCORE ETDRS EYE CHART 57 0.56
#> 2 XXX001 P05 VACSCORE ETDRS EYE CHART 62 0.46
