TLG Catalog - Stable
  • Stable
    • Dev
  1. Listings
  2. ADA
  3. ADAL02
  • Introduction

  • Tables
    • ADA
      • ADAT01
      • ADAT02
      • ADAT03
      • ADAT04A
      • ADAT04B
    • Adverse Events
      • AET01
      • AET01_AESI
      • AET02
      • AET02_SMQ
      • AET03
      • AET04
      • AET04_PI
      • AET05
      • AET05_ALL
      • AET06
      • AET06_SMQ
      • AET07
      • AET09
      • AET09_SMQ
      • AET10
    • Concomitant Medications
      • CMT01
      • CMT01A
      • CMT01B
      • CMT02_PT
    • Deaths
      • DTHT01
    • Demography
      • DMT01
    • Disclosures
      • DISCLOSUREST01
      • EUDRAT01
      • EUDRAT02
    • Disposition
      • DST01
      • PDT01
      • PDT02
    • ECG
      • EGT01
      • EGT02
      • EGT03
      • EGT04
      • EGT05_QTCAT
    • Efficacy
      • AOVT01
      • AOVT02
      • AOVT03
      • CFBT01
      • CMHT01
      • COXT01
      • COXT02
      • DORT01
      • LGRT02
      • MMRMT01
      • ONCT05
      • RATET01
      • RBMIT01
      • RSPT01
      • TTET01
    • Exposure
      • EXT01
    • Lab Results
      • LBT01
      • LBT02
      • LBT03
      • LBT04
      • LBT05
      • LBT06
      • LBT07
      • LBT08
      • LBT09
      • LBT10
      • LBT10_BL
      • LBT11
      • LBT11_BL
      • LBT12
      • LBT12_BL
      • LBT13
      • LBT14
      • LBT15
    • Medical History
      • MHT01
    • Pharmacokinetic
      • PKCT01
      • PKPT02
      • PKPT03
      • PKPT04
      • PKPT05
      • PKPT06
      • PKPT07
      • PKPT08
      • PKPT11
    • Risk Management Plan
      • RMPT01
      • RMPT03
      • RMPT04
      • RMPT05
      • RMPT06
    • Safety
      • ENTXX
    • Vital Signs
      • VST01
      • VST02
  • Listings
    • ADA
      • ADAL02
    • Adverse Events
      • AEL01
      • AEL01_NOLLT
      • AEL02
      • AEL02_ED
      • AEL03
      • AEL04
    • Concomitant Medications
      • CML01
      • CML02A_GL
      • CML02B_GL
    • Development Safety Update Report
      • DSUR4
    • Disposition
      • DSL01
      • DSL02
    • ECG
      • EGL01
    • Efficacy
      • ONCL01
    • Exposure
      • EXL01
    • Lab Results
      • LBL01
      • LBL01_RLS
      • LBL02A
      • LBL02A_RLS
      • LBL02B
    • Medical History
      • MHL01
    • Pharmacokinetic
      • ADAL01
      • PKCL01
      • PKCL02
      • PKPL01
      • PKPL02
      • PKPL04
    • Vital Signs
      • VSL01
  • Graphs
    • Efficacy
      • FSTG01
      • FSTG02
      • KMG01
      • MMRMG01
      • MMRMG02
    • Other
      • BRG01
      • BWG01
      • CIG01
      • IPPG01
      • LTG01
      • MNG01
    • Pharmacokinetic
      • PKCG01
      • PKCG02
      • PKCG03
      • PKPG01
      • PKPG02
      • PKPG03
      • PKPG04
      • PKPG06

  • Appendix
    • Reproducibility

  • Index

On this page

  • Output
  • Reproducibility
    • Timestamp
    • Session Info
    • .lock file
  • Edit this page
  • Report an issue
  1. Listings
  2. ADA
  3. ADAL02

ADAL02

Listing of Anti-Drug Antibody Data for Treatment Emergent ADA Positive Patients


