Cognitive Impairment Among Elderly Outpatients at KNUST Hospital: Mini-Cog Analysis

It addresses four objectives:

  1. Determine Mini-Cog scores among elderly patients (60+) attending the clinic.
  2. Estimate the prevalence of cognitive impairment using the Mini-Cog score.
  3. Assess the relationship between cognitive impairment and sociodemographic characteristics (age, sex, education) and comorbidities (e.g., hypertension, diabetes).
  4. Identify possible risk factors associated with cognitive impairment.

Data and methods

── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.0     ✔ readr     2.2.0
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.2     ✔ tibble    3.3.1
✔ lubridate 1.9.5     ✔ tidyr     1.3.2
✔ purrr     1.2.1     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Loading required package: zoo


Attaching package: 'zoo'


The following objects are masked from 'package:base':

    as.Date, as.Date.numeric


Loading required package: carData


Attaching package: 'car'


The following object is masked from 'package:dplyr':

    recode


The following object is masked from 'package:purrr':

    some



Attaching package: 'broom.helpers'


The following objects are masked from 'package:gtsummary':

    all_categorical, all_continuous, all_contrasts, all_dichotomous,
    all_interaction, all_intercepts

The analysis dataset (miniog_clean.csv) was derived from a raw 314-respondent, 135-column survey export that combined two overlapping ODK form versions. Cleaning (documented in clean_miniog.R) reconciled duplicate/versioned columns, dropped the GDS-15, Katz ADL, and lifestyle blocks (populated for only ~10% of respondents and unrelated to these objectives), replaced a non-unique participant identifier with a sequential record_id, and corrected minor text-entry issues.

The Mini-Cog total score (mini_cog_total) is calculated as mini_cog_word_recall + mini_cog_clock, the standard Mini-Cog formula. Two corrections were made to the raw data to support this:

  • The originally recorded total score disagreed with word recall + clock for 6 of 314 rows (apparent data-entry errors), so the total is recalculated rather than taken directly from the raw field.
  • The official Mini-Cog clock-drawing score is strictly pass/fail (0 or 2): a clock is “normal” only if all numbers are present in the correct positions and the hands correctly show the requested time. The raw data recorded a non-standard intermediate score of 1 for 14 of 314 rows. Cross-checking against the two underlying component answers (“are all 12 numbers present?” and “do the hands point to 11 and 10 correctly?”) for the 302 rows where they were recorded showed the original scoring was inconsistent with a strict pass/fail rule for 21 rows. The clock score was therefore recomputed as 2 only when both components are correct (else 0) for those 302 rows; the 12 rows without component-level detail keep their originally recorded score. This changed the screening classification for 7 respondents (all from negative to positive) relative to using the originally recorded clock score.

A positive screen (cognitive impairment suggested) is defined as a total score of 0-2, and a negative screen as 3-5, per the standard Mini-Cog interpretation.

For the multivariable analyses of Objective 4, prevalence ratios (PR) rather than odds ratios are reported as the primary effect measure. With a cognitive impairment prevalence of roughly one-third, the odds ratio would overstate the true prevalence ratio, so PRs were estimated using a modified Poisson regression with robust (sandwich) standard errors (Zou, 2004), since a log-binomial model failed to converge.

Objective 1: Mini-Cog score distribution

Table 1. Mini-Cog Score Distribution (n = 314)
Mini-Cog component N = 3141
Word recall (0-3)
    0 14 (4.5%)
    1 59 (19%)
    2 113 (36%)
    3 128 (41%)
Clock drawing (0/2)
    0 166 (53%)
    2 148 (47%)
Mini-Cog total (0-5)
    0 11 (3.5%)
    1 43 (14%)
    2 60 (19%)
    3 71 (23%)
    4 56 (18%)
    5 73 (23%)
1 n (%)

Objective 2: Prevalence of cognitive impairment


    Exact binomial test

data:  n_impaired and n_total
number of successes = 114, number of trials = 314, p-value = 1.396e-06
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.3097918 0.4189338
sample estimates:
probability of success 
             0.3630573 

114 of 314 patients (36.3%, 95% CI 31.0%-41.9%) screened positive for cognitive impairment (Mini-Cog total ≤ 2).

Objective 3: Sociodemographic and clinical characteristics

Table 2. Sociodemographic and Clinical Characteristics (n = 314)
Characteristic N = 3141
Age (years) 70 (7)
Sex
    Female 156 (50%)
    Male 158 (50%)
Marital status
    Divorced or separated 35 (11%)
    Married 195 (62%)
    Single 9 (2.9%)
    Widowed 75 (24%)
Education level
    No formal schooling 37 (12%)
    Primary school 28 (8.9%)
    Junior high school 63 (20%)
    Senior high school 91 (29%)
    Tertiary 95 (30%)
