Press "Enter" to skip to content

惠每科技:知识图谱在临床风险评估中的应用

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

 

分享嘉 宾:王实 惠每科技 CTO

 

编辑整理:田育珍 搜狗

 

出品平台:DataFunTalk

 

导读: 现代医疗服务中最核心的环节是临床诊疗,知识图谱技术如何赋能核心医疗领域,实现医疗模式的转变与突破? 本文将 介绍医疗领域知识图谱的快速实现方式,以及如何基于知识图谱如何实现临床风险评估和预测 。

 

主要内容包括: ① 背景介绍:公司简介及临床风险评估的业务背景;② 技术实践:以具体的案例为基础,讲述在应用场景中使用知识图谱技术落地真实业务场景;③ 图谱实践:分享公司在知识图谱方面做的实践和探索。

 

01

 

背景介绍

 

首先介绍下公司及临床风险评估的业务背景:

 

1. 关于惠每科技

 

 

惠每科技的愿景是“用AI技术提高临床诊疗质量”。公司有200人左右,鉴于行业的特殊性,有1/4的员工是来自一线的临床医生或医务人员。目前服务了200多家国内大型医院。

 

 

从产品方面来看,公司主要围绕医疗质量控制,本质上是一家质量控制的信息化厂商。涉及到的产品主要包括:临床辅助系统、VTE防控系统、单病种数据上报等。公司所有应用计算都基于NLP计算引擎、机器学习模型和知识图谱框架搭建。

 

公司主要客户以知名三甲医院为主,2019中国医院排行榜Top100的医院中有1/4的医院是公司客户,如:上海瑞金医院、四川大学华西医院等。目前产品和临床结合比较深,这也是我们和同行业AI公司的差异性。产品主要用户是资深医生和临床医护人员。

 

2. 业务背景

 

接下来,我们以具体业务为例讲述下临床风险的预警。本次分享的内容是静脉血栓塞症(VTE)的风险评估和预防,这也是中国临床和大型医院非常重视的一个课题。先简单介绍下背景,便于大家的理解为什幺要去做这件事,以及技术上会有哪些比较特殊的地方。

 

特殊点1: VTE是一种临床病死率很高的疾病

 

 

具专业文献记载:如果在早期比如到血栓塞的阶段,住院病死率高达25%-30%。正是因为死亡率比较高,这也是临床重点防控的疾病。

 

住院是相对门诊而言的概念,属于医疗说法。早期是指90年代,近期是指2011以后。

 

特殊点2: VTE是一种在多科室出现的疾病

 

 

该疾病涉及多科室,几乎所有科室都会遇到这种疾病,若未能做好预防措施,会导致严重事件。从产品应用维度来看,是可以在每个科室进行应用和上线的产品。

 

特殊点3: VTE是一种不断发展的疾病

 

 

我简单描述一下成病原因:正常的血液是在血管中流通的。由于一些身体健康的原因,血液流通不畅会凝固形成血栓。如果血栓脱落的话,会随着人体血管流向心血管系统,堵塞心血管,造成严重的死亡事件。由于该疾病是一个不断发展的疾病,临床需要持续评估,来确定VTE是否在形成或发展。

 

① 存在问题

 

 

专业文献表明,中国的内科和外科患者在疾病预防上严重不足。VTE是可以通过预防的手段控制,但由于临床管理的成本很高,导致中国内外科患者在VTE的预防上做的不是很好。

 

 

这是一个真实的医院电子病历系统的展示。右侧类似word的文档是电子病例,患者在入院时,临床医生需要根据患者的情况记录该表格。每个项目代表不同的分数,根据总分来评估VTE的风险。如果评分在一个比较有风险的分数,会给患者进行一些预防或者药物的处置。从临床来讲,一个比较常规的管理流程为:

 

患者入院。

 

护理人员根据患者情况填写表格,完成患者护理评估。

 

医生在电子病历系统中对表格内容进行确认。在医疗资源比较紧张的时候,护理评估的工作也会由医生来完成。

 

患者出院时需做VTE的评估。若未能完成评估,则无法对患者病例进行归档。

 

评估的时间点比较多,一般临床要求:患者入院后24小时、转科后24小时、手术后24小时、出院前后24小时以及病情发生变化时进行评估。

 

