Как сравнить строку символов ICD-10 или узнать, попадает ли диагноз в диапазон?

У меня есть вопрос о том, как проверить, попадают ли определенные диагнозы в диапазон ICD-10 в R.

Вот мой диагностический код: C349 A219 B003 C509 B700 A090

А вот стандартный диапазон ICD-10, с которым я хочу сравнить: C01.0-C17 A74.8-A75.9 B00.1-B33.1 B69-B72.0 C00.0-C94.2

Я попытался разбить строки символов на значения, но так как они все еще не числовые, я не могу их сравнить.

Спасибо!

Yao

1 ответ

Решение

Это та проблема, для решения которой был разработан icd. Диапазоны кодов ICD-10 трудны, потому что их так много по сравнению с кодами ICD-9. Кроме того, код ICD-10 C01.0 не существует ни во Всемирной организации здравоохранения, ни в клинической модификации США. С этим в мыслях:

library(icd)
diagnoses <- c("C349", "A219", "B003", "C509", "B700", "A090")
one_pt <- data.frame(id = rep("patient1", length(diagnoses)),
                     diagnoses)
dif_pt <- data.frame(id = paste0("patient", seq_along(diagnoses)),
                     diagnoses)
my_map <- list(c01to17 = icd::expand_range("C01", "C17"),
               a74to75 = icd::expand_range("A748", "A759"),
               b00to33 = icd::expand_range("B001", "B331"),
               b69to72 = icd::expand_range("B69", "B72"),
               c00to94 = icd::expand_range("C000", "C942"))
icd::comorbid(one_pt, map = my_map)
icd::comorbid(dif_pt, map = my_map)

Я рекомендую пытаться соответствовать кодам ICD с десятичными знаками или без них. Я предпочитаю бросать их.

Если вы используете коды не-ВОЗ или не-ICD-10-CM, вы все равно можете работать с ICD, но будьте внимательны, чтобы убедиться, что расхождения, такие как C01.0, учтены правильно. В некоторых случаях это может означать ручной ввод кодов в диапазоне кодов. @thelatemail правильно, что вы должны быть очень осторожны при расширении диапазонов, чтобы не расширяться через "родительский" код и, следовательно, быть шире, чем планировалось. Диапазон расширения кода в icd очень осторожен с этим.

Другие вопросы по тегам