APP下载

面向临床实践指南的诊疗模式建模与实现

2022-11-25杨丽琴康国胜

计算机技术与发展 2022年11期
关键词:覆盖率指南定义

杨丽琴,康国胜

(1.上海中医药大学 图书馆计算机综合教研室,上海 201203;2.湖南科技大学 计算机科学与工程学院,湖南 湘潭 411201)

0 引 言

临床实践指南(Clinical Practice Guideline,CPG)是由官方机构或学术组织撰写的、用于帮助临床医生和患者做出恰当决策的指导性文件[1]。其中包含了针对某种特定临床情况、有充分证据支持的、费用合理的诊疗过程描述。指南的实施将有利于提高医疗质量、控制医疗成本、为医疗检查提供依据[2]。然而,大多数指南并未得到广泛应用[3]。为此,对CPG中的诊疗过程进行建模,并使其被工作流引擎解释执行,便能够为医生提供及时且针对性的临床建议,为指南的实施提供技术保障。近年来,一些学者开始尝试采用业务过程建模方法对诊疗过程进行建模[4-6]。与普通的业务过程不同,诊疗过程包含丰富而复杂的业务规则(如:诊断规则、时间约束行为)和非结构化子过程(即无法事先确定活动的执行顺序)。因此,采用传统业务过程建模方法会导致模型异常复杂,使其失去使用价值。文献[7-11]的工作表明,采用BPMN[12]、DMN[13]和CMMN[14]三种建模语言相结合的方式表示的诊疗过程模型结构清晰、易于维护,能够直接被工作流执行引擎执行。然而,完全采用人工方式对CPG中诊疗过程建模难度大、效率低。一是因为诊疗过程本身的复杂性导致建模工作量大;二是因为针对一些频繁出现的诊疗行为并没有可参考的建模方法。

为此,有必要提出一组适用于诊疗过程建模的诊疗模式并给出通用建模方法,为诊疗过程片段的建模提供可复用的模板。诊疗模式是诊疗过程中经常出现的诊疗行为的抽象表示。它们不局限于特定疾病,是CPG诊疗过程中的通用诊疗模式。文中从不同的CPG诊疗过程中提取出五个诊疗模式并给出建模方法。在此基础上,实现支持诊疗模式的建模工具。通过对真实CPG诊疗过程的建模和覆盖率分析验证诊疗模式的可用性。

1 诊疗模式的提取

诊疗模式定义为CPG诊疗过程中经常出现的诊疗行为的抽象表示。为保证模式的通用性,选用四种不同的中国临床实践指南作为诊疗模式来源。注意,针对不同病种或临床情况的中文指南可能使用不同的名字,如“防治指南”、“诊疗指南”、“专家共识”或“临床指南”等,但它们都属于指南的范畴。四种CPG分别是:妇产科护理指南[15]、急性胸痛急诊诊疗专家共识[16]、中国2型糖尿病防治指南[17]和原发性肺癌诊疗指南[18]。之所以选择这四种CPG是因为它们覆盖了不同的指南类型,如:护理、手术、疾病防治和应急处置;也覆盖了不同的疾病类型,如:癌症、慢性病、胸痛和妇科疾病。采用BPMN、DMN和CMMN对CPG中的所有诊疗过程手动建模。期间,为了更准确地理解指南的内容,团队成员咨询了上海中医药大学附属普陀医院的医生,对指南中不明确的部分进行了讨论并达成共识,最终得到96个诊疗过程模型。诊疗模式提取过程如下:

(1)从诊疗过程模型中提取一组候选诊疗模式。根据诊疗模式的定义,候选模式至少在这些过程模型中出现两次。

(2)计算候选模式在诊疗过程模型中的覆盖率[19],并将它们从高到低排序,计算公式如下:

(1)

其中,F(P)表示使用了模式P的诊疗过程的个数,N表示所有诊疗过程模型的个数。注意,如果模式P在同一个诊疗过程模型中出现多次,则按一次计数。

