3. 设备数据模型与语义映射
在医疗设备数据采集平台中,真正决定系统能否长期稳定运行的,往往不是采集通道本身,而是数据模型是否统一、语义映射是否清晰。同一台监护仪,厂商 A 把心率写成 HR,厂商 B 写成 HeartRate,厂商 C 可能写成 hr_bpm;单位有的用 bpm,有的用 1/min;时间戳有的来自设备本地时钟,有的来自采集网关。如果平台没有一套标准模型和映射规则,后续存储、查询、告警和科研分析都会陷入“同名不同义、同义不同名”的混乱。
本节围绕六类核心语义对象展开:设备属性、测量项、单位、时间戳、患者标识、设备标识。它们共同构成设备数据模型的“最小语义骨架”。
一、六类核心语义对象
设备属性描述设备本身的静态或准静态特征,例如厂商、型号、序列号、固件版本、采集协议、通道数量。它回答“这是什么设备、具备什么能力”。
测量项是设备输出的可观测生理或技术量,例如心率、血氧饱和度、无创血压收缩压、呼吸率、体温。每个测量项必须有稳定的标准编码,而不是依赖厂商私有字段名。
单位是测量项的物理量纲表达。单位不统一会导致数值比较和阈值判断失效,例如体温 37.0 °C 与 98.6 °F 必须能归一化到同一基准。
时间戳标记测量发生的时刻。需要区分设备时间、网关接收时间、平台入库时间,并明确时区和时钟同步策略。
患者标识把测量结果关联到具体患者,通常使用平台内部患者主索引(EMPI)或住院号、门诊号等业务标识的映射结果。
设备标识唯一确定数据来源设备,通常由厂商序列号、资产编号或平台分配的全局设备 ID 组成。
二、标准化建模:从私有字段到统一模型
标准化建模的目标是建立一层“语义中间层”,把不同厂商的私有数据映射到平台统一模型。推荐采用“设备—通道—测量项—观测值”的四层结构:设备层承载设备标识与属性;通道层描述物理接口或逻辑通道;测量项层定义标准编码、单位、量纲;观测值层保存数值、时间戳、质量标志。
标准编码建议参考行业通用术语体系,例如 LOINC 用于检验与临床观测,UCUM 用于单位表达,IEEE 11073 用于设备通信语义。平台内部可定义 measure_code、unit_code、device_id、patient_id、ts_utc 等标准字段,厂商私有字段只出现在映射配置中,不进入核心存储。
三、映射方法:配置驱动而非硬编码
映射应尽量做成配置驱动。以心率为例,厂商 A 的 HR、厂商 B 的 HeartRate 都映射到标准编码 8867-4,单位统一为 /min。映射配置通常包含:源字段名、目标标准编码、单位换算表达式、有效值范围、时间戳来源、设备标识来源、患者标识来源。
单位换算必须显式定义。例如华氏度转摄氏度:°C = (°F − 32) × 5 / 9。若设备输出 98.6 °F,映射后应为 37.0 °C。对于血压,需注意 mmHg 与 kPa 的换算:1 mmHg ≈ 0.133322 kPa。平台应保存原始值与标准值,便于追溯。
时间戳处理要区分三个时间:设备测量时间 ts_device、网关接收时间 ts_gateway、平台入库时间 ts_ingest。标准模型建议统一存 UTC,并保留原始时区偏移。若设备时钟与 NTP 偏差超过阈值(例如 5 秒),应打上 time_quality 标志,供后续分析过滤。
四、标识映射与患者安全
设备标识映射的核心是“一机一码”。厂商序列号可能重复或变更,平台应分配不可变的全局 device_id,并维护序列号、资产编号、MAC 地址等多源标识的对照表。患者标识映射则更敏感:住院号、门诊号、腕带号必须通过 EMPI 映射到唯一 patient_id,且映射过程要记录来源与置信度,避免把 A 患者的数据挂到 B 患者名下。
五、一个可参考的映射配置示例
{
"device_model": "Mindray_UM_Series",
"device_id_source": "serial_number",
"measurements": [
{
"source_field": "HR",
"measure_code": "8867-4",
"display_name": "心率",
"source_unit": "bpm",
"target_unit": "/min",
"scale": 1.0,
"offset": 0,
"valid_range": [20, 300],
"ts_source": "device_time",
"patient_id_source": "gateway_binding"
},
{
"source_field": "TEMP",
"measure_code": "8310-5",
"display_name": "体温",
"source_unit": "Cel",
"target_unit": "Cel",
"scale": 1.0,
"offset": 0,
"valid_range": [30, 45],
"ts_source": "device_time",
"patient_id_source": "gateway_binding"
}
]
}
该配置说明:源字段 HR 映射到 LOINC 8867-4,单位从 bpm 归一到 /min,有效范围 20–300,超出范围的数据应标记为可疑而非直接入库。体温映射到 8310-5,单位保持摄氏度。时间戳来源为设备时间,患者标识来自网关绑定关系。
六、落地检查要点
- 每个测量项是否有唯一标准编码,且不与其它测量项冲突;
- 单位是否统一到 UCUM 或平台约定单位,换算公式是否可追溯;
- 时间戳是否统一 UTC,是否保留原始时区与时间质量标志;
- 设备标识是否全局唯一,是否支持多源标识对照;
- 患者标识是否经 EMPI 映射,是否有绑定校验与异常复核;
- 映射配置是否版本化,变更后能否回放历史数据。
标准化建模与语义映射不是一次性工作,而是伴随设备接入持续演进的工程能力。把六类语义对象定义清楚、把映射规则配置化、把标识与时间戳处理严谨化,平台才能在多厂商、多协议、多科室的真实环境中保持数据的一致性与可信度。