对于医生来说,不太有大量的精力去填写VTE的表格。

 

 

这是一个真实的VTE风险评估量表,里面有很多对患者的状况描述,如:是否肥胖、是否做过外科大手术、是否有恶性肿瘤以及其它检验指标异常等情况。每一项会对应一个分数,总分加起来会有一个值。不同的总分对应不同的风险等级,风险等级包括:低危、中危、高危、超高危。针对不同的风险等级有也有物理治疗、药物治疗等多种的治疗方式。这种评分卡是在国际和国内广泛使用的风险评估模型。这个模型的优点是简单、可解释性、可执行性比较强;但难点在于评分要求的频率及其工作量相对比较大,如:医生需要去翻阅之前的病例,护士工作交班等也会带来很大的工作量。

 

② 核心功能

 

 

针对以上问题,我们的系统通过计算机的方法自动解析、提取病例和检查报告的内容,自动给医护人员推送患者评估、提醒,在适当的时候给医护人员推荐患者风险等级所对应的干预措施,甚至在开医嘱等关键的环节做一些卡控,并支持科室管理者对事件发生进行监控。

 

 

系统在VTE的提醒时,会对比医务人员和系统的评价进行对比。通过机器自动评分自动对比,提醒一些被忽略的风险。

 

 

考虑到医疗的严谨性,医护人员希望了解系统评分的依据,系统支持做原文的回溯,医生可以查看系统的某一个评分来源于某个病例的什幺位置。

 

 

这是医院的真实情况,在构建好整个系统后,患者的床头会有一个小屏幕。当监控到患者的异常情况后,将提醒信息接入到系统,做到对常规护理过程的提醒。

 

02

 

技术实践

 

基于知识图谱的临床风险评估应用

 

前面主要对系统的应用场景进行了描述,接下来用案例对系统实现风险评估的过程进行介绍。

 

1. 技术架构

 

 

这是我们系统的架构,所有的系统会部署到医院的现场。首先,将院内现有的来自HIS、EMR、LIS数据源约50类的业务数据通过集成平台、数据视图、前端接口等方式接入到公司的数据平台。其次,经过数据清洗,对非结构化的数据进行结构化。最后,将识别到的实体或三元组和系统已经构建好的图谱进行实体链接,经过规则的推理引擎,支持上层评估。

 

 

以一个真实的客户为例,一位41岁的女性做完手术后去内分泌科做复查,患者有一些乏力、脚踝肿胀的症状。经过系统提示,补充病例后发现患者是高危患者。之后做一些针对性的影像检查后,发现患者确实是高危患者,避免了危险事件的发生。

 

 

这里以一个简单的实例讲一下整个流程。患者主诉显示:乏力一月,左下踝部肿胀2天。目标是希望系统可以在评分表中下肢肿胀这一选项进行自动匹配,从而实现计分。

 

2. 技术实现

 

 

在技术实现方面: 首先,在自然语言处理模块,会进行实体识别和实体关系的抽取。 左侧是系统内部调试demo的系统,可以看到整个关系的梳理,如: 主要的临床表现是肿胀,对应的解剖部位、方位、时间都可以进行关联。 这部分从技术方面来说,业内通常采用深度学习的方式实现。

 

 

当解析好数据后,系统的目标是通过图谱关联到足踝肿胀。足踝肿胀的上级节点是下肢肿胀。

 

 

系统使用了文本搜索的方式实现图谱实体的链接。先将识别到的实体按照query的方式构造成三元组,如<肿胀,部位,踝部>。对于时间和方位的数据,因为实体类型的原因,在该场景不做召回。在该场景主要对部位和临床表现进行召回,召回时会查询图谱节点的ES节点的倒排索引。所有的节点都会建立倒排索引,每个倒排索引可以通过词的方式进行召回;每个节点对应的属性有一个相应的正排,如:足踝肿胀的部位是踝关节。这样在召回到候选节点后,也可以查询到相应的正排索引,带入关联信息。经过Ranking的模型,得到最匹配的节点。通过文本搜索模型,系统实现了图谱的实体链接。链接好实体之后,系统对之前的属性进行挂载,如时间是2天,会转换为48小时,这部分的数据在后续的应用是非常重要的。

 

 

