logo



1 Overview

This report summarizes students enrolled in degree and certificate seeking graduate programs in the School of Medicine in the Fall terms from Fall 2005 to Fall 2020.

All data are sourced from OHSU’s institutional student data sets (Banner via Cognos). For details about the data source or any other inquiries about this report, please contact the SoM Graduate Studies Office, somgrad@ohsu.edu.


1.1 Policy Initiatives to Increase Diversity

Over the past 10 years, the following three initiatives were adopted by Graduate Council to help remove barriers for students to apply and matriculate into graduate programs at OHSU. All three initiatives were targeted towards increasing diversity in the graduate student population. While we make no conclusions in this report about the impacts of these initiatives, we hope this section provides useful context for considering how policy decisions affect student recruitment and retention, particularly for groups who are underrepresented in the biomedical sciences.

Promising Scholars (initiated 2012)

Admissions data suggested some students lacked financial resources to move to Oregon. The Promising Scholars was created and approved by Graduate Council and has been equally supported by the School of Medicine and Center for Diversity, Equity and Inclusion since 2012.

Awards are made to outstanding students, who have been admitted to any master’s or doctoral level graduate program in the School of Medicine and who also show great potential to contribute to the intellectual richness and diversity of the OHSU student community. Paid out upon matriculation into a program, these funds are intended help reimburse moving expenses to Portland, Oregon, but may be used for any purpose.

There are 10 awards per year. Initially worth $1,000 per student, they were increased to $1,500 in 2019 and to $2,000 in 2021. To date, these awards have helped recruit over 80 students into our programs.

Application Fee Waivers (initiated 2014)

To help limit financial barriers, Graduate Council agreed to waive application fees for applicants who had participated in any conference or activity that supported diversity (including SACNAS, ABRCAMS, and summer research programs), or who had financial hardship. We offer application fee waivers to approximately 130 applicants per year.

Dropped GRE requirement (initiated 2017/2021)

Our data showed GRE scores did not predict graduate student success and national data showed biases against women and underrepresented groups. In alignment with a national movement to drop GRE requirements, the majority of doctoral programs initiated a 3-year trial to drop the GRE requirements for admission. With no change in the quality or quantity of applicants during the trial period, all doctoral programs adopted this change permanently in 2021.




1.2 Reference Tables

1.2.1 Key Terms & Abbreviations

Term or Abbreviation Description
AY Academic Year: OHSU academic years begin in July and end in June, thus spanning two calendar years. The academic year is the higher of the two calendar years (i.e. July 2020 to June 2021 = AY 2021).
Degree & Certificate Seeking Students enrolled in a doctoral, masters, or certificate program; excludes non-degree graduate students
Enrolled A student is considered enrolled when they have a status of “Active” or “Graduated” for the term; Students are counted as enrolled in the term in which they graduate because they are normally active for a portion of that term.
Fall Term & Year Fall terms in this report are listed with the calendar year, not the academic year (i.e. Fall 2020 = fall term of AY 2021).
Graduate Level The level at which a student is enrolled: Doctoral, Masters, Certificate, or Non-Degree Graduate
HC Headcount - a distinct count of individual students
International Temporary visa holders
Masters Degree Groups A subdivision of masters programs created by SoM Graduate Studies; see reference table 1.2.3 Masters Degree Groups.
Primary Program The primary degree and major in which a student is enrolled in the Fall term; enrollment in secondary or dual degrees are not counted in this report. MD/PhD students are only counted when actively enrolled in the PhD portion of their program.
Resident U.S. citizens and permanent residents, either in-state or out-of-state.
URM Underrepresented minority - See reference table 1.2.5 Race, Ethnicity, URM Status for full description





1.2.2 Headcounts - Fall 2020

somgrad_diversity %>%
  group_by(degree_type) %>%
  summarize(Total = n_distinct(student_id),
            `US Citizens & Permanent Residents` = n_distinct(student_id[residency_international_2 != "International"]),
            International = n_distinct(student_id[residency_international_2 == "International"])) %>% 
  adorn_totals(where = "row", name = "All Students", ) %>% 
  arrange(factor(degree_type, levels = c("All Students", "Doctoral", "Masters", "Graduate Certificate", "Non-Degree Graduate"))) %>% 
  kbl(align = c(rep("r",3)), caption = paste0("OHSU SoM Headcounts by Graduate Level and Residency Status: ", focus_term_desc), col.names = c("", "Total", "US Citizens & Permanent Residents", "International")) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  column_spec(column = c(2:4), width = "10em")
OHSU SoM Headcounts by Graduate Level and Residency Status: Fall 2020
Total US Citizens & Permanent Residents International
All Students 778 709 69
Doctoral 275 233 42
Masters 361 344 17
Graduate Certificate 108 104 4
Non-Degree Graduate 34 28 6





1.2.3 Masters Degree Groups

degree_type_reference_df <- 
somgrad_diversity_multi %>% 
  group_by(degree_type_fct, masters_group, degree, degree_desc) %>% 
  summarise(focus_term_count = n_distinct(student_id[acad_period == focus_acad_period]), .groups = "drop") %>% 
  mutate(active_students = ifelse(focus_term_count > 0, "Y", "N"),
         masters_group = ifelse(masters_group == "Non-Masters", "", masters_group),
         degree_code_desc = paste0(degree, " - ", degree_desc)) %>% 
  arrange(degree_type_fct, masters_group, degree) %>% 
  rename_with(.fn = ~paste0("Active Students ", focus_term_desc, "?"), .cols = active_students)

degree_type_reference_df %>% 
  filter(degree_type_fct == "Masters") %>% 
  select(`Masters Group` = masters_group,`Degree Code - Description` = degree_code_desc, `Active Students Fall 2020?`) %>% 
  kbl(align = c(rep("l", 2), "c")) %>% 
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"), 
    font_size = 14, full_width = F, position = "left") %>% 
  column_spec(column = 3, width = "10em")
Masters Group Degree Code - Description Active Students Fall 2020?
MBA MBA - Master of Business Admin Y
MPAS MPAS - Master of Phys Asst Studies Y
MS & Other Masters MBI - Master of Biomed Informat Y
MS & Other Masters MCD - Master of Clinical Dietetics N
MS & Other Masters MCR - Master of Clinical Research Y
MS & Other Masters MMI - Master of Medical Informatics N
MS & Other Masters MS - Master of Science Y
MS & Other Masters MSE - Master of Software Engineering N





1.2.4 Majors

