想象你住的城市里有一套“市政语言系统”:警察、医院、消防、统计局各说各的方言。老王在社区医院被记为“糖尿”,转诊到三甲医院变成“2型糖尿病”,药房拿到的处方上写着“格华止”。这三条记录其实说的是同一个人、同一件事,但机器看到的是三串完全不同的字,没法把它们自动关联起来。真实世界的医院,正是这样一座“术语巴别塔”。 要让数据在科室间、医院间、国家间自由流动,城市就必须有“普通话”。SNOMED CT、ICD-10、LOINC、RxNorm,就是医疗数据世界里的四套标准普通话:一套写“发生了什么”,一套做“统计归类”,一套管“检验观测”,一套管“用药品种”。它们各管一摊,又互相咬合,构成了电子病历和临床AI的地基。本篇用“一座医院城市”的比喻,把这四套体系讲清楚。

岗位关联

对AI从业者来说,掌握这四套体系等于拿到了医疗数据的“官方地图”:你知道一段临床文本该挂到哪套体系上、编码怎么来、体系之间怎么翻译。临床NLP、电子病历处理、医疗AI落地,都绕不开这个地基。

目录
  1. 可视化演示
  2. 一、标准化必要性:为什么一座城市需要“普通话”
  3. 二、SNOMED CT:给临床叙事写“城市档案”
  4. 三、ICD-10:市政统计局的“大账本”
  5. 四、LOINC:检验项目的“商品条码”
  6. 五、RxNorm:药品的“标准身份证”
  7. 六、四体系协作:一份病历的“四语翻译”
  8. 七、跨体系映射:不同语言之间的“同义词词典”
  9. 八、医疗AI落地:让机器当“自动接线员”
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示SNOMED CT/ICD-10/LOINC/RxNorm四大临床术语体系对比与跨体系映射关系,含术语编码层次与NLP应用。

本节配有交互动效(进入视口后自动加载,约 3KB)。

四大临床术语体系对比 SNOMED CT:综合临床参考术语 ICD-10/LOINC/RxNorm各有专域 SNOMED | ICD | LOINC | RxNorm 四大体系覆盖诊断/检验/药品编码全领域。

一、标准化必要性:为什么一座城市需要“普通话”

假设老王看完病,社区医院的医生在系统里敲了一个“DM”,二线医院的医生敲“糖尿病”,医保上报时又写成“2型糖尿病”。三条记录在纸面上都是同一件事,可机器只会做字符串精确匹配,看到“DM”和“糖尿病”就以为是两个病。城市里每个部门各说各话,警察报警、消防出警、救护车调度都会互相听不懂。医疗系统也是一座城市,病历文本被不同的方言切割成一个个孤岛:医院与医院之间、科室与科室之间、甚至同一个系统不同版本之间,数据都无法互认。

要让数据流通,就必须给每个概念一个“标准词条”。标准术语体系就是医疗数据的普通话:它规定了概念怎么命名、怎么编号、概念之间是什么关系。从数据视角看,一个术语体系就是一个结构化的概念集合,可以用公式写出来:

有了“概念+关系”,机器不再只看字符串,而是看“编号背后的含义”。当全市医院都说这套普通话,老王的数据就能从社区医院一路跑到三甲医院,中间不需要人工翻译。AI从业者把这段故事往深处想一步:所有临床NLP任务,本质上都是在文本和这套“概念图谱”之间搭桥。

T=(C,R)\displaystyle T=(C,R)
这个公式把“一套术语体系”拆成了两个零件:概念集合和关系集合。概念是“有哪些词”,关系是“词与词怎么连”。
  1. 术语体系 T$T$ 代表一套完整的标准术语体系,它包含概念和关系两部分。
    T=(C,R)T=(C,R)
  2. 概念集合 C$C=\{c_1,c_2,\dots,c_n\}$ 是体系内所有被收录的概念,每个概念都有全局唯一编号。
    C={c1,c2,…,cn}C=\{c_{1},c_{2},\dots,c_{n}\}
  3. 关系集合 R$R$ 描述概念之间的语义连接,比如上下级、部位、病因等。
    R⊆C×CR\subseteq C\times C

二、SNOMED CT:给临床叙事写“城市档案”

