This check looks for missing WHODrug version; if it's present, also checking it's the current version

check_ts_cmdict(TS)

Arguments

TS

Trial Summary SDTM dataset with variables TSPARMCD and TSVAL

Value

boolean value if check failed or passed with 'msg' attribute if the test failed

Author

Antony Howard (HackR 2021 Team Pentraxin1)

Examples


TS1 <- data.frame(
 STUDYID = 1,
 TSPARMCD = "CMDICT",
 TSVAL = "WHODRUG GLOBAL B3 MARCH 1, 2021",
 TSVAL2 = ""
)

TS2 <- data.frame(
 STUDYID = 2,
 TSPARMCD = "CMDICT",
 TSVAL = "",
 TSVAL1 = "WHODRUG GLOBAL B3 MARCH 1, 2021"
)

TS3 <- data.frame(
 STUDYID = 3,
 TSPARMCD = "CMDICT",
 TSVAL = ""
)

TS4 <-data.frame(
 STUDYID = 4,
 TSPARMCD = "AEDICT",
 TSVAL = ""
)

TS5 <- data.frame(
    STUDYID = 5,
    TSPARMCD = "CMDICT",
    TSVAL = "meddra 24.0",
    TSVAL2 = ""
)

TS6 <- data.frame(
 STUDYID = 6,
 TSPARMCD = "CMDICT",
 TSVAL = "WHODRUG vGLOBAL B3 MARCH 1, 2021",
 TSVAL2 = ""
)

check_ts_cmdict(TS1)
#> [1] FALSE
#> attr(,"msg")
#> [1] "WHODrug version in TS.TSVAL where TS.TSPARMCD=CMDICT is not latest version as of 2023-12-22 or not an exact string match."
#> attr(,"data")
#>   TSPARMCD                           TSVAL                 Current_WHODRUG_ver
#> 1   CMDICT WHODRUG GLOBAL B3 MARCH 1, 2021 WHODRUG GLOBAL B3 SEPTEMBER 1, 2023
check_ts_cmdict(TS2)
#> [1] FALSE
#> attr(,"msg")
#> [1] "No value in TS.TSVAL where TS.TSPARMCD=CMDICT. "
#> attr(,"data")
#>   TSPARMCD TSVAL                 Current_WHODRUG_ver
#> 1   CMDICT       WHODRUG GLOBAL B3 SEPTEMBER 1, 2023
check_ts_cmdict(TS3)
#> [1] FALSE
#> attr(,"msg")
#> [1] "No value in TS.TSVAL where TS.TSPARMCD=CMDICT. "
#> attr(,"data")
#>   TSPARMCD TSVAL                 Current_WHODRUG_ver
#> 1   CMDICT       WHODRUG GLOBAL B3 SEPTEMBER 1, 2023
check_ts_cmdict(TS4)
#> [1] FALSE
#> attr(,"msg")
#> [1] "No record where TS.TSPARMCD=CMDICT. "
check_ts_cmdict(TS5)
#> [1] FALSE
#> attr(,"msg")
#> [1] "WHODrug version in TS.TSVAL where TS.TSPARMCD=CMDICT is not latest version as of 2023-12-22 or not an exact string match."
#> attr(,"data")
#>   TSPARMCD       TSVAL                 Current_WHODRUG_ver
#> 1   CMDICT meddra 24.0 WHODRUG GLOBAL B3 SEPTEMBER 1, 2023
check_ts_cmdict(TS6)
#> [1] FALSE
#> attr(,"msg")
#> [1] "WHODrug version in TS.TSVAL where TS.TSPARMCD=CMDICT is not latest version as of 2023-12-22 or not an exact string match."
#> attr(,"data")
#>   TSPARMCD                            TSVAL                 Current_WHODRUG_ver
#> 1   CMDICT WHODRUG vGLOBAL B3 MARCH 1, 2021 WHODRUG GLOBAL B3 SEPTEMBER 1, 2023
check_ts_cmdict(rbind(TS1,TS1))
#> [1] FALSE
#> attr(,"msg")
#> [1] "Multiple records where TS.TSPARMCD=CMDICT. "
#> attr(,"data")
#>   TSPARMCD                           TSVAL
#> 1   CMDICT WHODRUG GLOBAL B3 MARCH 1, 2021
#> 2   CMDICT WHODRUG GLOBAL B3 MARCH 1, 2021