2. 临床数据标准与互操作性
临床数据ETL的难点,往往不在“把数据搬过去”,而在“搬过去之后还能不能被正确理解”。同一个“收缩压”,在急诊系统里叫 SBP,在护理记录里叫 血压-收缩压,在检验系统里可能被编码为 8480-6;同一个“2型糖尿病”,在不同系统中可能是 ICD-10 的 E11.9、SNOMED CT 的某个概念 ID,或 OMOP CDM 中的一条 condition_occurrence 记录。标准体系解决的正是这种“同名不同义、同义不同名”的问题。本节围绕 CDISC、HL7 FHIR、ICD、LOINC、SNOMED CT 与 OMOP CDM 六类标准,说明它们各自管什么、在 ETL 中如何衔接,以及对质量控制提出了哪些硬性要求。
一、六类标准的分工与定位
可以把临床数据标准理解为一条从“业务事件”到“统计分析”的语义链。HL7 FHIR 面向系统间实时交换,用资源(Resource)描述患者、就诊、观察、用药等对象,强调接口互操作;CDISC 的 SDTM 面向监管递交,把原始数据整理为受试者、事件、干预、发现等域;ADaM 则在 SDTM 之上构建分析数据集,直接支撑统计分析与结果可复现。ICD-10/11 是疾病与健康问题的分类编码,用于诊断归类、病案统计与医保结算;LOINC 是检验检查项目的通用标识,解决“项目名称”的标准化;SNOMED CT 是临床术语本体,覆盖症状、诊断、操作、解剖等,具有层级与语义关系;OMOP CDM 则是面向观察性研究的通用数据模型,把多源异构数据映射到统一表结构,便于跨机构分析与工具复用。
它们并非互相替代。FHIR 管“传得通”,CDISC 管“交得规范”,ICD/LOINC/SNOMED CT 管“说得清”,OMOP CDM 管“合得起来”。ETL 工程师需要判断:数据从哪来、要到哪去、中间经过哪些标准映射。
二、标准对 ETL 的具体约束
标准一旦进入 ETL,就不再是“参考文档”,而是可校验的规则。以 SDTM 为例,变量命名、受控术语、日期格式(ISO 8601)、缺失值表示都有明确规定。若把“2024/03/05”直接写入 --DTC,即使人能读懂,也不符合递交要求;正确做法是转换为 2024-03-05。ADaM 则要求分析数据集可追溯:每个分析变量应能回溯到 SDTM 变量或明确的派生规则,例如 ADVS 中的 AVAL 来自 VSSTRESN,而 PARAMCD 必须与 PARAM 一一对应。
FHIR 的约束体现在资源结构与术语绑定。一个 Observation 资源若使用 code 字段,应优先绑定 LOINC;subject 必须指向 Patient 或 Group。ETL 从 FHIR 抽取时,不能只取 valueQuantity.value,还要保留 unit、system、code,否则单位丢失会导致后续无法换算。OMOP CDM 的约束则体现在表结构与概念 ID:所有临床事件最终都要落到标准概念上,measurement 表的 measurement_concept_id 应来自标准词汇表,而非本地编码。
三、质量控制对标准的依赖
质量控制不是独立于标准的“额外检查”,而是标准约束的自动化执行。常见检查包括:编码是否在允许值域内、必填变量是否为空、日期是否可解析、单位是否可换算、概念映射是否命中标准词表、同一受试者的事件时间是否逻辑一致。例如,在 SDTM 中 USUBJID 必须唯一且跨域一致;在 OMOP 中,measurement 的 person_id 必须存在于 person 表。若这些检查失败,ETL 不应静默通过,而应记录到质量日志并阻断下游。
四、一个可执行的映射检查示例
假设从 LIS 抽取一条血钾检验记录,源字段为:item_name=血钾、result=4.2、unit=mmol/L、test_time=2024/03/05 08:30。ETL 的目标是同时生成 SDTM LB 域与 OMOP measurement 表。关键处理如下:
源记录:
item_name = 血钾
result = 4.2
unit = mmol/L
test_time = 2024/03/05 08:30
映射规则:
LOINC : 2823-3 (Potassium [Moles/volume] in Serum or Plasma)
SDTM LBTESTCD : K
SDTM LBTEST : Potassium
SDTM LBORRES : 4.2
SDTM LBORRESU : mmol/L
SDTM LBDTC : 2024-03-05T08:30
质量检查:
1. LOINC 2823-3 是否在允许词表内 -> 通过
2. LBDTC 是否符合 ISO 8601 -> 通过
3. LBORRESU 是否可换算为规范单位 -> 通过
4. OMOP measurement_concept_id 是否命中 -> 通过
若第 3 步失败,例如单位为 mg/dL 而目标要求 mmol/L,则需按换算系数处理:钾的换算约为 mmol/L = mg/dL ÷ 3.91(示例系数,实际以检验方法学为准)。换算后应保留原始值与单位,并在派生字段中记录换算规则,避免“只留结果、丢失来源”。
五、互操作性的工程判断
面对多标准并存,ETL 工程师需要做三个判断:第一,数据用途决定目标标准——监管递交走 CDISC,跨机构研究走 OMOP,实时交换走 FHIR;第二,术语映射决定数据语义——LOINC 管项目、SNOMED CT 管概念、ICD 管分类,三者不能混用;第三,质量控制决定可信度——每个标准字段都应有对应的校验规则和失败处理策略。只有把标准从“文档要求”转化为“可执行规则”,临床数据 ETL 才能真正做到既搬得动、又说得清、还可追溯。