如果说医院是一座城市,那么SNOMED CT就是城市里最细心的档案员。它不满足于只记“老王得了糖尿病”,它还想记下“老王什么时候开始多饮多尿”“病变发生在胰腺”“是否有酮症酸中毒倾向”。它像一本会讲故事的病历百科全书,把人从“正常”到“异常”的每一个临床细节都纳入体系。

这种细致来自SNOMED CT的基本结构:概念(Concept)、描述(Description)和关系(Relationship)。每个临床意义都有一个唯一的概念ID,例如“2型糖尿病”的概念ID是44054006。概念之间通过“is-a”构成一棵巨大的语义树:44054006是“内分泌疾病”的子类,而“内分泌疾病”又是“疾病”的子类。AI解析一份病历,只要锁定44054006,就能顺着关系找到它的所有父类和兄弟概念。

正是因为这样一张网,AI才能做推理:如果患者同时有“视网膜病变”和“糖尿病”,顺着is-a链路可以发现两者可能相关。但档案越细,代价也越大——SNOMED CT有几十万概念,日常统计时反而“细到没法汇总”。于是城市还需要第二套语言:ICD-10。

44054006  ∈  CSCT,is-a(44054006)=73211009\displaystyle 44054006 \;\in\; C_{\mathrm{SCT}},\quad \mathrm{is\text{-}a}(44054006)=73211009
这条公式表示:SNOMED CT 里的概念不是孤立字符,而是挂在一棵关系树上的节点;给出一个概念ID,就能找到它的父概念。
  1. 概念ID 44054006它代表“2型糖尿病”这个临床概念,是SNOMED CT 里的唯一身份编号。
    4405400644054006
  2. 属于概念集合这说明44054006是SNOMED CT概念集合的合法成员,所有成员都能参与语义推理。
    CSCTC_{\mathrm{SCT}}
  3. is-a关系is-a 表示“是一种”,这里指2型糖尿病是一种内分泌疾病。
    is-a(44054006)=73211009\mathrm{is\text{-}a}(44054006)=73211009

三、ICD-10:市政统计局的“大账本”

SNOMED CT像私人日记,写满了老王的每个细节;ICD-10则像市政统计局的手册,只关心“这个病该归到哪个筐里”。它把成千上万种疾病浓缩成几百个类目,用字母加数字的短码表示,方便国家之间比较发病率和死亡率,也方便医保按病种付费。

ICD-10的编码结构就像城市街道的编号:先找区,再找路,再找门牌。一个完整的ICD-10编码由章节、类目和亚目组成。拿“2型糖尿病不伴并发症”来说,编码是E11.9:E代表“内分泌、营养和代谢疾病”这一章,11代表“糖尿病”这个类目,.9表示“无并发症”这个亚目。三部分叠加,信息量不大,但足够定位。

ICD-10用最少的字符交换最大的统计效率,代价是舍弃细节。ICD-10里E11.9下面住着很多临床情况各不相同的病人,统计口径够用,但做AI推理就太粗。SNOMED CT负责“细说”,ICD-10负责“汇总”,两者互为补充,谁也替代不了谁。

E⏟章节 11⏟类目 .  9⏟亚目\displaystyle \underbrace{E}_{\text{章节}}\ \underbrace{11}_{\text{类目}}\ \underbrace{.\;9}_{\text{亚目}}
编码E11.9就像“行政区-街道-门牌”三层地址,每层压缩一点信息,最后形成一个短小精悍的统计标签。
  1. 章节E$E$ 表示ICD-10第IV章,即内分泌、营养和代谢类疾病。
    E00-E90E00\text{-}E90
  2. 类目11$11$ 表示该章节下的“糖尿病”大类,后续扩展码都在这个类目下。
    11⇒糖尿病11 \Rightarrow \text{糖尿病}
  3. 亚目.9$.\;9$ 表示该类的具体分支,这里指“不伴并发症”。
    .  9⇒无并发症.\;9 \Rightarrow \text{无并发症}

四、LOINC:检验项目的“商品条码”

超市里的每件商品都有一个条形码,收银员不用读“这是750毫升的某牌酱油”,扫一下码就知道厂家、规格、价格。LOINC就是检验和观测项目的“商品条码系统”。老王抽血查血糖,检验科在报告单上写“GLU 5.6mmol/L”,另一个医院可能写“Glucose 100mg/dL”,格式不同、单位不同、名称不同,机器很难对得上。LOINC给每个检验观测项发一个唯一编码,例如“血清/血浆中葡萄糖的质量浓度”对应LOINC 2345-7。