Current work status
    fully retired 172 (55%)
    others 20 (6.4%)
    still working 85 (27%)
    unemployed 37 (12%)
Living arrangement
    alone 32 (10%)
    others 27 (8.6%)
    with children only 73 (23%)
    with extended family members 20 (6.4%)
    with spouse 87 (28%)
    with spouse and children 75 (24%)
Hypertension 208 (66%)
Diabetes 89 (28%)
Heart disease 4 (1.3%)
Asthma 14 (4.5%)
Cancer 1 (0.3%)
Other comorbidity 46 (15%)
History of stroke
    No 281 (89%)
    Yes 22 (7.0%)
    Not sure 11 (3.5%)
Family history of dementia
    I am not sure 28 (8.9%)
    No 265 (84%)
    Yes 21 (6.7%)
Family history of stroke
    I am not sure 11 (3.5%)
    No 213 (68%)
    Yes 90 (29%)
1 Mean (SD); n (%)
Table 3. Characteristics by Mini-Cog Screening Result (n = 314)
Characteristic Overall
N = 3141
Negative screen (unimpaired)
N = 2001
Positive screen (impaired)
N = 1141
p-value2
Age (years) 70 (7) 69 (7) 71 (8) 0.105
Sex


0.015
    Female 156 (50%) 89 (45%) 67 (59%)
    Male 158 (50%) 111 (56%) 47 (41%)
Marital status


0.028
    Divorced or separated 35 (11%) 19 (9.5%) 16 (14%)
    Married 195 (62%) 136 (68%) 59 (52%)
    Single 9 (2.9%) 6 (3.0%) 3 (2.6%)
    Widowed 75 (24%) 39 (20%) 36 (32%)
Education level


<0.001
    No formal schooling 37 (12%) 7 (3.5%) 30 (26%)
    Primary school 28 (8.9%) 14 (7.0%) 14 (12%)
    Junior high school 63 (20%) 38 (19%) 25 (22%)
    Senior high school 91 (29%) 61 (31%) 30 (26%)
    Tertiary 95 (30%) 80 (40%) 15 (13%)
Current work status


<0.001
    fully retired 172 (55%) 128 (64%) 44 (39%)
    others 20 (6.4%) 7 (3.5%) 13 (11%)
    still working 85 (27%) 57 (29%) 28 (25%)
    unemployed 37 (12%) 8 (4.0%) 29 (25%)
Living arrangement


<0.001
    alone 32 (10%) 24 (12%) 8 (7.0%)
    others 27 (8.6%) 19 (9.5%) 8 (7.0%)
    with children only 73 (23%) 31 (16%) 42 (37%)
    with extended family members 20 (6.4%) 11 (5.5%) 9 (7.9%)
    with spouse 87 (28%) 59 (30%) 28 (25%)
    with spouse and children 75 (24%) 56 (28%) 19 (17%)
Hypertension 208 (66%) 132 (66%) 76 (67%) 0.904
Diabetes 89 (28%) 56 (28%) 33 (29%) 0.858
Heart disease 4 (1.3%) 3 (1.5%) 1 (0.9%) >0.999
Asthma 14 (4.5%) 8 (4.0%) 6 (5.3%) 0.602
Cancer 1 (0.3%) 1 (0.5%) 0 (0%) >0.999
Other comorbidity 46 (15%) 34 (17%) 12 (11%) 0.119
History of stroke


0.303
    No 281 (89%) 179 (90%) 102 (89%)
    Yes 22 (7.0%) 12 (6.0%) 10 (8.8%)
    Not sure 11 (3.5%) 9 (4.5%) 2 (1.8%)
Family history of dementia


0.472
    I am not sure 28 (8.9%) 20 (10%) 8 (7.0%)
    No 265 (84%) 165 (83%) 100 (88%)
    Yes 21 (6.7%) 15 (7.5%) 6 (5.3%)
Family history of stroke


0.066
    I am not sure 11 (3.5%) 6 (3.0%) 5 (4.4%)
    No 213 (68%) 128 (64%) 85 (75%)
    Yes 90 (29%) 66 (33%) 24 (21%)
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson’s Chi-squared test; Fisher’s exact test

Heart disease (n = 4) and cancer (n = 1) had too few cases for the association tests above to have meaningful power; those p-values should not be read as evidence of “no association.”

Objective 4: Risk factors for cognitive impairment

Univariate and multivariable model (prevalence ratios, data-driven)

As an alternative, data-driven approach, univariate (unadjusted) prevalence ratios were estimated for 17 candidate predictors, and those with a univariate p-value ≤ 0.20 were entered into a second multivariable model.

