---
title: "Alternative hospital names"
author: "Erik Bulow"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Alternative hospital names}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r}
library(decoder)
```


# Bakgrund

Vad vi nedan menar med sjukhus omfattar i många fall även vårdcentraler och privatläkare. 

Paketet innehåller fyra olika kodverk för sjukhuskoder:

| keyvalue     |      Källa                    |  Antal                           |
|--------------|-------------------------------|---------------------------------:|
| sjukhus_inca | Organisationsregistret i INCA | `r nrow(sjukhus_inca)` |
| sjukhus      | Rockan                        | `r nrow(sjukhus)`      |
| sjukhus_par  | SOS Patientregistret          | `r nrow(sjukhus_par)`  |


# sjukhus_inca

Detta kodverk baseras på organisationsenhetsregistret i INCA. Här inkluderas både aktiva INCA-inrapporterande enheter, samt historiska eheter inlästa från historiska data.

Se `?sjukhus_inca` för mer info.

# sjukhus

Dessa koder hämtas från Rockan, det äldre systemet för cancer- och kvalitetsregister som historiskt använts av regionerna Väst och Norr.
Dessa koder var de första att inkluderas i paketet. Nyare enheter (exempelvis Angereds Närsjukhus i Göteborg) saknas i denna lista. 

Se `?sjukhus` för mer info.



# sjukhus_par

Koder som används i Socialstyrelsnes Patientregister. Denna förteckning avser endast sjukhus och endast de enheter som var aktuella 2014 (vilket var senaste året en sådan lista sammanställdes).

Se `?sjukhus_par` för mer info.



```{r, echo = FALSE, message=FALSE}
library(decoder)
suppressPackageStartupMessages(library(dplyr))

sjukhus_all <-
  suppressWarnings(
    bind_rows(
      rockan = as_tibble(sjukhus),
      inca   = as_tibble(sjukhus_inca),
      par    = as_tibble(sjukhus_par),
      .id    = "source"
    )
  )

key_n_sources <- 
  sjukhus_all |> 
  count(key, sort = TRUE)
```


# Samma kod kan ge olika klartext

Även om samma kod hanteras av fler än ett kodverk så kan namnet i klartext vara olika:

```{r, echo = FALSE, message = FALSE}

key_n_sources <- 
  sjukhus_all |> 
  count(key, sort = TRUE)
in3 <- key_n_sources |> filter(n == 3)

sjukhus_all |> 
  inner_join(in3, "key") |> 
  arrange(key) |> 
  tidyr::spread(source, value) |> 
  select(-n) |> 
  knitr::kable()
```
