Tabulating Basic, Clinical, and Cross-Sectional

For future reference, let’s tabulate the unique sections which are in the basic science realm. This can be used to label basic sections in the future. N=10

scores %>% 
  filter(basic == 1) %>% 
  count(subcat) %>% 
  arrange(desc(n))
## # A tibble: 10 x 2
##    subcat                                                                      n
##    <chr>                                                                   <int>
##  1 IBD: Genomics and Gene Function                                            22
##  2 IBD: Microbiome Role in Intestinal Inflammation                            18
##  3 Animal Models: Pre-Clinical Treatment of Intestinal Inflammation           17
##  4 IBD: Cytokines, Signaling and Receptors                                    15
##  5 Intestinal Inflammation, Fibrosis and Regeneration                         15
##  6 Role of the Gut Microbiome and Pathogens in Immune and Inflammatory Di…    14
##  7 IBD: Innate and Adaptive Host Defenses                                     11
##  8 Mucosal Innate Function and Innate Host Defense: Inflammatory Bowel Di…     5
##  9 Non-Immune Cells in Intestinal Inflammation: Epithelium and Stroma          5
## 10 Viral, Eukaryote, and Prokaryote Members of the Gut Microbiome              1

Now let us do clinical subcategories, N =20

scores %>% 
  filter(clinical == 1) %>% 
  count(subcat) %>% 
  arrange(desc(n))
## # A tibble: 20 x 2
##    subcat                                                                      n
##    <chr>                                                                   <int>
##  1 IBD: Natural History and Outcomes                                          45
##  2 IBD: Epidemiology                                                          44
##  3 IBD: Disease Activity Assessment                                           39
##  4 IBD: Disease Complications                                                 39
##  5 IBD: Uncontrolled Therapeutic Observations in Humans Biologic              38
##  6 IBD: Controlled Clinical Trials in Humans                                  36
##  7 IBD: Therapeutic Monitoring                                                31
##  8 IBD: Practice Management, Quality of Care, Quality Assurance               23
##  9 IBD: Quality of Life and Psychosocial Care                                 23
## 10 IBD: Comparative Effectiveness Studies                                     21
## 11 IBD: Special Populations, Conception, Adolescent, and Older                21
## 12 IBD: Adverse Events Related to Therapy                                     20
## 13 COVID and GI                                                               17
## 14 IBD: Diagnostics in IBD                                                    14
## 15 Diarrheal Disorders: Bacterial Overgrowth - Drug Induced and Other Ent…    11
## 16 IBD: Uncontrolled Therapeutic Observations in Humans Non-Biologic          10
## 17 Pediatric IBD: Clinical and Translational Studies                           6
## 18 Microbial-Based Therapy                                                     4
## 19 Health Care Delivery and Policy (Practice Management Including Telehea…     2
## 20 Health Disparities and Global Health                                        2

Now let us do cross-sectional subcategories, N =10

scores %>% 
  filter(cross_sectional == 1) %>% 
  select(subcat) %>% 
  distinct(subcat)
## # A tibble: 10 x 1
##    subcat                                                                       
##    <chr>                                                                        
##  1 COVID and GI                                                                 
##  2 Diarrheal Disorders: Bacterial Overgrowth - Drug Induced and Other Enterocol…
##  3 Health Care Delivery and Policy (Practice Management Including Telehealth & …
##  4 Health Disparities and Global Health                                         
##  5 IBD: Microbiome Role in Intestinal Inflammation                              
##  6 IBD: Special Populations, Conception, Adolescent, and Older                  
##  7 Intestinal Inflammation, Fibrosis and Regeneration                           
##  8 Microbial-Based Therapy                                                      
##  9 Pediatric IBD: Clinical and Translational Studies                            
## 10 Role of the Gut Microbiome and Pathogens in Immune and Inflammatory Diseases

Group by subcategory, compare mean and SD

Let’s see who got closest to a mean of 4 and SD of 4.7, and count the N for each subcategory

## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 30 x 4
##    subcat                                                       mean    sd     n
##    <chr>                                                       <dbl> <dbl> <int>
##  1 Microbial-Based Therapy                                      4.6  0.327     4
##  2 Health Care Delivery and Policy (Practice Management Inclu…  4.5  0.354     2
##  3 Pediatric IBD: Clinical and Translational Studies            4.02 0.436     6
##  4 COVID and GI                                                 4.59 0.507    17
##  5 IBD: Special Populations, Conception, Adolescent, and Older  4.65 0.529    21
##  6 IBD: Natural History and Outcomes                            4.45 0.569    45
##  7 Animal Models: Pre-Clinical Treatment of Intestinal Inflam…  3.86 0.638    17
##  8 IBD: Cytokines, Signaling and Receptors                      4.46 0.651    15
##  9 IBD: Uncontrolled Therapeutic Observations in Humans Biolo…  4.41 0.672    38
## 10 IBD: Disease Complications                                   4.89 0.675    39
## # … with 20 more rows

Let’s plot these compared to our goal of mean =4, SD = 1.5.

scores %>% 
  group_by(subcat) %>% 
  summarize(mean = mean(avg),
            sd = sd(avg),
            n = n()) %>% 
  ggplot(aes(x = mean, 
             y = fct_reorder(stringr::str_wrap(subcat, 75), mean, .desc = TRUE))) +
  geom_point() +
  geom_errorbar(aes(xmin = mean - sd, xmax = mean + sd)) +
  xlim(2,6) +
  labs(y = "", 
       title = "Mean and Standard Deviation by Subcategory within IMIBD", 
       subtitle = "goal of mean = 4, SD = 1.5") +
  theme_linedraw(base_size = 14) + 
  theme(plot.title.position = "plot",
          plot.caption = element_text(hjust=0),
          plot.caption.position = "plot") +
  geom_vline(xintercept = 2.5) +
  geom_vline(xintercept = 5.5) +
  geom_vline(xintercept = 4, color = "blue")
## `summarise()` ungrouping output (override with `.groups` argument)

Is Scoring Significantly Different Between Clinical and Basic Subcategories?

Let’s check

scores %>% 
  group_by(basic) %>% 
  summarize(mean = mean(avg))
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 2 x 2
##   basic  mean
##   <dbl> <dbl>
## 1     0  4.51
## 2     1  4.10
# basic abstracts have lower (better) scores - avg 4.10 vs 4.51 clinical

scores %>% 
  infer::t_test(response = avg, 
                explanatory = basic)
## Warning: The statistic is based on a difference or ratio; by default, for
## difference-based statistics, the explanatory variable is subtracted in the order
## "0" - "1", or divided in the order "0" / "1" for ratio-based statistics. To
## specify this order yourself, supply `order = c("0", "1")`.
## # A tibble: 1 x 6
##   statistic  t_df    p_value alternative lower_ci upper_ci
##       <dbl> <dbl>      <dbl> <chr>          <dbl>    <dbl>
## 1      4.66  183. 0.00000607 two.sided      0.237    0.585
# and this is a significant difference

Calculating Adjusted Scores

We will adjust the scores within each group to a mean of 4 and SD of 1.5 to produce adjusted scores.

Two of the adjusted scores are so good (so much better than their competition) that they end up in the negative.

scores %>% 
  group_by(subcat) %>% 
  summarize(mean_subcat = mean(avg),
            sd_subcat = sd(avg),
            n_subcat = n()) %>% 
  right_join(scores, by = "subcat") %>% 
  mutate(z_score = (avg - mean_subcat)/sd_subcat) %>% 
  mutate(adj_score = 4 + z_score*1.5) %>% 
  select(-cat, -all_decisions, -c(x21:x28)) %>% 
  relocate(id, adj_score, avg, title) ->
scores
## `summarise()` ungrouping output (override with `.groups` argument)

Plenary Planning

Planning for picking abstracts for the Big Plenaries (Clinical and Basic) and the IMIBD Plenary.

Nominate 1-2 basic, 2-3 clinical for Big Plenaries,

Pick another 3 for the IMIBD Plenary.

Now to sort and filter these.

#  best adjusted scores
scores %>% 
  arrange(adj_score) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  slice(1:10)->
best_adj

#  best raw scores
scores %>% 
  arrange(avg) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  slice(1:10) ->
best_raw

# print any that mention plenary
scores %>% 
  filter(str_detect(last_decision, "lenary")) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  arrange(adj_score) %>% 
  slice(1:10) ->
mention_plenary

# top basic
scores %>% 
  arrange(adj_score) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(basic == 1) %>% 
  slice(1:10) ->
top_basic

Now to filter with joins

Let’s get started

# build vectors
adj_vec <- best_adj %>% 
  pull(id)
