Skip to contents

Takes the current state of the app and appends data views to an xlsx report object.

Usage

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

Arguments

state

DW state from DW_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 FM_generate_report.

rpttype

Type of report to generate (supported "xlsx").

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 generate reporting 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 = DW_test_mksession(session=list())
#> → 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
state = sess_res$state

rpt = list(summary = list(), sheets=list())

rpt_res = DW_append_report(state,
 rpt     = rpt,
 rpttype = "xlsx")

# 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"]][["DW_myDS_1"]]=DW_myDS_1
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_1",
#>     Description="Observations"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_2"]]=DW_myDS_2
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_2",
#>     Description="PK 3mg SD IV"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_3"]]=DW_myDS_3
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_3",
#>     Description="PK 3mg MD SC (first dose)"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_4"]]=DW_myDS_4
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_4",
#>     Description="Parameters"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_5"]]=DW_myDS_5
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_5",
#>     Description="PK/PD 3mg SD IV w/BQL"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_6"]]=DW_myDS_6
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_6",
#>     Description="PK/PD 3mg MD SC (first dose) w/BQL"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_7"]]=DW_myDS_7
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_7",
#>     Description="PK 3mg SD IV w/BQL"
#>   )
#> )
#> rpt[["sheets"]][["DW_myDS_8"]]=DW_myDS_8
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_8",
#>     Description="PK 3mg SD IV w/BQL w/dosing"
#>   )
#> )

# Tabular summary of data views
rpt_res$rpt$summary
#>   Sheet_Name                        Description
#> 1  DW_myDS_1                       Observations
#> 2  DW_myDS_2                       PK 3mg SD IV
#> 3  DW_myDS_3          PK 3mg MD SC (first dose)
#> 4  DW_myDS_4                         Parameters
#> 5  DW_myDS_5              PK/PD 3mg SD IV w/BQL
#> 6  DW_myDS_6 PK/PD 3mg MD SC (first dose) w/BQL
#> 7  DW_myDS_7                 PK 3mg SD IV w/BQL
#> 8  DW_myDS_8        PK 3mg SD IV w/BQL w/dosing