Skip to content

Commit

Permalink
add captions to vignette tables
Browse files Browse the repository at this point in the history
  • Loading branch information
ernestguevarra committed Jul 4, 2024
1 parent 61220be commit ab18aa7
Showing 1 changed file with 66 additions and 27 deletions.
93 changes: 66 additions & 27 deletions vignettes/cause_of_death_code_checks.Rmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "Cause-of-death code checks"
author: Anita Makori and Ernest Guevarra
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Cause-of-death code checks}
Expand Down Expand Up @@ -111,7 +112,9 @@ rbind(
)
) |>
knitr::kable(
col.names = c("Score Combinations", "CoD Check Score", "CoD Check Note"))
col.names = c("Score Combinations", "CoD Check Score", "CoD Check Note"),
caption = "Cause-of-death code structure checks for ICD-10 version"
)
```

### Cause-of-death code structure checks for ICD-11 version
Expand Down Expand Up @@ -141,7 +144,9 @@ rbind(
)
) |>
knitr::kable(
col.names = c("Score Combinations", "CoD Check Score", "CoD Check Note"))
col.names = c("Score Combinations", "CoD Check Score", "CoD Check Note"),
caption = "Cause-of-death code structure checks for ICD-11 version"
)
```

These cause-of-death code structure checks are meant to detect writing/typing/encoding issues and gives feedback as to what potentially needs correction by the person performing the coding. Hence, these checks are most useful during routine cause-of-death code data quality checks prior to finalisation of cause-of-death data for reporting and/or statistical analysis use.
Expand All @@ -154,6 +159,8 @@ The cause-of-death coding steps/process for both ICD-10 and ICD-11 gives clear g