(3)选取前五个候选模式作为暂定的诊疗模式,因为从第六个候选模式开始覆盖率显著下降。

(4)为了使提取到的诊疗模式具有更坚实的理论基础,通过文献调研,为五个诊疗模式在文献[7-11]中找到了实证证据,得到最终的五个诊疗模式。

五个诊疗模式分别为:“周期性治疗行为”模式(模式1)、“限制时间治疗行为”模式(模式2)、“诊断-治疗”模式(模式3)、“动态响应”模式(模式4)和“限制性自由活动”模式(模式5)。模式3的覆盖率为64.6%,经常用于建模诊断决策行为。模式5的覆盖率为61.5%,经常用于建模各种检查行为。两种行为在诊疗过程中非常常见,因此模式3和模式5的覆盖率也最高。模式1的覆盖率为47.9%,常用于药物治疗和医学监测等周期行为的建模。模式2和模式4的覆盖率相对较小,分别是15.6%和13.5%,它们分别用于建模应急处置和围手术期的诊疗行为。

2 诊疗模式

本节将分别从描述、形式化定义和通用建模方法三个方面对诊疗模式做详细介绍。因为诊疗模式是对诊疗行为的抽象表示,所以对诊疗模式通用模型中的活动不指定具体类型和个数。具体的活动名称、类型和个数在建模时根据具体需求做进一步配置。

模式1(P1:周期治疗行为):治疗活动每隔固定时间间隔进行一次,直到疗程结束或检查指标满足终止条件。形式化定义如下:

定义1:周期治疗行为模式P1=(MedicalTask,StartTime,TimeInterval,PeriodTime,Interrupt Condition),其中MedicalTask是治疗活动,StartTime是开始时间,TimeInterval是时间间隔,PeriodTime是持续时间,InterruptCondition是终止条件集合。

模式1的通用模型用BPMN[12]表示。按终止方式又分为两种情况:如图1(a)所示,子过程边界上的时间中断事件(Interrupting Timer Intermediate Event[12])用于设置治疗活动的持续时间,一旦时间到达,则治疗结束;如图1(b)所示,子过程边界上的条件中断事件(Interrupting Condition Intermediate Event[12])用于设置治疗活动的中断条件,如身体指标达到某个值。

模式2(P2:限制时间治疗行为):持续执行治疗活动直到在特定时间段内达到预期治疗目标。形式化定义如下:

定义2:限制时间治疗行为模式P2=(MedicalTask,GL,ValPeriod,Task_v,Task_b,Task_f)其中,MedicalTask是治疗活动,GL是表示治疗目标的条件集合,ValPeriod=(EarlestTime,LatestTime)是一个二元组,EarlestTime和LatestTime分别表示限制时间段的起止时刻。Task_v是在限制时间内达到治疗目标后执行的活动,Task_b是过早达到治疗目标时执行的活动,Task_f是未达到治疗目标时执行的活动。

模式2的通用模型用BPMN的子过程表示。如图2所示,子过程中的事件子过程(Event Sub Process[12])(图中用虚线框表示)用于标记是否到达最早开始时间。子过程的正常结束表示达到治疗目标。通过Tag标记可判断是在限制时间内(Tag=True)还是过早(Tag!=True)达到的治疗目标。如触发时间中断事件(Interrupting Timer Intermediate Event),则表示未达到治疗目标。

模式3(P3:诊断-治疗):根据症状或检查数据诊断决策后选择不同的治疗路径。形式化定义如下:

定义3:设条件集合C={c|c=(attr,op,val)},其中,attr是属性,op是运算符,val是值,则诊断-治疗模式P3=(MedicalTasks,Cond,F)。其中MedicalTasks是治疗活动集合,Cond是条件集C的幂集,F是关于条件到治疗活动的一组关联,F⊆Cond×MedicalTasks。如果一个关联中的所有条件都满足,则执行相应治疗活动。