raw_vec <- best_raw %>% 
  pull(id)
plenary_vec <- mention_plenary %>% 
  pull(id)
top_basic <- top_basic %>% 
  pull(id)

scores %>% 
  mutate(best_adj = 0,
         best_raw = 0,
         mention_plenary = 0,
         best_basic = 0) %>% 
  mutate(best_adj = case_when(id %in% adj_vec ~ 1,
                   TRUE ~0),
         best_raw = case_when(id %in% raw_vec ~ 1,
                   TRUE ~0),
         mention_plenary= case_when(id %in% plenary_vec ~ 1,
                   TRUE ~0),
         best_basic = case_when(id %in% top_basic ~ 1,
                   TRUE ~0)) ->
scores

Now filter for Plenary Contenders

and write to Excel

scores %>% 
  filter(best_adj == 1| best_raw == 1 | best_basic == 1 | mention_plenary == 1) ->
plenary

plenary %>% 
  arrange(cross_sectional, adj_score) %>% 
  select(id, subcat, adj_score, avg, title, presenter, best_adj:best_basic, cross_sectional) %>%
  print(n=22)
## # A tibble: 22 x 11
##        id subcat adj_score   avg title presenter best_adj best_raw
##     <dbl> <chr>      <dbl> <dbl> <chr> <chr>        <dbl>    <dbl>
##  1 3.53e6 IBD: …   -0.264   2.5  HIGH… Andres Y…        1        0
##  2 3.52e6 IBD: …    0.0677  1.4  IDEN… Yuval It…        1        1
##  3 3.52e6 IBD: …    0.236   3.2  MEGA… Michelle…        1        0
##  4 3.52e6 IBD: …    0.318   2.75 A CO… Ryan Ung…        1        0
##  5 3.53e6 IBD: …    0.427   2.2  LOW … Chung Sa…        1        1
##  6 3.53e6 IBD: …    0.427   2.2  CLIN… Jeffrey …        1        1
##  7 3.52e6 IBD: …    0.462   2.6  IMPA… Ryan Ung…        1        0
##  8 3.52e6 IBD: …    0.462   2.6  RISK… Adam Che…        1        0
##  9 3.52e6 IBD: …    0.625   1.33 DISC… Sine Buh…        0        1
## 10 3.52e6 IBD: …    0.874   2.33 EXPO… Florence…        0        1
## 11 3.53e6 IBD: …    0.902   2    <br>… Mark Dal…        0        1
## 12 3.52e6 Anima…    1.29    2.71 IN V… Elizabet…        0        0
## 13 3.53e6 IBD: …    1.60    2    HOST… Sun-Ho L…        0        1
## 14 3.53e6 IBD: …    1.74    2.6  IBD … Kyle Get…        0        0
## 15 3.52e6 IBD: …    1.96    3.57 THE … Beatriz …        0        0
## 16 3.52e6 IBD: …    2.10    2.5  THE … Geert Dâ…        0        1
## 17 3.52e6 Diarr…   -0.208   2.2  SING… Molly Th…        1        1
## 18 3.52e6 COVID…    0.487   3.4  MULT… John Spe…        1        0
## 19 3.52e6 IBD: …    1.26    3    IBD-… Jonathan…        0        0
## 20 3.52e6 IBD: …    1.54    3.14 FOOD… Mark Mor…        0        0
## 21 3.53e6 Intes…    1.65    2.29 A NO… Hon Wai …        0        1
## 22 3.53e6 Role …    1.97    3.2  RELA… Kevin Ji…        0        0
## # … with 3 more variables: mention_plenary <dbl>, best_basic <dbl>,
## #   cross_sectional <dbl>
plenary %>% 
  arrange(adj_score) %>% 
  print(n=22) %>% 
  writexl::write_xlsx("plenary_contenders.xlsx")
