Create AR Grid

library(metalite)
library(r2rtf)
library(dplyr)

Overview

In this document, we illustrate how to create the A&R grid by metalite.

Build metadata

Step 1: input the population and observation datasets

metadata <- meta_adam(
  population = r2rtf_adsl,
  observation = r2rtf_adae
)

Step 2: create statistical analysis plans

plan <- plan(
  analysis = "ae_summary", population = "apat",
  observation = c("wk12", "wk24"), parameter = "any;rel;ser"
) |>
  add_plan(
    analysis = "ae_specific", population = "apat",
    observation = c("wk12", "wk24"),
    parameter = c("any", "aeosi", "rel", "ser")
  )

Step 3: feed in the analysis plan to the existing metadata

metadata <- metadata |> define_plan(plan)

Step 4: define the key words in the above metadata

Step 4.1: define the key words in population & observation

metadata <- metadata |>
  define_population(
    name = "apat",
    group = "TRT01A",
    subset = SAFFL == "Y"
  ) |>
  define_observation(
    name = "wk12",
    group = "TRTA",
    subset = SAFFL == "Y",
    label = "Weeks 0 to 12"
  ) |>
  define_observation(
    name = "wk24",
    group = "TRTA",
    subset = AOCC01FL == "Y", # just for demo, another flag shall be used.
    label = "Weeks 0 to 24"
  )

Step 4.2 define the key words in the analysis plans

metadata <- metadata |>
  define_parameter(
    name = "rel",
    subset = AEREL %in% c("POSSIBLE", "PROBABLE")
  ) |>
  define_parameter(
    name = "aeosi",
    subset = AEOSI == "Y",
    label = "adverse events of special interest"
  ) |>
  define_analysis(
    name = "ae_summary",
    title = "Summary of Adverse Events"
  ) |>
  define_analysis(
    name = "ae_specific",
    title = "Summary of Specific Adverse Events"
  )

Step 5: build the metadata

metadata <- metadata |> meta_build()

Create A&R grid

ar_grid <- data.frame(
  title = spec_title(metadata),
  filename = spec_filename(metadata),
  function_name = metadata$plan$analysis,
  population = spec_analysis_population(metadata)
)
ar_grid |>
  mutate(across(everything(), ~ gsub("\n", "<br>", .x))) |>
  gt::gt() |>
  gt::fmt_markdown(columns = gt::everything()) |>
  gt::tab_options(table.font.size = 15)
title filename function_name population
Summary of Adverse Events
Weeks 0 to 12
All Participants as Treated
ae0summary0wk12.rtf ae_summary Population: SAFFL == ‘Y’
Observation: SAFFL == ‘Y’
Summary of Adverse Events
Weeks 0 to 24
All Participants as Treated
ae0summary0wk24.rtf ae_summary Population: SAFFL == ‘Y’
Observation: AOCC01FL == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 12
All Participants as Treated
ae0specific0wk120any.rtf ae_specific Population: SAFFL == ‘Y’
Observation: SAFFL == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 24
All Participants as Treated
ae0specific0wk240any.rtf ae_specific Population: SAFFL == ‘Y’
Observation: AOCC01FL == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 12
All Participants as Treated
ae0specific0wk120aeosi.rtf ae_specific Population: SAFFL == ‘Y’
Observation: SAFFL == ‘Y’ AEOSI == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 24
All Participants as Treated
ae0specific0wk240aeosi.rtf ae_specific Population: SAFFL == ‘Y’
Observation: AOCC01FL == ‘Y’ AEOSI == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 12
All Participants as Treated
ae0specific0wk120rel.rtf ae_specific Population: SAFFL == ‘Y’
Observation: SAFFL == ‘Y’ AEREL %in% c(‘POSSIBLE’, ‘PROBABLE’)
Summary of Specific Adverse Events
Weeks 0 to 24
All Participants as Treated
ae0specific0wk240rel.rtf ae_specific Population: SAFFL == ‘Y’
Observation: AOCC01FL == ‘Y’ AEREL %in% c(‘POSSIBLE’, ‘PROBABLE’)
Summary of Specific Adverse Events
Weeks 0 to 12
All Participants as Treated
ae0specific0wk120ser.rtf ae_specific Population: SAFFL == ‘Y’
Observation: SAFFL == ‘Y’ AESER == ‘Y’
Summary of Specific Adverse Events
Weeks 0 to 24
All Participants as Treated
ae0specific0wk240ser.rtf ae_specific Population: SAFFL == ‘Y’
Observation: AOCC01FL == ‘Y’ AESER == ‘Y’