All OHSU SoM Majors Included in the Full Data Set (Fall 2005 - Fall 2020) & Most Recent Fall Term with Active Students by Graduate Level. Note: blank cells indicate major and level combination do not exist in the full data set (all years).
Most Recent Fall Term with Active Students
Major Desc Major Code Doctoral Masters Graduate Certificate Non-Degree Graduate
Behavioral & Systems Neurosci BEST Fall 2020
Behavioral Neuroscience BEHN Fall 2020 Fall 2009
Biochemistry & Molecular Biolo BAMB Fall 2020 Fall 2016 Fall 2013
Biochemistry & Molecular Biolo BMB Fall 2020
Bioinform & Computation Biomed BCB Fall 2020 Fall 2020
Biomedical Engineering BME Fall 2020 Fall 2020 Fall 2009
Biomedical Informatics BMI Fall 2020 Fall 2020 Fall 2019
Biomedical Sciences BMSC Fall 2020
Cancer Biology CANB Fall 2020 Fall 2011
Cell & Developmental Biology CELL Fall 2020 Fall 2010
Clinical Dietetics CDT Fall 2016
Clinical Nutrition CCN Fall 2017
Clinical Psychology CPSY Fall 2020
Computer Science & Engineering CSE Fall 2020 Fall 2020 Fall 2020
Dietetic Internship CD Fall 2020
Electrical Engineering ECE Fall 2020 Fall 2017 Fall 2017
Environmental Sci & Enginrng ESE Fall 2019 Fall 2017 Fall 2013
Food Systems & Society FSS Fall 2020
Health & Clinical Informatics HCIN Fall 2020 Fall 2020 Fall 2020
Healthcare Management HCMN Fall 2020 Fall 2020 Fall 2020
Human Investigations Prgm HIP Fall 2020 Fall 2020
Human Nutrition HNUT Fall 2020
Integrated Biomedical Sciences IBMS Fall 2008
Management in Sci & Technology MST Fall 2011 Fall 2009 Fall 2011
Medical Informatics MINF Fall 2007 Fall 2008
Medical Physics MP Fall 2019 Fall 2020
Microbiology MBIO Fall 2020 Fall 2013
Molecular & Cellular Biosc MCB Fall 2020
Molecular & Medical Genetics MGEN Fall 2020 Fall 2010
MST Health Care Management HCM Fall 2010 Fall 2010
Neuroscience NSC Fall 2020 Fall 2020
Physician Assistant PHAS Fall 2020
Physiology/Pharmacology PHPH Fall 2020
Principles in Software Engrng PSE Fall 2005
Software Engineering SE Fall 2008 Fall 2005
Undeclared 0000 Fall 2020





1.2.5 Race, Ethnicity, URM Status

URM = Underrepresented minority

We define URM status following the National Institutes of Health (NIH) guidelines as “individuals from racial and ethnic groups that have been shown by the National Science Foundation to be underrepresented in health-related sciences on a national basis…” which include the following groups: Blacks or African Americans, Hispanics or Latinos, American Indians or Alaska Natives, Native Hawaiians, and other Pacific Islanders. We categorize students who identify as members of any of these groups as URM. Students who do not identify as one of the URM groups are categorized as follows: Asian (alone or in combination with White), White (alone), Unknown (no data) (see reference table below for summary).

Students who are not US citizens or permanent residents are excluded from this part of the report.

For more information about the NIH description of underrepresented populations:

https://diversity.nih.gov/about-us/population-underrepresented

Note that, for the purposes of this analysis, we do not treat hispanic or latino separately as an ethnicity, as is sometimes done in studies on racial and ethnic diversity. Instead, we include hispanic or latino as one of six combined racial and ethnic groups: American Indian or Alaska Native, Asian, Black or African-American, Hispanic or Latino, Native Hawaiian or Pacific Islander, and White. As a result, we do not add “non-hispanic” to any groups (e.g. “white, non-hispanic”), as this is to be understood from the methodology.

urm_ref %>% 
  arrange(order) %>% 
  select(-order) %>% 
  kbl(caption = "URM Status Categorization by Racial and Ethnic Groups") %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left")
URM Status Categorization by Racial and Ethnic Groups
When a student identifies as Their URM status is Only when they meet the following condition(s)
American Indian or Alaska Native URM (unconditional)
Black or African-American URM (unconditional)
Hispanic or Latino URM (unconditional)
Native Hawaiian or Pacific Islander URM (unconditional)
Asian URM Asian + one or more URM groups
Asian Asian Asian alone, or Asian + white
White URM White + one or more URM groups
White Asian White + Asian
White White White alone




2 Race/Ethnicity

2.1 Summary

  • The Fall 2020 percentage of URM students was 15%, the highest percent for this group for all years in this report. This continues a gradual upward trend over time in the proportion that these students comprise of the overall graduate student population (section 2.2).

  • Similarly, the Fall 2020 percentages of URM students within each graduate level (doctoral = 14%, masters = 15%, certificate = 15%) were also higher than all prior years in this report (see section 2.3).

  • The percentages of URM students in both our doctoral and masters programs for Fall 2020 are below the latest (Fall 2019) reported national levels for biological and biomedical sciences: masters = 22%, doctoral = 17% (NCSES, 2021, table 4-7a, https://ncses.nsf.gov/pubs/nsf21318/; note: NCSES URM group was calculated as the total of Hispanic or Latino, American Indian or Alaska Native, Black or African American, Native Hawaiian or Other Pacific Islander).

  • Disaggregating the masters level data into three sub-groups (MBA, MPAS, MS and Other) reveals different patterns in diversity over time for each group. MPAS racial and ethnic diversity has increased markedly over the past 15 years, with percentage of URM students above 20% for the last four years. The MBA program has had more moderate change, with a fairly steady increase in the percent of Asian students and little change over time in the percent of URM students, which has hovered around 8% for the duration of the program (section 2.4).



2.2 URM Status, Degree & Certificate Seeking Total

2.2.1 Single Year: Fall 2020

2.2.1.1 Figure

urm_degree_seeking_total %>% 
  ggplot(aes(fill = urm_status_fct, x = urm_status_fct, y = percent)) +
  geom_col(aes(fill = urm_status_pal)) +
  geom_text(aes(label = scales::percent(percent, accuracy = 1), y = percent), vjust = -0.5, size = 3) +
  labs(y = "Percent", fill = "URM Status") +
  scale_y_continuous(labels=scales::percent, expand = expansion(mult = c(0, .1))) +
  geom_hline(yintercept = 0, color = "dark grey") +
  scale_fill_identity(guide = "legend", labels = urm_degree_seeking_total$urm_status_fct, breaks = urm_degree_seeking_total$urm_status_pal) +
  labs(title = "OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among\nU.S. Citizens & Permanent Residents, by Race/Ethnicity",
       subtitle = paste0("Total HC = ", 
                         as.character(sum(urm_degree_seeking_total$count)),  
                         "*\n", 
                         focus_term_desc),
       caption = paste0("*", HC_somgrad_international_or_nondegree, 
                        " non-degree graduate and/or international students omitted")) +
  theme_gs +
  theme(axis.text.x = element_blank())





2.2.2 Multi-Year

2.2.2.1 Figure

urm_degree_seeking_multi_df %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_line(aes(color = urm_status_pal), size = 1.25) +
  geom_point(aes(color = urm_status_pal), shape = 21, fill = "white", size = 3) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 2)) +
  scale_color_identity(guide = "legend", 
                       labels = urm_degree_seeking_multi_df$urm_status_fct, 
                       breaks = urm_degree_seeking_multi_df$urm_status_pal) +
  labs(title = "OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among\nU.S. Citizens & Permanent Residents, by Race/Ethnicity",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +

  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"),
        panel.grid.major.y = element_line(color = "grey90"))

2.3 URM Status by Graduate Level

2.3.1 Single Year: Fall 2020

2.3.1.1 Figure