## # A tibble: 22 x 30
##        id adj_score   avg title subcat mean_subcat sd_subcat n_subcat type 
##     <dbl>     <dbl> <dbl> <chr> <chr>        <dbl>     <dbl>    <int> <chr>
##  1 3.53e6   -0.264   2.5  HIGH… IBD: …        4.41     0.672       38 AGA …
##  2 3.52e6   -0.208   2.2  SING… Diarr…        4.57     0.844       11 AGA …
##  3 3.52e6    0.0677  1.4  IDEN… IBD: …        4.23     1.08        22 AGA …
##  4 3.52e6    0.236   3.2  MEGA… IBD: …        4.89     0.675       39 AGA …
##  5 3.52e6    0.318   2.75 A CO… IBD: …        4.77     0.821       23 AGA …
##  6 3.53e6    0.427   2.2  LOW … IBD: …        4.44     0.939       23 AGA …
##  7 3.53e6    0.427   2.2  CLIN… IBD: …        4.44     0.939       23 AGA …
##  8 3.52e6    0.462   2.6  IMPA… IBD: …        4.54     0.823       31 AGA …
##  9 3.52e6    0.462   2.6  RISK… IBD: …        4.54     0.823       31 AGA …
## 10 3.52e6    0.487   3.4  MULT… COVID…        4.59     0.507       17 AGA …
## 11 3.52e6    0.625   1.33 DISC… IBD: …        4.02     1.19        36 AGA …
## 12 3.52e6    0.874   2.33 EXPO… IBD: …        4.42     1.00        20 AGA …
## 13 3.53e6    0.902   2    <br>… IBD: …        4.23     1.08        22 AGA …
## 14 3.52e6    1.26    3    IBD-… IBD: …        4.37     0.752       18 AGA …
## 15 3.52e6    1.29    2.71 IN V… Anima…        3.86     0.638       17 AGA …
## 16 3.52e6    1.54    3.14 FOOD… IBD: …        4.37     0.752       18 AGA …
## 17 3.53e6    1.60    2    HOST… IBD: …        3.82     1.14        11 AGA …
## 18 3.53e6    1.65    2.29 A NO… Intes…        3.68     0.887       15 AGA …
## 19 3.53e6    1.74    2.6  IBD … IBD: …        4.23     1.08        22 AGA …
## 20 3.52e6    1.96    3.57 THE … IBD: …        4.46     0.651       15 AGA …
## 21 3.53e6    1.97    3.2  RELA… Role …        4.2      0.740       14 AGA …
## 22 3.52e6    2.10    2.5  THE … IBD: …        4.02     1.19        36 AGA …
## # … with 21 more variables: presenter <chr>, presenter_email <chr>,
## #   career_stage <chr>, previous_presentation_or_submission_y_n <chr>,
## #   previous_presentation_meeting <chr>, case_report_y_n <chr>,
## #   chair_override <chr>, last_decision <chr>, dev <dbl>, med <dbl>,
## #   comments <chr>, review_count <dbl>, individual_scores <chr>,
## #   cross_sectional <dbl>, basic <dbl>, clinical <dbl>, z_score <dbl>,
## #   best_adj <dbl>, best_raw <dbl>, mention_plenary <dbl>, best_basic <dbl>

Which are the top 2 in each review group?

now rank top 2 in each subcat

scores %>% 
  group_by(subcat) %>% 
  arrange(subcat, avg) %>% 
  mutate(rank = row_number()) %>% 
  slice(1:2) %>% 
  writexl::write_xlsx("top2_bysubcat.xlsx")

Abstracts for oral sessions - clinical