Output

  • Standard Listing
  • Data Setup
  • Preview
  • Try this using WebR
Code
lsting <- as_listing(
  out,
  key_cols = "USUBJID",
  disp_cols = names(out),
  main_title = paste0(
    "Listing of Anti-", drugcd, " Antibody Data for Treatment Emergent ADA Positive Patients, PK Population",
    "\nProtocol: ", unique(adab$PARCAT1)[1]
  ),
  subtitles = paste("\nTreatment Group:", trt),
  
  main_footer = "Minimum reportable titer = 1.10 (example only)
--- = No sample evaluated
ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies)
Number of patients positive for Treatment Emergent ADA = the number of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
Transient ADA = ADA positive result detected (a) at only one post-baseline sampling timepoint (excluding last timepoint) OR (b) at 2 or more timepoints during treatment where the first and last ADA positive samples  are separated by a period of < 16 weeks, irrespective of any negative samples in between.
Persistent ADA =  ADA positive result detected (a) at the last post-baseline sampling timepoint, OR (b) at 2 or more time points during treatment where the first and last ADA positive samples are separated by a period ≥ 16 weeks, irrespective of any negative samples in between.
Asterisk denotes sample that tested positive for Neutralizing Antibodies."
  
)

head(lsting, 20)
Listing of Anti-R1800000 Antibody Data for Treatment Emergent ADA Positive Patients, PK Population
Protocol: A: Drug X Antibody

Treatment Group: A: Drug X

—————————————————————————————————————————————————————
                         Day 2     Patient Treatment 
     Subject ID         (Day 1)   Emergent ADA Status
—————————————————————————————————————————————————————
AB12345-BRA-1-id-105      ---          Enhanced      
AB12345-BRA-1-id-134      ---          Enhanced      
 AB12345-BRA-1-id-42      ---          Enhanced      
 AB12345-BRA-1-id-93      ---          Enhanced      
AB12345-BRA-11-id-217     ---          Enhanced      
AB12345-BRA-11-id-345     ---          Enhanced      
AB12345-BRA-11-id-397     ---          Enhanced      
AB12345-BRA-11-id-50      ---          Enhanced      
AB12345-BRA-13-id-177     ---          Enhanced      
AB12345-BRA-14-id-23      ---          Enhanced      
AB12345-BRA-15-id-36      ---          Enhanced      
AB12345-BRA-2-id-296      ---          Enhanced      
AB12345-BRA-6-id-369      ---          Enhanced      
 AB12345-CAN-1-id-18      ---          Enhanced      
AB12345-CAN-11-id-139     ---          Enhanced      
AB12345-CAN-14-id-104     ---          Enhanced      
AB12345-CHN-1-id-119      ---          Enhanced      
AB12345-CHN-1-id-123      ---          Enhanced      
AB12345-CHN-1-id-133      ---          Enhanced      
AB12345-CHN-1-id-199      ---          Enhanced      
—————————————————————————————————————————————————————

Minimum reportable titer = 1.10 (example only)
--- = No sample evaluated
ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies)
Number of patients positive for Treatment Emergent ADA = the number of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
Transient ADA = ADA positive result detected (a) at only one post-baseline sampling timepoint (excluding last timepoint) OR (b) at 2 or more timepoints during treatment where the first and last ADA positive samples  are separated by a period of < 16 weeks, irrespective of any negative samples in between.
Persistent ADA =  ADA positive result detected (a) at the last post-baseline sampling timepoint, OR (b) at 2 or more time points during treatment where the first and last ADA positive samples are separated by a period ≥ 16 weeks, irrespective of any negative samples in between.
Asterisk denotes sample that tested positive for Neutralizing Antibodies.
Experimental use!

WebR is a tool allowing you to run R code in the web browser. Modify the code below and click run to see the results. Alternatively, copy the code and click here to open WebR in a new tab.

Code
library(dplyr)
library(rlistings)