degree_type_urm_rf_fig <- 
degree_type_urm_rf_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_urm_fig.csv')) %>%
  ggplot(aes(fill = urm_status_fct, x = urm_status_fct, y = percent_by_deg)) +
  # ggplot(aes(x=urm_status_fct) +
  geom_col(aes(fill = urm_status_pal)) +
  geom_text(aes(label = scales::percent(percent_by_deg, accuracy = 1), y = percent_by_deg), vjust = -0.5, size = 3) +
  # geom_col(position = "stack") + 
  labs(y = "Percent", fill = "URM Status") +
  facet_wrap(~degtype_label, nrow = 1, strip.position = "bottom" ) +
  scale_y_continuous(labels=scales::percent, expand = expansion(mult = c(0, .1))) +
  geom_hline(yintercept = 0, color = "dark grey") +
  # coord_flip() +
  scale_fill_identity(guide = "legend", labels = degree_type_urm_rf_df$urm_status_fct, breaks = degree_type_urm_rf_df$urm_status_pal) +
  labs(title = "OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among\nU.S. Citizens & Permanent Residents, by Race/Ethnicity & Graduate Level",
       subtitle = paste0("Total HC = ", 
                         as.character(sum(urm_degree_seeking_total$count)), 
                         "*\n",
                         focus_term_desc),
       caption = paste0("*", HC_somgrad_international_or_nondegree, 
                        " non-degree graduate and/or international students omitted")) +
  theme_gs +
  theme(axis.text.x = element_blank())
  #  theme_minimal() +
  # theme(axis.line = element_blank(),
  #       panel.grid.major = element_blank(),
  #       panel.grid.minor = element_blank(),
  #       panel.border = element_blank(),
  #       panel.background = element_blank(),
  #       axis.title = element_blank(),
  #       axis.text.x = element_blank(),
  #       legend.position = "top",
  #       legend.direction = "horizontal",
  #       legend.justification = "left",
  #       legend.title = element_blank(),
  #       plot.title = element_text(#margin = margin(b=0), 
  #                                 #hjust = 0.05,
  #                                 colour = "gray22",
  #                                 face = "bold",
  #                                 debug = F),
  #       plot.subtitle = element_text(face = "italic", hjust = 0, colour = "gray22"), 
  #       plot.caption = element_text(face = "italic", hjust = 0, colour = "gray22")
  # )

degree_type_urm_rf_fig





2.3.1.2 Table

somgrad_diversity %>% 
  filter(urm_status != "International",
         degree_type_fct != "Non-Degree Graduate") %>% 
  mutate(urm_status = factor(urm_status, levels = c("URM","Asian","White", "Unknown"))) %>%
  count(urm_status, degree_type_fct) %>% 
  pivot_wider(names_from = degree_type_fct, values_from = n) %>% 
  adorn_totals(where = c("row", "col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = "", col_name = "") %>% 
  kbl(align = c("l", rep("c",4)), caption = paste0("OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among U.S. Citizens & Permanent Residents, by Race/Ethnicity: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(c(1,6), bold = T) %>% 
  column_spec(5, bold = T)
OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among U.S. Citizens & Permanent Residents, by Race/Ethnicity: Fall 2020
Doctoral Masters Graduate Certificate Total
URM 14% (33) 15% (53) 15% (16) 15% (102)
Asian 14% (32) 16% (55) 19% (20) 16% (107)
White 70% (163) 66% (228) 61% (63) 67% (454)
Unknown 2% (5) 2% (8) 5% (5) 3% (18)
Total 100% (233) 100% (344) 100% (104) 100% (681)





2.3.2 Multi-Year

2.3.2.1 Figure

urm_degree_type_multi_df %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_line(aes(color = urm_status_pal), size = 1.25) +
  geom_point(aes(color = urm_status_pal), shape = 21, fill = "white", size = 2) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1), breaks = seq(0,1, by = 0.2)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", 
                       labels = urm_degree_seeking_multi_df$urm_status_fct, 
                       breaks = urm_degree_seeking_multi_df$urm_status_pal) +
  facet_wrap(degree_type_fct ~.) +
  labs(title = "OHSU SoM Graduate Degree & Certificate Seeking Enrollment Among\nU.S. Citizens & Permanent Residents, by Race/Ethnicity & Graduate Level",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +

  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"), 
        panel.grid.major.y = element_line(color = "grey90")
          )





2.4 URM Status by Masters Degree Group

2.4.1 Single Year: Fall 2020

2.4.1.1 Figure

masters_group_urm_rf_fig <- 
masters_group_urm_rf_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_urm_fig.csv')) %>%
  ggplot(aes(fill = urm_status_fct, x = urm_status_fct, y = percent_by_deg)) +
  # ggplot(aes(x=urm_status_fct) +
  geom_col(aes(fill = urm_status_pal)) +
  geom_text(aes(label = scales::percent(percent_by_deg, accuracy = 1), y = percent_by_deg), vjust = -0.5, size = 3) +
  # geom_col(position = "stack") + 
  labs(y = "Percent", fill = "URM Status") +
  facet_wrap(~masters_group_label, nrow = 1, strip.position = "bottom" ) +
  scale_y_continuous(labels=scales::percent, expand = expansion(mult = c(0, .1))) +
  geom_hline(yintercept = 0, color = "dark grey") +
  # coord_flip() +
  scale_fill_identity(guide = "legend", labels = masters_group_urm_rf_df$urm_status_fct, breaks = masters_group_urm_rf_df$urm_status_pal) +
  labs(title = "OHSU SoM Masters Degree Enrollment Among\nU.S. Citizens & Permanent Residents,\nby Race/Ethnicity & Masters Degree Group",
       subtitle = paste0("Total HC = ", as.character(sum(masters_group_urm_rf_df$count)),
                         "*\n", 
                         focus_term_desc),
       caption = paste0("*Masters only; ", 
                        HC_somgrad_ms_international_or_nondegree, 
                        " international masters students omitted")) +
  theme_minimal() +
  theme(axis.line = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank(),
        axis.title = element_blank(),
        axis.text.x = element_blank(),
        legend.position = "top",
        legend.direction = "horizontal",
        legend.justification = "left",
        legend.title = element_blank(),
        plot.title = element_text(#margin = margin(b=0), 
                                  #hjust = 0.05,
                                  colour = "gray22",
                                  face = "bold",
                                  hjust = 0,
                                  debug = F),
        plot.subtitle = element_text(face = "italic", hjust = 0, colour = "gray22"), 
        plot.caption = element_text(face = "italic", hjust = 0, colour = "gray22")
  )

masters_group_urm_rf_fig





2.4.1.2 Table

somgrad_diversity %>% 
  filter(masters_group != "Non-Masters", 
         urm_status_fct != "International") %>% 
  mutate(urm_status = factor(urm_status, levels = c("URM","Asian","White", "Unknown"))) %>%
  count(urm_status, masters_group) %>% 
  pivot_wider(names_from = masters_group, values_from = n) %>% 
  adorn_totals(where = c("row", "col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = "", col_name = "") %>% 
  kbl(align = c("l", rep("c",4)), caption = paste0("OHSU SoM Masters Degree Enrollment Among\nU.S. Citizens & Permanent Residents,\nby Race/Ethnicity & Masters Degree Group: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(c(1,6), bold = T) %>% 
  column_spec(5, bold = T)
OHSU SoM Masters Degree Enrollment Among U.S. Citizens & Permanent Residents, by Race/Ethnicity & Masters Degree Group: Fall 2020
MBA MPAS MS & Other Masters Total
URM 6% (6) 26% (22) 15% (25) 15% (53)
Asian 15% (15) 12% (10) 18% (30) 16% (55)
White 75% (73) 62% (52) 63% (103) 66% (228)
Unknown 3% (3)
  • (NA)
3% (5) 2% (8)
Total 100% (97) 100% (84) 100% (163) 100% (344)





2.4.2 Multi-Year

2.4.2.1 Figure

urm_masters_group_multi_df %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_line(aes(color = urm_status_pal), size = 1.25) +
  geom_point(aes(color = urm_status_pal), shape = 21, fill = "white", size = 2) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1), breaks = seq(0,1, by = 0.2)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", 
                       labels = urm_masters_group_multi_df$urm_status_fct, 
                       breaks = urm_masters_group_multi_df$urm_status_pal) +
  facet_wrap(masters_group ~.) +
  labs(title = "OHSU SoM Masters Degree Enrollment Among\nU.S. Citizens & Permanent Residents,\nby Race/Ethnicity & Masters Degree Group",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +

  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"), 
        panel.grid.major.y = element_line(color = "grey90")
          )





2.5 Race/Ethnicity Groups Total

2.5.1 Single Year: Fall 2020

2.5.1.1 Figure

alignTitles <- function(ggplot, title = 2, subtitle = 2, caption = 2) {
  # grab the saved ggplot2 object
  g <- ggplotGrob(ggplot)

  # find the object which provides the plot information for the title, subtitle, and caption
  g$layout[which(g$layout$name == "title"),]$l <- title
  g$layout[which(g$layout$name == "subtitle"),]$l <- subtitle
  g$layout[which(g$layout$name == "caption"),]$l <- caption
  g
}

HC_somgrad_race_international <- somgrad_race %>% 
  filter(residency_international_2 != "Unknown/Other") %>% 
  distinct(student_id) %>% 
  nrow()

race_international_overall_df <- 
somgrad_race %>% 
  # mutate(residency_international_2 = ifelse(residency_international %in% c("In State Resident", "Out of State Resident"), "Resident", "International")) %>% 
  group_by(race_eth_desc, residency_international_2) %>% 
  summarize(count_race_res = n()) %>% 
  filter(residency_international_2 != "Unknown/Other") %>% 
  mutate(count_race = sum(count_race_res)) %>% 
  # mutate(percent = count/all_student_count) %>% 
  left_join(colorpal_residency2, by = "residency_international_2") %>% 
  ungroup()

# race_international_HC_labels <- 
#   race_international_overall_df %>% 
#   distinct(race_eth_desc, count_race)

race_international_overall_fig <- 
race_international_overall_df %>% 
  ggplot(aes(x = reorder(race_eth_desc, -count_race), y = count_race_res)) +
  geom_col(aes(fill = residency_international_2_pal), position = "stack") +
  geom_text(data = distinct(race_international_overall_df, race_eth_desc, count_race), 
            aes(x = reorder(race_eth_desc, -count_race), y = count_race, label = count_race), 
            hjust = "left", nudge_y = 10, color = "grey22") +
  scale_y_continuous(expand = expansion(mult = c(0, 0.1))) +
  coord_flip() +
  theme_minimal() +
  labs(
    title = "OHSU SoM Graduate Student Enrollment by Race/Ethnicity",
    subtitle = paste0("Race/Ethnicity defined as alone or in combination*\nHC = ", as.character(HC_somgrad_race_international), "\n", focus_term_desc),
    caption = "*Individuals who identify in more than one racial or ethnic group are counted in each group.") +
  scale_fill_identity(guide = "legend", 
                      labels = race_international_overall_df$residency_international_2, 
                      breaks = race_international_overall_df$residency_international_2_pal) + 
  theme_gs

rio_fig2 <- alignTitles(race_international_overall_fig)
grid::grid.newpage()
grid::grid.draw(rio_fig2)





2.5.2 Multi-Year

2.5.2.1 Figure

race_international_multi_overall_df <- 
somgrad_race_multi %>% 
  filter(!residency_international_2 %in% c("International", "Unknown/Other")) %>% 
  group_by(term_cal_year) %>% 
  mutate(HC_resident = n_distinct(student_id)) %>% 
  group_by(term_cal_year, race_eth_desc, HC_resident) %>% 
  summarize(HC_race_res = n_distinct(student_id)) %>%
  mutate(percent = HC_race_res/HC_resident) %>% 
  left_join(colorpal_race_eth, by = "race_eth_desc") %>% 
  ungroup()

race_international_multi_overall_df %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_line(aes(color = race_eth_desc_pal), size = 0.75, alpha = 0.75) +
  geom_point(aes(color = race_eth_desc_pal), shape = 21, fill = "white", size = 2) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 2)) +
  scale_color_identity(guide = guide_legend(nrow = 3, byrow = T), 
                       labels = race_international_multi_overall_df$race_eth_desc, 
                       breaks = race_international_multi_overall_df$race_eth_desc_pal) +
  labs(title = "OHSU SoM Graduate Enrollment Among\nU.S. Citizens & Permanent Residents, by Race/Ethnicity",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")", "\nRace/Ethnicity defined as alone or in combination*"),
       caption = "*Individuals who identify in more than one racial or ethnic group are counted in each group.") +

  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"),
        panel.grid.major.y = element_line(color = "grey90"))