LOINC编码的聪明之处,在于它不是拍脑袋给编号,而是用六个语义要素“组装”出一个观测指标。这六个要素是:成分、受检属性、时间、系统、标尺、方法。你可以把它想成城市门牌号的六个维度:谁被测量、测它的什么性质、在哪个时间点测、在什么标本上测、结果是什么尺度、用什么方法测。

有了LOINC,老王在A医院查的血糖和B医院查的血糖就能被机器识别为“同一个观测项”。这对检验互认、多中心研究和AI模型训练至关重要。但LOINC只管“测什么”,不管“用什么药”。接下来要看药房的语言。

CLOINC=(Ci, Ai, Ti, Si, SCi, Mi)\displaystyle C_{\mathrm{LOINC}}=(C_i,\ A_i,\ T_i,\ S_i,\ SC_i,\ M_i)
六元组是LOINC的“配方表”:六种原料一确定,就得到一个唯一的七位编码,任何检验报告都能精确对号入座。
  1. 成分 C_i测定的是什么物质,比如葡萄糖。
    Ci=葡萄糖C_i=\text{葡萄糖}
  2. 受检属性 A_i测它的哪个性质,比如质量浓度还是摩尔浓度。
    Ai=质量浓度A_i=\text{质量浓度}
  3. 时间 T_i是某一时刻的“时间点”,还是24小时尿液的“时间段”。
    Ti=时间点T_i=\text{时间点}
  4. 系统 S_i在什么样本中测量,如血清、血浆或尿液。
    Si=血清/血浆S_i=\text{血清/血浆}
  5. 标尺 SC_i结果是定量、定性还是序数等级。
    SCi=定量SC_i=\text{定量}
  6. 方法 M_i用什么检测方法,若方法不影响临床解释可留空。
    Mi=∗M_i=\ast

五、RxNorm:药品的“标准身份证”

城市的药房里,同一种成分的药可能叫“格华止”“盐酸二甲双胍片”“Metformin HCl Tablets”。这些名字听起来风马牛不相及,但实际是同一种东西。如果每个系统各记各的名字,老王在社区拿的“格华止”和三甲医院开的“二甲双胍”就无法对应,药物过敏、重复用药、剂量叠加都变成隐患。RxNorm就是给药品发“标准身份证”的体系。

RxNorm把药品组织成分层模型:最底层是成分(IN),比如“二甲双胍”;加上剂型和剂量规格,变成不带品牌的药品产品(SCD);再挂上品牌名,就得到品牌化的药品产品(SBD)。从成分到品牌,每一步都是一条明确的关系边。AI系统用药典做查询时,从任何一层都能顺藤摸瓜找到另外两层。

RxNorm让药房、处方系统、医保结算和临床决策支持系统能共享同一套药物语言。加上前面三套体系,城市的四大语言系统终于凑齐了。

CIN→has dose formCSCD→trade nameCSBD\displaystyle C_{\mathrm{IN}}\xrightarrow{\text{has dose form}}C_{\mathrm{SCD}}\xrightarrow{\text{trade name}}C_{\mathrm{SBD}}
这条链条表示:一个药品概念可以不断“加属性”,从纯成分一步步变成某个品牌商品,每一步都有标准关系支撑。
  1. 成分概念 IN最底层的化学成分,比如二甲双胍,不包含剂型和品牌信息。
    CINC_{\mathrm{IN}}
  2. has dose form 关系这一步给成分加上片剂、胶囊、注射剂等剂型信息。
    →has dose form\xrightarrow{\text{has dose form}}
  3. SCD 药品产品形成“二甲双胍片”这种不指定品牌的标准化产品。
    CSCDC_{\mathrm{SCD}}
  4. trade name 关系再把品牌名挂上去,比如“格华止”。
    →trade name\xrightarrow{\text{trade name}}
  5. SBD 品牌药最终形成“格华止片”这种带品牌的药品概念。
    CSBDC_{\mathrm{SBD}}

六、四体系协作:一份病历的“四语翻译”

SNOMED CT、ICD-10、LOINC、RxNorm各管一段,合在一起才覆盖一份完整病历。如果把老王一次门诊的电子病历拆开看:医生写的“2型糖尿病”属于诊断,交给SNOMED CT做语义记录、交给ICD-10做统计分类;检验单上的“血糖”属于观测,交给LOINC;处方上的“格华止”属于药品,交给RxNorm。四位记录员各写各的档案,拼起来就是老王这次就诊的完整数字画像。

这就是四体系协作的真相:它们不是竞品,而是拼图。SNOMED CT负责最细腻的临床叙事,ICD-10负责最简洁的统计口径,LOINC负责一切可观测的检验指标,RxNorm负责药品的标准化身份。AI在做电子病历结构化时,通常会把一条病历文本同时映射到多个体系,每个体系只取走自己该管的那部分。

理解了这个四件套,再回头看很多医疗AI项目的“数据清洗”工作,其实就是在做同一件事:把一段自由文本,映射到这四个体系的编码上。但城市之间的语言有差异,翻译从来不是百分百直译,这就引出了第七节的难题。

D病历={44054006SCT, E11.9ICD, 2345 ⁣− ⁣7LOINC, 6809RxNorm}\displaystyle D_{\text{病历}}=\{44054006_{\mathrm{SCT}},\ E11.9_{\mathrm{ICD}},\ 2345\!-\!7_{\mathrm{LOINC}},\ 6809_{\mathrm{RxNorm}}\}
一份简单病历的编码集合,就是四个体系各自贡献一个代码后组成的四件套。
  1. 诊断维度症状和诊断由SNOMED CT记录,这里“2型糖尿病”挂上概念ID。
    44054006SCT44054006_{\mathrm{SCT}}
  2. 统计维度ICD-10给同一个诊断补一个统计分类码,用于医保和上报。
    E11.9ICDE11.9_{\mathrm{ICD}}
  3. 检验维度血糖这个检验项目用LOINC码表达,保证跨院互认。
    2345 ⁣− ⁣7LOINC2345\!-\!7_{\mathrm{LOINC}}
  4. 药品维度处方中的“格华止”用RxNorm码6809表达,明确其成分和规格。
    6809RxNorm6809_{\mathrm{RxNorm}}

七、跨体系映射:不同语言之间的“同义词词典”

SNOMED CT和ICD-10都描述疾病,但它们一个说得细、一个分得粗。要把SNOMED CT的44054006(2型糖尿病)翻译成ICD-10的E11.9(糖尿病不伴并发症),看起来像是一对一,可实际中往往不是。SNOMED CT里有好几个关于“2型糖尿病”的细分概念,它们可能都落到同一个ICD-10编码里;反过来,一个SNOMED概念在ICD-10中也可能对应多个统计码,这取决于并发症状态。

跨体系映射,就是建一张“同义词词典”,把一个体系的概念翻译到另一个体系。在数学上,映射是一个函数,但它的目标不是单个编码,而是一个编码的集合,因为粒度差异让一对多成为常态。

实际构建映射表时,常用方法有:人工编制、基于模型名相似匹配、基于已有映射表传播。评价指标通常看覆盖率(能映射多少源概念)和准确率(映射结果是否正确)。AI从业者要注意:映射表的建设是“高成本、高价值”的基础工程,做临床NLP项目时,很多坑都来自映射粒度对不上。

f:CSCT→2CICD,f(44054006)={E11.9}\displaystyle f:C_{\mathrm{SCT}}\to 2^{C_{\mathrm{ICD}}},\quad f(44054006)=\{E11.9\}
映射函数把SNOMED概念送到ICD-10编码的“幂集”中,相当于一本允许一篇文章翻译成多个等价短语的词典。
  1. 源概念集合$C_{\mathrm{SCT}}$ 代表SNOMED CT的概念集合,是映射的出发地。
    CSCTC_{\mathrm{SCT}}
  2. 目标幂集$2^{C_{\mathrm{ICD}}}$ 表示ICD-10编码所有子集的集合,允许映射到多个编码。
    2CICD2^{C_{\mathrm{ICD}}}
  3. 具体查表$f(44054006)$ 表示在映射词典中查“2型糖尿病”这个SNOMED概念。
    f(44054006)f(44054006)
  4. 映射结果查表得到的是一组ICD-10编码,而不只是一个编码。
    {E11.9}\{E11.9\}

八、医疗AI落地:让机器当“自动接线员”

把前面所有知识串起来,就是医疗AI中一个非常核心的流水线:实体识别与术语归一。所谓实体识别,就是让模型在一段病历文本里找出“老王确诊2型糖尿病,查血糖,处方:格华止”中的医学实体;所谓术语归一,就是把找出来的实体映射到标准编码上。前者像城市接线员听到一句话,后者像接线员在话务簿里查到准确的分机号。

处理完一份病历,AI得到的不是一堆字符串,而是一组带标准编码的实体。它可以用SNOMED CT做知识推理,用ICD-10做医保分组,用LOINC关联检验值,用RxNorm触发药物相互作用告警。更进一步,这些实体可以组成医学知识图谱:老王这个节点、2型糖尿病这个疾病节点、二甲双胍这个药品节点,通过“患有”“接受治疗”等关系连成一张网。城市里每个人的健康画像,就是这样一层层织出来的。

回到城市比喻:SNOMED CT、ICD-10、LOINC、RxNorm就是四本官方话务簿,AI接线员读一句病历,翻四本册子,给每个词找到该去的分机。做医疗AI的同学若能亲手走一遍“文本→实体→四体系编码”的流程,就真正理解了临床数据的基础设施是怎么运转的。

ϕ(W)=⋃i=1k⟨si, ei, ci, confi⟩\displaystyle \phi(W)=\bigcup_{i=1}^{k}\langle s_i,\ e_i,\ c_i,\ \mathrm{conf}_i\rangle
一个AI解析器读入整段病历文本,输出若干实体标签,每个标签包含文本片段、类型、标准码和置信度。
  1. 解析器$\phi(W)$ 表示整个实体识别与归一模型,输入是病历文本。
    ϕ(W)\phi(W)
  2. 文本序列$W$ 是由一个个词或字符组成的原始病历文本。
    W=w1w2…wnW=w_1w_2\dots w_n
  3. 实体标注$\langle s_i,e_i,c_i\rangle$ 表示第 $i$ 个实体的文本片段、实体类型和标准编码。
    ⟨si,ei,ci⟩\langle s_i,e_i,c_i\rangle
  4. 置信度$\mathrm{conf}_i$ 是模型对这个映射结果的置信程度,用于人工复核排序。
    confi\mathrm{conf}_i

AI 应用场景

场景一:电子病历数据标准化流水线

阶段:数据清洗与特征工程

解决的问题:医院每天产生几十万条门诊记录,各科室写法五花八门。传统做法靠人工逐条归类,耗时且出错。AI用规则加模型做实体识别,再按四套体系映射到标准编码,把自由文本变成结构化字段。

具体案例:某三甲医院建设临床数据中心,调用NLP模型读取门诊病历,将“2型糖尿病”自动标注为SNOMED CT概念44054006和ICD-10编码E11.9,将“血糖”标注为LOINC 2345-7,将“格华止”标注为RxNorm 6809。下游科研统计直接按编码查询,不再依赖字符串匹配。

场景二:医学知识图谱构建

阶段:模型训练与知识表示

解决的问题:知识图谱需要标准化节点,否则“二甲双胍”和“格华止”会被建成两个孤立节点,无法推理。借助RxNorm层级模型,AI能把品牌名归一到底层成分,再通过SNOMED CT的关系网络连接疾病、症状、药物。

具体案例:用药安全系统中,知识图谱发现患者同时服用两种不同品牌但成分相同的降糖药,触发“重复用药”告警。这个能力的基础,正是RxNorm把两个商品名指向同一个成分概念。

场景三:区域检验结果互认平台

阶段:数据集成与互操作

解决的问题:患者在不同医院查血糖,报告的单位和名称不同,人工比对容易出错。LOINC为检验项目提供统一编码,AI在平台层将各医院检验字典映射到LOINC,实现结果自动对齐。

具体案例:市级医疗平台接入五家医院的检验系统,将百余种常见检验项目映射到LOINC标准码。医生调阅外院报告时,系统自动把“GLU”“Glucose”“血糖”统一显示为同一个LOINC 2345-7条目,并附上参考区间。

Python 演示

python32 行
# 四大临床术语体系规则映射演示# 演示如何把一条中文临床文本解析为标准编码class ClinicalEntityMapper:    def __init__(self):        self.snomed = {"2型糖尿病": "44054006", "高血压": "38341003"}        self.icd10 = {"2型糖尿病": "E11.9", "高血压": "I10"}        self.loinc = {"血糖": "2345-7", "糖化血红蛋白": "4548-4"}        self.rxnorm = {"二甲双胍": "6809", "格华止": "6809"}     def map_entity(self, entity):        result = {"text": entity}        if entity in self.snomed:            result["SNOMED CT"] = self.snomed[entity]        if entity in self.icd10:            result["ICD-10"] = self.icd10[entity]        if entity in self.loinc:            result["LOINC"] = self.loinc[entity]        if entity in self.rxnorm:            result["RxNorm"] = self.rxnorm[entity]        return result     def process(self, text):        entities = ["2型糖尿病", "高血压", "血糖", "糖化血红蛋白", "二甲双胍", "格华止"]        finds = [e for e in entities if e in text]        return [self.map_entity(e) for e in finds]  if __name__ == "__main__":    mapper = ClinicalEntityMapper()    record = "患者确诊2型糖尿病,查血糖,处方:格华止。"    for item in mapper.process(record):        print(item)
目的:用一份极简词典演示“临床文本→四套标准编码”的归一化过程,这是真实医疗NLP流水线的微缩版本。
  1. class ClinicalEntityMapper定义一个映射器,模拟四套术语体系的查找表。
  2. self.snomed = {...}SNOMED CT概念词典,键是中文实体,值是标准概念ID。
  3. self.rxnorm = {"二甲双胍": "6809", "格华止": "6809"}关键设计:品牌名和通用名映射到同一个RxNorm编码,这就是药品归一化的核心。
  4. def process(self, text)对文本做最简单的子串匹配,找出命中的医学实体。
  5. finds = [e for e in entities if e in text]列表推导式,等价于“在文本里逐词查词典”。
  6. record = "患者确诊2型糖尿病,查血糖,处方:格华止。"一条高度浓缩的模拟病历,含诊断、检验、用药三类信息。
  7. for item in mapper.process(record): print(item)输出每个实体在哪些体系里有编码,观察“一个实体映射到多个体系”。

常见误区

误区这两个体系都是给疾病编码的,选一个用就行,反正都是“疾病码”。

正解SNOMED CT像城市档案员的个人传记,记录“患者有什么症状、病变在什么部位、病情如何演变”;ICD-10像市政统计局的汇总账本,只把病归到标准统计类别。一个求细、一个求统,它们服务于不同场景,不能互相替代。

为何常见:两者都常见于“诊断”相关字段,名字里都有编码含义,初学者容易把它们当成同类工具。

误区LOINC就是“血常规、尿常规、生化全项”这些实验室项目的编号。

正解LOINC覆盖所有临床观测指标,包括生命体征、问卷调查、影像学观察、医嘱项目等。凡是“对患者做一次可观察的测量或评估”,都可以用LOINC编码。

为何常见:LOINC以检验科和实验室项目普及,教材和文章举例大多围绕“血糖、血脂、肌酐”,让人形成刻板印象。

误区RxNorm就是一本小册子,告诉我“格华止=二甲双胍”。

正解RxNorm内部有结构化层级:成分(IN)、药品产品(SCD)、品牌药品(SBD)等概念类型,还包含剂量规格和给药途径。它不仅是翻译器,而是一张药品语义网。

为何常见:日常看到的例子几乎都是“品牌名→通用名”的一对一映射,掩盖了RxNorm更深的分层模型。

误区只要拿到一个SNOMED CT概念ID,就能自动查到唯一正确的ICD-10码,像查字典一样简单。

正解两个体系的设计目标不同,粒度不同。多个SNOMED CT临床概念可能归并到一个ICD-10统计类目,一个SNOMED概念也可能因为并发症不同映射到多个ICD-10码,所以映射结果应该视为“候选集”。

为何常见:“映射”这个词让人想到词典里词条的一一对应,而实际上医学编码存在天然的粗细差异。

误区标准化的目标是把病历全部结构化,之后原始文本可以删掉,只留编码。

正解编码是结构化索引,不是原文替代品。原始文本保留着上下文、时间线、医生推理等信息,AI模型训练、算法审计、临床纠纷取证都依赖原文。四套体系的价值是帮助机器“找到”和“关联”,而不是抹掉原始记录。

为何常见:将“标准化”误解为“转换成编码”,忽略了原始文本在数据生命周期中的长期价值。

面试题

Q1. 在四大临床术语体系中,SNOMED CT 主要负责什么?

单选题 · easy

  • A.描述症状和体征的临床概念← 正确答案
  • B.基于字母数字的疾病统计分类
  • C.检验项目唯一标识体系
  • D.药品名称与规格标准

答案:A。SNOMED CT 是城市档案员,负责细致描述临床概念及其关系;ICD-10 做统计分类,LOINC 管检验项目,RxNorm 管药品标准,所以选 A。

Q2. ICD-10 的主要用途是什么?

单选题 · easy

  • A.记录患者的手术过程细节
  • B.统计疾病与死亡原因并支持医保← 正确答案
  • C.标记化验单上的每个项目
  • D.统一药品商品名与剂量规格

答案:B。ICD-10 是市政统计账本,用于疾病与死亡统计、医保支付和 DRG 分组;手术细节归 SNOMED CT,化验项目归 LOINC,药品规格归 RxNorm。

Q3. 下列哪个体系为检验和观测指标设计统一编码?

单选题 · mid

  • A.SNOMED CT 概念编码
  • B.ICD-10 疾病编码
  • C.LOINC 观测指标编码← 正确答案
  • D.RxNorm 药物编码

答案:C。LOINC 用六要素定义检验和临床观测项目,相当于超市的商品条码;SNOMED CT 描述临床概念,ICD-10 做疾病分类,RxNorm 管药品。

Q4. RxNorm 核心解决的问题是什么?

单选题 · mid

  • A.药品命名不一致问题← 正确答案
  • B.疾病编码精度问题
  • C.检验指标单位换算
  • D.病历文本自动生成

答案:A。RxNorm 把“格华止”“二甲双胍片”等不同叫法统一到标准药品概念层级,解决药品命名歧义;它不负责疾病、检验和文本生成。

Q5. ICD-10 编码 E11.9 中的“9”表示什么?

单选题 · mid

  • A.章节编码
  • B.类目编码
  • C.亚目编码← 正确答案
  • D.版本序号

答案:C。在 E11.9 中,E 是章节、11 是类目、.9 是亚目,表示“2型糖尿病不伴并发症”,所以选 C。

Q6. 以下哪些属于 LOINC 六要素?

多选题 · mid

  • A.成分与受检属性← 正确答案
  • B.时间与测量系统← 正确答案
  • C.标尺与检验方法← 正确答案
  • D.价格与库存数量

答案:ABC。LOINC 六要素是成分、受检属性、时间、系统、标尺、方法。价格和库存是商品管理属性,与观测指标语义无关,所以不选 D。

Q7. 从 SNOMED CT 向 ICD-10 做语义映射时,最常见的粒度现象是?

单选题 · extreme

  • A.一对一完全等价
  • B.多对一的分类归并← 正确答案
  • C.一对多的随机拆分
  • D.完全无规律可循

答案:B。SNOMED CT 概念细,ICD-10 类目粗,多个临床细分概念往往归并到一个统计类目,因此“多对一的分类归并”最常见,AB 选项过于理想化。

Q8. 跨体系映射的主要难点有哪些?

多选题 · hard

  • A.概念粒度不一定对齐← 正确答案
  • B.映射结果常是一对多← 正确答案
  • C.不同体系视角差异大← 正确答案
  • D.所有映射自动且完美

答案:ABC。映射难点来自源体系与目标体系的设计视角不同、概念粒度不同,导致结果常常是多对多关系,需要人工校验;D 忽略实际工程中的不确定性,不选。

Q9. 医疗AI把病历文本“血糖”映射到 LOINC 2345-7,属于哪类任务?

单选题 · hard

  • A.实体识别与术语归一← 正确答案
  • B.医学影像目标检测
  • C.药物相互作用计算
  • D.电子病历自动脱敏

答案:A。先识别“血糖”是医学实体,再把它归一为标准 LOINC 编码,这正是实体识别与术语归一的典型流程,而不是影像、药物计算或脱敏任务。

Q10. “2型糖尿病”这个诊断可以被哪些体系编码描述?

多选题 · easy

  • A.SNOMED 码 44054006← 正确答案
  • B.ICD-10 码 E11.9← 正确答案
  • C.LOINC 码 2345-7
  • D.RxNorm 码 6809

答案:AB。2型糖尿病是疾病诊断,SNOMED CT 和 ICD-10 都描述疾病,所以 A、B 正确;LOINC 编码的是检验指标,RxNorm 编码的是药品,因此 C、D 不适用于诊断本身。