adab <- random.cdisc.data::cadab %>%
  filter(NFRLT %% 1 == 0 & NFRLT > 0)

trt <- "A: Drug X"
drug_a <- "A: Drug X Antibody"
drugcd <- unique(adab$PARAMCD[adab$PARAM == "Antibody titer units"])[1]
min_titer <- 1.10

adab_x <- adab %>%
  filter(
    ARM == trt,
    PARCAT1 == drug_a,
    ADPBLPFL == "Y"
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU, -ARRLT, -NRRLT) %>%
  unique() %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  filter(if_any(matches("Treatment Emergent - Positive"), ~ .x == 1)) %>%
  # filter(`Treatment Emergent - Positive` == 1) %>%
  mutate(
    VISN = factor(paste0(
      VISIT, "\n(Day ",
      ifelse(
        NFRLT %% 1 == 0,
        NFRLT,
        as.character(format(round(NFRLT, 2), nsmall = 2))
      ),
      ")"
    )),
    PTES = ifelse(
      ifelse("Treatment induced ADA" %in% names(.), `Treatment induced ADA` == 1, FALSE),
      ifelse(
        "Transient ADA" %in% names(.) & `Transient ADA` == 1,
        "Induced (Transient)",
        "Induced (Persistent)"
      ),
      "Enhanced"
    )
  ) %>%
  mutate(
    AVAL = paste0(
      ifelse(
        ifelse("ADA interpreted per sample result" %in% names(.), `ADA interpreted per sample result` == 0, FALSE),
        "NEGATIVE",
        ifelse(
          ifelse("Antibody titer units" %in% names(.), !is.na(`Antibody titer units`), FALSE),
          ifelse(
            `Antibody titer units` < min_titer,
            paste0("<", format(min_titer, nsmall = 2)),
            as.character(format(round(`Antibody titer units`, 2), nsmall = 2))
          ),
          "---"
        )
      ),
      ifelse(
        ifelse("NAB interpreted per sample result" %in% names(.), `NAB interpreted per sample result` == 1, FALSE),
        "*",
        ""
      )
    )
  )

out <- adab_x %>%
  select(USUBJID, VISN, AVAL, PTES) %>%
  tidyr::pivot_wider(
    names_from = VISN,
    values_from = AVAL
  ) %>%
  select(USUBJID, unique(adab_x$VISN[order(adab_x$NFRLT)]), PTES)

var_labels(out) <- names(out)

out <- out %>%
  var_relabel(
    USUBJID = "Subject ID",
    PTES = "Patient Treatment\nEmergent ADA Status"
  )

Reproducibility

Timestamp

[1] "2025-07-05 17:30:54 UTC"

