Skip to contents

Merges default app options with the changes made in the UI

Usage

NCA_fetch_state(
  id,
  input,
  session,
  FM_yaml_file,
  MOD_yaml_file,
  id_ASM,
  id_UD,
  id_DW,
  react_state
)

Arguments

id

Shiny module ID

input

Shiny input variable

session

Shiny session variable

FM_yaml_file

App configuration file with FM as main section.

MOD_yaml_file

Module configuration file with MC as main section.

id_ASM

ID string for the app state management module used to save and load app states

id_UD

ID string for the upload data module used to save and load app states

id_DW

ID string for the data wrangling module used to save and load app states

react_state

Variable passed to server to allow reaction outside of module (NULL)

Value

list containing the current state of the app including default values from the yaml file as well as any changes made by the user. The list has the following structure:

  • yaml: Full contents of the supplied yaml file.

  • MC: Module components of the yaml file.

  • NCA:

    • ana_cntr: Analysis counter.

    • anas: List of analyses: Each analysis has the following structure:

      • ana_dsview: Dataset view/ID (name from DSV) selected as a data source for this analysis.

      • ana_scenario: Analysis scenario selected in the UI

      • checksum: checksum of the analysis (used to detect changes in the analysis).

      • code: Code to generate analysis from start to finish or error messages if code generation/analysis failed.

      • code_components: List containing the different components from code

      • col_conc: Column from ana_dsview containing the concentration data.

      • col_dose: Column from ana_dsview containing the dose amount.

      • col_dur: Column from ana_dsview containing the infusion duration or N/A if unused.

      • col_group: Columns from ana_dsview containing other grouping variables.

      • col_id: Column from ana_dsview containing the subject IDs.

      • col_ntime: Column from ana_dsview containing the nominal time values

      • col_route: Column from ana_dsview containing the dosing route.

      • col_time: Column from ana_dsview containing the time values.

      • id: Character id (ana_idx).

      • idx: Numeric id (1).

      • include_units: Boolean variable indicating in units should included in the analysis.

      • interval_range: Vector with the first element representing he beginning of the interval and the second element containing the end of the interval.

      • intervals: List of the intervals to include.

      • isgood: Current status of the analysis.

      • key: Analysis key acts as a title/caption (user editable)

      • msgs: Messages generated when checking configuration and analysis options.

      • nca_config: List of NCA configuration options for this analysis.

      • nca_object_name: Prefix for NCA objects associated with this analyis.

      • nca_parameters: NCA parameters selected for calculation in the UI.

      • notes: Analysis notes (user editable)

      • objs: List of names and values for objects created with generated code.

      • sampling: Sampling method either "sparse" or "serial"

      • units_amt: Amount units.

      • units_conc: Concentration units.

      • units_dose: Dosing units.

      • units_time: Time units.

    • current_ana: Currently selected analysis (list name element from anas).

    • DSV: Available data source views (see FM_fetch_ds)

    • checksum: This is an MD5 sum of the module (checksum of the analysis checksums).

    • nca_config: List of PKNCA configuration options for this analysis.

    • nca_parameters: List with two elements

      • choices: List consisting of "Common Parameters" and "Other" (used for grouping in the UI). Each of these is a list of text parameter names with a value of the PKNCA parameter name.

      • summary: Summary table with the following columns:

        • parameter: PKNCA Paramter name.

        • text: Name used in text output.

        • md: Name used markdown output.

        • latex: Name used in latex output.

        • description: Verbose textual description of the parameter.

    • ui: Current value of form elements in the UI.

    • ui_ana_map: Map between UI element names and analysis in the object you get from NCA_fetch_current_ana

    • ui_ids: Vector of UI elements for the module.

    • ui_hold: List of hold elements to disable updates before a full ui referesh is complete.

  • MOD_TYPE: Character data containing the type of module "NCA"

  • id: Character data containing the module id module in the session variable.

  • FM_yaml_file: App configuration file with FM as main section.

  • MOD_yaml_file: Module configuration file with MC as main section.

Examples

