# Program Name: tsflab07# Prep Environmentlibrary(envsetup)library(tern)library(dplyr)library(rtables)library(junco)# Define script level parameters:tblid <-"TSFLAB07"fileid <- tblidtitles <-get_titles_from_file(input_path ='../../_data/', tblid)string_map <- default_str_mapad_domain <-"ADLB"popfl <-"SAFFL"trtvar <-"TRT01A"ctrl_grp <-"Placebo"# Initial processing of dataadlb_complete <- pharmaverseadamjnj::adlb# Process Data:adsl <- pharmaverseadamjnj::adsl %>%filter(.data[[popfl]] =="Y") %>%select(STUDYID, USUBJID, all_of(c(popfl, trtvar)))adsl <- adsl %>%mutate(colspan_trt =factor(ifelse(.data[[trtvar]] == ctrl_grp, " ", "Active Study Agent"),levels =c("Active Study Agent", " ") ) )## to ensure the same order as on other outputstrt_order <-as.character((unique( adsl %>%select("colspan_trt", all_of(trtvar))) %>%arrange(colspan_trt, .data[[trtvar]]))[[trtvar]])adsl[[trtvar]] <-factor(as.character(adsl[[trtvar]]), levels = trt_order)availparcat56 <-c("Blood and lymphatic system disorders","Investigations","Metabolism and nutritional disorders","Renal and urinary disorders")flagvars <-c("ONTRTFL", "TRTEMFL", "LVOTFL", "ABLFL")adlb00 <- adlb_complete %>%filter(!is.na(ATOXGR)) %>%filter(!is.na(BTOXGR)) %>%select( USUBJID, AVISITN, AVISIT, PARAMCD, PARAM, PARAMN, PARCAT1, PARCAT3, PARCAT5, PARCAT6,starts_with("ATOX"),starts_with("BTOX"),starts_with("ANL"),all_of(flagvars), LBSEQ, AVAL, AVALC ) %>%inner_join(adsl) %>%relocate( ., USUBJID, ANL04FL, ANL05FL, ONTRTFL, TRTEMFL, AVISIT, ATOXGRL, ATOXGRH, ATOXDSCL, ATOXDSCH, ABLFL, BTOXGRL, BTOXGRH, PARAMCD, PARCAT3, AVISIT, AVAL )adlb00 <-var_relabel_list(adlb00, var_labels(adlb_complete, fill = T))filtered_adlb <- adlb00## similar to LAB03: separate low and high and then combine## esp as for 2 tests PARCAT5/6 is not the same for low/high directionfiltered_adlb_low <- filtered_adlb %>%filter(!is.na(ATOXDSCL) &!is.na(ATOXGRL)) %>%mutate(ATOXDSCLH = ATOXDSCL,ATOXGRLH = ATOXGRL,BTOXGRLH = BTOXGRL,ATOXDIR ="LOW",ANL045FL = ANL04FL ) %>%select(-c(ATOXGRL, ATOXGRH, ATOXDSCL, ATOXDSCH, BTOXGRL, BTOXGRH))### high grades: ATOXDSCH ATOXGRH ANL05FLfiltered_adlb_high <- filtered_adlb %>%filter(!is.na(ATOXDSCH) &!is.na(ATOXGRH)) %>%mutate(ATOXDSCLH = ATOXDSCH,ATOXGRLH = ATOXGRH,BTOXGRLH = BTOXGRH,ATOXDIR ="HIGH",ANL045FL = ANL05FL ) %>%select(-c(ATOXGRL, ATOXGRH, ATOXDSCL, ATOXDSCH, BTOXGRL, BTOXGRH))## combine Low and high into adlb_toxfiltered_adlb_tox <-bind_rows( filtered_adlb_low, filtered_adlb_high ) %>%select(-c(ATOXGR, ATOXGRN)) %>%inner_join(adsl)### correction of proper category (PARCAT56) for HGB (LOW) and WBC (HIGH)filtered_adlb_tox <- filtered_adlb_tox %>%mutate(PARCAT56 =case_when( PARAMCD =="HGB"& ATOXDIR =="LOW"~ PARCAT6, PARAMCD =="WBC"& ATOXDIR =="HIGH"~ PARCAT6,TRUE~ PARCAT5 ) ) %>%mutate(PARCAT56 =factor( PARCAT56,levels =unique(c("Blood and lymphatic system disorders",levels(adlb_complete$PARCAT5) )) ) )### filter for timepoints (either per visit or worst over a time period (overall,period,phase,...))## here: use worst overall: ANL04FL/ANL05FL --- ANL045FL## if worst per period/phase:use ANL07/8 and ANL9/10 --- and ensure to create a combined version ANL078FL, ANL0910FL in the above codefiltered_adlb_tox <- filtered_adlb_tox %>%filter(ANL045FL =="Y")## add the word Grade to ATOXGRLH,BTOXGRLH, For BTOXGRLH add an extra level (for display purpose)filtered_adlb_tox <- filtered_adlb_tox %>%mutate(ATOXGRLH =factor(paste("Grade", ATOXGRLH), levels =paste("Grade", 0:4)),BTOXGRLH =factor(paste("Grade", BTOXGRLH),levels =c("N", paste("Grade", 0:4)) ) )## trick for alt_counts_df to work with col splitting# add BNRIND to adsl, all assign to extra level N (column will be used for N counts)adsl <- adsl %>%mutate(BTOXGRLH ="N") %>%mutate(BTOXGRLH =factor(BTOXGRLH, levels =c("N", paste("Grade", 0:4))))## add variable for column split headerfiltered_adlb_tox$BTOXGRLH_header <-"Baseline Toxicity Grade"adsl$BTOXGRLH_header <-"Baseline Toxicity Grade"filtered_adlb_tox$BTOXGRLH_header2 <-" "## first column N should not appear under Baseline column spanadsl$BTOXGRLH_header2 <-" "## first column N should not appear under Baseline column span### Alphabetical sorting of toxicity termsatoxdsclh_levels <-sort(as.character(unique(filtered_adlb_tox$ATOXDSCLH)))filtered_adlb_tox <- filtered_adlb_tox %>%mutate(ATOXDSCLH =factor(as.character(ATOXDSCLH), levels = atoxdsclh_levels))check_categories <-unique( filtered_adlb_tox %>%select(PARCAT3, PARCAT56, ATOXDSCLH)) %>%arrange(PARCAT3, PARCAT56, ATOXDSCLH)# Define layout and build table:lyt <-basic_table(show_colcounts =FALSE) %>%## to ensure N column is not under the Baseline column span headersplit_cols_by("BTOXGRLH_header2") %>%split_cols_by("BTOXGRLH", split_fun =keep_split_levels("N")) %>%split_cols_by("BTOXGRLH_header", nested =FALSE) %>%split_cols_by("BTOXGRLH",split_fun =make_split_fun(pre =list(rm_levels(excl ="N")),post =list(add_overall_facet("TOTAL", "Total")) ) ) %>%#### replace split_rows and summarize by single analyze call### a_freq_j only works due to### special arguments can do the trick : denomf = adslx & .stats = count_unique### we want counts of treatment group coming from adsl, not from input dataset, therefor, countsource = altdfanalyze(vars = trtvar,afun = a_freq_j,extra_args =list(restr_columns ="N",.stats ="count_unique",countsource ="altdf",extrablankline =TRUE ),indent_mod =-1L ) %>%## main part of table, restart row-split so nested = FALSEsplit_rows_by("PARCAT56",nested =FALSE,label_pos ="topleft",child_labels ="visible",split_label ="NCI-CTCAE Category",split_fun = drop_split_levels,section_div =" " ) %>%split_rows_by("ATOXDSCLH",label_pos ="topleft",child_labels ="visible",split_label ="Laboratory Test",split_fun = drop_split_levels,section_div =" " ) %>%split_rows_by( trtvar,label_pos ="hidden",split_label ="Treatment Group",section_div =" " ) %>%### a_freq_j### the special statistic "n_rowdf" option does the trick here of getting the proper value for the N columnsummarize_row_groups( trtvar,cfun = a_freq_j,extra_args =list(.stats ="n_rowdf",restr_columns =c("N") ), ) %>%## add extra level TOTAL using new_levels, rather than earlier technique## advantage for denominator derivation -- n_rowdf can be used, if we'd like to present fraction as well## switch .stats to count_unique_denom_fraction or count_unique_fractionanalyze("ATOXGRLH",var_labels ="Worst toxicity grade, n",show_labels ="visible",indent_mod =1L,afun = a_freq_j,extra_args =list(.stats ="count_unique",denom ="n_rowdf",new_levels =list(c("Total"),list(c("Grade 0", "Grade 1", "Grade 2", "Grade 3", "Grade 4")) ),new_levels_after =TRUE,.indent_mods =1L,restr_columns =c(c("GRADE 0", "GRADE 1", "GRADE 2", "GRADE 3", "GRADE 4", "TOTAL") ) ) )if (nrow(filtered_adlb_tox) >0) { result <-build_table(lyt, filtered_adlb_tox, alt_counts_df = adsl)} else { result <-NULL}# Set titleresult <-set_titles(result, titles)# Convert to tbl file and output tablett_to_tlgrtf(string_map = string_map, tt = result, file = fileid, orientation ="landscape")
TSFLAB07:Shift in Laboratory Values From Baseline to Worst Grade [During Time Period] Based on NCI-CTCAE Criteria; Safety Analysis Set (Study jjcs - core)
NCI-CTCAE Category
Baseline Toxicity Grade
Laboratory Test
N
Grade 0
Grade 1
Grade 2
Grade 3
Grade 4
Total
Xanomeline High Dose
53
Xanomeline Low Dose
73
Placebo
59
Blood and lymphatic system disorders
Leukocytosis
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
73
0
0
0
0
73
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
59
0
0
0
0
59
Investigations
Alanine aminotransferase increased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
49
4
0
0
0
53
Grade 1
5
4
0
0
0
9
Grade 2
1
0
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
49
4
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
70
1
0
0
0
71
Grade 1
7
3
0
0
0
10
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
70
3
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
57
2
0
0
0
59
Grade 1
0
2
0
0
0
2
Grade 2
1
0
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
57
2
0
0
0
59
Alkaline phosphatase increased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
4
0
0
0
0
4
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
70
1
0
0
0
71
Grade 1
3
3
0
0
0
6
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
70
3
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
4
0
0
0
0
4
Grade 2
1
0
0
0
0
1
Grade 3
1
0
0
0
0
1
Grade 4
0
0
0
0
0
0
Total
59
0
0
0
0
59
Aspartate aminotransferase increased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
50
3
0
0
0
53
Grade 1
4
3
0
0
0
7
Grade 2
1
0
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
50
3
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
66
4
0
0
0
70
Grade 1
6
7
0
0
0
13
Grade 2
0
1
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
66
7
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
57
2
0
0
0
59
Grade 1
4
2
0
0
0
6
Grade 2
1
0
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
57
2
0
0
0
59
Blood bilirubin increased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
51
1
1
0
0
53
Grade 1
1
1
1
0
0
3
Grade 2
0
1
1
0
0
2
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
51
1
1
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
70
3
0
0
0
73
Grade 1
1
3
0
0
0
4
Grade 2
0
1
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
70
3
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
3
0
0
0
0
3
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
59
0
0
0
0
59
Cholesterol high
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
51
0
2
0
0
53
Grade 1
3
0
0
0
0
3
Grade 2
0
0
2
0
0
2
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
51
0
2
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
73
0
0
0
0
73
Grade 1
1
0
0
0
0
1
Grade 2
2
0
0
0
0
2
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
57
0
1
0
0
58
Grade 1
1
0
0
0
0
1
Grade 2
1
0
2
0
0
3
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
57
0
2
0
0
59
Creatinine increased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
49
1
0
0
0
50
Grade 1
42
4
0
0
0
46
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
49
4
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
68
2
0
0
0
70
Grade 1
41
5
0
0
0
46
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
68
5
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
58
1
0
0
0
59
Grade 1
40
1
0
0
0
41
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
58
1
0
0
0
59
Platelet count decreased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
52
1
0
0
0
53
Grade 1
43
1
0
0
0
44
Grade 2
38
0
0
0
0
38
Grade 3
10
0
0
0
0
10
Grade 4
3
0
0
0
0
3
Total
52
1
0
0
0
53
Xanomeline Low Dose
72
Worst toxicity grade, n
Grade 0
67
2
0
0
0
69
Grade 1
48
1
0
0
0
49
Grade 2
35
1
0
0
0
36
Grade 3
25
0
0
0
0
25
Grade 4
1
0
0
0
0
1
Total
70
2
0
0
0
72
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
52
0
0
0
0
52
Grade 2
37
0
0
0
0
37
Grade 3
22
0
0
0
0
22
Grade 4
1
0
0
0
0
1
Total
59
0
0
0
0
59
White blood cell decreased
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
45
0
0
0
0
45
Grade 2
33
0
0
0
0
33
Grade 3
18
0
0
0
0
18
Grade 4
1
0
0
0
0
1
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
67
3
0
0
0
70
Grade 1
50
3
0
0
0
53
Grade 2
32
1
0
0
0
33
Grade 3
21
0
0
0
0
21
Grade 4
1
0
0
0
0
1
Total
70
3
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
52
0
0
0
0
52
Grade 2
42
0
0
0
0
42
Grade 3
21
0
0
0
0
21
Grade 4
4
0
0
0
0
4
Total
59
0
0
0
0
59
Metabolism and nutritional disorders
CD4 lymphocytes decreased
Xanomeline High Dose
51
Worst toxicity grade, n
Grade 0
51
0
0
0
0
51
Grade 1
47
0
0
0
0
47
Grade 2
28
0
0
0
0
28
Grade 3
15
0
0
0
0
15
Grade 4
6
0
0
0
0
6
Total
51
0
0
0
0
51
Xanomeline Low Dose
72
Worst toxicity grade, n
Grade 0
66
2
0
0
0
68
Grade 1
46
1
0
0
0
47
Grade 2
37
0
0
0
0
37
Grade 3
18
0
0
0
0
18
Grade 4
3
1
0
0
0
4
Total
70
2
0
0
0
72
Placebo
57
Worst toxicity grade, n
Grade 0
56
1
0
0
0
57
Grade 1
48
1
0
0
0
49
Grade 2
43
1
0
0
0
44
Grade 3
27
0
0
0
0
27
Grade 4
3
0
0
0
0
3
Total
56
1
0
0
0
57
Hyperglycemia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
6
0
0
0
0
6
Grade 4
0
0
0
0
0
0
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
73
0
0
0
0
73
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
1
0
0
0
0
1
Grade 4
0
0
0
0
0
0
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
1
0
0
0
0
1
Grade 4
0
0
0
0
0
0
Total
59
0
0
0
0
59
Hyperkalemia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
1
0
0
0
0
1
Grade 2
1
0
0
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
73
0
0
0
0
73
Grade 1
0
0
0
0
0
0
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
58
0
1
0
0
59
Grade 1
0
0
1
0
0
1
Grade 2
0
0
1
0
0
1
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
58
0
1
0
0
59
Hypernatremia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
51
2
0
0
0
53
Grade 1
5
2
0
0
0
7
Grade 2
2
0
0
0
0
2
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
51
2
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
73
0
0
0
0
73
Grade 1
6
0
0
0
0
6
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
56
3
0
0
0
59
Grade 1
7
3
0
0
0
10
Grade 2
0
0
0
0
0
0
Grade 3
0
0
0
0
0
0
Grade 4
0
0
0
0
0
0
Total
56
3
0
0
0
59
Hypoalbuminemia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
48
0
0
0
0
48
Grade 2
34
0
0
0
0
34
Grade 3
23
0
0
0
0
23
Grade 4
2
0
0
0
0
2
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
69
2
0
0
0
71
Grade 1
50
2
0
0
0
52
Grade 2
41
0
0
0
0
41
Grade 3
19
0
0
0
0
19
Grade 4
2
0
0
0
0
2
Total
71
2
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
59
0
0
0
0
59
Grade 1
49
0
0
0
0
49
Grade 2
40
0
0
0
0
40
Grade 3
21
0
0
0
0
21
Grade 4
3
0
0
0
0
3
Total
59
0
0
0
0
59
Hypoglycemia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
41
0
0
0
0
41
Grade 2
38
0
0
0
0
38
Grade 3
21
0
0
0
0
21
Grade 4
5
0
0
0
0
5
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
69
0
1
0
0
70
Grade 1
50
0
0
0
0
50
Grade 2
35
0
0
0
0
35
Grade 3
25
0
0
0
0
25
Grade 4
2
0
0
0
0
2
Total
71
0
1
0
0
72
Placebo
59
Worst toxicity grade, n
Grade 0
58
0
0
0
0
58
Grade 1
55
0
0
0
0
55
Grade 2
37
0
0
0
0
37
Grade 3
23
0
0
0
0
23
Grade 4
3
0
0
0
0
3
Total
59
0
0
0
0
59
Hypokalemia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
45
0
0
0
0
45
Grade 2
38
0
0
0
0
38
Grade 3
25
0
0
0
0
25
Grade 4
5
0
0
0
0
5
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
71
0
0
0
0
71
Grade 1
49
0
0
0
0
49
Grade 2
38
0
0
0
0
38
Grade 3
23
0
0
0
0
23
Grade 4
6
0
0
0
0
6
Total
73
0
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
57
0
0
0
0
57
Grade 1
51
0
0
0
0
51
Grade 2
38
0
0
0
0
38
Grade 3
28
0
0
0
0
28
Grade 4
4
0
0
0
0
4
Total
59
0
0
0
0
59
Hyponatremia
Xanomeline High Dose
53
Worst toxicity grade, n
Grade 0
53
0
0
0
0
53
Grade 1
47
0
0
0
0
47
Grade 2
36
0
0
0
0
36
Grade 3
21
0
0
0
0
21
Grade 4
5
0
0
0
0
5
Total
53
0
0
0
0
53
Xanomeline Low Dose
73
Worst toxicity grade, n
Grade 0
64
2
0
0
0
66
Grade 1
52
1
0
0
0
53
Grade 2
36
1
0
0
0
37
Grade 3
28
0
0
0
0
28
Grade 4
1
0
0
0
0
1
Total
71
2
0
0
0
73
Placebo
59
Worst toxicity grade, n
Grade 0
58
1
0
0
0
59
Grade 1
50
1
0
0
0
51
Grade 2
39
1
0
0
0
40
Grade 3
25
0
0
0
0
25
Grade 4
0
0
0
0
0
0
Total
58
1
0
0
0
59
Note: N is the number of subjects with non-missing values for the specific lab test at baseline and at least 1 postbaseline visit within the time period.
Note: NCI-CTCAE grades (version 5.0.) are based on the laboratory result and do not take into account the clinical component, if applicable.