Session Info

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.0 (2025-04-11)
 os       Ubuntu 24.04.2 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       Etc/UTC
 date     2025-07-05
 pandoc   3.7.0.2 @ /usr/bin/ (via rmarkdown)
 quarto   1.7.32 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package           * version date (UTC) lib source
 backports           1.5.0   2024-05-23 [1] RSPM
 brio                1.1.5   2024-04-24 [1] RSPM
 checkmate           2.3.2   2024-07-29 [1] RSPM
 cli                 3.6.5   2025-04-23 [1] RSPM
 codetools           0.2-20  2024-03-31 [2] CRAN (R 4.5.0)
 curl                6.4.0   2025-06-22 [1] RSPM
 digest              0.6.37  2024-08-19 [1] RSPM
 dplyr             * 1.1.4   2023-11-17 [1] RSPM
 evaluate            1.0.4   2025-06-18 [1] RSPM
 fastmap             1.2.0   2024-05-15 [1] RSPM
 formatters        * 0.5.11  2025-04-09 [1] RSPM
 generics            0.1.4   2025-05-09 [1] RSPM
 glue                1.8.0   2024-09-30 [1] RSPM
 htmltools           0.5.8.1 2024-04-04 [1] RSPM
 htmlwidgets         1.6.4   2023-12-06 [1] RSPM
 jsonlite            2.0.0   2025-03-27 [1] RSPM
 knitr               1.50    2025-03-16 [1] RSPM
 lifecycle           1.0.4   2023-11-07 [1] RSPM
 magrittr            2.0.3   2022-03-30 [1] RSPM
 pillar              1.11.0  2025-07-04 [1] RSPM
 pkgcache            2.2.4   2025-05-26 [1] RSPM
 pkgconfig           2.0.3   2019-09-22 [1] RSPM
 processx            3.8.6   2025-02-21 [1] RSPM
 ps                  1.9.1   2025-04-12 [1] RSPM
 purrr               1.0.4   2025-02-05 [1] RSPM
 R6                  2.6.1   2025-02-15 [1] RSPM
 random.cdisc.data   0.3.16  2024-10-10 [1] RSPM
 rlang               1.1.6   2025-04-11 [1] RSPM
 rlistings         * 0.2.12  2025-06-15 [1] RSPM
 rmarkdown           2.29    2024-11-04 [1] RSPM
 sessioninfo         1.2.3   2025-02-05 [1] any (@1.2.3)
 stringi             1.8.7   2025-03-27 [1] RSPM
 stringr             1.5.1   2023-11-14 [1] RSPM
 testthat            3.2.3   2025-01-13 [1] RSPM
 tibble            * 3.3.0   2025-06-08 [1] RSPM
 tidyr               1.3.1   2024-01-24 [1] RSPM
 tidyselect          1.2.1   2024-03-11 [1] RSPM
 vctrs               0.6.5   2023-12-01 [1] RSPM
 withr               3.0.2   2024-10-28 [1] RSPM
 xfun                0.52    2025-04-02 [1] RSPM
 yaml                2.3.10  2024-07-26 [1] RSPM

 [1] /usr/local/lib/R/site-library
 [2] /usr/local/lib/R/library
 [3] /github/home/R/x86_64-pc-linux-gnu-library/4.5
 * ── Packages attached to the search path.

──────────────────────────────────────────────────────────────────────────────

.lock file

Download the .lock file and use renv::restore() on it to recreate environment used to generate this website.

Download

VST02
AEL01
Source Code
---
title: ADAL02
subtitle: Listing of Anti-Drug Antibody Data for Treatment Emergent ADA Positive Patients
---

------------------------------------------------------------------------

{{< include ../../_utils/envir_hook.qmd >}}

```{r setup, echo = FALSE, warning = FALSE, message = FALSE}
library(dplyr)
library(rlistings)

adab <- random.cdisc.data::cadab %>%
  filter(NFRLT %% 1 == 0 & NFRLT > 0)

trt <- "A: Drug X"
drug_a <- "A: Drug X Antibody"
drugcd <- unique(adab$PARAMCD[adab$PARAM == "Antibody titer units"])[1]
min_titer <- 1.10

adab_x <- adab %>%
  filter(
    ARM == trt,
    PARCAT1 == drug_a,
    ADPBLPFL == "Y"
  ) %>%
  select(-PARAMCD, -AVALC, -AVALU, -ARRLT, -NRRLT) %>%
  unique() %>%
  tidyr::pivot_wider(
    names_from = PARAM,
    values_from = AVAL
  ) %>%
  filter(if_any(matches("Treatment Emergent - Positive"), ~ .x == 1)) %>%
  # filter(`Treatment Emergent - Positive` == 1) %>%
  mutate(
    VISN = factor(paste0(
      VISIT, "\n(Day ",
      ifelse(
        NFRLT %% 1 == 0,
        NFRLT,
        as.character(format(round(NFRLT, 2), nsmall = 2))
      ),
      ")"
    )),
    PTES = ifelse(
      ifelse("Treatment induced ADA" %in% names(.), `Treatment induced ADA` == 1, FALSE),
      ifelse(
        "Transient ADA" %in% names(.) & `Transient ADA` == 1,
        "Induced (Transient)",
        "Induced (Persistent)"
      ),
      "Enhanced"
    )
  ) %>%
  mutate(
    AVAL = paste0(
      ifelse(
        ifelse("ADA interpreted per sample result" %in% names(.), `ADA interpreted per sample result` == 0, FALSE),
        "NEGATIVE",
        ifelse(
          ifelse("Antibody titer units" %in% names(.), !is.na(`Antibody titer units`), FALSE),
          ifelse(
            `Antibody titer units` < min_titer,
            paste0("<", format(min_titer, nsmall = 2)),
            as.character(format(round(`Antibody titer units`, 2), nsmall = 2))
          ),
          "---"
        )
      ),
      ifelse(
        ifelse("NAB interpreted per sample result" %in% names(.), `NAB interpreted per sample result` == 1, FALSE),
        "*",
        ""
      )
    )
  )

out <- adab_x %>%
  select(USUBJID, VISN, AVAL, PTES) %>%
  tidyr::pivot_wider(
    names_from = VISN,
    values_from = AVAL
  ) %>%
  select(USUBJID, unique(adab_x$VISN[order(adab_x$NFRLT)]), PTES)

var_labels(out) <- names(out)

out <- out %>%
  var_relabel(
    USUBJID = "Subject ID",
    PTES = "Patient Treatment\nEmergent ADA Status"
  )
```