2.6 Race/Ethnicity by Graduate Level

2.6.1 Single Year: Fall 2020

2.6.1.1 Figure

race_international_degtype_df <- 
somgrad_race %>% 
  filter(residency_international_2 != "Unknown/Other",
         degree_type_fct != "Non-Degree Graduate") %>% 
  select(student_id, degree_type_fct, race_eth_desc, residency_international_2) %>% 
  group_by(degree_type_fct) %>% 
  mutate(degtype_hc = n_distinct(student_id)) %>% 
  group_by(degree_type_fct, degtype_hc, race_eth_desc, residency_international_2) %>% 
  summarize(count_degtype_race_res = n()) %>% 
  mutate(count_race_res = sum(count_degtype_race_res),
         percent_race_res_degtype = count_degtype_race_res/degtype_hc,
         percent_race_degtype = count_race_res/degtype_hc) %>%
  left_join(colorpal_residency2, by = "residency_international_2") %>% 
  ungroup()

HC_race_international_degtype <-  somgrad_race %>% 
  filter(residency_international_2 != "Unknown/Other",
         degree_type_fct != "Non-Degree Graduate") %>% 
  summarise(n_distinct(student_id)) %>% 
  pull()

HC_race_international_degtype_omit <- somgrad_race %>% 
  filter(residency_international_2 == "Unknown/Other" | 
         degree_type_fct == "Non-Degree Graduate") %>% 
  summarise(n_distinct(student_id)) %>% 
  pull()

degtype_labels_df <- race_international_degtype_df %>%
  distinct(degree_type_fct, degtype_hc) %>% 
  mutate(degtype_label = factor(paste0(degree_type_fct, "\nHC = ", as.character(degtype_hc))))
  