We have to select the following, in order

  1. Abstracts (1-3) for clinical plenary
  2. Abstracts for cross-sectionals
  3. Abstracts (3) for the IMIBD plenary
  4. Abstracts to fill in hybrid sessions (~ 6-8) by topic
  5. Abstracts for remaining 7 clinical abstract sessions.
  6. Posters of distinction (top clinical that did not fit in an oral session
  7. Other posters - number allotted to IMIBD determined by DDW, relayed via AGA in Feburary
  8. Rejected abstracts (usually ~ 30%)

The clinical abstract sessions typically have 6 abstracts. This can go up to 8 or 9 if you shorten the presentations and there is no question time (when we do this virtually) - up to you. Note that the Cross-sectional topics have already been picked over for the cross-sectional sessions.

  scores %>% 
  filter(clinical == 1) %>% 
  select(subcat, cross_sectional) %>% 
  group_by(subcat) %>% 
  mutate(n= n()) %>% 
  distinct(subcat, .keep_all = TRUE) %>% 
  arrange(desc(n))
## # A tibble: 20 x 3
## # Groups:   subcat [20]
##    subcat                                                  cross_sectional     n
##    <chr>                                                             <dbl> <int>
##  1 IBD: Natural History and Outcomes                                     0    45
##  2 IBD: Epidemiology                                                     0    44
##  3 IBD: Disease Activity Assessment                                      0    39
##  4 IBD: Disease Complications                                            0    39
##  5 IBD: Uncontrolled Therapeutic Observations in Humans B…               0    38
##  6 IBD: Controlled Clinical Trials in Humans                             0    36
##  7 IBD: Therapeutic Monitoring                                           0    31
##  8 IBD: Practice Management, Quality of Care, Quality Ass…               0    23
##  9 IBD: Quality of Life and Psychosocial Care                            0    23
## 10 IBD: Comparative Effectiveness Studies                                0    21
## 11 IBD: Special Populations, Conception, Adolescent, and …               1    21
## 12 IBD: Adverse Events Related to Therapy                                0    20
## 13 COVID and GI                                                          1    17
## 14 IBD: Diagnostics in IBD                                               0    14
## 15 Diarrheal Disorders: Bacterial Overgrowth - Drug Induc…               1    11
## 16 IBD: Uncontrolled Therapeutic Observations in Humans N…               0    10
## 17 Pediatric IBD: Clinical and Translational Studies                     1     6
## 18 Microbial-Based Therapy                                               1     4
## 19 Health Care Delivery and Policy (Practice Management I…               1     2
## 20 Health Disparities and Global Health                                  1     2

Traditional IMIBD Clinical Session Topics

These are the usual suspects, which are somewhat shaped by the abstract review descriptors we use. But feel free to shake this up, and create hybrids across abstract descriptors. I find it helpful to sort the top abstracts, and just scan the titles, looking for new themes. Completely up to you.

  1. Controlled Clinical Trials in Humans N=36
    (sometimes 2 in a big year. Sometimes hold open 1-2 spots for late breaking abstracts - a bit of a risk, but it often pays off. May pay off more this year with ECCO in July??)
  2. Uncontrolled Therapeutic Observations N = 38 +10
    (pooled from biologic and non-biologic descriptors)
  3. Quality of Life and Psychosocial Care N =23
  4. Comparative Effectiveness Studies N = 21
  5. Natural History, Outcomes, Disease Complications, Adverse Events
    N = 45 + 39 +20
  6. Epidemiology N =44
  7. Therapeutic Monitoring N =31

Note that there are only 7 sessions to work with. Some will be thin this year, and may require some creativity, possibly including the return of “IBD Potpourri”

Depending on the number of abstracts per session, you will need ~ 42-63 abstracts to fill these sessions, on top of the ~ 12 for the clinical plenary, IMIBD plenary, and fill-in abstracts for hybrid sessions.

So, let’s generate a top 80 (willing to do oral, not presented elsewhere, not cross-sectional, and clinical) abstracts by

  1. adjusted score 80
  2. raw score 80, and
  3. A top 6 abstracts per non-cross-sectional abstract subcategory

Top 80 Clinical Abstracts by Adjusted Score

#  best adjusted scores
scores %>% 
  arrange(adj_score) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(clinical == 1) %>% 
  filter(cross_sectional == 0) %>% 
  slice(1:80) %>% 
  writexl::write_xlsx("top80_clinical_adj.xlsx")

Top 80 Clinical Abstracts by Raw Score

#  best raw scores
scores %>% 
  arrange(avg) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(cross_sectional == 0) %>% 
  filter(clinical == 1) %>% 
  slice(1:80) %>% 
  writexl::write_xlsx("top80_clinical_raw.xlsx")

Top 6 Clinical Abstracts by Subcategory

Excluding previous presentations, poster-only, and cross-sectional

#  best raw scores
scores %>% 
  arrange(avg) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(cross_sectional == 0) %>% 
  filter(clinical ==1) %>% 
  group_by(subcat) %>% 
  slice_max(order_by = adj_score , n= 6) %>% 
  relocate(id, subcat, adj_score, avg, title, mention_plenary) %>% 
  writexl::write_xlsx("top6_bysubcat_clinical.xlsx")

Abstracts for oral sessions - Basic

We have to select the following, in order

  1. Abstracts (1-3) for clinical plenary
  2. Abstracts for cross-sectionals
  3. Abstracts (3) for the IMIBD plenary
  4. Abstracts to fill in hybrid sessions (~ 6-8) by topic
  5. Abstracts for remaining 3 basic abstract sessions.
  6. Posters of distinction (top basic that did not fit in an oral session)
  7. Other posters - number allotted to IMIBD determined by DDW, relayed via AGA in Feburary
  8. Rejected abstracts (usually ~ 30%)

The basic abstract sessions typically have 6 abstracts. This can go up to 8 or 9 if you shorten the presentations and there is no question time (when we do this virtually) - up to you. Note that the Cross-sectional topics have already been picked over for the cross-sectional sessions.

  scores %>% 
  filter(basic == 1) %>% 
  select(subcat, cross_sectional) %>% 
  group_by(subcat) %>% 
  mutate(n= n()) %>% 
  distinct(subcat, .keep_all = TRUE) %>% 
  arrange(desc(n))
## # A tibble: 10 x 3
## # Groups:   subcat [10]
##    subcat                                                  cross_sectional     n
##    <chr>                                                             <dbl> <int>
##  1 IBD: Genomics and Gene Function                                       0    22
##  2 IBD: Microbiome Role in Intestinal Inflammation                       1    18
##  3 Animal Models: Pre-Clinical Treatment of Intestinal In…               0    17
##  4 IBD: Cytokines, Signaling and Receptors                               0    15
##  5 Intestinal Inflammation, Fibrosis and Regeneration                    1    15
##  6 Role of the Gut Microbiome and Pathogens in Immune and…               1    14
##  7 IBD: Innate and Adaptive Host Defenses                                0    11
##  8 Mucosal Innate Function and Innate Host Defense: Infla…               0     5
##  9 Non-Immune Cells in Intestinal Inflammation: Epitheliu…               0     5
## 10 Viral, Eukaryote, and Prokaryote Members of the Gut Mi…               0     1

Traditional IMIBD Basic Session Topics

These are the usual suspects, which are somewhat shaped by the abstract review descriptors we use. But feel free to shake this up, and create hybrids across abstract descriptors. I find it helpful to sort the top abstracts, and just scan the titles, looking for new themes. Completely up to you.

One fundamental issue with basic topics in IMIBD is that MMT has cut out the heart of microbiome. We have a handshake agreement that clinical trials in humans with microbiome therapies will go to IMIBD, but anything and everything preclinical goes to MMT. So there is not much left for microbiome in IMIBD.

  1. Genetics in IBD N= 22
  2. Immunity - Cytokines, Innate, Host - N = 15 + 11 + 5
  3. Microbiome in IBD N = 18 + 14 - both CS, so picked over
  4. Animal Models N=17

Note that there are only 3-4 sessions to work with. Some will be thin this year, and may require some creativity, possibly including the return of “IBD Potpourri”

Depending on the number of abstracts per session, you will need ~ 21-27 abstracts to fill these sessions, on top of the ~ 12 for the clinical plenary, IMIBD plenary, and fill-in abstracts for hybrid sessions.

So, let’s generate a top 50 (willing to do oral, not presented elsewhere, not cross-sectional, and clinical) abstracts by

  1. adjusted score 50
  2. raw score 50, and
  3. A top 6 abstracts per non-cross-sectional abstract subcategory

Top 50 Basic Abstracts by Adjusted Score

#  best adjusted scores
scores %>% 
  arrange(adj_score) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(basic == 1) %>% 
  filter(cross_sectional == 0) %>% 
  slice(1:50) %>% 
  relocate(id, adj_score, avg, cross_sectional, title, presenter) %>% 
  writexl::write_xlsx("top50_basic_adj.xlsx")

Top 50 Basic Abstracts by Raw Score

#  best raw scores
scores %>% 
  arrange(avg) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(cross_sectional == 0) %>% 
  filter(basic == 1) %>% 
  slice(1:50) %>% 
  writexl::write_xlsx("top50_basic_raw.xlsx")

Top 6 Basic Abstracts by Subcategory

Excluding previous presentations, poster-only, and cross-sectional

#  best raw scores
scores %>% 
  arrange(avg) %>% 
  filter(previous_presentation_or_submission_y_n == "AGA Previous Presentation No") %>% 
  filter(type == "AGA Institute Oral or Poster") %>% 
  filter(basic ==1) %>% 
  group_by(subcat) %>% 
  slice_max(order_by = adj_score , n= 6) %>% 
  relocate(id, subcat, adj_score, avg, title, mention_plenary) %>% 
  writexl::write_xlsx("top6_bysubcat_basic.xlsx")