首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将ICD9和ICD10代码列表转换为它们在R中的含义(英文名称)?

如何将ICD9和ICD10代码列表转换为它们在R中的含义(英文名称)?
EN

Stack Overflow用户
提问于 2020-08-25 06:00:35
回答 2查看 145关注 0票数 0

我有一个ICD9和ICD10代码列表,如下所示:

706.2

L81.0

D23.5

782

我想把它们解码成英文(到疾病的实际名称)。我想在R中使用ICD包,特别是"explain_table()“函数,但它只能解码ICD9代码或ICD10代码。而不是同时出现这两种情况。我得到了这个:

皮脂腺囊肿

不可用

不可用

涉及皮肤和其他表皮组织的症状

似乎列表中第一个元素的ICD代码的类型将决定将翻译哪种代码。在我的例子中,第一个是ICD9代码,所以只翻译了ICD9代码。中间的两个ICD10代码不是。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2020-08-25 12:24:16

你是否也有一个指示器来指示任何给定的代码是ICD9还是ICD10?没有一种“安全”的方法可以可靠地覆盖所有可能的代码,特别是在使用短代码的情况下。例如,"E882“在ICD9是从建筑物上意外坠落,在ICD10是未分类的脂肪瘤。

Icd::explain_table()的“有帮助”的默认S3方法是检查第一个代码是否是有效的ICD10代码,如果是,则一切都是ICD10,否则一切都是ICD9。

如果你不知道任何给定的代码是ICD9还是ICD10,但是总是想要使用ICD10,如果一个代码在两个系统中都有,你可以采取如下方法:

代码语言:javascript
运行
复制
my_icd9 <- structure(my_character_vector, class = "icd10")
my_icd10 <- structure(my_character_vector, class = "icd9")

dplyr::coalesce(
  explain_table(my_icd10)$short_desc,
  explain_table(my_icd9)$short_desc
)

如果存在,它将为您提供ICD10的简短描述;如果没有与字符元素匹配的ICD10代码,则仅将ICD9作为备用方法。

票数 0
EN

Stack Overflow用户

发布于 2021-06-03 13:10:21

这是迟来的,但你可以从他们的repo使用icdcoder库。

代码语言:javascript
运行
复制
library(tidyverse)
library(devtools)
devtools::install_github("wtcooper/icdcoder")
library(icdcoder)


df <- tibble("codes" = c("706.2", "L81.0", "D23.5", "782")) %>% 
  mutate(
    codes_mod =  toupper(gsub("\\.","", codes)) # Remove dots.
  )
 

res <- df %>% 
  filter(codes_mod %in% icd10Hierarchy$icd10) %>% # First handle ICD10 codes.
  left_join(icd10Hierarchy, by = c("codes_mod" = "icd10")) %>% 
  bind_rows( # Then handle and append ICD9 codes.
    df %>% 
      filter(codes_mod %in% icd9Hierarchy$icd9) %>% 
      left_join(icd9Hierarchy, by = c("codes_mod" = "icd9"))
  )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63569261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档