data-raw/icd10_cat.R

library(tidyverse)
library(readxl)
library(stringr)

raw <- read_excel("data-raw/icd10-raw.xls", sheet = 2)
icd10_cat <- raw[-c(4:8)]
colnames(icd10_cat) = c('kodi', 'isl', 'en')

icd10_cat <- icd10_cat %>%
  filter(kodi %in% kodi[str_detect(kodi, '^\\(')]) %>%
  mutate(kodi = gsub("\\(|\\)", "", kodi)) %>%
  separate(kodi, c('kodi_left', 'kodi_right'), '-') %>%
  mutate(kodi = map2(kodi_left, kodi_right, ~
                       if(!is.na(.y))
                         if(substr(.x, 2, 2) == 0)
                           paste0(substr(.x, 1, 2), parse_number(.x):parse_number(.y))
                         else
                           paste0(substr(.x, 1, 1), parse_number(.x):parse_number(.y))
                       else as.character(.x))) %>%
  select(kodi, isl, en) %>%
  unnest %>%
  select(kodi, isl, en)

write_csv(icd10_cat, 'data-raw/icd10_cat.csv')
devtools::use_data(icd10_cat, overwrite = TRUE, compress = 'xz')
thorj/ICD10ICE documentation built on May 13, 2019, 1:09 p.m.