2  Validity control and quality assessment of real-world data and real-world evidence

Authors
Affiliation

Christina Read

Thomas Debray

Smart Data Analysis and Statistics B.V.

library(readxl)
library(robvis)

The quality of real-world data is often suboptimal and can therefore lead to bias when generating real-world evidence (RWE). In this chapter, we will introduce key quality concerns of RWD, including their accuracy, completeness, and timeliness. Subsequently, we will discuss which steps can be taken to assess the quality of RWD, and determine their fitness for use. The chapter will also introduce directed acyclic graphs to explain how the analysis of RWD may be affected by different types of bias. We will put particular focus on confounding bias, selection bias, and information bias, and explain how these biases can be addressed by referring to specific chapters from the book. Finally, the chapter presents common quality appraisal tools that can be used to assess the quality of real-world evidence (for instance when conducting a systematic review).

2.1 Example code

A risk of bias assessment was conducted in the COVID-NMA review. We can create a summary table of risk of bias assessment and produce a traffic light plot as follows:

Risk_of_Bias <- read_excel("resources/RoB-covid.xlsx")

#creation of traffic light plot
trafficlight_rob <- rob_traffic_light(data = Risk_of_Bias, tool = "ROB2")
trafficlight_rob
Warning in ggplot2::geom_point(shape = 1, colour = "black", size = psize, : All aesthetics have length 1, but the data has 204 rows.
ℹ Did you mean to use `annotate()`?

Version info

This chapter was rendered using the following version of R and its packages:

R version 4.2.3 (2023-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.4 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so

locale:
 [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
 [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
 [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
[10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] robvis_0.3.0 readxl_1.4.3

loaded via a namespace (and not attached):
 [1] knitr_1.45        magrittr_2.0.3    munsell_0.5.0     tidyselect_1.2.1 
 [5] colorspace_2.1-0  R6_2.5.1          rlang_1.1.3       fastmap_1.1.1    
 [9] fansi_1.0.6       dplyr_1.1.4       tools_4.2.3       grid_4.2.3       
[13] gtable_0.3.4      xfun_0.42         utf8_1.2.4        cli_3.6.2        
[17] withr_3.0.0       htmltools_0.5.7   yaml_2.3.8        digest_0.6.35    
[21] tibble_3.2.1      lifecycle_1.0.4   farver_2.1.1      ggplot2_3.5.0    
[25] purrr_1.0.2       tidyr_1.3.1       htmlwidgets_1.6.4 vctrs_0.6.5      
[29] codetools_0.2-19  glue_1.7.0        evaluate_0.23     rmarkdown_2.26   
[33] compiler_4.2.3    pillar_1.9.0      cellranger_1.1.0  scales_1.3.0     
[37] generics_0.1.3    jsonlite_1.8.8    pkgconfig_2.0.3