Skip to content

Restore behavior of tm_t_abnormality_by_wrong as it was before migration#1539

Merged
averissimo merged 4 commits into
279-interactive_variables@mainfrom
fix-tm_abnormaliry@279-interactive_variables@main
Jun 26, 2026
Merged

Restore behavior of tm_t_abnormality_by_wrong as it was before migration#1539
averissimo merged 4 commits into
279-interactive_variables@mainfrom
fix-tm_abnormaliry@279-interactive_variables@main

Conversation

@osenan

@osenan osenan commented May 31, 2026

Copy link
Copy Markdown
Contributor

Pull Request

It fixes this comment here. We had slightly changed the behavior of the module after the migration. This PR keeps the use of teal.picks::values but allowing to use multiple worst flag indicators.

Test it with the example on the module:

devtools::load_all()
data <- teal_data()
 data <- within(data, {
   ADSL <- teal.modules.clinical::tmc_ex_adsl
   ADLB <- teal.modules.clinical::tmc_ex_adlb %>%
     dplyr::filter(!AVISIT %in% c("SCREENING", "BASELINE"))
 })
 join_keys(data) <- default_cdisc_join_keys[names(data)]

 ADSL <- data[["ADSL"]]
 ADLB <- data[["ADLB"]]

 app <- init(
   data = data,
   modules = modules(
     tm_t_abnormality_by_worst_grade(
       label = "Laboratory Test Results with Highest Grade Post-Baseline",
       dataname = "ADLB",
       arm_var = choices_selected(
         choices = variable_choices(ADSL, subset = c("ARM", "ARMCD")),
         selected = "ARM"
       ),
       paramcd = choices_selected(
         choices = value_choices(ADLB, "PARAMCD", "PARAM"),
         selected = c("ALT", "CRP", "IGA")
       ),
       worst_flag_indicator = teal.transform::choices_selected(c("Y", "N")),
       add_total = FALSE
     )
   ),
   filter = teal_slices(
     teal_slice("ADSL", "SAFFL", selected = "Y"),
     teal_slice("ADLB", "ONTRTFL", selected = "Y")
   )
 )
 if (interactive()) {
   shinyApp(app$ui, app$server)
 }

You should see the module working and two options available.
Note: If you select "N" as worst flag indicator it will fail to compute the table. (It says it is computing and it never finishes). But it also happens in the example module before migration, that allowed multiple values and the "N" just does not work. It needs the right data that can allow multiple correct worst flag indicator. But the example proves that the multiple values are in the UI and used by the module.

@osenan
osenan requested a review from a team May 31, 2026 23:08
@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

Unit Tests Summary

  1 files  ±    0   74 suites  ±0   4m 30s ⏱️ - 1h 56m 8s
755 tests  -    40  222 ✅  -   566  533 💤 +526  0 ❌ ±0 
970 runs   - 1 631  437 ✅  - 2 157  533 💤 +526  0 ❌ ±0 

Results for commit 9bd2e66. ± Comparison against base commit d3632cc.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

Unit Test Performance Difference