上面的流程已经将足踝肿胀关联到图谱相应的节点。做完图谱节点链接后,最重要的步骤就是和应用关联。在评分卡中,每个评分项对应规则表达式,这是基于标准的图谱节点的计算表达式。系统需要判断通过NER抽取节点和评分卡中的节点是否存在上下位的关系,如果存在则匹配。在本例中,足踝肿胀命中了下肢肿胀这一选项。之后使用评分卡计分模型和相应的加权系数,进行结果计算及相应的提醒。在本例中,结果预测的模型是3-4分,所以是一个高危风险。

 

前面介绍了风险评估系统的实现,可以看到知识图谱有2个作用:

 

在自然语言处理方面,将不同医院、不同表达方法抽取出来的实体,映射到标准的说法中去。类似于一个术语集的概念,对数据进行统一规范。

 

在一些规则引擎的计算中,知识图谱帮助实现相应的推理,实现智能的应用。整个图谱在应用环境起到非常重要的作用。

 

03

 

图谱实践

 

中文医学知识图谱构建实践

 

最后,介绍下公司在图谱方面的实践和探索。

 

1. 构建自主知识图谱的原因

 

 

在做图谱之前,很多公司会考虑用一些已有的图谱。因为医疗领域的特殊性,不太能使用公开的图谱。比如,在这个开源的图谱中,搜索肿胀这个实体,可以搜索出发病部位、症状等内容,但不难发现这是一个中医的图谱。此外,不能保证数据的完整性,数据可能是一部分的,比如:在细化搜索踝部肿胀的时候就找不到了。

 

另一方面,作为业务型的公司,很多时候根据业务的现状,需要快速调整、修改图谱的关系和节点。公司需要有自己独立知识产权且快速修改的能力,所以选择自建知识图谱。

 

2. 为什幺可以落地知识图谱?

 

 

为什幺我们可以去做图谱呢,这可以分为两个方面。我们有份丰富的高质量的医疗数据,以及专业的医疗团队帮助审核。

 

目前数据来自于院内数据和静态数据两部分。

 

院内诊疗的数据。 鉴于医院安全性的原因,这部分的数据不太能接入到外网,只能在院内进行使用和分析。目前公司有200家大型综合医院,因为是半结构化的数据,无法去统计对应的实体的数量。从整体数据量来看,每家三级医院门诊量大约300万左右,大点的综合医院门诊量大约15万住院次,对应的总体的就诊次数有上亿次,100亿的患者治疗记录。对应的信息覆盖患者的门诊记录、病例文书、病案、医嘱等内容。这部分数据比较丰富,合作的医院是比较好的医院,数据质量非常高。

 

静态数据。 公司有20人专业的医学编辑团队去维护这部分数据,同时从医学指南、共识、论文等医学文献中进行实体和关系的补充。整个数据的补充节奏会和结合业务侧重点紧密结合,不会去追求整体数据的广度,而是在特定业务领域做得很细。

 

 

每个医院因为各个厂商采用的系统不同、整个的数据格式不同,在整体给知识图谱节点做数据补充时,花了很大的精力做数据建模。公司建立了一套医疗领域的数仓模型,将所有医院各类的数据进行规范化,比如:医嘱应该包含哪个字段的信息。对于一些文本的数据,系统通过自然语言处理模型对其进行结构化处理,将非结构化和半结构化的数据转换为结构化的数据。之后再做知识图谱节点的补充工作。

 

3. 如何落地医学知识图谱?

 

 

在公司刚成立时,国内市面上做医疗专业图谱的比较少。公司参考了国外的SNOMED-CT,这是一个国际的临床数据集,有很悠久的历史。这是由国际卫生术语标准开发组织(IHTSDO)维护的,且一直在跟新,最新一次的更新时1月31日,每个人都可以在网上免费浏览该部分数据。

 

由于中国不是组织的成员国,中国企业目前没有版权去做这部分的工作。从另外一个维度来看,中国和外文病例书写差异比较大,这部分的数据也不太能直接使用。公司16年借鉴了SNOMED-CT的架构和构建的方式,建设了自己的知识图谱。

 

 

SNOMED-CT模型比较简洁,它将所有的图谱节点叫做概念,每个概念有一个描述符,由关系和描述这两部分组成。关系有两类:第一个是is a 的关系,表示父亲的节点是什幺;第二个是属性,每个概念可以有多个属性,比如发病部位。描述是对概念可读性的文本,包含标准名和同义词这两部分。从15年的版本来看,系统已经有46万的概念,140万术语,109万关系。

 

 

