Skip to contents

Takes an NCA state object and appends any reportable elements for the specified report type. On NCA analyses that are in a "good" state will be reported. Those not in a good state will be ignored.

Usage

NCA_append_report(state, rpt, rpttype, gen_code_only = FALSE)

Arguments

state

NCA state from NCA_fetch_state()

rpt

Report with the current content of the report which will be appended to in this function. For details on the structure see the documentation for formods::FM_generate_report()

rpttype

Type of report to generate (supported "xlsx", "pptx", "docx").

gen_code_only

Boolean value indicating that only code should be generated (FALSE).

Value

list containing the following elements

  • isgood: Return status of the function.

  • hasrptele: Boolean indicator if the module has any reportable elements.

  • code: Code to create report elements.

  • msgs: Messages to be passed back to the user.

  • rpt: Report with any additions passed back to the user.

Examples

# We need a state object to use below
sess_res = NCA_test_mksession()
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → ASM:   dest:   file.path("config","report.docx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → ASM:   dest:   file.path("config","report.pptx")
#> → ASM: including file
#> → ASM:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → ASM:   dest:   file.path("config","report.yaml")
#> → ASM: State initialized
#> → ASM: setting word placeholders: 
#> → ASM:   -> setting docx ph: HEADERLEFT = left header
#> → ASM:   -> setting docx ph: HEADERRIGHT = right header
#> → ASM:   -> setting docx ph: FOOTERLEFT = left footer
#> → ASM: module isgood: TRUE
#> → 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
#> → UD: module isgood: TRUE
#> → 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: loading data view idx: 1
#> → DW: setting name: Observations
#> → DW: module checksum updated:1ac3e0afcc601f848943f92b854b3830
#> → DW:   -> filter
#> → DW: module checksum updated:67aff6e926eba73b3ecb361d26624844
#> → DW:   -> filter
#> → DW: module checksum updated:0234f6d458ef7487a3b2e991b2d0957b
#> → DW:   -> mutate
#> → DW: module checksum updated:37d0958f042076b974fdd3f894157822
#> → DW: loading data view idx: 2
#> → DW: setting name: PK 3mg SD IV
#> → DW: module checksum updated:4e7ca05728d66df3adfcf87387f9543a
#> → DW:   -> filter
#> → DW: module checksum updated:2d95bc56262f46b7f135dd33fc4722b3
#> → DW:   -> filter
#> → DW: module checksum updated:b8a30837145926d2d9cc6f788c10b7ed
#> → DW:   -> filter
#> → DW: module checksum updated:24b554ee8736ebc84979c896ac2e93c3
#> → DW:   -> filter
#> → DW: module checksum updated:daad88263faf7cbf90871ed00a0dd275
#> → DW: loading data view idx: 3
#> → DW: setting name: PK 3mg SD IV (NCA)
#> → DW: module checksum updated:a7b3ea35cdba272682716aa4619d3983
#> → DW:   -> filter
#> → DW: module checksum updated:e8d2f77c0bd731995d845ee8be623e22
#> → DW:   -> filter
#> → DW: module checksum updated:24cc7b591ca756a0abf560fb5295e04d
#> → DW:   -> filter
#> → DW: module checksum updated:f79ef26bdb4dac420c24650b9e96f721
#> → DW: loading data view idx: 4
#> → DW: setting name: PKPD 3mg SD IV (NCA)
#> → DW: module checksum updated:c737e8b3a28ba600a83ddf58a969c90a
#> → DW:   -> filter
#> → DW: module checksum updated:4c0d054f8ec47ae97fd1c650d8ddad55
#> → DW:   -> filter
#> → DW: module checksum updated:1e3d65ec1bd6ee5850d67bd2250e3223
#> → DW:   -> filter
#> → DW: module checksum updated:1e3d65ec1bd6ee5850d67bd2250e3223
#> → DW: module isgood: TRUE
#> → 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 element idx: 1
#> → NCA:   -> setting name: PK Example
#> → NCA:   -> notes found and set
#> → NCA:   -> setting data source: DW_myDS_3
#> → NCA: NCA_add_int: append
#> → NCA: NCA_add_int: append
#> → NCA: added element idx: 1
#> → NCA: loading element idx: 2
#> → NCA:   -> setting name: PK/PD Example
#> → NCA:   -> notes found and set
#> → NCA:   -> setting data source: DW_myDS_4
#> → NCA: NCA_add_int: append
#> → NCA: NCA_add_int: append
#> → NCA: added element idx: 2
#> → NCA: module isgood: TRUE
state = sess_res$state

# here we need an empty report object for tabular data
rpt = list(summary = list(), sheets=list())

# Now we append the report indicating we want
# Excel output:
rpt_res = NCA_append_report(state,
  rpt           = rpt,
  rpttype       = "xlsx",
  gen_code_only = TRUE)

# Shows if report elements are present
rpt_res$hasrptele
#> [1] TRUE

# Code chunk to generate report element
cat(paste(rpt_res$code, collapse="\n"))
#> rpt[["sheets"]][["NCA_1_RES"]]=NCA_1_table_ind_params[["one_table"]]
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="NCA_1_RES",
#>     Description="PK Example (indiviudal results)"
#>   )
#> )
#> rpt[["sheets"]][["NCA_1_RAW"]]=as.data.frame(NCA_1_res)
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="NCA_1_RAW",
#>     Description="PK Example (raw NCA results)"
#>   )
#> )
#> rpt[["sheets"]][["NCA_2_RES"]]=NCA_2_table_ind_params[["one_table"]]
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="NCA_2_RES",
#>     Description="PK/PD Example (indiviudal results)"
#>   )
#> )
#> rpt[["sheets"]][["NCA_2_RAW"]]=as.data.frame(NCA_2_res)
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="NCA_2_RAW",
#>     Description="PK/PD Example (raw NCA results)"
#>   )
#> )