Test Suite $Status$ Time on main $±Time$ $±Tests$ $±Skipped$ $±Failures$ $±Errors$
shinytest2-teal_picks_playground 👶 $+0.04$ $+3$ $+3$ $0$ $0$
shinytest2-tm_g_pp_therapy 💚 $328.41$ $-328.10$ $-36$ $+23$ $0$ $0$
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.11$ $+108.70$ $+17$ $-8$ $0$ $0$
shinytest2-tm_t_binary_outcome 💔 $0.15$ $+128.20$ $+27$ $-10$ $0$ $0$
shinytest2-tm_t_pp_laboratory 👶 $+0.21$ $+16$ $+16$ $0$ $0$
tm_t_pp_laboratory 👶 $+14.70$ $+10$ $0$ $0$ $0$
utils_picks 👶 $+0.32$ $+57$ $0$ $0$ $0$
Additional test case details
Test Suite $Status$ Time on main $±Time$ Test Case
examples 👶 $+0.06$ example_arm_bucket_values.Rd
examples 👶 $+0.04$ example_arm_ref_comp_buckets_validator.Rd
examples 👶 $+0.01$ example_arm_ref_comp_observer_picks.Rd
examples 👶 $+0.01$ example_paramcd_title_from_anl.Rd
shinytest2-teal_picks_playground 👶 $+0.02$ e2e_teal_picks_playground_app_starts_without_Shiny_errors.
shinytest2-teal_picks_playground 👶 $+0.01$ e2e_teal_picks_playground_get_teal_picks_slot_reads_datasets_variables.
shinytest2-teal_picks_playground 👶 $+0.01$ e2e_teal_picks_playground_set_teal_picks_slot_updates_arm_var_variables.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Click_on_fit_model_shows_table_for_default_selection
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Click_on_fit_model_shows_table_for_default_selection.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Deselection
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_arm_var_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_aval_var_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Deselection_of_conf_level_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_id_var_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_of_visit_var_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Deselection_paramcd_throws_validation_error_in_method_t_mmrm_lsmeans.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Function_g_mmrm_diagnostic_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_plots
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Function_g_mmrm_diagnostic_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_plots.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Function_g_mmrm_lsmeans_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_plots
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Function_g_mmrm_lsmeans_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_plots.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Function_t_mmrm_lsmeans_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_tables
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Function_t_mmrm_lsmeans_selection_shows_output_settings_changing_settings_throws_no_validation_errors_and_verify_visibility_of_generated_tables.
shinytest2-tm_a_mmrm 👶 $+0.02$ e2e_tm_a_mmrm_Module_initializes_in_teal_without_errors_and_displays_a_message_to_click_Fit_Model_
shinytest2-tm_a_mmrm 💀 $0.02$ $-0.02$ e2e_tm_a_mmrm_Module_initializes_in_teal_without_errors_and_displays_a_message_to_click_Fit_Model_.
shinytest2-tm_a_mmrm 👶 $+0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_g_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_g_mmrm_lsmeans.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_t_mmrm_cov.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_t_mmrm_diagnostic.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_t_mmrm_fixed.
shinytest2-tm_a_mmrm 💀 $0.01$ $-0.01$ e2e_tm_a_mmrm_Validate_output_on_different_selection_on_method_t_mmrm_lsmeans.
shinytest2-tm_g_barchart_simple 👶 $+0.01$ e2e_tm_g_barchart_simple_Starts_with_specified_label_and_default_encoding_selections.
shinytest2-tm_g_barchart_simple 💀 $0.01$ $-0.01$ e2e_tm_g_barchart_simple_Starts_with_specified_label_id_var_arm_var_visit_var_paramcd_cov_var_conf_level_and_conf_struct.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Changing_confidence_level_updates_plot.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Changing_statistic_updates_plot.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Deselecting_AVISIT_filter_shows_validation_error.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Deselecting_AVISIT_filter_value_throws_validation_error.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Deselecting_PARAMCD_filter_shows_validation_error.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Deselecting_PARAMCD_filter_value_throws_validation_error.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Deselecting_color_column_changes_plot_output_and_doesn_t_throw_validation_error.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Deselecting_color_column_shows_validation_error.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Deselecting_x_var_column_shows_validation_error.
shinytest2-tm_g_ci 💀 $0.02$ $-0.02$ e2e_tm_g_ci_Deselecting_x_var_column_throws_validation_error.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Deselecting_y_var_column_shows_validation_error.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Deselecting_y_var_column_throws_validation_error.
shinytest2-tm_g_ci 👶 $+0.02$ e2e_tm_g_ci_Module_initializes_and_produces_plot_output.
shinytest2-tm_g_ci 💀 $0.02$ $-0.02$ e2e_tm_g_ci_Module_initializes_in_teal_without_errors_and_produces_plot_output.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Module_initializes_with_specified_label_x_var_y_var_ADLB_filters_color_conf_level_and_stat.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Module_matches_label_picks_exports_conf_level_and_stat.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_AVISIT_filter_value_doesn_t_throw_validation_errors.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Selecting_AVISIT_filter_value_updates_plot.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_PARAMCD_filter_value_changes_plot_and_doesn_t_throw_validation_errors.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Selecting_PARAMCD_filter_value_updates_plot.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_color_column_changes_plot_output_and_doesn_t_throw_validation_errors.
shinytest2-tm_g_ci 👶 $+0.02$ e2e_tm_g_ci_Selecting_color_column_updates_plot.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_confidence_interval_value_changes_plot_and_doesn_t_throw_any_errors.
shinytest2-tm_g_ci 💀 $0.02$ $-0.02$ e2e_tm_g_ci_Selecting_statistic_to_use_changes_a_plot_and_doesn_t_throw_any_errors.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_x_var_column_changes_plot_and_doesn_t_throw_validation_errors.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Selecting_x_var_column_updates_plot.
shinytest2-tm_g_ci 💀 $0.01$ $-0.01$ e2e_tm_g_ci_Selecting_y_var_column_changes_plot_and_doesn_t_throw_validation_errors.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Selecting_y_var_column_updates_plot.
shinytest2-tm_g_ci 👶 $+0.01$ e2e_tm_g_ci_Uses_PARAMCD_and_AVISIT_module_arguments_in_picks_mode.
shinytest2-tm_g_forest_rsp 💀 $0.01$ $-0.01$ e2e_tm_g_forest_rsp_Deselecting_conf_level_or_selecting_outside_the_range_of_0_1_throws_validation_error.
shinytest2-tm_g_forest_rsp 👶 $+0.01$ e2e_tm_g_forest_rsp_Deselecting_conf_level_throws_validation_error.
shinytest2-tm_g_forest_rsp 👶 $+0.01$ e2e_tm_g_forest_rsp_Selecting_conf_level_outside_range_0_1_throws_validation_error.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Deselecting_strata_var_changes_plot_and_does_not_throw_validation_errors.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Deselecting_subgroup_var_changes_plot_and_does_not_throw_validation_errors.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Deselection_of_arm_var_throws_validation_error.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Deselection_of_conf_level_throws_validation_error.
shinytest2-tm_g_forest_tte 💀 $0.02$ $-0.02$ e2e_tm_g_forest_tte_Deselection_of_paramcd_var_throws_validation_error.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Selecting_a_non_factor_column_in_subgroup_var_throws_validation_error.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Selecting_conf_level_outside_range_0_1_throws_validation_error.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Selection_of_strata_var_changes_the_element_and_does_not_throw_validation_errors.
shinytest2-tm_g_forest_tte 👶 $+0.01$ e2e_tm_g_forest_tte_Selection_of_subgroup_var_changes_the_element_and_does_not_throw_validation_errors.
shinytest2-tm_g_km 💀 $0.01$ $-0.01$ e2e_tm_g_km_Changing_facet_var_changes_the_plot_without_errors.
shinytest2-tm_g_km 👶 $+0.01$ e2e_tm_g_km_Changing_facet_var_updates_the_encoding_without_errors.
shinytest2-tm_g_lineplot 💀 $0.01$ $-0.01$ e2e_tm_g_lineplot_Deselecting_param_throws_validation_error.
shinytest2-tm_g_lineplot 👶 $+0.02$ e2e_tm_g_lineplot_Deselecting_paramcd_throws_validation_error.
shinytest2-tm_g_lineplot 💀 $0.01$ $-0.01$ e2e_tm_g_lineplot_Starts_with_specified_label_param_group_var_y_x_mid_interval_incl_screen_plot_settings_and_table_settings.
shinytest2-tm_g_lineplot 👶 $+0.01$ e2e_tm_g_lineplot_Starts_with_specified_label_paramcd_group_var_y_x_mid_interval_incl_screen_plot_settings_and_table_settings.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aerelday_end_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.02$ $-0.02$ e2e_tm_g_pp_patient_timeline_Deselecting_aerelday_end_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aerelday_start_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aerelday_start_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aetime_end_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aetime_end_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aetime_start_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_aetime_start_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dsrelday_end_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dsrelday_end_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dsrelday_start_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dsrelday_start_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dstime_end_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dstime_end_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dstime_start_changes_plot_and_doesn_t_throw_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Deselecting_dstime_start_throws_validation_error.
shinytest2-tm_g_pp_patient_timeline 💀 $0.01$ $-0.01$ e2e_tm_g_pp_patient_timeline_Starts_with_specified_label_patient_id_cmdecod_aeterm_aetime_start_aetime_end_dstime_start_dstime_end_aerelday_start_aerelday_end_dsrelday_start_dsrelday_en.
shinytest2-tm_g_pp_patient_timeline 👶 $+0.01$ e2e_tm_g_pp_patient_timeline_Starts_with_specified_label_patient_id_cmdecod_aeterm_aetime_start_aetime_end_dstime_start_dstime_end_aerelday_start_aerelday_end_dsrelday_start_dsrelday_end.
shinytest2-tm_g_pp_therapy 💚 $14.40$ $-14.39$ e2e_tm_g_pp_therapy_Changing_font_size_changes_the_plot_and_does_not_throw_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $13.52$ $-13.51$ e2e_tm_g_pp_therapy_Deselection_of_atirel_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.46$ $-13.45$ e2e_tm_g_pp_therapy_Deselection_of_cmdecod_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.38$ $-13.36$ e2e_tm_g_pp_therapy_Deselection_of_cmdose_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.60$ $-13.59$ e2e_tm_g_pp_therapy_Deselection_of_cmdosfrq_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.55$ $-13.54$ e2e_tm_g_pp_therapy_Deselection_of_cmdosu_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $14.32$ $-14.31$ e2e_tm_g_pp_therapy_Deselection_of_cmendy_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.35$ $-13.34$ e2e_tm_g_pp_therapy_Deselection_of_cmindc_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.50$ $-13.49$ e2e_tm_g_pp_therapy_Deselection_of_cmroute_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.26$ $-13.24$ e2e_tm_g_pp_therapy_Deselection_of_cmstdy_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $13.28$ $-13.27$ e2e_tm_g_pp_therapy_Deselection_of_patient_id_throws_validation_error.
shinytest2-tm_g_pp_therapy 💚 $18.35$ $-18.34$ e2e_tm_g_pp_therapy_Module_initializes_in_teal_without_errors_and_produces_output.
shinytest2-tm_g_pp_therapy 💚 $14.69$ $-14.68$ e2e_tm_g_pp_therapy_Selection_of_atirel_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.92$ $-14.91$ e2e_tm_g_pp_therapy_Selection_of_cmdecod_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.71$ $-14.70$ e2e_tm_g_pp_therapy_Selection_of_cmdose_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.50$ $-14.49$ e2e_tm_g_pp_therapy_Selection_of_cmdosfrq_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.82$ $-14.81$ e2e_tm_g_pp_therapy_Selection_of_cmdosu_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.91$ $-14.90$ e2e_tm_g_pp_therapy_Selection_of_cmendy_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.47$ $-14.45$ e2e_tm_g_pp_therapy_Selection_of_cmindc_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.74$ $-14.72$ e2e_tm_g_pp_therapy_Selection_of_cmroute_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.71$ $-14.69$ e2e_tm_g_pp_therapy_Selection_of_cmstdy_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💚 $14.73$ $-14.72$ e2e_tm_g_pp_therapy_Selection_of_patient_id_changes_the_plot_and_table_without_any_validation_errors.
shinytest2-tm_g_pp_therapy 💀 $13.22$ $-13.22$ e2e_tm_g_pp_therapy_Starts_with_specified_label_paramcd_arm_var_buckets_paramcd_subgroup_var_strata_var_and_plot_settings.
shinytest2-tm_g_pp_therapy 👶 $+0.01$ e2e_tm_g_pp_therapy_Starts_with_specified_label_patient_id_atirel_cmdecod_cmindc_cmdose_cmtrt_cmdosu_cmroute_cmdosfrq_cmstdy_cmendy_and_plot_settings.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+13.02$ e2e_tm_t_abnormality_by_worst_grade_Changing_add_total_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+13.00$ e2e_tm_t_abnormality_by_worst_grade_Changing_drop_arm_levels_does_not_change_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+13.59$ e2e_tm_t_abnormality_by_worst_grade_Deselection_of_arm_var_throws_validation_error.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+13.36$ e2e_tm_t_abnormality_by_worst_grade_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.02$ $+15.14$ e2e_tm_t_abnormality_by_worst_grade_Module_initializes_in_teal_without_errors_and_produces_table_output.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+14.32$ e2e_tm_t_abnormality_by_worst_grade_Selecting_arm_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+14.17$ e2e_tm_t_abnormality_by_worst_grade_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_abnormality_by_worst_grade 💔 $0.01$ $+12.10$ e2e_tm_t_abnormality_by_worst_grade_Starts_with_specified_label_arm_var_paramcd_id_var_atoxgr_var_worst_high_flag_var_worst_low_flag_var_worst_flag_indicator_add_total_drop_arm_levels.
shinytest2-tm_t_binary_outcome 💔 $0.02$ $+12.92$ e2e_tm_t_binary_outcome_Deselection_of_arm_var_throws_validation_error.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+12.85$ e2e_tm_t_binary_outcome_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+11.52$ e2e_tm_t_binary_outcome_Deselection_of_responders_throws_validation_error.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+13.09$ e2e_tm_t_binary_outcome_Deselection_of_strata_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_binary_outcome 💔 $0.02$ $+13.19$ e2e_tm_t_binary_outcome_Module_initializes_in_teal_without_errors_and_produces_table_output.
shinytest2-tm_t_binary_outcome 💔 $0.02$ $+13.56$ e2e_tm_t_binary_outcome_Selecting_arm_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+13.50$ e2e_tm_t_binary_outcome_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+12.19$ e2e_tm_t_binary_outcome_Selecting_responders_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+13.46$ e2e_tm_t_binary_outcome_Selecting_strata_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_binary_outcome 💔 $0.01$ $+11.90$ e2e_tm_t_binary_outcome_Starts_with_specified_label_paramcd_responders_arm_var_buckets_u_diff_ci_u_diff_test_strata_var_s_diff_ci_prop_ci_method_conf_level_aval_var_compare_arms_combine_comp_arms_u_odds_ratio_show_rsp_cat.
shinytest2-tm_t_coxreg 👶 $+0.01$ e2e_tm_t_coxreg_Deselection_of_all_covariates_clears_the_table_and_surfaces_a_validation_error_from_the_analysis_pipeline.
shinytest2-tm_t_coxreg 💀 $0.01$ $-0.01$ e2e_tm_t_coxreg_Deselection_of_cov_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_basic_info 💀 $0.03$ $-0.03$ unnamed
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_anrind_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_aval_var_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_avalu_var_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_param_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.02$ e2e_tm_t_pp_laboratory_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_patient_id_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Deselection_of_time_points_throws_validation_error.
shinytest2-tm_t_pp_laboratory 👶 $+0.02$ e2e_tm_t_pp_laboratory_Module_initializes_in_teal_without_errors_and_produces_table_output.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_anrind_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_aval_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_avalu_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_param_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_patient_id_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Selecting_time_points_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_pp_laboratory 👶 $+0.01$ e2e_tm_t_pp_laboratory_Starts_with_specified_label_patient_id_paramcd_param_time_points_aval_var_avalu_var_anrind_round_value.
shinytest2-tm_t_pp_medical_history 👶 $+0.01$ e2e_tm_t_pp_medical_history_Selecting_mhdistat_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_shift_by_arm 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_Deselection_of_visit_var_throws_validation_error.
shinytest2-tm_t_shift_by_arm 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm 👶 $+0.01$ e2e_tm_t_shift_by_arm_Selecting_paramcd_values_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_Selecting_visit_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm 👶 $+0.01$ e2e_tm_t_shift_by_arm_Starts_with_specified_label_arm_var_useNA_add_total.
shinytest2-tm_t_shift_by_arm 💀 $0.02$ $-0.02$ e2e_tm_t_shift_by_arm_Starts_with_specified_label_arm_varparamcd_visit_var_useNA_treatment_flag_var_add_total.
shinytest2-tm_t_shift_by_arm_by_worst 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_by_worst_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_shift_by_arm_by_worst 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_by_worst_Deselection_of_worst_flag_throws_validation_error.
shinytest2-tm_t_shift_by_arm_by_worst 👶 $+0.01$ e2e_tm_t_shift_by_arm_by_worst_Deselection_of_worst_flag_var_throws_validation_error.
shinytest2-tm_t_shift_by_arm_by_worst 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_by_worst_Selecting_worst_flag_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm_by_worst 👶 $+0.01$ e2e_tm_t_shift_by_arm_by_worst_Selecting_worst_flag_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_arm_by_worst 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_arm_by_worst_Starts_with_specified_label_arm_var_paramcd_worst_flag_var_aval_var_baseline_var_useNA_treatment_flag_var_add_total.
shinytest2-tm_t_shift_by_arm_by_worst 👶 $+0.01$ e2e_tm_t_shift_by_arm_by_worst_Starts_with_specified_label_useNA_add_total.
shinytest2-tm_t_shift_by_grade 💀 $0.02$ $-0.02$ e2e_tm_t_shift_by_grade_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_shift_by_grade 💀 $0.01$ $-0.01$ e2e_tm_t_shift_by_grade_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_shift_by_grade 👶 $+0.01$ e2e_tm_t_shift_by_grade_Selecting_paramcd_values_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_smq 👶 $+0.02$ e2e_tm_t_smq_Deselection_of_baskets_throws_validation_error.
shinytest2-tm_t_smq 👶 $+0.01$ e2e_tm_t_smq_Deselection_of_llt_throws_validation_error.
shinytest2-tm_t_smq 💀 $0.01$ $-0.01$ e2e_tm_t_smq_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_smq 💀 $0.01$ $-0.01$ e2e_tm_t_smq_Deselection_of_worst_flag_throws_validation_error.
shinytest2-tm_t_smq 👶 $+0.01$ e2e_tm_t_smq_Selecting_baskets_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_smq 👶 $+0.01$ e2e_tm_t_smq_Selecting_llt_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_smq 💀 $0.01$ $-0.01$ e2e_tm_t_smq_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_smq 💀 $0.01$ $-0.01$ e2e_tm_t_smq_Selecting_worst_flag_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_summary_by 👶 $+0.01$ e2e_tm_t_summary_by_Deselecting_by_vars_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_summary_by 💀 $0.01$ $-0.01$ e2e_tm_t_summary_by_Deselection_of_arm_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_summary_by 👶 $+0.01$ e2e_tm_t_summary_by_Selecting_by_vars_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_summary_by 👶 $+0.01$ e2e_tm_t_summary_by_Selecting_paramcd_values_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_tte 💀 $0.01$ $-0.01$ e2e_tm_t_tte_Deselection_of_paramcd_throws_validation_error.
shinytest2-tm_t_tte 👶 $+0.01$ e2e_tm_t_tte_Deselection_of_paramcd_values_throws_validation_error.
shinytest2-tm_t_tte 👶 $+0.01$ e2e_tm_t_tte_Deselection_of_strata_var_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_tte 💀 $0.01$ $-0.01$ e2e_tm_t_tte_Deselection_of_strata_var_changes_the_table_and_throw_validation_errors.
shinytest2-tm_t_tte 💀 $0.01$ $-0.01$ e2e_tm_t_tte_Selecting_paramcd_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_tte 👶 $+0.01$ e2e_tm_t_tte_Selecting_paramcd_values_changes_the_table_and_does_not_throw_validation_errors.
shinytest2-tm_t_tte 💀 $0.01$ $-0.01$ e2e_tm_t_tte_Starts_with_specified_label_paramcd_event_desc_var_arm_var_buckets_strata_var_time_points_pval_method_coxph_ties_coxph_conf_level_coxph_conf_level_survfit_conf_type_survfit_probs_survfit_compare_arms_combine_comp_arms.
shinytest2-tm_t_tte 👶 $+0.01$ e2e_tm_t_tte_Starts_with_specified_label_paramcd_event_desc_var_arm_var_strata_var_time_points_conf_level_coxph_conf_level_survfit_compare_arms_combine_comp_arms.
tm_g_lineplot 👶 $+0.01$ tm_g_lineplot_builds_a_teal_module_with_teal.picks_defaults
tm_t_pp_laboratory 👶 $+1.38$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_in_returned_teal_data_when_round_value_changes_from_0_to_4_decimal_places
tm_t_pp_laboratory 👶 $+1.79$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_anrind_changes_from_ANRIND_to_SEX
tm_t_pp_laboratory 👶 $+1.74$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_aval_var_changes_from_AVAL_to_AGE
tm_t_pp_laboratory 👶 $+2.32$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_avalu_var_changes_from_AVALU_to_SEX
tm_t_pp_laboratory 👶 $+1.83$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_param_changes_from_PARAM_to_SEX
tm_t_pp_laboratory 👶 $+2.29$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_paramcd_changes_from_PARAMCD_to_STUDYID
tm_t_pp_laboratory 👶 $+1.77$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_produces_different_table_data_when_time_points_changes_from_ADY_to_AGE
tm_t_pp_laboratory 👶 $+1.57$ tm_t_pp_laboratory_server_reactive_inputs_produce_expected_changes_in_returned_teal_data_updates_pt_id_in_returned_teal_data_when_patient_id_input_changes
utils_picks 👶 $+0.01$ create_picks_helper_errors_when_datasets_is_NULL
utils_picks 👶 $+0.01$ create_picks_helper_errors_when_datasets_is_not_a_datasets_object
utils_picks 👶 $+0.01$ create_picks_helper_errors_when_x_is_neither_pick_nor_picks
utils_picks 👶 $+0.01$ create_picks_helper_returns_x_unchanged_if_it_already_has_datasets_attached
utils_picks 👶 $+0.01$ create_picks_helper_wraps_a_pick_object_with_the_supplied_datasets
utils_picks 👶 $+0.01$ create_picks_helper_wraps_a_picks_object_without_datasets_with_the_supplied_datasets
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_errors_on_delayed_choices_selected
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_errors_when_input_is_not_a_picks_or_choices_selected_object
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_infers_multiple_TRUE_when_more_than_one_value_is_selected
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_preserves_fixed_TRUE_from_the_choices_selected_object
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_respects_the_multiple_argument
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_returns_a_teal.picks_values_object_from_a_choices_selected
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_returns_the_same_picks_object_if_input_already_inherits_picks
utils_picks 👶 $+0.01$ migrate_choices_selected_to_values_returns_variables_unchanged_column_pick_only_not_coerced_to_values_
utils_picks 👶 $+0.02$ migrate_choices_selected_to_variables_emits_a_deprecation_warning_for_choices_selected_input
utils_picks 👶 $+0.02$ migrate_choices_selected_to_variables_emits_a_deprecation_warning_for_select_spec_input
utils_picks 👶 $+0.01$ migrate_choices_selected_to_variables_errors_when_x_is_NULL_and_null.ok_FALSE
utils_picks 👶 $+0.01$ migrate_choices_selected_to_variables_returns_NULL_when_null.ok_TRUE_and_x_is_NULL
utils_picks 👶 $+0.01$ migrate_choices_selected_to_variables_returns_the_same_picks_object_if_input_already_inherits_picks
utils_picks 👶 $+0.00$ migrate_value_choices_to_picks_adds_values_when_ommited
utils_picks 👶 $+0.05$ migrate_value_choices_to_picks_returns_a_teal.picks_picks_object
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_returns_the_same_picks_object_if_input_is_already_a_picks_object
utils_picks 👶 $+0.02$ migrate_value_choices_to_picks_suports_picks_with_datasets_and_variables_but_no_values
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_suports_picks_with_datasets_and_variables_but_no_values_and_without_adding_values_
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_only_variables_
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_only_variables_without_adding_values
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_picks_with_dataset_variables_and_values
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_picks_with_only_variables
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_picks_with_only_variables_and_does_not_add_values_
utils_picks 👶 $+0.01$ migrate_value_choices_to_picks_supports_picks_with_variables_and_values_but_no_datasets

