Skip to contents

[Stable]

[Stable]

Usage

scda_dataset_connector(
  dataname,
  scda_dataname = tolower(dataname),
  scda_name = "latest",
  keys = character(0),
  label = character(0),
  code = character(0),
  script = character(0),
  metadata = list(type = "scda", version = scda_name)
)

scda_cdisc_dataset_connector(
  dataname,
  scda_dataname = tolower(dataname),
  scda_name = "latest",
  keys = get_cdisc_keys(dataname),
  parent = if (identical(dataname, "ADSL")) character(0L) else "ADSL",
  label = character(0),
  code = character(0),
  script = character(0),
  metadata = list(type = "scda", version = scda_name)
)

Arguments

dataname

(character)
A given name for the dataset it may not contain spaces

scda_dataname

(character) which scda dataset to use (e.g. adsl).

scda_name

(character) which version of scda data to take, default "latest".

keys

optional, (character)
vector of dataset primary keys column names

label

(character)
Label to describe the dataset.

code

(character)
A character string defining code to modify raw_data from this dataset. To modify current dataset code should contain at least one assignment to object defined in dataname argument. For example if dataname = ADSL example code should contain ADSL <- <some R code>. Can't be used simultaneously with script

script

(character)
Alternatively to code - location of the file containing modification code. Can't be used simultaneously with script.

metadata

(named list, NULL or CallableFunction)
Field containing either the metadata about the dataset (each element of the list should be atomic and length one) or a CallableFuntion to pull the metadata from a connection. This should return a list or an object which can be converted to a list with as.list.

parent

(character, optional) parent dataset name

Details

Create a TealDatasetConnector for dataset in scda

Create a CDISCTealDatasetConnector from scda data

Examples