模式3的通用模型使用BPMN过程片段表示。如图3(a)所示,排它网关(图中)表示基于诊断结果的分支逻辑。该模式将诊断决策过程从过程模型(即BPMN模型)中抽取出来,用DMN[13]决策模型来表示,由Business Rule Task[12](图中的“Diagnose”活动)调用。DMN模型的诊断决策表的通用形式如图3(b)所示。

模式4(P4:动态响应):根据患者的状态变化,持续动态地采取相应的治疗措施。形式化定义如下:

定义4:设条件集合C={c|c=(attr,op,val)},其中attr是属性,op是运算符,val是值。设Cond是条件集C的幂集,则动态响应模式P4=(MedicalTasks,States,F,Ru),其中MedicalTasks是治疗活动集合,States是状态集合,F⊆States×MedicalTasks是关于状态到治疗活动的一组关联。Ru={(cd,st)|cd∈Cond,st∈States}是诊断规则集合。当一条诊断规则中的所有条件均为真,则到达对应的状态。

模式4的通用模型用CMMN的CasePlanModel[14]来实现。如图4所示,每个治疗活动用一个“哨兵”(图中◇)表示准入标准,对应形式化定义中的状态。必须达到准入标准才可执行对应的治疗活动。该模式实例化后进入激活状态,首先执行诊断活动(图中“Decide Further Steps”活动),该活动指向一个DMN决策模型。DMN决策模型中存有诊断规则,它的输出将被后续治疗活动的哨兵检验,如果满足准入条件则执行该治疗活动。每个活动都被标记为“可重复的”(用#表示),一旦患者状态发生变化则执行一次诊断决策。

模式5(P5:限制性自由活动):带限制条件的自由诊疗活动。形式化定义如下:

定义5:设条件集合C={c|c=(attr,op,val)},其中attr是属性,op是运算符,val是值。则限制性自由活动模式P5=(MedicalTasks,E,EC,F,αt),其中MedicalTasks是治疗活动集合,E⊆MedicalTasks×MedicalTasks是连接两个活动的有向边,表示前面的活动执行结束后才能执行后面的活动。EC是准入标准,是条件集C的幂集。F是关于准入标准到治疗活动的一组关联,F⊆EC×MedicalTasks。αt:MedicalTasks→t是一个函数,对于每个活动mt∈MedicalTasks赋予一个类型,t∈{basic_task,conditioned_basic_task, discretionary_basic_task, discretionary_task}。

模式5的通用模型用CMMN的CasePlanModel来实现,如图5所示。基本活动(basic_task)是必须执行的活动(用实线圆角矩形表示);条件基本(conditioned_basic_task)是满足准入标准后必须执行的活动(用带◇的实线圆角矩形表示);基本自由活动(discretionary_basic_task)是满足准入标准后才可以选择执行的活动(用带◇的虚线圆角矩形表示)。自由活动(discretionary_task)可在过程执行时自由规划(用虚线圆角矩形表示)。

3 建模工具实现

Camunda BPM[20]平台提供了一套围绕BPM生命周期的组件。其中,Camunda Modeler是集成了BPMN、DMN和CMMN三种建模语言的过程建模工具。使用Camunda Modeler设计的过程模型可通过Camunda Engine解释执行。本节使用JavaScript对开源建模工具Camunda Modeler进行了扩展,使其支持五个诊疗模式,源代码可从https://github.com/cocoylq/develop下载。添加的功能是在建模平台的调色板上加入第2节介绍的诊疗模式构件。如图6所示,调色板上的图标P1、P2和P3分别对应模式1、模式2和模式3,这三个模式在BPMN建模平台中。

如图7所示,P4和P5在CMMN建模平台中,分别对应模式4和模式5。建模时,点击调色板上代表诊疗模式的图标并拖曳到主窗体中,便可快速获得对应的诊疗模式实例。然后利用基本的工作流元素对实例进行配置从而得到过程模型片段。通过使用扩展的支持诊疗模式的建模工具,建模者无需从零开始设计诊疗过程模型。因此,使用该工具能够提高诊疗过程建模的效率。

4 案例分析

诊疗模式为诊疗过程片段的建模提供了可复用的模板。本节使用实现的建模工具对两个真实CPG中的诊疗过程进行建模,从而验证模式的可用性。

4.1 基于诊疗模式的诊疗过程建模

通过分析《中国高血压防治指南》[21]和《眼科临床指南》[22]的白内障部分,分别提取出18和13个诊疗过程。现以其中的非继发性高血压诊疗过程和老年性白内障手术诊疗过程为例介绍如何使用诊疗模式建模,其余的诊疗过程采用同样的方式建模。非继发性高血压诊疗过程中的诊断性评估、心血管分层、降压治疗和随诊子过程分别对应模式5、建模3和模式1。老年性白内障诊疗过程中的术前体检、术眼准备和控制血压子过程分别对应模式5、模式4和模式2。

通过建模工具实例化这些模式可快速得到模型片段的模板,再根据CPG中的描述将其配置成具体的过程模型片段。诊疗过程的其余部分用调色板中的基本构件建模。非继发性高血压的诊疗过程模型如图6所示,用到的诊疗模式(模式1、模式3、模式5)在图中用虚线框表示。其中,诊断性评估子过程模型如图7所示,它通过配置模式5得到。老年性白内障的诊疗过程的术眼准备子过程模型可通过配置模式4得到。术眼准备子过程模型中又包含了控制血压子过程模型,它可通过配置模式2得到。老年性白内障的诊疗过程的所有模型可从网上获得(https://github.com/cocoylq/CataractModel)。

4.2 讨 论

通过计算诊疗模式在31个诊疗过程模型中的覆盖率(见公式(1)),讨论它们在这些诊疗过程中的分布情况。计算结果如图8所示,模式5(“限制性自由活动”模式)和模式1(“周期治疗行为”模式)的覆盖率分别为83.9%和71%,是最常用的两个模式。模式5适用于建模医学检查行为,如高血压诊疗过程中的诊断性评估,白内障手术诊疗过程中的术前体检等。模式1适用于建模药物治疗行为,如高血压诊疗过程中的降压治疗。模式3(“诊断-治疗”模式)的覆盖率为67.7%,适用于建模诊断决策行为,在高血压诊疗过程中用于建模心血管风险分层、血栓栓塞评估等。模式2(“限制时间治疗行为”模式)的覆盖率为32.3%, 它用于建模高血压急症诊疗过程和白内障手术中的控制血压过程等。模式4(“动态响应”模式)的覆盖率为29%,用于为手术期诊疗行为建模,如白内障手术的术眼准备等。

5 结束语

为了提高CPG诊疗过程的建模效率,从不同的CPG诊疗过程中提取出五个诊疗模式,并使用BPMN、DMN和CMMN给出了诊疗模式的通用建模方案。在此基础上,通过扩展Camunda Modeler建模工具开发了支持诊疗模式的建模工具,为诊疗过程片段的建模提供可复用的模板。基于高血压和白内障诊疗过程建模的案例研究验证了诊疗模式的可用性。虽然五个模式是通过大量建模实践,从不同的CPG中提取出来的,但依然存在遗漏的可能性。未来,将进一步利用这些诊疗模式对其他新的CPG诊疗过程进行建模。在建模过程中,存在发现新的诊疗模式的可能性。如果发现新的诊疗模式,将把它纳入到诊疗模式的行列中来并在建模工具中做相应扩展。

猜你喜欢

覆盖率指南定义
民政部等16部门:到2025年村级综合服务设施覆盖率超80%
我国全面实施种业振兴行动 农作物良种覆盖率超过96%
指南数读
基于喷丸随机模型的表面覆盖率计算方法
成功的定义
论碰撞的混搭指南
基于覆盖率驱动的高性能DSP指令集验证方法
修辞学的重大定义
山的定义
教你正确用(十七)