HL7 FHIR工作流模块详解:Task与ServiceRequest的协作模式
HL7 FHIR(Fast Healthcare Interoperability Resources)作为医疗健康领域数据交换的国际标准,其工作流模块通过Task与ServiceRequest资源的协同,实现了临床任务的精准管理与高效执行。本文将深入解析这两种核心资源的协作模式,帮助开发者与临床用户快速掌握FHIR工作流的设计精髓。
核心概念:Task与ServiceRequest的角色定位
在FHIR工作流体系中,ServiceRequest和Task承担着不同但互补的职责:
-
ServiceRequest:作为"授权型"资源,定义了临床服务的执行意图,如实验室检查、影像学检查或治疗方案。它包含服务类型、优先级、预期执行时间等核心要素,相当于一份"电子处方"或"医嘱单"。
-
Task:作为"执行型"资源,负责跟踪具体任务的生命周期,从创建、分配、执行到完成的全流程管理。它可以关联到ServiceRequest,将抽象的服务需求转化为可操作的具体任务。
关键区别:ServiceRequest聚焦"为什么做"(临床意图),Task关注"怎么做"(执行细节)。
协作模式:从临床需求到任务执行的映射
1. 基础关联模式:Task引用ServiceRequest
最常见的协作场景是通过Task.focus字段直接引用ServiceRequest,明确任务的执行目标。例如:
- 医生开具一张血液检查的ServiceRequest(医嘱)
- 系统自动创建Task资源,其
focus属性指向该ServiceRequest - 实验室技术员通过Task状态变更跟踪检查进度
<!-- 简化示例:Task引用ServiceRequest -->
<Task>
<status value="in-progress"/>
<focus>
<reference value="ServiceRequest/blood-test-order-123"/>
</focus>
<owner>
<reference value="Practitioner/lab-technician-john"/>
</owner>
</Task>
2. 多级授权模式:基于ServiceRequest创建衍生任务
当复杂临床流程需要拆分时,可通过Task.basedOn建立层级关系。例如:
- 主ServiceRequest:心脏手术安排
- 衍生Task 1:术前血液检查(
basedOn指向手术ServiceRequest) - 衍生Task 2:术前影像学检查(
basedOn指向手术ServiceRequest)
这种模式确保所有子任务都可追溯至原始授权来源,符合医疗责任追溯要求。
3. 状态同步机制:双向进度更新
在协作过程中,Task与ServiceRequest的状态需要保持逻辑一致:
- Task完成 → 触发ServiceRequest状态更新(如"completed")
- ServiceRequest取消 → 级联终止关联Task(设置
status=revoked)
FHIR规范明确要求:"Task状态变更应及时反映到其关联的ServiceRequest执行状态"。
可视化工作流:Task与ServiceRequest的交互流程
下图展示了典型的转诊流程中,ServiceRequest与Task的协作时序:
流程解析:
- 初级保健医生创建ServiceRequest(转诊至心脏科)
- 系统生成Task并分配给转诊协调员
- 协调员接受Task(状态更新为"accepted")
- 心脏科系统查询待处理Task
- 创建子Task安排患者预约
- 完成检查后更新Task状态为"completed"
- 同步更新ServiceRequest状态
- 通知初级保健医生转诊结果
实战应用:关键字段与最佳实践
核心字段配置
| 场景 | ServiceRequest关键字段 | Task关键字段 |
|---|---|---|
| 紧急程度标识 | priority(high/normal) | priority(匹配请求优先级) |
| 执行时间约束 | occurrencePeriod | restriction.period |
| 执行者指定 | performerType | owner |
| 任务完成证明 | - | output(结果引用) |
常见错误避免
-
混淆focus与basedOn:
focus:直接执行对象(必须是ServiceRequest等请求资源)basedOn:高层级授权(如基于CarePlan创建的Task)
错误示例:将ServiceRequest同时放在两个字段中
-
状态管理不当:
- 未及时更新Task状态导致流程停滞
- 忽略ServiceRequest的
statusReason字段说明取消原因
-
权限控制缺失:
- 未通过
performer字段限制Task执行者范围 - 忽略
restriction字段设置任务执行时间窗口
- 未通过
扩展资源与学习路径
- 官方规范文档:source/workflow.html
- 任务状态机定义:source/task/task-state-machine.svg
- 请求资源关系图:source/workflow-relations.png
- 临床示例场景:source/examplescenario/examplescenario-example-laborder.png
通过合理配置Task与ServiceRequest的协作关系,医疗系统可以构建起既符合临床规范又灵活高效的工作流体系。这种设计不仅满足了医疗流程的追溯要求,也为跨机构协作提供了标准化的数据交换基础。
想要深入实践?建议从GitHub仓库获取完整资源定义,结合实际临床场景进行测试验证。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