Warning in meatHC(x, type = type, omega = omega): HC0 covariances become (close
to) singular if hat values are (close to) 1 as for observation(s) 91
# A tibble: 17 × 3
   variable                     df  p_value
   <chr>                     <dbl>    <dbl>
 1 cancer                        1 4.18e-40
 2 education_level               4 5.93e-14
 3 work_status                   3 1.44e-13
 4 religion                      1 1.54e- 5
 5 marital_status_binary         1 3.94e- 3
 6 sex                           1 1.65e- 2
 7 age                           1 7.29e- 2
 8 family_history_stroke         2 9.59e- 2
 9 ethnicity                     4 1.07e- 1
10 other_comorbidity             1 1.46e- 1
11 living_arrangement_binary     1 1.96e- 1
12 stroke                        2 3.56e- 1
13 family_history_dementia       2 5.09e- 1
14 asthma                        1 5.84e- 1
15 heart_disease                 1 6.64e- 1
16 diabetes                      1 8.57e- 1
17 hypertension                  1 9.05e- 1

cancer shows an apparently significant univariate association, but this is a data artifact: the single cancer case in the entire sample (n = 1) happened to be a negative screen, producing complete separation (coefficient ≈ -13). It is excluded from the multivariable model below despite meeting the p ≤ 0.20 threshold.

! `broom::tidy()` failed to tidy the model.
✔ `tidy_parameters()` used instead.
ℹ Add `tidy_fun = broom.helpers::tidy_parameters` to quiet these messages.
The number rows in the tables to be merged do not match, which may result in
rows appearing out of order.
ℹ See `tbl_merge()` (`?gtsummary::tbl_merge()`) help file for details. Use
  `quiet=TRUE` to silence message.
Table 6. Univariate and Multivariable Prevalence Ratios for Positive Mini-Cog Screen (n = 314)
Characteristic
Univariate
Multivariable
N Crude PR 95% CI p-value Adjusted PR 95% CI p-value
Age (years) 314 1.02 1.00, 1.04 0.073 1.02 1.00, 1.04 0.044
Sex 314





    Female


    Male
0.69 0.51, 0.94 0.016 0.89 0.67, 1.20 0.452
Marital status 314





    Not currently married


    Currently married
0.65 0.49, 0.87 0.004 0.80 0.61, 1.05 0.112
Education level 314





    No formal schooling


    Primary school
0.62 0.41, 0.92 0.018 0.86 0.55, 1.35 0.520
    Junior high school
0.49 0.35, 0.69 <0.001 0.62 0.42, 0.91 0.015
    Senior high school
0.41 0.29, 0.57 <0.001 0.62 0.40, 0.97 0.036
    Tertiary
0.19 0.12, 0.32 <0.001 0.30 0.16, 0.58 <0.001
Ethnicity 314





    Ashanti


    Ewe
0.45 0.16, 1.29 0.137 0.57 0.22, 1.45 0.235
    Fante
0.90 0.54, 1.51 0.698 1.18 0.72, 1.94 0.510
    Ga Adangme
1.62 1.03, 2.55 0.035 1.33 0.91, 1.95 0.141
    others
0.97 0.65, 1.45 0.886 1.01 0.69, 1.49 0.958
Religion 314





    Christian


    Muslim
1.99 1.46, 2.72 <0.001 0.77 0.51, 1.16 0.213
Current work status 314





    fully retired


    others
2.54 1.69, 3.83 <0.001 1.35 0.87, 2.11 0.183
    still working
1.29 0.87, 1.91 0.211 1.15 0.76, 1.73 0.502
    unemployed
3.06 2.26, 4.16 <0.001 1.87 1.22, 2.87 0.004
Living arrangement 314





    Lives with others


    Lives alone
0.67 0.36, 1.23 0.196 0.72 0.40, 1.29 0.266
Hypertension 314





    No




    Yes
1.02 0.75, 1.39 0.905


Diabetes 314





    No




    Yes
1.03 0.75, 1.42 0.857


Heart disease 314





    No




    Yes
0.69 0.12, 3.77 0.664


Asthma 314





    No




    Yes
1.19 0.64, 2.22 0.584


Other comorbidity 314





    No


    Yes
0.69 0.41, 1.14 0.146 0.89 0.54, 1.47 0.644
History of stroke 314





    No




    Yes
1.25 0.77, 2.03 0.362


    Not sure
0.50 0.14, 1.77 0.283


Family history of dementia 314





    I am not sure




    No
1.32 0.72, 2.42 0.368


    Yes
1.00 0.41, 2.45 >0.999


Family history of stroke 314





    I am not sure


    No
0.88 0.45, 1.71 0.702 1.06 0.54, 2.07 0.870
    Yes
0.59 0.28, 1.22 0.154 0.68 0.33, 1.39 0.292
Abbreviations: CI = Confidence Interval, IRR = Incidence Rate Ratio