race_international_degtype_fig <- 
race_international_degtype_df %>% 
  ggplot(aes(x = reorder(race_eth_desc, -count_race_res), y = count_degtype_race_res)) +
  geom_col(aes(fill = residency_international_2_pal), position = "stack") + 
  geom_text(data = degtype_labels_df, aes(x=Inf, y = Inf, label = degtype_label), vjust=1, hjust=1, color = "grey22", size = 3.5) +
  # scale_y_continuous(labels=scales::percent, limits = c(0,0.8)) +
  coord_flip() +
  facet_wrap(degree_type_fct ~ ., ncol = 1, strip.position = "top") +
  labs(
    title = "OHSU SoM Graduate Student Enrollment by Race/Ethnicity & Graduate Level",
    subtitle = paste0("Race/Ethnicity defined as alone or in combination*\nHC = ", as.character(HC_race_international_degtype), "**\n", focus_term_desc),
    caption = paste0("*Individuals who identify in more than one racial or ethnic group are counted in each group.\n**", HC_race_international_degtype_omit, " non-degree graduate students omitted")
    ) +  
  scale_fill_identity(guide = "legend", 
                      labels = race_international_degtype_df$residency_international_2, 
                      breaks = race_international_degtype_df$residency_international_2_pal) + 
  theme_gs +
  theme(strip.background = element_blank(),
        strip.text = element_blank())

ridt_fig2 <- alignTitles(race_international_degtype_fig)
grid::grid.newpage()
grid::grid.draw(ridt_fig2)





2.6.1.2 Table

# somgrad_race %>% 
#   filter(residency_international_2 != "Unknown/Other",
#          degree_type_fct != "Non-Degree Graduate") %>% 
#   select(student_id, degree_type_fct, race_eth_desc, residency_international_2) %>% 
#   group_by(degree_type_fct) %>% 
#   mutate(degtype_hc = n_distinct(student_id)) %>% 
#   group_by(degree_type_fct, degtype_hc, race_eth_desc, residency_international_2) %>% 
#   summarize(count_degtype_race_res = n()) %>% 
#   mutate(count_race_res = sum(count_degtype_race_res),
#          percent_race_res_degtype = count_degtype_race_res/degtype_hc,
#          percent_race_degtype = count_race_res/degtype_hc) %>%
#   ungroup()

total_hc_race_degtype <-  
somgrad_race %>% 
  filter(residency_international_2 != "Unknown/Other",
         degree_type_fct != "Non-Degree Graduate") %>% 
  group_by(degree_type_fct, residency_international_2) %>% 
  summarise(HC_degtype = n_distinct(student_id),
            race_eth_desc = "Total HC") %>% 
  pivot_wider(names_from = residency_international_2, values_from = HC_degtype)

somgrad_race %>% 
  filter(residency_international_2 != "Unknown/Other",
         degree_type_fct != "Non-Degree Graduate") %>% 
  count(race_eth_desc, residency_international_2, degree_type_fct, name = "HC_degtype") %>%
  pivot_wider(names_from = residency_international_2, values_from = HC_degtype, values_fill = 0) %>% 
  bind_rows(total_hc_race_degtype) %>% 
  pivot_wider(names_from = degree_type_fct, values_from = c("International", "Resident")) %>% 
  rowwise() %>% 
  mutate(international_total = sum(c_across(starts_with("International"))),
         resident_total = sum(c_across(starts_with("Resident")))) %>% 
  select(race_eth_desc, ends_with("Doctoral"), ends_with("Masters"), ends_with("Certificate"), ends_with("total")) %>% 
  ungroup() %>% 
  kbl(col.names = c("", rep(c("International", "Resident"), 4))) %>% 
  column_spec(column = c(2,4,6,8), border_left = T) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  add_header_above(c(" ", "Doctoral" = 2, "Masters" = 2, "Graduate Certificate" = 2, "All Degree & Certificate Seeking" = 2))
Doctoral
Masters
Graduate Certificate
All Degree & Certificate Seeking
International Resident International Resident International Resident International Resident
American Indian or Alaska Native 0 5 0 8 0 1 0 14
Asian 26 32 13 63 2 22 41 117
Black or African-American 0 8 2 14 0 6 2 28
Hispanic or Latino 2 24 1 29 0 6 3 59
Native Hawaiian or Pacific Islander 0 1 0 9 0 4 0 14
Not Reported 0 5 0 8 0 5 0 18
White 18 191 3 258 2 70 23 519
Total HC 42 233 17 344 4 104 63 681



3 Gender

3.1 Summary

  • 58% of graduate students were female in Fall 2020 (section 3.2). This is similar to proportions for female students over the last decade in SoM Graduate Studies programs and similar to the latest (Fall 2019) reported national levels for female students in the biological and biomedical sciences of 59% (NCSES, 2021, table 4-7a, https://ncses.nsf.gov/pubs/nsf21318/).

  • Female students outnumbered male students within each of the graduate levels in Fall 2020, with a somewhat higher proportion of female students in masters and graduate certificate programs (62% and 61%, respectively) than in doctoral programs (53%) (section 3.3).

  • The doctoral student population has been predominantly female (51%-57%) since Fall 2008, except for Fall 2018 (49%). Graduate certificate programs have had a higher percentage of female students (55%-65%) than male students for all years reported (section 3.3).

  • The gender distribution in the masters population has changed over time from being historically male-dominated (Fall 2005 to Fall 2008) to increasingly female-dominated, with the largest proportion of female students (62%) in Fall 2020 (section 3.3). This change over time has been driven largely by shifts in gender distribution of the MS & Other subgroup. Both the MPAS and MBA programs have had fairly steady gender distributions over time with consistently larger proportions of female students in the MPAS program and a more even gender distribution over time for the MBA program (section 3.4).





3.2 Gender, All Students

3.2.1 Figure

gender_total_multi_df %>% 
  filter(person_gender_display != "Not Reported") %>% 
  ggplot(aes(group = person_gender_display, x = term_cal_year, y = percent)) +
  geom_point(aes(color = person_gender_pal)) +
  geom_line(aes(color = person_gender_pal)) +
  geom_hline(yintercept = 0.5, color = "grey") +
  geom_label(data = filter(gender_total_multi_df,
                          person_gender_display != "Not Reported",
                          term_cal_year == focus_term_cal_year),
            aes(x = term_cal_year, y = percent, 
                label = scales::percent(round(percent,2)), fill = person_gender_pal),
            size = 3, color = "grey22", alpha = 0.8, label.size = 0.1) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 2)) +
  scale_color_identity(guide = "legend", labels = gender_total_multi_df$person_gender_display, breaks = gender_total_multi_df$person_gender_pal) +
  scale_fill_identity() +
  labs(title = "Annual OHSU SoM Graduate Student Enrollment Percentages by Gender",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")"),
       caption = "*Current OHSU choices are female/male/decline to respond.") +
  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"))




3.3 Gender By Graduate Level

3.3.1 Single Year: Fall 2020

3.3.1.1 Figure


3.3.1.2 Table

