Vid dataexport till RC:s kompassen krävs andra sjukhuskoder än de som normalt används inom RCC. Dessutom tillämpas kodsättning på förvaltningsnivå för sjukhus inom regionen.
decoder
-paketet innehåller två översättningsmatriser till nytta vid data-export till RC:
sjukhus_rc
översätter RCC:s sjkhuskoder till motsvarande koder som används av RCforvaltning_rc
Översätter RCC:s sjukhuskoder till förvaltningskoder som används av RCUtöver dessa båda huvudmatriser finns ytterligare två hjälpmatriser som inte är avsedda för (men som trots allt går) att använda direkt (se nedan:
sjukhus_rc_kod2klartext
översätter RC:s koder till deras motsvarande sjukhusnamn i klartext. Observera att dessa namn inte nödvändigtvis överrensstämmer med motsvarande namn hos RCC (se nedan).forvaltning_rc_kod2klartext
översätter RC:s förvaltningskoder till klartext. Dessa koder kanske i någon mån kan sägas motsvara RCC_s sjukhusområden (som dock baseras på folkbokföring) och inte som här, på VGR:s interna förvaltningsstruktur.Låt anta att vihar följande INCA-data att exportera till RC:
df <-
data.frame(
sjukhus = c("51012", "53011", "53013", "52011", "50070"),
something = sample(letters, 5),
something_else = sample(LETTERS, 5),
stringsAsFactors = FALSE
)
knitr::kable(df)
sjukhus | something | something_else |
---|---|---|
51012 | k | A |
53011 | o | G |
53013 | r | N |
52011 | n | V |
50070 | p | D |
Vi vill här översätta RCC:s sjukhuskod till motsvarande kod som används av RC:
# Vi använder också dplyr för data managemant
suppressPackageStartupMessages(library(dplyr))
library(decoder)
df %>%
mutate(
sjukhus_rc = decode(sjukhus, "sjukhus_rc"),
forvaltning_rc = decode(sjukhus, "forvaltning_rc")
) %>%
knitr::kable()
sjukhus | something | something_else | sjukhus_rc | forvaltning_rc |
---|---|---|---|---|
51012 | k | A | 510121 | 51012 |
53011 | o | G | 530143 | 53014 |
53013 | r | N | 530141 | 53014 |
52011 | n | V | 510141 | 51014 |
50070 | p | D | 500701 | 50070 |
Kanske är detta tillräckligt för RC? Men kanske vill vi också se sjukhus-och förvaltningsnamn i klartext för att exempelvis kunna felsöka:
df %>%
mutate(
sjukhus_rc_kod = decode(sjukhus, "sjukhus_rc"),
forv_rc_kod = decode(sjukhus, "forvaltning_rc"),
sjukhus_rc_namn = decode(sjukhus, "sjukhus_rc", "sjukhus_rc_namn"),
forv_rc_namn = decode(sjukhus, "forvaltning_rc", "forvaltning_rc_namn")
) %>%
knitr::kable()
sjukhus | something | something_else | sjukhus_rc_kod | forv_rc_kod | sjukhus_rc_namn | forv_rc_namn |
---|---|---|---|---|---|---|
51012 | k | A | 510121 | 51012 | Kungälvs sjukhus | Kungälvs sjukhus |
53011 | o | G | 530143 | 53014 | Lidköping | Skaraborgs Sjukhus |
53013 | r | N | 530141 | 53014 | Skövde | Skaraborgs Sjukhus |
52011 | n | V | 510141 | 51014 | SÄS Borås | Södra Älvsborgs Sjukhus |
50070 | p | D | 500701 | 50070 | Lundby sjukhus | Lundby sjukhus |
Översättning till sjukhus- och förvaltningsnamn sker här med hjälp av argumentet extra_functions
till decode
-funktionen. Ett alternativt sätt är att nyttja de båda hjälpmatriserna enligt ovan:
df %>%
mutate(
sjukhus_rc_kod = decode(sjukhus, "sjukhus_rc"),
forvaltning_rc_kod = decode(sjukhus, "forvaltning_rc"),
sjukhus_rc_namn = decode(sjukhus_rc_kod, "sjukhus_rc_code2klartext"),
forvaltning_rc_namn = decode(forvaltning_rc_kod, "forvaltning_rc_code2klartext")
)
En fördel med den fösra metoden framför den andra är att översättningen kan ske i ett steg istället för två. Just i detta exempel hade vi redan skapat sjukhus_rc_kod
respektive forvaltning_rc_kod
och kunde då utgå från dessa som mellansteg (något som också underlättas av att vi använder dplyr::mutate
). Om så inte hade varit fallet skulle det krävas omkodning i två steg såsom:
## [1] "Kungälvs sjukhus" "Lidköping" "Skövde"
## [4] "SÄS Borås" "Lundby sjukhus"
Vi illustrerar här skillnaderna mellan sjukhusnamn som används av RC och RCC genom att utgå från RCC:s sjukhuskoder som återfinns i översättningstabellerna, det vill säga internt i översättningsobjektet sjukhus_rc$key
:
sjukhusnamn <-
data_frame(
rcc_sjukhus_kod = decoder:::sjukhus_rc$key,
rcc_sjukhus_namn = decode(rcc_sjukhus_kod, "sjukhus"),
sjukhus_rc_namn = decode(rcc_sjukhus_kod, "sjukhus_rc", "sjukhus_rc_namn")
)
## Warning: `data_frame()` is deprecated, use `tibble()`.
## This warning is displayed once per session.
## Warning: Some codes could not be translated (500004)
rcc_sjukhus_kod | rcc_sjukhus_namn | sjukhus_rc_namn |
---|---|---|
50001 | Sahlg. Univers.sjh. - Sahlgrenska Sjh. | SU/Sahlgrenska |
50010 | Sahlg. Univers.sjh. - Östra sjukhuset | SU/Östra |
50070 | Capio Lundby Närsjukhus | Lundby sjukhus |
50071 | Frölunda specialistsjukhus | Frölunda sjukhus |
51010 | NU-sjukv. Uddevalla sjukhus | Uddevalla sjukhus |
51011 | Sahlg. Univers.sjh. - Mölndals sjukhus | SU/Mölndal |
51012 | Kungälvs sjukhus | Kungälvs sjukhus |
51031 | NU-sjukv. Lysekils sjukhus | Lysekils sjukhus |
51032 | NU-sjukv. Strömstads sjukhus | Strömstads sjukhus |
52011 | SÄS Borås | SÄS Borås |
52012 | Alingsås lasarett | Alingsås lasarett |
52013 | SÄS Skene | SÄS Skene |
52014 | Dalslands sjh Bäckefors | Dalslands sjukhus |
52017 | NU-sjukvården, NÄL | NÄL i Trollhättan |
53010 | SkaS/Falköping | Falköping |
53011 | SkaS/Lidköping | Lidköping |
53012 | SkaS/Mariestad | Mariestad |
53013 | SkaS/Skövde | Skövde |
500004 | NA | Angereds Närsjukhus |
Vi finner att 14 namn av 19 skiljer sig åt.
Att RCC saknar namnöversättning för Angereds närsjukhus kan bero på att paketet än så länge utgår från en gammal översättningstabell (detta kommer uppdateras inom kort).
RC kodar också hela GVR:s data med koden 55555. Detta faller dock utan för ramen för översättning direkt från sjukhuskod. Just nu rekmmeneras därför att detta hanteras separat.