library(ruminate)
# Module IDs                                                                   
id     = "NCA"                                                                 
id_UD  = "UD"                                                                  
id_DW  = "DW"                                                                  
id_ASM = "ASM"                                                                 
# We need session and input variables to be define                             
 sess_res = NCA_test_mksession(session=list(),                                 
      id     = id,                                                             
      id_UD  = id_UD,                                                          
      id_DW  = id_DW,                                                          
      id_ASM = id_ASM,
      full_session=FALSE)
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → UD:   dest:   file.path("config","report.docx")
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → UD:   dest:   file.path("config","report.pptx")
#> → UD: including file
#> → UD:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → UD:   dest:   file.path("config","report.yaml")
#> → UD: State initialized
#> → UD: module checksum updated:897d952fecbc804999396a96f9df4b20
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → DW:   dest:   file.path("config","report.docx")
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → DW:   dest:   file.path("config","report.pptx")
#> → DW: including file
#> → DW:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → DW:   dest:   file.path("config","report.yaml")
#> → DW: State initialized
#> → DW: module checksum updated:5b0f0b05ee3ac7336a74c564bb6efdad
#> → DW: module checksum updated:65801ab4b3c645aabf7edf91fc2f0d2c
#> → DW: module checksum updated:7fb2dd3b16b1780c4c24f64d658dd7c7
#> → DW: module checksum updated:5ab04ea00be44c0040695a4ed6243c90
#> → DW: module checksum updated:960db107cfe9db93578f79f0ae6283e2
#> → DW: module checksum updated:f0b5d122dcb04f207cba233253b61c4b
#> → DW: module checksum updated:189ed77a84bd9fcdd7b26abff8bea34a
#> → DW: module checksum updated:669ec77d50652669cd3fcfd949469b37
#> → DW: module checksum updated:dd6cafa0be3b6b195d230a11e9f07f9f
#> → DW: module checksum updated:5c2022c376ca8f56b839347156559890
#> → DW: module checksum updated:43640500a04674debd8e2399056c384a
#> → DW: module checksum updated:f81c45ac1ef4e7b43153d8c8eaf7aed6
#> → DW: module checksum updated:207cde891d98e20c4afbb7fb5fb0aba2
#> → DW: module checksum updated:0a673e81c01cbbf33533dd65d6baf9e3
#> → DW: module checksum updated:af3f3aefd0115ed9dfdd4d6ef9d5182f
#> → DW: module checksum updated:b0ccaee21e859322df0bf79d00c4b347
#> → DW: module checksum updated:2d3d6e9e38be6dea813b2d4d679e34b5
#> → DW: module checksum updated:2b60dd49b48a4e65200dc7241ad270e3
#> → DW: module checksum updated:3c92f397181a4fcdbdf2bd7dd7425e77
#> → DW: module checksum updated:92b81d7573def603649370b87c123b55
#> → DW: module checksum updated:9210264aabc0339e832b0c6bcfda32af
#> → DW: module checksum updated:fe62fde1e7e738a1a35c479de9d5007b
#> → DW: module checksum updated:ff3edcd4c1e58c96ea2707361916ffbc
#> → DW: module checksum updated:b6cdfcef0432c5d9b1fa2bd46122ffa2
#> → DW: module checksum updated:4fa4283f1fd8fd6cf6e6e7df0669723a
#> → DW: module checksum updated:cf3e139cef554b2d09dca619ee6aff41
#> → DW: module checksum updated:a9154d91a9e4b5d21f9585a6f68dd083
#> → DW: module checksum updated:4b5c6ad66658ddfa92d10ae1b0b7afa8
#> → DW: module checksum updated:591ac875a490b66a1fa7f4e7d4ba1c62
#> → DW: module checksum updated:afa3ca309cc3e6a48f542f4e8eadd54a
#> → DW: module checksum updated:5c918dd4f53a4f1e56115abb09c4f332
#> → DW: module checksum updated:159ddf8c8cd26b178dfda5434bbecfa1
#> → DW: module checksum updated:8bb3c97e700998f2f73353189bd07831
#> → DW: module checksum updated:a1eceffec3ff7d9f9961683b3d07088b
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → NCA:   dest:   file.path("config","report.docx")
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → NCA:   dest:   file.path("config","report.pptx")
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → NCA:   dest:   file.path("config","report.yaml")
#>  NCA: Parameter specified in YAML is not a valid PKNCA parameter: sparse_se
#>  NCA: Parameter specified in YAML is not a valid PKNCA parameter: sparse_df
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → NCA:   dest:   file.path("config","report.docx")
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → NCA:   dest:   file.path("config","report.pptx")
#> → NCA: including file
#> → NCA:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → NCA:   dest:   file.path("config","report.yaml")
#> → NCA: State initialized
#> → NCA: State initialized
#> → NCA: loading analysis scenario: sd_iv
#> → NCA: NCA_add_int: append
#> → NCA: NCA_add_int: append
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> → NCA: module checksum updated:647e4878c80e08a468313bf2e45eb074
                                                                               
# Extracting the session and input variables                                   
session      = sess_res$session                                                
input        = sess_res$input                                                  
react_state  = list()                                                          
                                                                               
# We also need configuration files                                             
FM_yaml_file  = system.file(package = "formods",  "templates", "formods.yaml") 
MOD_yaml_file = system.file(package = "ruminate", "templates", "NCA.yaml")     
                                                                               
# Getting the current module state                                             
state = NCA_fetch_state(id             = id,                                   
                       input           = input,                                
                       session         = session,                              
                       FM_yaml_file    = FM_yaml_file,                         
                       MOD_yaml_file   = MOD_yaml_file,                        
                       id_ASM          = id_ASM,                               
                       id_UD           = id_UD,                                
                       id_DW           = id_DW,                                
                       react_state     = react_state)                          
                                                                               
# Pulls out the active analysis                                                
current_ana = NCA_fetch_current_ana(state)

# This will get the dataset associated with this analysis
ds = NCA_fetch_ana_ds(state, current_ana)

# After making changes you can update those in the state
state = NCA_set_current_ana(state, current_ana)

# You can use this to check the current analysis
current_ana = NCA_process_current_ana(state)
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion

# This will pull out the code for the module
fc_res = NCA_fetch_code(state)

# This will use patterns defined for the site to detect
# columns. In this example we are detecting the id column:
id_col = NCA_find_col(
  patterns = state[["MC"]][["detect_col"]][["id"]],
  dscols   = names(ds$DS))
#> Warning: Unknown or uninitialised column: `DS`.

# This creates a new analysis
state = NCA_new_ana(state)