3. 数字化工程总体架构
康复训练方案数字化工程不是把纸质处方简单录入电脑,而是要让“医生开的方案”能够被系统理解、被设备执行、被数据回传、被疗效评估。要做到这一点,必须先把整个系统拆成职责清晰、接口稳定的若干层。本节采用四层架构:数据层、算法层、应用层、集成层,并明确它们与医院信息系统(HIS、EMR、LIS/PACS)以及康复设备之间的接口关系。
一、四层架构的职责划分
数据层是整个工程的地基,负责“存什么、怎么存、存多久”。它包含三类数据:患者主数据与诊断信息(来自 HIS/EMR)、康复评估与训练过程数据(来自评估量表、可穿戴传感器、康复设备)、方案与执行记录(处方内容、实际完成度、不良事件)。数据层通常采用关系库存结构化数据(患者、处方、评估得分),用时序库存高频信号(关节角度、肌电、压力分布,采样率可达 100~1000 Hz),用对象存储保存影像与视频。关键设计是统一患者标识:以 HIS 的患者 ID 为主键,避免同一患者在多个子系统中“一人多号”。
算法层负责把原始数据变成可用的判断。典型算法包括:评估量表自动计分、运动学参数计算(关节活动度 ROM、步态对称性)、异常动作识别、训练难度自适应调整、疗效趋势预测。算法层不直接面向用户,它通过标准化函数接口被应用层调用,输入是数据层提供的结构化记录,输出是评分、标签、建议参数。例如输入一段膝关节屈伸角度序列,输出“屈曲 0~95°,伸展滞后 8°,建议增加终末伸展训练”。
应用层是医生、治疗师、患者直接接触的部分,包括方案编辑、训练任务下发、实时监控、疗效报告、患者端 App。应用层不关心数据存在哪里、算法怎么算,只负责交互与业务规则,例如“同一患者每日训练不超过 3 次”“疼痛评分≥7 分时暂停并提醒治疗师”。
集成层是连接内外的“插座与转换器”,负责与 HIS/EMR 交换患者与医嘱、与康复设备交换控制指令和状态数据、与第三方平台交换标准格式。它解决协议差异(HL7 v2、FHIR、厂商私有协议)、数据格式差异(JSON、二进制帧)和时序差异(同步请求、异步消息)。
二、与医院信息系统的接口关系
与 HIS/EMR 的接口主要解决三件事:取患者、取医嘱、回写执行。取患者通常通过患者 ID 或住院号查询,返回姓名、性别、年龄、诊断、过敏史等;取医嘱是获取康复科开立的治疗项目与频次;回写执行是把实际训练时间、完成次数、疼痛评分写回 EMR,供医生查阅。接口方式上,若医院支持 FHIR,可用 Patient、ServiceRequest、Procedure 资源;若只支持 HL7 v2,则用 ADT 消息同步患者、ORM 消息接收医嘱、ORU 消息回传结果。集成层需要做字段映射,例如把 HIS 的“治疗项目代码”映射为本系统的“训练方案模板 ID”。
三、与康复设备的接口关系
康复设备接口分两类:控制类与采集类。控制类接口把方案参数下发给设备,例如等速肌力训练设备接收“角速度 60°/s、屈曲 0~90°、重复 10 次、组数 3”;采集类接口把设备状态和过程数据回传,例如实际完成角度、力矩峰值、疲劳指数。常见协议包括厂商私有串口/网口协议、Modbus TCP、以及部分设备提供的 REST API。集成层需要处理采样率差异:设备可能以 200 Hz 上报角度,而应用层只需每秒一个汇总值,因此要在集成层做降采样或窗口聚合。
四、一个可落地的接口配置示例
假设某康复科要接入一台步态训练设备,设备通过 TCP 发送 JSON 行协议,每 50 ms 一帧。集成层配置如下(示例参数,非实测):
{
"device_id": "GAIT-001",
"protocol": "tcp-json-line",
"host": "192.168.10.21",
"port": 9100,
"sample_interval_ms": 50,
"fields": {
"left_knee_angle": "float",
"right_knee_angle": "float",
"cadence": "float",
"step_symmetry": "float"
},
"aggregation": {
"window_sec": 1,
"output": ["mean", "max", "min"]
},
"mapping": {
"patient_id": "from_session_context",
"plan_id": "from_task_dispatch"
}
}
这段配置说明:设备每 50 ms 上报一次左右膝角度、步频和对称性;集成层按 1 秒窗口聚合出均值、最大值、最小值,再写入数据层;患者 ID 和方案 ID 来自当前训练会话上下文,而不是设备本身。这样算法层拿到的就是“每秒一条、带患者标识”的干净记录,可直接计算步态对称性趋势。
五、分层带来的部署与排障优势
分层之后,部署可以按层独立进行:数据层先建库建表,算法层以容器方式部署,应用层走 Web 前端,集成层单独配置接口。排障时也能快速定位:如果医生看不到患者列表,先查集成层与 HIS 的接口日志;如果训练数据缺失,先查设备到集成层的连接状态;如果评分异常,先查算法层输入字段是否完整。每一层都有明确的输入输出契约,避免“一改全改”。
总体来看,四层架构把“数据从哪来、怎么算、给谁用、怎么连”拆成可独立演进的模块。数据层保证可追溯,算法层保证可复用,应用层保证可交互,集成层保证可对接。只有四层职责清晰、接口稳定,康复训练方案才能真正从纸面走到设备旁,再回到医生的决策中。