Results for commit dc73eb3

♻️ This comment has been updated with latest results.

@osenan osenan changed the title Fix tm abnormaliry@279 interactive variables@main Restore behavior of tm_t_abnormality_by_wrong as it was before migration Jun 1, 2026
@averissimo averissimo self-assigned this Jun 1, 2026
@averissimo

Copy link
Copy Markdown
Contributor

Writing down here what we discussed this morning, the 2 modules in this PR have implementations that need some standardizing, so despite the PR looking good they will suffer some changes.

Let's either integrate those changes on the modules or apply this PR after.

Keeping PR open until then.

@averissimo averissimo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good fix, ok to merge.

I've noticed something about the modules, but I'm creating a new PR

# Pull Request

### Changes description

- Uses `teal`'s validation input framework
- Fixes problem with module stalling when selected worst flag does not
exist
  - It can be tested using the following app and selecting "N"

### Example app (inherited from other PR)

```r
devtools::load_all()
data <- teal_data()
 data <- within(data, {
   ADSL <- teal.modules.clinical::tmc_ex_adsl
   ADLB <- teal.modules.clinical::tmc_ex_adlb %>%
     dplyr::filter(!AVISIT %in% c("SCREENING", "BASELINE"))
 })
 join_keys(data) <- default_cdisc_join_keys[names(data)]

 ADSL <- data[["ADSL"]]
 ADLB <- data[["ADLB"]]

 app <- init(
   data = data,
   modules = modules(
     tm_t_abnormality_by_worst_grade(
       label = "Laboratory Test Results with Highest Grade Post-Baseline",
       dataname = "ADLB",
       arm_var = choices_selected(
         choices = variable_choices(ADSL, subset = c("ARM", "ARMCD")),
         selected = "ARM"
       ),
       paramcd = choices_selected(
         choices = value_choices(ADLB, "PARAMCD", "PARAM"),
         selected = c("ALT", "CRP", "IGA")
       ),
       worst_flag_indicator = teal.transform::choices_selected(c("Y", "N")),
       add_total = FALSE
     )
   ),
   filter = teal_slices(
     teal_slice("ADSL", "SAFFL", selected = "Y"),
     teal_slice("ADLB", "ONTRTFL", selected = "Y")
   )
 )
 if (interactive()) {
   shinyApp(app$ui, app$server)
 }
```

---------

Signed-off-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Oriol Senan <35930244+osenan@users.noreply.github.com>
@averissimo
averissimo merged commit b681610 into 279-interactive_variables@main Jun 26, 2026
24 of 37 checks passed
@averissimo
averissimo deleted the fix-tm_abnormaliry@279-interactive_variables@main branch June 26, 2026 16:38
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants