Title Page

Project: Mental Health Screening Quality Improvement
Location: Lari Hospital
Team: Lari Hospital QI Team
Date: 2025-06-18


Introduction

This report presents the baseline data and early results of the Mental Health Screening QI project at Lari Hospital. The report includes descriptive statistics, screening performance, run/control charts, and recommendations.


Data Summary

derived_data <- read_csv("data/processed/baseline_derived.csv", show_col_types = FALSE)
summary(derived_data)
##    record_id    patient_id          timestamp                     
##  Min.   :  1   Length:553         Min.   :2025-02-14 01:14:18.00  
##  1st Qu.:139   Class :character   1st Qu.:2025-02-27 23:15:48.00  
##  Median :277   Mode  :character   Median :2025-03-26 05:27:54.00  
##  Mean   :277                      Mean   :2025-03-28 21:54:43.88  
##  3rd Qu.:415                      3rd Qu.:2025-04-23 05:47:00.00  
##  Max.   :553                      Max.   :2025-05-23 01:01:48.00  
##                                                                   
##  date_of_visit             age           age_group             sex           
##  Min.   :2024-11-27   Min.   :  13.00   Length:553         Length:553        
##  1st Qu.:2025-02-26   1st Qu.:  45.00   Class :character   Class :character  
##  Median :2025-03-26   Median :  60.00   Mode  :character   Mode  :character  
##  Mean   :2025-03-25   Mean   :  68.19                                        
##  3rd Qu.:2025-04-23   3rd Qu.:  70.00                                        
##  Max.   :2025-05-22   Max.   :1996.00                                        
##                                                                              
##   diagnoses         bmh_7_screening_completed  phq_2_score   
##  Length:553         Length:553                Min.   :0.000  
##  Class :character   Class :character          1st Qu.:0.000  
##  Mode  :character   Mode  :character          Median :2.000  
##                                               Mean   :2.158  
##                                               3rd Qu.:4.000  
##                                               Max.   :6.000  
##                                               NA's   :496    
##  phq_2_screening_completed  gad_2_score    gad_2_screening_completed
##  Length:553                Min.   :0.000   Length:553               
##  Class :character          1st Qu.:0.000   Class :character         
##  Mode  :character          Median :2.000   Mode  :character         
##                            Mean   :1.946                            
##                            3rd Qu.:3.000                            
##                            Max.   :6.000                            
##                            NA's   :498                              
##   aud_c_score     aud_c_screening_completed  phq_9_score  
##  Min.   : 0.000   Length:553                Min.   : 0.0  
##  1st Qu.: 0.000   Class :character          1st Qu.: 3.5  
##  Median : 0.000   Mode  :character          Median : 7.0  
##  Mean   : 1.139                             Mean   : 7.0  
##  3rd Qu.: 0.000                             3rd Qu.:10.5  
##  Max.   :11.000                             Max.   :14.0  
##  NA's   :517                                NA's   :551   
##  phq_9_screening_completed  gad_7_score  gad_7_screening_completed
##  Length:553                Min.   :12    Length:553               
##  Class :character          1st Qu.:14    Class :character         
##  Mode  :character          Median :16    Mode  :character         
##                            Mean   :16                             
##                            3rd Qu.:18                             
##                            Max.   :20                             
##                            NA's   :551                            
##  audit_10_score audit_10_screening_completed any_prior_mental_health_diagnosis
##  Mode:logical   Length:553                   Length:553                       
##  NA's:553       Class :character             Class :character                 
##                 Mode  :character             Mode  :character                 
##                                                                               
##                                                                               
##                                                                               
##                                                                               
##  documented_mental_health_diagnosis blood_pressure_completed
##  Length:553                         Length:553              
##  Class :character                   Class :character        
##  Mode  :character                   Mode  :character        
##                                                             
##                                                             
##                                                             
##                                                             
##  blood_pressure_mm_hg weight_completed     weight_kg     pulse_rate_completed
##  Length:553           Length:553         Min.   :  0.0   Length:553          
##  Class :character     Class :character   1st Qu.: 60.0   Class :character    
##  Mode  :character     Mode  :character   Median : 70.0   Mode  :character    
##                                          Mean   : 71.3                       
##                                          3rd Qu.: 80.0                       
##                                          Max.   :130.0                       
##                                          NA's   :190                         
##  pulse_rate_bpm  temperature_completed temperature_c     scan_url        
##  Min.   :  8.0   Length:553            Min.   : 0.00   Length:553        
##  1st Qu.: 71.0   Class :character      1st Qu.:36.10   Class :character  
##  Median : 79.0   Mode  :character      Median :36.40   Mode  :character  
##  Mean   : 80.7                         Mean   :36.15                     
##  3rd Qu.: 91.0                         3rd Qu.:36.60                     
##  Max.   :139.0                         Max.   :63.90                     
##  NA's   :74                            NA's   :319                       
##     clinic          screened_phq2   screened_gad2   screened_audc  
##  Length:553         Mode :logical   Mode :logical   Mode :logical  
##  Class :character   FALSE:496       FALSE:498       FALSE:517      
##  Mode  :character   TRUE :57        TRUE :55        TRUE :36       
##                                                                    
##                                                                    
##                                                                    
##                                                                    
##  screened_bmh7   screening_complete flagged_phq2    flagged_gad2   
##  Mode :logical   Mode :logical      Mode :logical   Mode :logical  
##  FALSE:474       FALSE:523          FALSE:35        FALSE:36       
##  TRUE :79        TRUE :30           TRUE :22        TRUE :19       
##                                     NA's :496       NA's :498      
##                                                                    
##                                                                    
##                                                                    
##  flagged_audc    any_flagged     vitals_complete mh_documented  
##  Mode :logical   Mode :logical   Mode :logical   Mode :logical  
##  FALSE:31        FALSE:35        FALSE:347       FALSE:435      
##  TRUE :5         TRUE :30        TRUE :206       TRUE :118      
##  NA's :517       NA's :488                                      
##                                                                 
##                                                                 
##                                                                 
##  prior_mh_known  new_mh_identified
##  Mode :logical   Mode :logical    
##  FALSE:443       FALSE:540        
##  TRUE :104       NA's :13         
##  NA's :6                          
##                                   
##                                   
## 

Descriptive Statistics

desc <- read_csv("data/processed/baseline_descriptive_summary.csv", show_col_types = FALSE)
kable(desc, caption = "Descriptive Statistics Summary") %>%
  kable_styling(full_width = FALSE)
Descriptive Statistics Summary
domain total_patients avg_age age_sd screened_phq2 screened_gad2 screened_audc screened_bmh7 complete_screening flagged_phq2 flagged_gad2 flagged_audc any_flagged complete_vitals missing_vitals mh_documented new_mh_identified
demographics 553 68.18807 142.7476 NA NA NA NA NA NA NA NA NA NA NA NA NA
screening NA NA NA 57 55 36 79 30 NA NA NA NA NA NA NA NA
flagging NA NA NA NA NA NA NA NA 22 19 5 30 NA NA NA NA
vitals NA NA NA NA NA NA NA NA NA NA NA NA 206 347 NA NA
mental_health NA NA NA NA NA NA NA NA NA NA NA NA NA NA 118 0

Sex Distribution

sex_dist <- read_csv("data/processed/baseline_sex_distribution.csv", show_col_types = FALSE)
kable(sex_dist, caption = "Sex Distribution") %>%
  kable_styling(full_width = FALSE)
Sex Distribution
Sex Count
Female 395
Male 158

Run and Control Charts

BMH-7 Screening (Control Chart)

Balancing Measures (Control Charts)


Supplementary Run Charts

Annotated Multi-Metric Chart

Individual Annotated Control Charts

Cross-Tabulations

By Sex

kable(read_csv("data/processed/cross_tab_sex.csv", show_col_types = FALSE), caption = "Cross-tabulation by Sex") %>%
  kable_styling(full_width = FALSE)
Cross-tabulation by Sex
sex total_patients screened_phq2 screened_gad2 screened_audc screened_bmh7 complete_screening any_flagged mh_documented
Female 395 37 37 25 51 22 18 77
Male 158 20 18 11 28 8 12 41