Following are the ill-defined codes for the ICD-10^[World Health Organization. International Classification of Diseases Tenth Revision (ICD-10). Sixth Edition. Vol. 2 Instruction Manual. Geneva: World Health Organization, 2019. https://icd.who.int/browse10/Content/statichtml/ICD10Volume2_en_2019.pdf.] and ICD-11^[World Health Organization. International Classification of Disease Eleventh Revision (ICD-11). Geneva: World Health Organization, 2022. https://icdcdn.who.int/icd11referenceguide/en/html/index.html.] versions.

### Ill-defined codes for ICD_10 and ICD-11

```{r ill-defined-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
Expand All @@ -162,13 +169,18 @@ data.frame(
"BD10-BD1Z, BA2Z, BE2Y, BE2Z, CB41.0, CB41.2, KB2D, KB2E, Chapter 21 codes"
)
) |>
knitr::kable(col.names = c("ICD Version", "Ill-defined Codes"))
knitr::kable(
col.names = c("ICD Version", "Ill-defined Codes"),
caption = "Ill-defined codes for ICD-10 and ICD-11"
)
```

Presence of ill-defined codes in the cause-of-death registry is critical as this can impact reported mortality statistics. This is the reason why one of the standard indicators for cause-of-death data quality is the proportion of ill-defined causes in cause-of-death registration^[https://www.who.int/data/gho/indicator-metadata-registry/imr-details/3057#:~:text=The%20following%20ICD%2D10%20codes,2%2C%20I49.].

The functions `cod_check_code_ill_defined_icd10()` and `cod_check_code_ill_defined_icd11()` classifies a cause-of-death code as follows:

### Checks for ill-defined cause-of-death codes

```{r ill-defined-coding, echo = FALSE}
data.frame(
cod_check <- c(0L, 1L),
Expand All @@ -178,7 +190,10 @@ data.frame(
"CoD code is an ill-defined code"
)
) |>
knitr::kable(col.names = c("CoD Check Score", "CoD Check Note"))
knitr::kable(
col.names = c("CoD Check Score", "CoD Check Note"),
caption = "Checks for ill-defined cause-of-death codes"
)
```

## Unlikely cause-of-death codes
Expand All @@ -189,15 +204,20 @@ Similar to issues with ill-defined codes, unlikely cause-of-death codes are prim

Following are the unlikely cause-of-death codes for the ICD-10^[World Health Organization. International Classification of Diseases Tenth Revision (ICD-10). Sixth Edition. Vol. 2 Instruction Manual. Geneva: World Health Organization, 2019. https://icd.who.int/browse10/Content/statichtml/ICD10Volume2_en_2019.pdf.] and ICD-11^[https://icd.who.int/valuesets/viewer/582/en] versions.

```{r sex-specific-cod-codes, echo = FALSE}
### Unlikely cause-of-death codes for ICD-10 and ICD-11

```{r unlikely-cod-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
ill_defined_codes = c(
paste(icd10_unlikely_cod$code, collapse = ", "),
paste(icd11_unlikely_cod$code, collapse = ", ")
)
) |>
knitr::kable(col.names = c("ICD Version", "Unlikely Cause-of-Death Codes"))
knitr::kable(
col.names = c("ICD Version", "Unlikely Cause-of-Death Codes"),
caption = "Unlikely cause-of-death codes for ICD-10 and ICD-11"
)
```

The `codeditr` package comes with datasets for ICD-10 (`icd10_unlikely_cod`) and ICD-11 (`icd11_unlikely_cod`) unlikely codes as reference.
Expand All @@ -206,7 +226,9 @@ Presence of unlikely causes-of-death codes in the cause-of-death registry is cri

The functions `cod_check_code_unlikely_icd10()` and `cod_check_code_unlikely_icd11()` classifies a cause-of-death code as follows:

```{r sex-specific-coding, echo = FALSE}
### Checks for unlikely cause-of-death codes

```{r unlikely-coding, echo = FALSE}
data.frame(
cod_check <- c(0L, 1L),
cod_check_note <- ifelse(
Expand All @@ -215,7 +237,10 @@ data.frame(
"CoD code is an unlikely cause-of-death"
)
) |>
knitr::kable(col.names = c("CoD Check Score", "CoD Check Note"))
knitr::kable(
col.names = c("CoD Check Score", "CoD Check Note"),
caption = "Checks for unlikely cause-of-death codes"
)
```

## Cause-of-death code not appropriate for sex
Expand All @@ -224,6 +249,8 @@ Certain cause-of-death codes are limited to or more likely to occur only to a sp

Following are cause-of-death codes for the ICD-10^[World Health Organization. International Classification of Diseases Tenth Revision (ICD-10). Sixth Edition. Vol. 2 Instruction Manual. Geneva: World Health Organization, 2019. https://icd.who.int/browse10/Content/statichtml/ICD10Volume2_en_2019.pdf.] and ICD-11^[https://icdcdn.who.int/icd11referenceguide/en/html/index.html#list-of-categories-limited-to-or-more-likely-to-occur-in-female-persons; https://icdcdn.who.int/icd11referenceguide/en/html/index.html#list-of-categories-limited-to-or-more-likely-to-occur-in-male-persons] versions specific to males and females.

### Male-specific cause-of-death codes

```{r male-specific-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
Expand All @@ -233,13 +260,13 @@ data.frame(
)
) |>
knitr::kable(
col.names = c(
"ICD Version",
"Male-Specific Cause-of-Death Codes"
)
col.names = c("ICD Version", "Cause-of-Death Codes"),
caption = "Male-specific cause-of-death codes"
)
```

### Female-specific cause-of-death codes

```{r female-specific-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
Expand All @@ -249,18 +276,18 @@ data.frame(
)
) |>
knitr::kable(
col.names = c(
"ICD Version",
"Female-Specific Cause-of-Death Codes"
)
col.names = c("ICD Version", "Cause-of-Death Codes"),
caption = "Female-specific cause-of-death codes"
)
```

The `codeditr` package comes with datasets for ICD-10 (`icd10_cod_by_sex`) and ICD-11 (`icd11_cod_by_sex`) for sex-specific cause-of-death codes as reference.

The functions `cod_check_code_sex_icd10()` and `cod_check_code_sex_icd11()` classifies a cause-of-death code as follows:

```{r unlikely-coding, echo = FALSE}
### Checks for sex-specific cause-of-death codes

```{r sex-specific-coding, echo = FALSE}
data.frame(
cod_check <- c(0L, 1L),
cod_check_note <- ifelse(
Expand All @@ -269,7 +296,10 @@ data.frame(
"CoD code is not appropriate for person's sex"
)
) |>
knitr::kable(col.names = c("CoD Check Score", "CoD Check Note"))
knitr::kable(
col.names = c("CoD Check Score", "CoD Check Note"),
caption = "Checks for sex-specific cause-of-death codes"
)
```

## Cause-of-death codes not appropriate for age
Expand All @@ -278,6 +308,8 @@ Certain cause-of-death codes are limited to or more likely to occur only to a sp

Following are cause-of-death codes for the ICD-10 and ICD-11 versions specific to neonates (less than 1 year old) and to children (less than 18 years old).

### Neonate-specific cause-of-death codes

```{r neonate-specific-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
Expand All @@ -287,13 +319,13 @@ data.frame(
)
) |>
knitr::kable(
col.names = c(
"ICD Version",
"Neonate-Specific Cause-of-Death Codes"
)
col.names = c("ICD Version", "Cause-of-Death Codes"),
caption = "Neonate-specific cause-of-death codes"
)
```

### Child-specific cause-of-death codes

```{r child-specific-codes, echo = FALSE}
data.frame(
icd_version = c("ICD-10", "ICD-11"),
Expand All @@ -303,17 +335,17 @@ data.frame(
)
) |>
knitr::kable(
col.names = c(
"ICD Version",
"Child-Specific Cause-of-Death Codes"
)
col.names = c("ICD Version", "Cause-of-Death Codes"),
caption = "Child-specific cause-of-death codes"
)
```

The `codeditr` package comes with datasets for ICD-10 (`icd10_cod_neonate` and `icd10_cod_child`) and ICD-11 (`icd11_cod_neonate` and `icd_cod_child`) for age-specific cause-of-death codes as reference.

The functions `cod_check_code_age_icd10()` and `cod_check_code_age_icd11()` classifies a cause-of-death code as follows:

### Checks for age-specific cause-of-death codes

```{r age-specific-coding, echo = FALSE}
data.frame(
cod_check <- c(0L, 1L),
Expand All @@ -323,5 +355,12 @@ data.frame(
"CoD code is not appropriate for person's age"
)
) |>
knitr::kable(col.names = c("CoD Check Score", "CoD Check Note"))
knitr::kable(
col.names = c("CoD Check Score", "CoD Check Note"),
caption = "Checks for age-specific cause-of-death codes"
)
```


<br/>
<br/>

0 comments on commit ab18aa7

Please sign in to comment.