somgrad_diversity %>% 
  tabyl(person_gender_display, degree_type_fct) %>% 
  adorn_totals(where = c("row", "col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = "", col_name = "") %>% 
  kbl(align = c("l", rep("c",5)), caption = paste0("OHSU SoM Graduate Student Enrollment by Gender & Graduate Level: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(row = 1, bold = T)
OHSU SoM Graduate Student Enrollment by Gender & Graduate Level: Fall 2020
Doctoral Masters Graduate Certificate Non-Degree Graduate Total
Female 53% (145) 62% (224) 61% (66) 56% (19) 58% (454)
Male 47% (129) 38% (136) 39% (42) 44% (15) 41% (322)
Not Reported 0% (1) 0% (1) 0% (0) 0% (0) 0% (2)
Total 100% (275) 100% (361) 100% (108) 100% (34) 100% (778)




3.3.2 Multi-Year

3.3.2.1 Figure

degree_type_facet_labels <- distinct(somgrad_diversity_multi, degree_type_fct)

gender_degree_type_multi_df %>% 
  filter(!person_gender_display %in% c("Male", "Not Reported"),
         degree_type_fct != "Non-Degree Graduate") %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_point(aes(color = degree_type_pal)) +
  geom_line(aes(color = degree_type_pal)) +
  geom_hline(yintercept = 0.5, color = "grey") +
  geom_text(data = filter(degree_type_facet_labels, degree_type_fct != "Non-Degree Graduate"),
            aes(x=(first_term_cal_year + last_term_cal_year)/2, y = .98, label = degree_type_fct),
            color = "grey22", size = 3.5) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", labels = gender_degree_type_multi_df$person_gender_display, breaks = gender_degree_type_multi_df$person_gender_pal) +
  labs(title = "Annual OHSU SoM Graduate Student % Female Enrollment \nby Graduate Level",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")"),
       caption = "*Current OHSU choices are female/male/decline to respond.") +
  facet_wrap(degree_type_fct ~.) + 
  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"),
        strip.text = element_blank())




3.4 Gender By Masters Degree Group

3.4.1 Single Year: Fall 2020

3.4.1.1 Figure

gender_masters_group_fig <- 
gender_masters_group_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_sex.csv')) %>% 
  ggplot(aes(x = reorder(masters_group_label, percent_by_mg), 
             y = percent_by_mg,
             group = factor(person_gender_display, levels = c("Not Reported",
                                                              "Male", 
                                                              "Female")))
         ) +
  geom_col(aes(fill = person_gender_pal), position = "stack") +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  coord_flip() +
  scale_fill_identity(guide = "legend", 
                      labels = gender_masters_group_df$person_gender_display, 
                      breaks = gender_masters_group_df$person_gender_pal) +
  geom_hline(yintercept = 0.5) +
  labs(
    title = "OHSU SoM Masters Student Enrollment by Gender* & Masters Degree Group",
    subtitle = paste0("Total HC = ", HC_masters_group, " (All Masters Students)",
                      "\n", focus_term_desc),
    caption = "*Current OHSU choices are female/male/decline to respond.\n"
       ) +
  theme_gs +
  theme(aspect.ratio = 1/3)

gmg_fig2 <- alignTitles(gender_masters_group_fig)
grid::grid.newpage()
grid::grid.draw(gmg_fig2)



3.4.1.2 Table

somgrad_diversity %>% 
  filter(masters_group != "Non-Masters") %>% 
  tabyl(person_gender_display, masters_group) %>% 
  adorn_totals(where = c("row", "col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = "", col_name = "") %>% 
  kbl(align = c("l", rep("c",4)), caption = paste0("OHSU SoM Masters Student Enrollment by Gender & Masters Degree Group: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(row = 1, bold = T)
OHSU SoM Masters Student Enrollment by Gender & Masters Degree Group: Fall 2020
MBA MPAS MS & Other Masters Total
Female 53% (52) 70% (59) 63% (113) 62% (224)
Male 46% (46) 30% (25) 37% (65) 38% (136)
Not Reported 1% (1) 0% (0) 0% (0) 0% (1)
Total 100% (99) 100% (84) 100% (178) 100% (361)




3.4.2 Multi-Year

3.4.2.1 Figure

masters_group_facet_labels <- distinct(somgrad_diversity_multi, masters_group)

gender_masters_group_multi_df %>% 
  filter(!person_gender_display %in% c("Male", "Not Reported")) %>% 
  ggplot(aes(x = term_cal_year, y = percent)) +
  geom_point(aes(color = masters_group_pal)) +
  geom_line(aes(color = masters_group_pal)) +
  geom_hline(yintercept = 0.5, color = "grey") +
  geom_text(data = filter(masters_group_facet_labels, masters_group != "Non-Masters"),
            aes(x=(first_term_cal_year + last_term_cal_year)/2, y = .98, label = masters_group),
            color = "grey22", size = 3.5) +
  scale_y_continuous(labels=scales::percent, limits = c(0,1)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", 
                       labels = gender_masters_group_multi_df$person_gender_display, 
                       breaks = gender_masters_group_multi_df$person_gender_pal) +
  labs(title = "Annual OHSU SoM Masters % Female Enrollment \nby Masters Degree Group",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")"),
       caption = "*Current OHSU choices are female/male/decline to respond.") +
  facet_wrap(masters_group ~.) + 
  theme_gs +
  xlab("Calendar Year") +
  theme(axis.title.x = element_text(colour = "gray22"),
        strip.text = element_blank())


4 Age

4.1 Summary

  • In Fall 2020, the median age of SoM Graduate Students was 30, with 50% of students (the interquartile range (IQR)) between the ages of 27 and 35, and 90% of students between 24 and 46. This is similar to prior years in the report. (section 4.1)

  • In Fall 2020, consistent with prior years in this report, the masters and graduate certificate populations were older (median of 32 and 33 respectively) and more diverse in age (IQR = 28 to 37 & 30 to 37, respectively) than the doctoral population (median = 28, IQR = 26 to 31) (section 4.2).

  • Since Fall 2005, the graduate certificate student population has become slightly younger and less diverse in age, seemingly from a decrease in the proportion of students over 40, while the age distribution of the masters and doctoral programs have changed little (section 4.2.2).

Note: Age is calculated as age (in years) as of October 15th for the corresponding Fall term.



4.2 Age, All Students

4.2.1 Single Year: Fall 2020

4.2.1.1 Figure

somgrad_age_q <- c('Min', "5%" ,'Q1', 'Median', 'Q3', '95%', 'Max')
somgrad_age_q_grp <- factor(c('Min/Max', "5%/95%", "25%/75%", 'Median (50%)', 
                             "25%/75%", "5%/95%", 'Min/Max'), 
                           levels = c('Median (50%)', "25%/75%", "5%/95%", 'Min/Max'))

somgrad_age <- 
somgrad_diversity %>% 
  select(student_id, age_admitted, birth_dt, degree_type_fct) %>% 
  mutate(age_in_term = floor(as.numeric((ymd("2020-10-15") - ymd(birth_dt)))/365.25)) 
  
age_mu_all <- somgrad_age %>% 
  summarise(IQR = round(quantile(age_in_term, c(0, 0.05, 0.25, 0.5, 0.75, 0.95, 1), na.rm = T), digits = 0), 
            q = somgrad_age_q,
            q_grp = somgrad_age_q_grp
            # q = c('Min', "5%" ,'Q1', 'Median', 'Q3', '95%', 'Max'),
            # q_grp = factor(c('Min/Max', "5%/95%", "25%/75%", 'Median (50%)', 
            #                  "25%/75%", "5%/95%", 'Min/Max'), 
            #                levels = c('Median (50%)', "25%/75%", "5%/95%", 'Min/Max'))
            )
  
age_overall_fig <- 
somgrad_age %>% 
  ggplot(aes(x=age_in_term)) +
  geom_histogram(aes(y = ..density..), binwidth = 2, fill = "grey80") +
  geom_density(alpha = 0.2, fill = "grey80") +  
  geom_point(data = age_mu_all, aes(x = IQR, y = 0, shape = q_grp), size = 2.5, color = "blue") +
  geom_text(data = age_mu_all, aes(x = IQR, y = 0.006, label = IQR), color = "blue") +
  scale_y_continuous(labels=scales::percent_format(accuracy = 1)) +
  theme_gs +
  theme(aspect.ratio = 1/3, 
        axis.title.x = element_text(color = "grey22")) +
  labs(title = "OHSU SoM Graduate Students, Age Distribution",
       subtitle = paste0("HC = ", as.character(HC_somgrad_diversity),
                         "\n", focus_term_desc),
       x = "Age",
       y = "% of Graduate Students")

age_overall_fig





4.2.2 Multi-Year

4.2.2.1 Figure

somgrad_age_multi <- 
somgrad_diversity_multi %>% 
  select(student_id, acad_period, term_cal_year, age_admitted, birth_dt, degree_type_fct) %>% 
  mutate(age_in_term = floor(as.numeric((ymd(paste0(as.character(term_cal_year),"-10-15")) - ymd(birth_dt)))/365.25)) 
  
age_mu_all_multi <- somgrad_age_multi %>% 
  filter(age_in_term >= 10) %>% 
  group_by(term_cal_year) %>%
  summarise(IQR = quantile(age_in_term, c(0, 0.05, 0.25, 0.5, 0.75, .95, 1), na.rm = T), 
            q = somgrad_age_q,
            q_grp = somgrad_age_q_grp
            ) %>%
  mutate(q_grp_line = case_when(q_grp == "Median (50%)" ~ "solid",
                                q_grp == "25%/75%" ~ "longdash",
                                q_grp == "5%/95%" ~ "dotdash",
                                q_grp == "Min/Max" ~ "blank")) %>% 
  arrange(IQR)

age_mu_all_multi %>% 
  ggplot(aes(x = term_cal_year, y = IQR, group = q)) + 
  geom_line(aes(group = q, color = q_grp, linetype = q_grp_line)) +
  geom_point(aes(color = q_grp, shape = q_grp), size = 2) + 
  scale_y_continuous(breaks = c(10, 20, 30, 40, 50, 60, 70)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 2)) +
  scale_linetype_identity() +
  labs(title = "OHSU SoM Annual Age Distrbution, All Graduate Students",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +
  xlab("Calendar Year") +
  ylab("Age") +
  theme_gs +
  theme(panel.grid.major.y = element_line(color = "grey90"),
        axis.title = element_text(color = "grey22"))





4.3 Age By Graduate Level

4.3.1 Single Year: Fall 2020

4.3.1.1 Figure





4.3.1.2 Table

OHSU SoM Graduate Students, Age Distribution by Graduate Level

age_mu_total <- somgrad_age %>% 
  summarise(IQR = round(quantile(age_in_term, c(0, 0.05, 0.25, 0.5, 0.75, 0.95, 1), na.rm = T), digits = 0), 
            q = somgrad_age_q,
            q_grp = somgrad_age_q_grp,
            count = n_distinct(student_id)) %>% 
  mutate(degree_type = "All Students")

age_mu_degtype %>% 
  ungroup() %>% 
  mutate(degree_type = as.character(degree_type_fct)) %>% 
  bind_rows(age_mu_total) %>% 
  select(degree_type, IQR, q, count) %>% 
  pivot_wider(names_from = q, values_from = IQR) %>% 
  kbl(caption = "OHSU SoM Graduate Students, Age Distribution by Graduate Level",
      col.names = c(focus_term_desc, "HC", "Min", "5%", "25%", "Median (50%)", "75%", "95%","Max"),
      align = c("l", "l", rep("c", 7))) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(row = 5, bold = T) %>% 
  add_header_above(header = c(" " = 2, "Age by Percentiles" = 7))
OHSU SoM Graduate Students, Age Distribution by Graduate Level
Age by Percentiles
Fall 2020 HC Min 5% 25% Median (50%) 75% 95% Max
Doctoral 275 22 24 26 28 31 35 50
Masters 361 18 24 28 32 37 49 60
Graduate Certificate 108 22 23 30 33 37 53 66
Non-Degree Graduate 34 22 23 29 34 38 45 56
All Students 778 18 24 27 30 35 46 66




4.3.2 Multi-Year

4.3.2.1 Figure: Age Distribution Annual, by Degree Type

age_mu_degree_type_multi <- somgrad_age_multi %>% 
  filter(age_in_term >= 10) %>% 
  group_by(term_cal_year, degree_type_fct) %>%
  summarise(IQR = quantile(age_in_term, c(0, 0.05, 0.25, 0.5, 0.75, .95, 1), na.rm = T), 
            q = c('Min', "5%" ,'Q1', 'Median', 'Q3', '95%', 'Max'),
            q_grp = factor(c('Min/Max', "5%/95%", "25%/75%", 'Median (50%)', "25%/75%", "5%/95%", 'Min/Max'), levels = c('Median (50%)', "25%/75%", "5%/95%", 'Min/Max'))) %>% 
  mutate(q_grp_line = case_when(q_grp == "Median (50%)" ~ "solid",
                                q_grp == "25%/75%" ~ "longdash",
                                q_grp == "5%/95%" ~ "dotdash",
                                q_grp == "Min/Max" ~ "blank")) %>%   
  arrange(IQR)

age_mu_degree_type_multi %>% 
  filter(degree_type_fct != "Non-Degree Graduate",
         q_grp != "Min/Max") %>% 
  ggplot(aes(x = term_cal_year, y = IQR, group = q)) + 
  geom_line(aes(group = q, color = q_grp, linetype = q_grp_line), size = 0.3) +
  geom_point(aes(color = q_grp, shape = q_grp), size = 1) + 
  scale_y_continuous(breaks = c(10, 20, 30, 40, 50, 60, 70), expand = expansion(add = c(5,5))) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_linetype_identity() +
  labs(title = "OHSU SoM Annual Age Distrbution, All Graduate Students",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +
  facet_wrap(degree_type_fct ~.) +
  xlab("Calendar Year") +
  ylab("Age") +
  theme_gs +
  theme(panel.grid.major.y = element_line(color = "grey90"),
        axis.title = element_text(color = "grey22"))






5 Residency

5.1 Summary

  • Consistent with prior years in this report, in Fall 2020 a majority of both the masters and graduate certificate populations were in-state residents (62% and 56% respectively) with relatively few international students (5% and 4%, respectively), while doctoral students were mostly residents from out of state (Out of State Residents = 58%) with a relatively higher percentage of international students (15%). (section 5.1)

  • The proportion of SoM Graduate Studies doctoral students who are international declined from 23% to 18% between Fall 2005 and Fall 2011 and has remained between 13% and 16% since Fall 2012. This is below the national average of 26% (Fall 2019) for doctoral programs in biological and biomedical sciences (NCSES, 2021, table 4-7a, https://ncses.nsf.gov/pubs/nsf21318/).



5.2 Residency By Graduate Level

5.2.1 Single Year: Fall 2020

5.2.1.1 Figure

residency_degree_type_fig <- 
residency_degree_type_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_residency.csv')) %>% 
  ggplot(aes(fill = residency_international, x = residency_international, y = percent_by_deg)) +
geom_col(aes(fill = residency_international_pal)) +
  geom_text(aes(label = scales::percent(percent_by_deg, accuracy = 1), y = percent_by_deg), vjust = -0.5, size = 3) +
  # geom_col(position = "stack") + 
  labs(y = "Percent") +
  facet_wrap(~degtype_label, nrow = 1, strip.position = "bottom" ) +
  scale_y_continuous(labels=scales::percent, limits = c(0,0.8)) +
  geom_hline(yintercept = 0, color = "dark grey") +
  # coord_flip() +
  scale_fill_identity(guide = "legend", 
                      labels = residency_degree_type_df$residency_international, 
                      breaks = residency_degree_type_df$residency_international_pal) +
  labs(title = "OHSU SoM Graduate Enrollment by Residency & Graduate Level",
       subtitle = paste0("Total HC = ", as.character(sum(residency_degree_type_df$count)), "*\n", 
                         focus_term_desc),
       caption = paste0("*", HC_nondegree, " non-degree graduate students omitted")
       ) +
  theme_gs + 
  theme(axis.text.x = element_blank())

residency_degree_type_fig




5.2.1.2 Table

somgrad_diversity %>% 
  filter(residency_international %in% c("In State Resident", "Out of State Resident", "International")) %>% 
  count(degree_type_fct, residency_international) %>% 
  pivot_wider(names_from = degree_type_fct, values_from = n) %>% 
  adorn_totals(where = c("row","col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = focus_term_desc, col_name = "") %>% 
  kbl(align = c("l", rep("c",5)), caption = paste0("OHSU SoM Graduate Enrollment by Residency Status: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(c(1), bold = T) %>% 
  column_spec(6, bold = T)
OHSU SoM Graduate Enrollment by Residency Status: Fall 2020
Fall 2020 Doctoral Masters Graduate Certificate Non-Degree Graduate Total
In State Resident 27% (74) 62% (223) 56% (60) 76% (26) 49% (383)
Out of State Resident 58% (159) 34% (121) 41% (44) 6% (2) 42% (326)
International 15% (42) 5% (17) 4% (4) 18% (6) 9% (69)
Total 100% (275) 100% (361) 100% (108) 100% (34) 100% (778)





5.2.2 Multi-Year

5.2.2.1 Figure

residency_degree_type_multi_fig <- 
residency_degree_type_multi_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_residency.csv')) %>% 
  ggplot(aes(x = term_cal_year, y = percent_by_deg)) + 
  geom_line(aes(color = residency_international_pal), size = 1.25) +
  geom_point(aes(color = residency_international_pal), shape = 21, fill = "white", size = 2, stroke = 1) +
  facet_wrap(~degree_type_fct ~., strip.position = "bottom") +
  scale_y_continuous(labels=scales::percent, limits = c(0,1), breaks = seq(0,1, by = 0.2)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", 
                      labels = residency_degree_type_multi_df$residency_international, 
                      breaks = residency_degree_type_multi_df$residency_international_pal) +
  labs(title = "OHSU SoM Annual Enrollment Percentages by Residency \n& Graduate Level",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +
  xlab("Calendar Year") +
  theme_gs +
  theme(axis.title.x = element_text(color = "gray22"),
        panel.grid.major.y = element_line(color = "grey90")
  )

residency_degree_type_multi_fig





5.3 Residency By Masters Degree Group

5.3.1 Single Year: Fall 2020

5.3.1.1 Figure

residency_masters_group_fig <- 
residency_masters_group_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_residency.csv')) %>% 
  ggplot(aes(fill = residency_international, x = residency_international, y = percent_by_mg)) +
geom_col(aes(fill = residency_international_pal)) +
  geom_text(aes(label = scales::percent(percent_by_mg, accuracy = 1), y = percent_by_mg), vjust = -0.5, size = 3) +
  # geom_col(position = "stack") + 
  labs(y = "Percent") +
  facet_wrap(~masters_group_label, nrow = 1, strip.position = "bottom" ) +
  scale_y_continuous(labels=scales::percent, limits = c(0,0.8)) +
  geom_hline(yintercept = 0, color = "dark grey") +
  # coord_flip() +
  scale_fill_identity(guide = "legend", 
                      labels = residency_masters_group_df$residency_international, 
                      breaks = residency_masters_group_df$residency_international_pal) +
  labs(title = "OHSU SoM Masters Student Enrollment \nby Residency & Masters Degree Group",
       subtitle = paste0("Total HC = ", as.character(sum(residency_masters_group_df$count)), "*\n", 
                         focus_term_desc),
       caption = paste0("*", HC_masters_group_omit, " non-masters graduate students omitted")
       ) +
  theme_gs + 
  theme(axis.text.x = element_blank())

residency_masters_group_fig



5.3.1.2 Table

somgrad_diversity %>% 
  filter(residency_international %in% c("In State Resident", "Out of State Resident", "International"),
         masters_group != "Non-Masters") %>% 
  count(masters_group, residency_international) %>% 
  pivot_wider(names_from = masters_group, values_from = n) %>% 
  adorn_totals(where = c("row","col")) %>% 
  adorn_percentages(denominator = "col") %>% 
  adorn_pct_formatting(digits = 0, rounding = "half up") %>% 
  adorn_ns() %>% 
  adorn_title(row_name = focus_term_desc, col_name = "") %>% 
  kbl(align = c("l", rep("c",5)), caption = paste0("OHSU SoM Masters Enrollment by Residency Status: ", focus_term_desc)) %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 14, full_width = F, position = "left") %>% 
  row_spec(c(1), bold = T) %>% 
  column_spec(5, bold = T)
OHSU SoM Masters Enrollment by Residency Status: Fall 2020
Fall 2020 MBA MPAS MS & Other Masters Total
In State Resident 78% (77) 50% (42) 58% (104) 62% (223)
Out of State Resident 20% (20) 50% (42) 33% (59) 34% (121)
International 2% (2)
  • (NA)
8% (15) 5% (17)
Total 100% (99) 100% (84) 100% (178) 100% (361)

5.3.2 Multi-Year

5.3.2.1 Figure

residency_masters_group_multi_fig <- 
residency_masters_group_multi_df %>% 
  # write_csv(file = here::here('produced_data', 'degree_type_residency.csv')) %>% 
  ggplot(aes(x = term_cal_year, y = percent_by_deg)) + 
  geom_line(aes(color = residency_international_pal), size = 1.25) +
  geom_point(aes(color = residency_international_pal), shape = 21, fill = "white", size = 2, stroke = 1) +
  facet_wrap(masters_group ~., strip.position = "bottom") +
  scale_y_continuous(labels=scales::percent, limits = c(0,1), breaks = seq(0,1, by = 0.2)) +
  scale_x_continuous(breaks = seq(first_term_cal_year, focus_term_cal_year, by = 4)) +
  scale_color_identity(guide = "legend", 
                      labels = residency_masters_group_multi_df$residency_international, 
                      breaks = residency_masters_group_multi_df$residency_international_pal) +
  labs(title = "OHSU SoM Annual Masters Enrollment Percentages \nby Residency & Masters Degree Group",
       subtitle = paste0(first_term_desc," (AY ", first_acad_year, ") - ", last_term_desc, " (AY ", last_acad_year, ")")) +
  xlab("Calendar Year") +
  theme_gs +
  theme(axis.title.x = element_text(color = "gray22"),
        panel.grid.major.y = element_line(color = "grey90")
  )

residency_masters_group_multi_fig