---
title: "Missingness"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Missingness}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
options(rmarkdown.html_vignette.check_title = FALSE)
knitr::opts_chunk$set(
  warning = FALSE,
  message = FALSE,
  collapse = TRUE,
  comment = "#>"
)
```

## Run missingness check
```{r setup}
library(DrugExposureDiagnostics)
library(dplyr)
library(DT)

# acetaminophen concept id is 1125315
acetaminophen <- 1125315
cdm <- mockDrugExposure()
acetaminophen_checks <- executeChecks(cdm = cdm, 
                                      ingredients = acetaminophen, 
                                      checks = "missing")
```

## Overall missingness
This shows the missingness of the drug records summarised on ingredient level.

```{r}
datatable(acetaminophen_checks$missingValuesOverall,
  rownames = FALSE
)
```

| Column  | Description |
:------------- | :------------- |
ingredient_concept_id | Concept ID of ingredient. |
ingredient  | Name of drug ingredient. |
variable | the variable for which missingness was assessed. |
n_records | Number of records for ingredient concept. If n_records is the same as n_sample this means that there are more records but the number was cut at the pre-specified sample number for efficiency reasons. |
n_sample | The pre-specified maximum sample. If n_records is smaller than the sample it means that sampling was ignored because the total number of records was already too small. |
n_records_not_missing_value | The number of records for which there is no missingness in the variable of interest. |
n_records_missing_value | The number of records with missing values for the variable of interest. |
proportion_records_missing_value | The proportion of records with missing values for the variable of interest. |
result_obscured | TRUE if count has been suppressed due to being below the minimum cell count, otherwise FALSE. |

## Missingness by drug concept
This shows the missingness on drug concept level.

```{r}
datatable(acetaminophen_checks$missingValuesByConcept,
  rownames = FALSE
)
```

| Column  | Description |
:------------- | :------------- |
drug_concept_id  | ID of the drug concept. |
drug  | Name of the drug concept. |
ingredient_concept_id | Concept ID of ingredient. |
ingredient  | Name of drug ingredient. |
variable | the variable for which missingness was assessed. |
n_records | Number of records for drug concept.  If n_records is the same as n_sample this means that there are more records but the number was cut at the pre-specified sample number for efficiency reasons. |
n_sample | The pre-specified maximum sample. If n_records is smaller than the sample it means that sampling was ignored because the total number of records was already too small. |
n_records_not_missing_value | The number of records for which there is no missingness in the variable of interest. |
n_records_missing_value | The number of records with missing values for the variable of interest. |
proportion_records_missing_value | The proportion of records with missing values for the variable of interest. |
result_obscured | TRUE if count has been suppressed due to being below the minimum cell count, otherwise FALSE. |