library(scda)
x <- scda_dataset_connector(
  dataname = "ADSL", scda_dataname = "adsl",
)
x$get_code()
#> [1] "ADSL <- scda::synthetic_cdisc_dataset(dataset_name = \"adsl\", archive_name = \"latest\")"
load_dataset(x)
get_dataset(x)
#> A TealDataset object containing the following data.frame (400 rows and 55 columns):
#>   STUDYID               USUBJID SUBJID SITEID AGE  AGEU SEX
#> 1 AB12345  AB12345-CHN-3-id-128 id-128  CHN-3  32 YEARS   M
#> 2 AB12345 AB12345-CHN-15-id-262 id-262 CHN-15  35 YEARS   M
#> 3 AB12345  AB12345-RUS-3-id-378 id-378  RUS-3  30 YEARS   F
#> 4 AB12345 AB12345-CHN-11-id-220 id-220 CHN-11  26 YEARS   F
#> 5 AB12345  AB12345-CHN-7-id-267 id-267  CHN-7  40 YEARS   M
#> 6 AB12345 AB12345-CHN-15-id-201 id-201 CHN-15  49 YEARS   M
#>                        RACE                 ETHNIC COUNTRY DTHFL         INVID
#> 1                     ASIAN     HISPANIC OR LATINO     CHN     Y  INV ID CHN-3
#> 2 BLACK OR AFRICAN AMERICAN NOT HISPANIC OR LATINO     CHN     N INV ID CHN-15
#> 3                     ASIAN NOT HISPANIC OR LATINO     RUS     N  INV ID RUS-3
#> 4                     ASIAN NOT HISPANIC OR LATINO     CHN     N INV ID CHN-11
#> 5                     ASIAN NOT HISPANIC OR LATINO     CHN     N  INV ID CHN-7
#> 6                     ASIAN NOT HISPANIC OR LATINO     CHN     Y INV ID CHN-15
#>           INVNAM            ARM ARMCD         ACTARM ACTARMCD         TRT01P
#> 1  Dr. CHN-3 Doe      A: Drug X ARM A      A: Drug X    ARM A      A: Drug X
#> 2 Dr. CHN-15 Doe C: Combination ARM C C: Combination    ARM C C: Combination
#> 3  Dr. RUS-3 Doe C: Combination ARM C C: Combination    ARM C C: Combination
#> 4 Dr. CHN-11 Doe     B: Placebo ARM B     B: Placebo    ARM B     B: Placebo
#> 5  Dr. CHN-7 Doe     B: Placebo ARM B     B: Placebo    ARM B     B: Placebo
#> 6 Dr. CHN-15 Doe C: Combination ARM C C: Combination    ARM C C: Combination
#>           TRT01A         TRT02P         TRT02A REGION1 STRATA1 STRATA2
#> 1      A: Drug X     B: Placebo      A: Drug X    Asia       C      S2
#> 2 C: Combination     B: Placebo C: Combination    Asia       C      S1
#> 3 C: Combination      A: Drug X     B: Placebo Eurasia       A      S1
#> 4     B: Placebo     B: Placebo     B: Placebo    Asia       B      S2
#> 5     B: Placebo C: Combination      A: Drug X    Asia       C      S1
#> 6 C: Combination     B: Placebo C: Combination    Asia       C      S2
#>      BMRKR1 BMRKR2 ITTFL SAFFL BMEASIFL BEP01FL AEWITHFL     RANDDT
#> 1 14.424934 MEDIUM     Y     Y        Y       Y        N 2019-02-22
#> 2  4.055463    LOW     Y     Y        N       N        Y 2019-02-26
#> 3  2.803240   HIGH     Y     Y        Y       N        N 2019-02-24
#> 4 10.262734 MEDIUM     Y     Y        Y       Y        N 2019-02-27
#> 5  6.206763    LOW     Y     Y        N       N        N 2019-03-01
#> 6  6.906799 MEDIUM     Y     Y        Y       N        N 2019-03-05
#>               TRTSDTM             TRTEDTM           TRT01SDTM
#> 1 2019-02-24 11:09:25 2022-02-12 04:28:08 2019-02-24 11:09:25
#> 2 2019-02-26 09:05:10 2022-02-26 03:05:10 2019-02-26 09:05:10
#> 3 2019-02-28 03:19:22 2022-02-27 21:19:22 2019-02-28 03:19:22
#> 4 2019-03-01 13:33:19 2022-03-01 07:33:19 2019-03-01 13:33:19
#> 5 2019-03-02 00:09:33 2022-03-01 18:09:33 2019-03-02 00:09:33
#> 6 2019-03-05 15:24:07 2022-02-19 04:06:48 2019-03-05 15:24:07
#>             TRT01EDTM           TRT02SDTM           TRT02EDTM
#> 1 2021-02-11 22:28:08 2021-02-11 22:28:08 2022-02-12 04:28:08
#> 2 2021-02-25 21:05:10 2021-02-25 21:05:10 2022-02-26 03:05:10
#> 3 2021-02-27 15:19:22 2021-02-27 15:19:22 2022-02-27 21:19:22
#> 4 2021-03-01 01:33:19 2021-03-01 01:33:19 2022-03-01 07:33:19
#> 5 2021-03-01 12:09:33 2021-03-01 12:09:33 2022-03-01 18:09:33
#> 6 2021-02-18 22:06:48 2021-02-18 22:06:48 2022-02-19 04:06:48
#>              AP01SDTM            AP01EDTM            AP02SDTM
#> 1 2019-02-24 11:09:25 2021-02-11 22:28:08 2021-02-11 22:28:08
#> 2 2019-02-26 09:05:10 2021-02-25 21:05:10 2021-02-25 21:05:10
#> 3 2019-02-28 03:19:22 2021-02-27 15:19:22 2021-02-27 15:19:22
#> 4 2019-03-01 13:33:19 2021-03-01 01:33:19 2021-03-01 01:33:19
#> 5 2019-03-02 00:09:33 2021-03-01 12:09:33 2021-03-01 12:09:33
#> 6 2019-03-05 15:24:07 2021-02-18 22:06:48 2021-02-18 22:06:48
#>              AP02EDTM       EOSSTT       EOTSTT      EOSDT EOSDY DCSREAS
#> 1 2022-02-12 04:28:08 DISCONTINUED DISCONTINUED 2022-02-12  1084   DEATH
#> 2 2022-02-26 03:05:10    COMPLETED    COMPLETED 2022-02-26  1096    <NA>
#> 3 2022-02-27 21:19:22    COMPLETED    COMPLETED 2022-02-27  1096    <NA>
#> 4 2022-03-01 07:33:19    COMPLETED    COMPLETED 2022-03-01  1096    <NA>
#> 5 2022-03-01 18:09:33    COMPLETED    COMPLETED 2022-03-01  1096    <NA>
#> 6 2022-02-19 04:06:48 DISCONTINUED DISCONTINUED 2022-02-19  1082   DEATH
#>        DTHDT       DTHCAUS        DTHCAT LDDTHELD LDDTHGR1   LSTALVDT DTHADY
#> 1 2022-03-06 ADVERSE EVENT ADVERSE EVENT       22     <=30 2022-03-06   1105
#> 2       <NA>          <NA>          <NA>       NA     <NA> 2022-03-17     NA
#> 3       <NA>          <NA>          <NA>       NA     <NA> 2022-03-11     NA
#> 4       <NA>          <NA>          <NA>       NA     <NA> 2022-03-26     NA
#> 5       <NA>          <NA>          <NA>       NA     <NA> 2022-03-15     NA
#> 6 2022-02-22 ADVERSE EVENT ADVERSE EVENT        3     <=30 2022-02-22   1084
#>   ADTHAUT
#> 1     Yes
#> 2    <NA>
#> 3    <NA>
#> 4    <NA>
#> 5    <NA>
#> 6     Yes
#> ...
get_dataset(x)$get_metadata()
#> $type
#> [1] "scda"
#> 
#> $version
#> [1] "latest"
#> 
x$get_raw_data()
#> # A tibble: 400 × 55
#>    STUDYID USUBJID    SUBJID SITEID   AGE AGEU  SEX   RACE  ETHNIC COUNTRY DTHFL
#>  * <chr>   <chr>      <chr>  <chr>  <int> <fct> <fct> <fct> <fct>  <fct>   <fct>
#>  1 AB12345 AB12345-C… id-128 CHN-3     32 YEARS M     ASIAN HISPA… CHN     Y    
#>  2 AB12345 AB12345-C… id-262 CHN-15    35 YEARS M     BLAC… NOT H… CHN     N    
#>  3 AB12345 AB12345-R… id-378 RUS-3     30 YEARS F     ASIAN NOT H… RUS     N    
#>  4 AB12345 AB12345-C… id-220 CHN-11    26 YEARS F     ASIAN NOT H… CHN     N    
#>  5 AB12345 AB12345-C… id-267 CHN-7     40 YEARS M     ASIAN NOT H… CHN     N    
#>  6 AB12345 AB12345-C… id-201 CHN-15    49 YEARS M     ASIAN NOT H… CHN     Y    
#>  7 AB12345 AB12345-U… id-45  USA-1     34 YEARS F     ASIAN NOT H… USA     N    
#>  8 AB12345 AB12345-U… id-261 USA-1     32 YEARS F     ASIAN NOT H… USA     N    
#>  9 AB12345 AB12345-N… id-173 NGA-11    24 YEARS F     BLAC… NOT H… NGA     N    
#> 10 AB12345 AB12345-C… id-307 CHN-1     24 YEARS M     ASIAN NOT H… CHN     Y    
#> # ℹ 390 more rows
#> # ℹ 44 more variables: INVID <chr>, INVNAM <chr>, ARM <fct>, ARMCD <fct>,
#> #   ACTARM <fct>, ACTARMCD <fct>, TRT01P <fct>, TRT01A <fct>, TRT02P <fct>,
#> #   TRT02A <fct>, REGION1 <fct>, STRATA1 <fct>, STRATA2 <fct>, BMRKR1 <dbl>,
#> #   BMRKR2 <fct>, ITTFL <fct>, SAFFL <fct>, BMEASIFL <fct>, BEP01FL <fct>,
#> #   AEWITHFL <fct>, RANDDT <date>, TRTSDTM <dttm>, TRTEDTM <dttm>,
#> #   TRT01SDTM <dttm>, TRT01EDTM <dttm>, TRT02SDTM <dttm>, TRT02EDTM <dttm>, …

metadata_fun <- callable_function(function(a) list(type = a))
metadata_fun$set_args(args = list(a = "scda"))
y <- scda_dataset_connector(
  dataname = "ADSL", scda_dataname = "adsl",
  metadata = metadata_fun
)
load_dataset(y)
get_dataset(y)$get_metadata()
#> $type
#> [1] "scda"
#>