You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中转换SNOMED至ICD-10遇错:Rdiagnosislist提示SNOMED未找到

解决Rdiagnosislist包转换SNOMED到ICD-10时的“SNOMED对象未找到”错误及替代方案

一、修复Rdiagnosislist的报错

你遇到的object 'SNOMED' not found错误,是因为Rdiagnosislist包需要先加载完整的SNOMED术语集对象,默认环境中并没有自动加载这个对象。按以下步骤解决:

  1. 调用loadSNOMED()函数下载并加载SNOMED术语集,首次运行会自动下载完整的术语数据(文件较大,可能需要几分钟),后续重复运行时会直接加载本地缓存的文件。
  2. 修正后的测试代码:
install.packages("Rdiagnosislist")
library(Rdiagnosislist)

# 首次运行下载SNOMED术语集,后续可跳过下载
loadSNOMED()

# 测试SNOMED转ICD-10
snomed_concept_id <- '713705003'
getMaps(SNOMEDcodelist(SNOMEDconcept(snomed_concept_id)), to = c('icd10'))

二、替代转换方案

如果上述方法仍有问题,或者需要更灵活的批量转换,可尝试以下方案:

  • 手动使用官方映射表:从SNOMED官方提供的映射资源中获取SNOMED CT到ICD-10的映射文件,将其导入R中作为匹配表,通过dplyr等工具实现批量编码转换。这种方法适合大规模数据集,且能自主控制映射规则。
  • 借助UMLS相关包:如果你有权限访问统一医学语言系统(UMLS),可以使用umlsr等R包,通过UMLS整合的跨编码体系概念关系,实现SNOMED到ICD-10的转换。UMLS的映射覆盖范围广,适合复杂的编码转换需求。

内容的提问来源于stack exchange,提问作者iHermes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:06:02