```{r include = FALSE}
webr_code_labels <- c("setup")
```

{{< include ../../_utils/webr_no_include.qmd >}}

## Output

:::: panel-tabset
## Standard Listing

::: {.panel-tabset .nav-justified group="webr"}
## {{< fa regular file-lines sm fw >}} Preview

```{r lsting, test = list(lsting = "lsting")}
lsting <- as_listing(
  out,
  key_cols = "USUBJID",
  disp_cols = names(out),
  main_title = paste0(
    "Listing of Anti-", drugcd, " Antibody Data for Treatment Emergent ADA Positive Patients, PK Population",
    "\nProtocol: ", unique(adab$PARCAT1)[1]
  ),
  subtitles = paste("\nTreatment Group:", trt),
  # nolint start: line_length.
  main_footer = "Minimum reportable titer = 1.10 (example only)
--- = No sample evaluated
ADA = Anti-Drug Antibodies (is also referred to as ATA, or Anti-Therapeutic Antibodies)
Number of patients positive for Treatment Emergent ADA = the number of post-baseline evaluable patients determined to have treatment-induced ADA or treatment-enhanced ADA during the study period.
Treatment-induced ADA = a patient with negative or missing baseline ADA result(s) and at least one positive post-baseline ADA result.
Treatment-enhanced ADA = a patient with positive ADA result at baseline who has one or more post-baseline titer results that are at least 0.60 t.u. greater than the baseline titer result.
Transient ADA = ADA positive result detected (a) at only one post-baseline sampling timepoint (excluding last timepoint) OR (b) at 2 or more timepoints during treatment where the first and last ADA positive samples  are separated by a period of < 16 weeks, irrespective of any negative samples in between.
Persistent ADA =  ADA positive result detected (a) at the last post-baseline sampling timepoint, OR (b) at 2 or more time points during treatment where the first and last ADA positive samples are separated by a period ≥ 16 weeks, irrespective of any negative samples in between.
Asterisk denotes sample that tested positive for Neutralizing Antibodies."
  # nolint end: line_length.
)

head(lsting, 20)
```

```{r include = FALSE}
webr_code_labels <- c("lsting")
```

{{< include ../../_utils/webr.qmd >}}
:::

## Data Setup

```{r setup}
#| code-fold: show
```
::::

{{< include ../../_utils/save_results.qmd >}}

{{< include ../../repro.qmd >}}

Made with ❤️ by the NEST Team

  • Edit this page
  • Report an issue
Cookie Preferences