By Age Group

kable(read_csv("data/processed/cross_tab_age.csv", show_col_types = FALSE), caption = "Cross-tabulation by Age Group") %>%
  kable_styling(full_width = FALSE)
Cross-tabulation by Age Group
age_group total_patients screened_phq2 screened_gad2 screened_audc screened_bmh7 complete_screening any_flagged mh_documented
18-35 57 5 3 2 6 1 3 35
36-50 115 12 11 6 14 6 4 37
50+ 362 39 41 28 57 23 23 45
<18 19 1 0 0 2 0 0 1

By Sex and Age Group

kable(read_csv("data/processed/cross_tab_sex_age.csv", show_col_types = FALSE), caption = "Cross-tabulation by Sex and Age Group") %>%
  kable_styling(full_width = FALSE)
Cross-tabulation by Sex and Age Group
sex age_group total_patients screened_phq2 screened_gad2 screened_audc screened_bmh7 complete_screening any_flagged mh_documented
Female 18-35 41 3 2 2 3 1 2 21
Female 36-50 91 10 9 5 12 5 4 23
Female 50+ 250 23 26 18 35 16 12 32
Female <18 13 1 0 0 1 0 0 1
Male 18-35 16 2 1 0 3 0 1 14
Male 36-50 24 2 2 1 2 1 0 14
Male 50+ 112 16 15 10 22 7 11 13
Male <18 6 0 0 0 1 0 0 0

Recommendations

  1. Expand Screening Coverage
    Train clinicians on all four tools and improve triage workflow prompts.

  2. Maintain Balancing Metrics
    Use frozen medians and baseline means as ongoing benchmarks.

  3. Enhance Clinical Follow-up
    Monitor outcomes of flagged cases and improve referral linkage.


Appendix: Chart Summary Table

chart_summary <- tribble(
  ~`QI Domain`, ~`Chart Title`, ~`Variable(s)`, ~`Estimation Method`, ~`Chart Type`, ~`Output File`,
  "Screening", "BMH-7 Screening", "screened_bmh7", "proportion", "Control Chart", "bmh7_run_chart_frozen_median.png",
  "Balancing", "Vitals Completion", "vitals_complete", "mean", "Control Chart", "balancing_run_charts.png",
  "Balancing", "MH Documentation", "mh_documented", "mean", "Control Chart", "balancing_run_charts.png",
  "Balancing", "Screening Completion", "screening_complete", "mean", "Control Chart", "balancing_run_charts.png",
  "Balancing", "Any Flagged", "any_flagged", "mean", "Control Chart", "balancing_run_charts.png",
  "Summary", "Multi-Metric Annotated", "Composite", "Visual summary (PHQ-2, Vitals, Flagged, BMH-7)", "Annotated Chart", "multi_qi_summary_annotated.png",
  "Summary", "Faceted Weekly Charts", "All tools", "Facet by variable", "Run Charts", "faceted_run_charts_bmh7ref_clean.png"
)
kable(chart_summary, caption = "Summary of Charts by QI Domain") %>%
  kable_styling(full_width = FALSE)
Summary of Charts by QI Domain
QI Domain Chart Title Variable(s) Estimation Method Chart Type Output File
Screening BMH-7 Screening screened_bmh7 proportion Control Chart bmh7_run_chart_frozen_median.png
Balancing Vitals Completion vitals_complete mean Control Chart balancing_run_charts.png
Balancing MH Documentation mh_documented mean Control Chart balancing_run_charts.png
Balancing Screening Completion screening_complete mean Control Chart balancing_run_charts.png
Balancing Any Flagged any_flagged mean Control Chart balancing_run_charts.png
Summary Multi-Metric Annotated Composite Visual summary (PHQ-2, Vitals, Flagged, BMH-7) Annotated Chart multi_qi_summary_annotated.png
Summary Faceted Weekly Charts All tools Facet by variable Run Charts faceted_run_charts_bmh7ref_clean.png

Conclusion

The Mental Health Screening QI project has yielded structured baseline data and performance benchmarks. Visual analytics and chart-based targets now guide implementation teams toward targeted improvements across screening, documentation, and follow-up care.