上图是对“咳嗽”这一节点的放大,在整个SNOMED-CT模型中,对它的概念标识、标准名、同义词、关系等进行了详细的说明。

 

 

在存储设计方面,图谱有描述表和关系表这2个表结构。描述表对概念和所有属性和关系进行描述。比如,咳嗽是一个标准的说法,咳嗽和咳是同义词,但可以用typeId做区分。typeId本身也是节点,可在描述表中查找typeId的含义,可以看到它是一个同义词。

 

整个设计有两点做得比较好:

 

通过effectiVTEime记录批次,active控制生效,所有的节点不删除。在整个命名的过程中,需要频繁的删除和修改节点,但通过这种方式可以不删除节点,通过生效批次来进行控制。

 

所有内容都是节点,不管是类型本身的描述,还是描述本身的差异性,都是ID化的节点。

 

 

第二个表是关系表,这也我们常在知识图谱里面讲到的三元组,会有<sourceI d, typeId, deatinationId>。比如,图中的红色绿色蓝色代表咳嗽是一个呼吸道临床表现。这样的话,不管是节点的实体,还是节点中的边,还是节点两头的类型,都可以通过ID在描述表中进行查找。总体来看整个设计非常简洁,且容易扩展。

 

 

这是公司系统内部的设计,借鉴外部的结构,自己做的编辑工具。中国正在用的编码是ICD-10、ICD-11。系统维护了自己的图谱,但也将内容和SNOMED-CT以及ICD-10、ICD-11做映射。可以通过识别和结构化,转化成标准的节点。也可以直接使用医院中使用诊断的编码直接去做实体的链接。

 

 

前面提到整个知识图谱及相对应的应用,不只是在临床评估中使用,遇到常见的现象是搜索。搜索这个概念在医疗领域还是很需要的,比如,去找一些患者。之前使用SQL应用关键词查找,很多时候找不到。比如,要找年龄大于60岁的心梗患者。心梗整个诊断的内涵是比较多,可能涉及到入院、出院中包含某些特殊的诊断编码的数据都要找的出来,比如心肌梗死。但存储的时候存储的心肌梗死,则在该场景下无法找回。又比如搜索合并房颤的心梗患者,类似这样的搜索在临床是很需要的,但传统的文本搜索处理相对比较难。

 

4. 小结

 

 

最后,做一个简单的小结。从医疗行业的从业厂商来说,知识图谱在实际场景落地涉及三个方面:

 

业务应用方面:知识图谱的构架需要有很强的业务场景驱动,去完成一些应用目标,如:临床风险评估、病例搜索、临床辅助决策等。

 

在图谱构建方面:图谱要足够的简单灵活,图谱既能通过海量数据挖掘补充图谱也要有专业的临床专家对图谱进行审核。

 

在数据方面:需要有海量、可持续获取的高质量数据。最后对数据进行结构化,从而自动化的补充图谱的数据,这也包括对非结构化的数据去做结构化的操作。

 

5. 进行中的工作

 

 

目前公司正在进行的工作,可以分为基于知识图谱做专病的数据集和风险评估两部分。

 

第一部分是专病数据。因为公司能够拿到很多医院的数据,从临床的角度出发,希望通过图谱的方式构建的实体是医疗领域内有临床意义的。比如,癌症分型、乳腺肿块切除。这可以在某个特定领域优化图谱,产生很好的临床应用的效果。

 

 

第二部分是风险评估。以前都是信息加权的评分卡方式进行评估。如果使用机器学习方式做一些黑盒模型,在临床上的接受度也不是很高。因为没有权威的认证和实验,这种机器学习的模型的可解释性和推广很难被认可。目前的方式是和顶级的医院合作,做一些临床科研实验,比如做一些ICU急性肾损伤AKI。在传统评分卡因子上,去探寻是否有一些其它对这个疾病预警有影响的因子。通过科研的方式做双盲实验发表试验成果,才能走到应用层面。

 

本文主要介绍了在大型临床医院的实际场景中知识图谱的作用,以及公司关于知识图谱的探索,希望和大家产生更多的交流。

 

 

分享嘉宾:

 

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注