From 880ddf6116695ea85c97239f73290b49715bb2f2 Mon Sep 17 00:00:00 2001 From: Jackson Hoffart Date: Thu, 15 Feb 2024 11:38:55 +0100 Subject: [PATCH 1/5] add failing test --- tests/testthat/test-loanbook_demo.R | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/testthat/test-loanbook_demo.R b/tests/testthat/test-loanbook_demo.R index 476da433..5a83c309 100644 --- a/tests/testthat/test-loanbook_demo.R +++ b/tests/testthat/test-loanbook_demo.R @@ -1,3 +1,27 @@ test_that("hasn't changed", { expect_snapshot_value(loanbook_demo, style = "json2") }) + +test_that("loanbook_demo has at least one valid sector classification (#336)", { + #base R left_join + out <- merge( + loanbook_demo, + sector_classifications, + by.x = c( + "sector_classification_system", + "sector_classification_direct_loantaker" + ), + by.y = c( + "code_system", + "code" + ), + all.x = TRUE + ) + + number_of_sector_matches <- nrow( + out[!is.na(out[["sector"]]), ] + ) + + expect_true(number_of_sector_matches > 0) + +}) From 5c17f7c1874597e249760b1e7471b0b04fb28a31 Mon Sep 17 00:00:00 2001 From: Jackson Hoffart Date: Thu, 15 Feb 2024 12:03:42 +0100 Subject: [PATCH 2/5] Functionalize NACE conversion --- data-raw/classification_bridge.R | 37 ++++-------------------------- data-raw/utils.R | 39 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 32 deletions(-) diff --git a/data-raw/classification_bridge.R b/data-raw/classification_bridge.R index c4f2dceb..04df3980 100644 --- a/data-raw/classification_bridge.R +++ b/data-raw/classification_bridge.R @@ -7,38 +7,11 @@ nace_classification_raw <- read_bridge( file.path("data-raw", "nace_classification.csv") ) -nace_classification <- nace_classification_raw %>% - mutate( - prepend_value = case_when( - original_code %in% LETTERS ~ "", - trunc(as.numeric(original_code)) %in% seq(1, 3) ~ "A", - trunc(as.numeric(original_code)) %in% seq(5, 9) ~ "B", - trunc(as.numeric(original_code)) %in% seq(10, 33) ~ "C", - trunc(as.numeric(original_code)) == 35 ~ "D", - trunc(as.numeric(original_code)) %in% seq(36, 39) ~ "E", - trunc(as.numeric(original_code)) %in% seq(41, 43) ~ "F", - trunc(as.numeric(original_code)) %in% seq(45, 47) ~ "G", - trunc(as.numeric(original_code)) %in% seq(49, 53) ~ "H", - trunc(as.numeric(original_code)) %in% seq(55, 56) ~ "I", - trunc(as.numeric(original_code)) %in% seq(58, 63) ~ "J", - trunc(as.numeric(original_code)) %in% seq(64, 66) ~ "K", - trunc(as.numeric(original_code)) == 68 ~ "L", - trunc(as.numeric(original_code)) %in% seq(69, 75) ~ "M", - trunc(as.numeric(original_code)) %in% seq(77, 82) ~ "N", - trunc(as.numeric(original_code)) == 84 ~ "O", - trunc(as.numeric(original_code)) == 85 ~ "P", - trunc(as.numeric(original_code)) %in% seq(86, 88) ~ "Q", - trunc(as.numeric(original_code)) %in% seq(90, 93) ~ "R", - trunc(as.numeric(original_code)) %in% seq(94, 96) ~ "S", - trunc(as.numeric(original_code)) %in% seq(97, 98) ~ "T", - trunc(as.numeric(original_code)) == 99 ~ "U", - TRUE ~ "Z" #debug value, see unit tests) - ) - ) %>% - mutate( - code = paste0(prepend_value, original_code), - prepend_value = NULL - ) +nace_classification <- convert_superseded_nace_code( + nace_classification_raw, + col_from = "original_code", + col_to = "code" +) use_data(nace_classification, overwrite = TRUE) diff --git a/data-raw/utils.R b/data-raw/utils.R index 81c21128..aca43273 100644 --- a/data-raw/utils.R +++ b/data-raw/utils.R @@ -83,3 +83,42 @@ abort_missing_names <- function(missing_names) { ) ) } + +convert_superseded_nace_code <- function(data, + col_from, + col_to) { + data <- mutate( + data, + prepend_value = case_when( + .data[[col_from]] %in% LETTERS ~ "", + trunc(as.numeric(.data[[col_from]])) %in% seq(1, 3) ~ "A", + trunc(as.numeric(.data[[col_from]])) %in% seq(5, 9) ~ "B", + trunc(as.numeric(.data[[col_from]])) %in% seq(10, 33) ~ "C", + trunc(as.numeric(.data[[col_from]])) == 35 ~ "D", + trunc(as.numeric(.data[[col_from]])) %in% seq(36, 39) ~ "E", + trunc(as.numeric(.data[[col_from]])) %in% seq(41, 43) ~ "F", + trunc(as.numeric(.data[[col_from]])) %in% seq(45, 47) ~ "G", + trunc(as.numeric(.data[[col_from]])) %in% seq(49, 53) ~ "H", + trunc(as.numeric(.data[[col_from]])) %in% seq(55, 56) ~ "I", + trunc(as.numeric(.data[[col_from]])) %in% seq(58, 63) ~ "J", + trunc(as.numeric(.data[[col_from]])) %in% seq(64, 66) ~ "K", + trunc(as.numeric(.data[[col_from]])) == 68 ~ "L", + trunc(as.numeric(.data[[col_from]])) %in% seq(69, 75) ~ "M", + trunc(as.numeric(.data[[col_from]])) %in% seq(77, 82) ~ "N", + trunc(as.numeric(.data[[col_from]])) == 84 ~ "O", + trunc(as.numeric(.data[[col_from]])) == 85 ~ "P", + trunc(as.numeric(.data[[col_from]])) %in% seq(86, 88) ~ "Q", + trunc(as.numeric(.data[[col_from]])) %in% seq(90, 93) ~ "R", + trunc(as.numeric(.data[[col_from]])) %in% seq(94, 96) ~ "S", + trunc(as.numeric(.data[[col_from]])) %in% seq(97, 98) ~ "T", + trunc(as.numeric(.data[[col_from]])) == 99 ~ "U", + TRUE ~ "Z" #debug value, see unit tests) + ) + ) + + data <- mutate( + data, + {{col_to}} := paste0(prepend_value, .data[[col_from]]), + prepend_value = NULL + ) +} From b2262e92e0a10d17c6c600e80e150677a02ca2ec Mon Sep 17 00:00:00 2001 From: Jackson Hoffart Date: Thu, 15 Feb 2024 12:05:01 +0100 Subject: [PATCH 3/5] Run NACE conversion on loanbook_demo --- data-raw/loanbook_demo.R | 6 ++++++ data/loanbook_demo.rda | Bin 8877 -> 8903 bytes 2 files changed, 6 insertions(+) diff --git a/data-raw/loanbook_demo.R b/data-raw/loanbook_demo.R index f1ccace1..df690146 100644 --- a/data-raw/loanbook_demo.R +++ b/data-raw/loanbook_demo.R @@ -48,4 +48,10 @@ loanbook_demo <- loanbook_demo %>% ) ) +loanbook_demo <- convert_superseded_nace_code( + loanbook_demo, + col_from = "sector_classification_direct_loantaker", + col_to = "sector_classification_direct_loantaker" +) + usethis::use_data(loanbook_demo, overwrite = TRUE) diff --git a/data/loanbook_demo.rda b/data/loanbook_demo.rda index 14c0fa381928d704e9240f1666f9a49b31caddb9..e6d2a0f2a53e1610096c9126cae8bfd795492694 100644 GIT binary patch literal 8903 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 literal 8877 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 Date: Thu, 15 Feb 2024 12:05:35 +0100 Subject: [PATCH 4/5] Update snaps --- tests/testthat/_snaps/loanbook_demo.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testthat/_snaps/loanbook_demo.md b/tests/testthat/_snaps/loanbook_demo.md index 9655a5d8..85a034d1 100644 --- a/tests/testthat/_snaps/loanbook_demo.md +++ b/tests/testthat/_snaps/loanbook_demo.md @@ -86,9 +86,9 @@ "value": ["Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code", "Code"] }, { - "type": "double", + "type": "character", "attributes": {}, - "value": [3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3511, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 610, 2910, 2910, 5110, 5110, 5110, 5110, 3030, 2910, 5200, 2410] + "value": ["Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z2910", "Z2910", "Z5110", "Z5110", "Z5110", "Z5110", "Z3030", "Z2910", "Z5200", "Z2410"] }, { "type": "character", From e43555a174061ac2c9f5dafb34b5097e00e01196 Mon Sep 17 00:00:00 2001 From: Jackson Hoffart Date: Thu, 15 Feb 2024 12:14:03 +0100 Subject: [PATCH 5/5] Reformat loanbook_demo sector class codes --- data-raw/loanbook_demo.R | 20 +++++++++++++++++++- data/loanbook_demo.rda | Bin 8903 -> 8973 bytes tests/testthat/_snaps/loanbook_demo.md | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/data-raw/loanbook_demo.R b/data-raw/loanbook_demo.R index df690146..71eeb6b7 100644 --- a/data-raw/loanbook_demo.R +++ b/data-raw/loanbook_demo.R @@ -48,10 +48,28 @@ loanbook_demo <- loanbook_demo %>% ) ) +nace_classification_raw <- read_bridge( + file.path("data-raw", "nace_classification.csv") +) + +# this gets the `original_code` back to the `loanbook_demo` dataset +loanbook_demo <- mutate( + loanbook_demo, + sector_classification_direct_loantaker = as.character(sector_classification_direct_loantaker) + ) + +loanbook_demo <- left_join( + loanbook_demo, + select(nace_classification_raw, original_code, code), + by = c("sector_classification_direct_loantaker" = "code") +) + loanbook_demo <- convert_superseded_nace_code( loanbook_demo, - col_from = "sector_classification_direct_loantaker", + col_from = "original_code", col_to = "sector_classification_direct_loantaker" ) +loanbook_demo <- mutate(loanbook_demo, original_code = NULL) + usethis::use_data(loanbook_demo, overwrite = TRUE) diff --git a/data/loanbook_demo.rda b/data/loanbook_demo.rda index e6d2a0f2a53e1610096c9126cae8bfd795492694..88fd440c399edf0a0cd7372ce037261410323fa8 100644 GIT binary patch literal 8973 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 A6#xJL literal 8903 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 diff --git a/tests/testthat/_snaps/loanbook_demo.md b/tests/testthat/_snaps/loanbook_demo.md index 85a034d1..39b049b2 100644 --- a/tests/testthat/_snaps/loanbook_demo.md +++ b/tests/testthat/_snaps/loanbook_demo.md @@ -88,7 +88,7 @@ { "type": "character", "attributes": {}, - "value": ["Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3511", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z3011", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z291", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z2351", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z241", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z610", "Z2910", "Z2910", "Z5110", "Z5110", "Z5110", "Z5110", "Z3030", "Z2910", "Z5200", "Z2410"] + "value": ["D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "D35.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C30.11", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C29.1", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C23.51", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "C24.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "B6.1", "C29.10", "C29.10", "H51.1", "H51.1", "H51.1", "H51.1", "C30.3", "C29.10", "B5.2", "C24.1"] }, { "type": "character",