pharmaverse / sdtmchecks

Analysis facing checks for SDTM data
https://pharmaverse.github.io/sdtmchecks/
Apache License 2.0
20 stars 6 forks source link

check_ae_aeout - expand logic to include the scenario of missing AEOUT #318

Closed sarabodach closed 1 month ago

sarabodach commented 1 month ago
> AE <- data.frame(
+  USUBJID = 1:4,
+  AEDTHDTC = rep("2020-01-01", 4),
+  AEDECOD = 1:4,
+  AESTDTC = 1:4,
+  AEOUT = c("FATAL", "UNKNOWN", " ", NA),
+  AESPID = "FORMNAME-R:19/L:19XXXX",
+  stringsAsFactors = FALSE
+ )
> AE
  USUBJID   AEDTHDTC AEDECOD AESTDTC   AEOUT                 AESPID
1       1 2020-01-01       1       1   FATAL FORMNAME-R:19/L:19XXXX
2       2 2020-01-01       2       2 UNKNOWN FORMNAME-R:19/L:19XXXX
3       3 2020-01-01       3       3         FORMNAME-R:19/L:19XXXX
4       4 2020-01-01       4       4    <NA> FORMNAME-R:19/L:19XXXX
> check_ae_aeout(AE)
[1] FALSE
attr(,"msg")
[1] "AEs with inconsistent AEDTHDTC and AEOUT found."
attr(,"data")
  USUBJID   AEDTHDTC   AEOUT
1       2 2020-01-01 UNKNOWN
2       3 2020-01-01  

Only USUBJID 2 and 3 get flagged. USUBJID 4 does not get flagged because of NA.

https://github.com/pharmaverse/sdtmchecks/blob/bfc26cd90324ace15927bb2f14bee2e1acc7fb68/R/check_ae_aeout.R#L53

Expand logic to | is_sas_na(AE$AEOUT)