发明内容
有鉴于此,本申请提供了一种病历集优化方法、装置、设备及存储介质用以对病历集进行优化,以对病历集中少量存在不合理诊断的病历进行修正,进而提升病历集的质量和可靠性,其技术方案如下:
一种病历集优化方法,包括:
采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集;
获取所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,其中,所述疾病知识图谱包括若干个节点和节点之间的边,每个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系;
根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,作为所述目标病历集对应的优化后病历集。
可选的,获取一病历集对应的疾病知识图谱,包括:
从该病历集中各病历的诊断结果中提取疾病名,以得到由提取的疾病名组成的疾病集合;
根据所述疾病集合,从预先构建的疾病知识图谱中获取该病历集对应的疾病知识图谱,其中,所述预先构建的疾病知识图谱包括分别代表各种疾病的若干节点和节点之间的边。
可选的,所述根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,包括:
对于每个修正后病历集,根据所述目标病历集所包含病历中的症状词、该修正后病历集所包含病历中的症状词以及所述目标病历和该修正后病历集分别对应的疾病知识图谱,确定该修正后病历集对应的修正效果表征值,以得到所述多个修正后病历集分别对应的修正效果表征值;
将所述多个修正后病历集分别对应的修正效果表征值中,最大的修正效果表征值对应的修正后病历集,确定为最优病历集。
可选的,所述根据所述目标病历集所包含病历中的症状词、该修正后病历集所包含病历中的症状词以及所述目标病历集和该修正后病历集分别对应的疾病知识图谱,确定该修正后病历集对应的修正效果表征值,包括:
以疾病和其对应的症状是否匹配为依据,根据所述目标病历集所包含病历中的症状词,确定所述目标病历集对应的疾病知识图谱的质量得分,作为所述目标病历集的质量表征值;
以疾病和其对应的症状是否匹配为依据,根据该修正后病历集所包含病历中的症状词,确定该修正后病历集对应的疾病知识图谱的质量得分,作为该修正后病历集的质量表征值;
根据所述目标病历集的质量表征值、该修正后病历集的质量表征值以及该修正后病历集中修正病历的数量,确定该修正后病历集对应的修正效果表征值。
可选的,以疾病和其对应的症状是否匹配为依据,根据一病历集所包含病历中的症状词,确定该病历集对应的疾病知识图谱的质量得分,包括:
从该病历集中的各病历中提取症状词,由提取的症状词组成症状词总集;
根据所述症状词总集,确定该病历集对应的疾病知识图谱中每种疾病的症状分布向量,其中,一种疾病的症状分布向量由该疾病分别与所述症状词总集中各症状词在该病历集所包含病历中的共现情况表征值组成;
以疾病和其对应的症状是否匹配为依据,根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,确定该病历集对应的疾病知识图谱的质量得分。
可选的,所述两种疾病之间的关系为上下位关系、演化关系、鉴别关系中的一种;
所述根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,确定该病历集对应的疾病知识图谱的质量得分,包括:
根据该病历集对应的疾病知识图谱中代表上下位关系的边,以及代表上下位关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分;
根据该病历集对应的疾病知识图谱中代表演化关系的边,以及代表演化关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在演化关系上的质量得分;
根据该病历集对应的疾病知识图谱中代表鉴别关系的边,以及代表鉴别关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分;
根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分;
根据该病历集对应的疾病知识图谱分别在上下位关系、演化关系、鉴别关系以及疾病的症状个数上的质量得分,确定该病历集对应的疾病知识图谱的质量得分。
可选的,所述根据该病历集对应的疾病知识图谱中代表上下位关系的边,以及代表上下位关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分,包括:
将该病历集对应的疾病知识图谱中代表上下位关系的边作为第一边:
针对每条第一边连接的每种疾病,根据该疾病的状态分布向量和所述症状词总集确定该疾病对应的症状词集;
以每条第一边连接的两种疾病中,下位疾病对应的症状词集是否为上位疾病对应的症状词集的子集为依据,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分。
可选的,所述根据该病历集对应的疾病知识图谱中代表演化关系的边,以及代表演化关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在演化关系上的质量得分,包括:
将该病历集对应的疾病知识图谱中代表演化关系的边作为第二边:
针对每条第二边连接的每种疾病,根据该疾病的状态分布向量和所述症状词总集确定该疾病对应的症状词集;
获取每条第二边连接的两种疾病分别对应的症状词集的交集,以得到每条第二边连接的两种疾病的共有症状词集;
根据每条第二边连接的两种疾病的共有症状词集,确定每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值;
根据每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值,确定该病历集对应的疾病知识图谱在演化关系上的质量得分。
可选的,所述根据该病历集对应的疾病知识图谱中代表鉴别关系的边以及代表鉴别关系的边所连接疾病的症状分布向量,确定该病历集在鉴别关系上的质量表征值,包括:
将该病历集对应的疾病知识图谱中代表鉴别关系的边作为第三边:
根据每条第三标连接的两种疾病的症状分布向量,确定每条第三边连接的两种疾病的症状分布差异表征值;
根据每条第三边连接的两种疾病的症状分布差异表征值,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分。
可选的,所述根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分,包括:
根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,分别确定所述症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数:
根据所述症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分。
可选的,所述病历集优化方法还包括:
从所述最优病历集中获取病程集合,其中,所述病程集合中的一个病程由一患者一次发病的所有病历组成,一个病程中的所有病历按就诊时间先后排序;
以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正。
可选的,所述以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正,包括:
对于所述病程集合中的每个病程,若该病程中病历的诊断结果包括一种主要疾病和至少一种次要疾病,且所述主要疾病和所述次要疾病满足三个条件,则将该病程中诊断结果为所述次要疾病的病历确定不合理病历,并将该不合理病历的诊断结果修正为所述主要疾病:
其中,所述三个条件包括:诊断结果为所述主要疾病的病历的数量占比大于预设的主要诊断占比阈值;所述次要疾病与所述主要疾病存在上下位关系、演化关系、鉴别关系中的一种关系;诊断结果为同一种次要疾病的病历连续。
可选的,所述以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正,包括:
从所述病程集合中选取目标病程,由选取的目标病程组成目标病程集合,其中,所述目标病程中前一部分病历的诊断结果为第一种疾病,后一部分病历的诊断结果为第二种疾病,且所述第二种疾病由所述第一种疾病演化而来;
若所述目标病程集合中病程的数量大于预设的数量阈值,则根据所述目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定所述目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正,其中,一病程的第一种疾病的时间跨度占比为该病程的第一种疾病的时间跨度与该病程的第二种疾病的时间跨度的比值。
可选的,所述根据所述目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定所述目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正,包括:
对所述目标病程集合中各个病程的第一种疾病的时间跨度求均值,并对所述目标病程集合中各个病程的第一种疾病的时间跨度占比求标准差,并根据求得的均值和标准差,确定第一种疾病的可接受时间跨度和可接受时间跨度占比;
对于所述目标病程集合中的每个病程:
根据该病程的第一种疾病的时间跨度和时间跨度占比,以及所述第一种疾病的可接受时间跨度和可接受时间跨度占比,确定该病程中是否存在不合理病历;
若该病程中存在不合理病历,则根据所述第一种疾病的可接受时间跨度和可接受时间跨度占比以及该病程的时间跨度,确定该病程中的不合理病历,并将该病程中不合理病历的诊断结果修正为该病程的第二种疾病。
一种病历集优化装置,包括:第一病历修正模块、疾病知识图谱获取模块和最优病历集确定模块;
所述第一病历修正模块,用于采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集;
所述疾病知识图谱获取模块,用于获取所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,其中,所述疾病知识图谱包括若干个节点和节点之间的边,每个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系;
所述最优病历集确定模块,用于根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,作为所述目标病历集对应的优化后病历集。
可选的,所述病历集优化装置还包括:病程集合获取模块和第二病历修正模块;
所述病程集合获取模块,用于从所述最优病历集中获取病程集合,其中,所述病程集合中的一个病程由一患者一次发病的所有病历组成,一个病程中的所有病历按就诊时间先后排序;
所述第二病历修正模块,用于以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正。
一种病历集优化设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述任一项所述的病历集优化方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的病历集优化方法的各个步骤。
经由上述方案可知,本申请提供的病历集优化方法,首先采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集,然后获取目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,最后根据目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,从多个修正后病历集中确定最优病历集,作为目标病历集对应的优化后病历集,由此可见,本申请提供的病历集优化方法可实现对病历集的优化,并且,由于目标病历集对应的优化后病历集为采用多种病历修正方式对目标病历集进行修正后得到的多个修正后病历集中的最优病历集,因此,目标病历集对应的优化后病历集的质量较好、可靠性较高,基于这样的病历集进行后续的分析和挖掘,可获得较好的分析和挖掘效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前存在一些从病历集中找出疑似误诊病历的方案,也存在一些自动给出诊断修正意见的方案,其中,找出疑似误诊病历的方案大多为基于统计学的离群点挖掘方案,该方案的大致思路为,将病历集中的各病历文本向量化,然后采用统计学方法从众多向量中寻找离群向量,离群向量对应的病历即为疑似误诊病历,自动给出诊断修正建议的方案主要为,计算多个相似病历并以诊断中较多数作为修正建议。
本案发明人通过对上述两类方法进行研究发现:找出疑似误诊病历的方案没有充分挖掘病历背后的医学信息,而只是使用通用的统计学方法,这样不仅准确度不高,而且可解释性也相对较差。自动给出诊断修正建议的方案精确度不高,例如,有些诊断是很雷同、需要鉴别的不同诊断名(即疾病名),这种需要鉴别的不同诊断名往往在临床上也会造成混淆,甚至部分误诊病历可能就源于这种混淆,因此,针对误诊病历的修正,采用相似病历的方法,精确度无法有效保障。
基于上述发现,本案发明人进行了深入研究,在研究过程中,充分挖掘病历背后的医学信息,同时还发现,除了病历本身可能存在不合理性之外,在病历本身合理时,可能还存在其在病患整个病程中存在不合理性的情况,本案发明人通过研究,最终提出了一种病历集优化方法,该病历集优化方法不但可对病历集中的病历进行优化(对诊断结果不合理的病历进行修正),而且获得的优化后病历具有较好的质量和较高的可靠性。
本申请提供的病历集优化方法可应用于具有数据处理能力的终端(比如,PC、笔记本电脑、智能手机、PAD等),还可以应用于服务器(可以是一个服务器,也可是多个服务器,还可以是服务器集群),上述具有数据处理能力的终端或服务器可获取病历集,并对病历集进行优化。接下来通过下述实施例对本申请提供的病历集优化方法进行介绍。
第一实施例
请参阅图1,示出了本申请实施例提供的病历集优化方法的流程示意图,该方法可以包括:
步骤S101:采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集。
其中,目标病历集为待优化的病历集,目标病历集中的绝大多数病历为具有合理诊断结果的病历,少数为具有不合理诊断结果的病历。需要说明的是,一病历的诊断结果不合理指的是病历的诊断结果与病历中描述的症状不匹配。
本申请中的病历修正方式可以为基于诊断预测算法的病历修正方式,即采用病历预测算法对病历集中各病历的诊断结果进行预测,将预测的诊断结果与对应病历中记载的诊断结果比对,若二者不一致,则将病历中记载的诊断结果修正为预测的诊断结果。
需要说明的是,本实施例中提及的多种病历修正方式存在两种情况:第一种情况为,各病历修正方式采用的诊断预测算法不同,比如,本申请采用三种病历修正方式分别对目标病历集进行修正,三种病历修正方式分别为基于诊断预测算法1的病历修正方式、基于诊断预测算法2的病历修正方式、基于预测算法3的病历修正方式;第二种情况为,各病历修正方式采用相同的诊断预测算法,但是在各病历修正方式中,该诊断预测算法的参数不同,比如,诊断预测算法为基于神经网络模型的算法,在各种病历修正方式中,神经网络模型的参数不同,可以理解是,诊断预测算法的参数不同会导致诊断预测效果不同,进而导致修正效果不同,有鉴于此,本申请将采用不同参数的同一种诊断预测算法进行病历修正的方式认为是不同的修正方式。
步骤S102:获取目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱。
其中,疾病知识图谱包括若干个节点和节点之间的边,一个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系。示例性的,一病历集中各病历的诊断结果中的疾病总共50种,则该病历集对应的疾病知识图谱包括50个节点,一个节点代表一种疾病。
步骤S103:根据目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,从多个修正后病历集中确定最优病历集,作为目标病历集对应的优化后病历集。
具体的,可先根据目标病历集确定其对应的疾病知识图谱的质量得分,并根据每个修正后病历集确定其对应的疾病知识图谱的质量得分,以得到目标病历集对应的疾病知识图谱的得分以及多个修正后病历集分别对应的疾病知识图谱的得分,然后根据目标病历集对应的疾病知识图谱的得分以及多个修正后病历集分别对应的疾病知识图谱的得分,从多个修正后病历集中确定最优病历集。需要说明的是,疾病知识图谱的得分越高,说明该疾病知识图谱越优,而疾病知识图谱越优,则说明其对应的病历集的质量越好。
本申请实施例提供的病历集优化方法,首先采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集,然后获取目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,最后根据目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,从多个修正后病历集中确定最优病历集,作为目标病历集对应的优化后病历集,由此可见,本申请实施例提供的病历集优化方法可实现对病历集的优化,并且,由于目标病历集对应的优化后病历集为采用多种病历修正方式对目标病历集进行修正后得到的多个修正后病历集中的最优病历集,因此,目标病历集对应的优化后病历集的质量较好、可靠性较高,基于这样的病历集进行后续的分析和挖掘,可获得较好的分析和挖掘效果。
第二实施例
本实施例对上述实施例中的“步骤S102:获取目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱”进行介绍。
由于获取获取各病历集对应的疾病知识图谱的过程类似,本实施例以对一个病历集为例,对获取该病历集对应的疾病知识图谱的过程进行介绍。
请参阅图2,示出了获取一病历集对应的疾病知识图谱的流程示意图,可以包括:
步骤S201:从病历集中各病历的诊断结果中提取疾病名,以得到由提取的疾病名组成的疾病集合。
由于病历集中的病历通常较多,很可能存在两个甚至更多个病历的诊断结果中的疾病名为同一疾病名的情况,为此,在从各病历的诊断结果中提取疾病名后,可进行去重处理,将去重处理后的疾病名组成疾病集合。
步骤S202:根据疾病集合,从预先构建的疾病知识图谱中获取该病历集对应的疾病知识图谱。
本实施例预先构建尽可能涵盖各种疾病的疾病知识图谱,该疾病知识图谱包括分别代表各种疾病的若干节点,以及节点之间的边。上述实施例已经提到,两个节点之间的边代表了对应的两种疾病之间的关系,需要说明的是,两种疾病之间的关系可以为上下位关系、演化关系和鉴别关系中的一种。
对于上下位关系,若疾病A的医学涵义完全囊括了疾病B的医学涵义,则称疾病A与疾病B具有上下位关系,且疾病A为疾病B的上位疾病,疾病B为疾病A的下位疾病,例如,“肺炎”是“慢性肺炎”的上位疾病。
对于演化关系,若同一患者的同一次发病期间内,疾病A有可能发展成疾病B,而疾病B不可能发展为疾病A,则疾病A与疾病B具有演化关系,且疾病A可以演化为B,或者说疾病B可以由A演化而来。
对于鉴别关系,若疾病A与疾病B的临床表现高度相似,但在某一个或几个临床表现上不同,且通常需根据这一个或几个临床表现才能区分开二者,则称A与B有鉴别关系,例如,“心肌梗塞”与“主动脉夹层”有鉴别关系,二者通常需仔细辨别。
请参阅图3,示出了疾病知识图谱的一示例的示意图,图中的节点代表的是疾病,两个节点之间的连线即为代表两种疾病之间关系的边,无向边代表鉴别关系,虚线的有向边代表演化关系,虚线的有向边的箭头指向较晚的疾病,比如,疾病B由疾病A演化而来,则二者之间的有向边的箭头指向疾病B,实线的有向边代表上下位关系,有向边的箭头指向上位疾病,比如,疾病A为疾病B的上位疾病,则二者之间的有向边的箭头指向疾病A。需要说明的是,图3示出的疾病知识图谱仅为一示例,并不代表疾病知识图谱就一定为该形式。
在通过步骤S201获得疾病集合后,根据疾病集合从预先构建的疾病知识图谱中获取该病历集对应的疾病知识图谱,具体的,首先将预先构建的疾病知识图谱中、代表疾病集合中各疾病的节点点亮,然后将同时连接有两个点亮节点的边点亮,最后将未点亮的节点和未点亮的边删除,剩余的部分即为该病历集对应的疾病知识图谱。
按上述方式分别对目标病历集和多个修正后病历集进行处理,便可得到目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱。
第三实施例
本实施例对第一实施例中的“步骤S103:根据目标病历集对应的疾病知识图谱以及多个修正后病历集分别对应的疾病知识图谱,从多个修正后病历集中确定最优病历集,作为目标病历集对应的优化后病历集”进行介绍。
请参阅图4,示出了步骤S103的具体实现过程的流程示意图,可以包括:
步骤S401、对于每个修正后病历集,根据目标病历集所包含病历中的症状词、该修正后病历集所包含病历中的症状词以及目标病历和该修正后病历集分别对应的疾病知识图谱,确定该修正后病历集对应的修正效果表征值,以得到多个修正后病历集分别对应的修正效果表征值。
其中,根据目标病历集所包含病历中的症状词、该修正后病历集所包含病历中的症状词以及目标病历集和该修正后病历集分别对应的疾病知识图谱,确定该修正后病历集对应的修正效果表征值的过程可以包括:
步骤S4011a、以疾病和其对应的症状是否匹配为依据,根据目标病历集所包含病历中的症状词,确定目标病历集对应的疾病知识图谱的质量得分,作为目标病历集的质量表征值。
步骤S4011b、以疾病和其对应的症状是否匹配为依据,根据该修正后病历集所包含病历中的症状词,确定该修正后病历集对应的疾病知识图谱的质量得分,作为该修正后病历集的质量表征值。
本申请从疾病和其对应的症状是否匹配这一角度出发,根据病历集所包含病历中的症状词,对病历集对应的疾病知识图谱进行评估。
需要说明的是,一病历集对应的疾病知识图谱的质量得分能够反映该病历集对应的疾病知识图谱的优劣,病历集对应的疾病知识图谱的质量得分越高,说明该病历集对应的疾病知识图谱越优,而该病历集对应的疾病知识图谱越优,则说明该病历集的质量越好、可靠性越高,为此,本申请将一病历集对应的疾病知识图谱的质量得分作为该病历集的质量表征值。
步骤S4012、根据目标病历集的质量表征值、该修正后病历集的质量表征值以及该修正后病历集中修正病历的数量,确定该修正后病历集对应的修正效果表征值。
假设目标病历集为B,修正后病历集为Bi′(i=1,2,…,M,M为修正后病历的总数量),目标病历集对应的疾病知识图谱的质量得分(即目标病历集的质量表征值)为Score,修正后病历集Bi′对应的疾病知识图谱的质量得分为Scorei′(即修正后病历集Bi′的质量表征值),则修正后病历集Bi′对应的修正效果表征值为:
Scorei′-Score-ε×numi 修正病历 (1)
其中,num修正病历为Bi′中修正病历的数量,由于B中绝大部分是具有合理诊断结果的病历,因此,修正的病历不应太多,从这点出发,在Scorei′-Score的基础上减去修正病历的数量,作为针对修正病历数量的惩罚。
步骤S402、将多个修正后病历集分别对应的修正效果表征值中,最大的修正效果表征值对应的修正后病历集,确定为最优病历集。
将max(Score1′-Score-ε×num1 修正病历,Score2′-Score-ε×num2 修正病历,…,ScoreM′-Score-ε×numM 修正病历)对应的修正后病历集,确定为最优病历集。
第四实施例
经由第三实施例可知,在确定最优病历集的过程中,需要确定目标病历集对应的疾病知识图谱的得分和各修正后病历集分别对应的疾病知识图谱的得分,由于确定各病历集分别对应的疾病知识图谱的得分的过程类似,本实施例以一个病历集为例,对确定病历集对应的疾病知识图谱的质量得分的过程进行介绍。
请参阅图5,示出了根据一病历集所包含病历中的症状词,确定该病历集对应的疾病知识图谱的质量得分的流程示意图,可以包括:
步骤S501:从该病历集中的各病历中提取症状词,由提取的症状词组成症状词总集。
在该病历集中的各病历中提取的症状词可能有重复,为此,在提取出所有症状词后,可进行去重处理,由去重处理后的症状词组成症状词总集{symp1symp2,…,sympN},其中,N为症状词总集所包含症状词的总数量。优选的,症状词总集{symp1 symp2,…,sympN}中的症状词可按一定顺序排次,比如,按拼音排序。
步骤S502:根据症状词总集,确定该病历集对应的疾病知识图谱中每种疾病的症状分布向量。
其中,一种疾病的症状分布向量由该疾病分别与症状词总集中各症状词在该病历集所包含病历中的共现情况表征值组成。
具体的,对于该病历集对应的疾病知识图谱中的每种疾病d:首先,分别确定该疾病d与病状词总集中的每个症状词在该病历集所包含病历中的共现频次,即得到cooccurd,1、cooccurd,2、…、cooccurd,N;然后,由cooccurd,1~cooccurd,N组成向量,作为疾病d对应的共现向量;接着,对疾病d对应的共现向量按下式进行归一化:
对疾病d对应的共现向量归一化后,可得到元素为ratiod,1、ratiod,2、…、ratiod,N的向量,将该向量作为疾病d的症状分布向量。
步骤S503:根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,确定该病历集对应的疾病知识图谱的质量得分。
具体的,根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,确定该病历集对应的疾病知识图谱的质量得分的过程可以包括:
步骤S5031a:根据该病历集对应的疾病知识图谱中代表上下位关系的边,以及代表上下位关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分。
步骤S5031b:根据该病历集对应的疾病知识图谱中代表演化关系的边,以及代表演化关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在演化关系上的质量得分。
步骤S5031c:根据该病历集对应的疾病知识图谱中代表鉴别关系的边,以及代表鉴别关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分。
步骤S5031d:根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分。
需要说明的是,本实施例并不限定S5031a~S5031d的执行顺序,S5031a~S5031d可按任何的先后顺序执行,也可并行执行。
步骤S5032:根据该病历集对应的疾病知识图谱分别在上下位关系、演化关系、鉴别关系以及疾病的症状个数上的质量得分,确定该病历集对应的疾病知识图谱的质量得分。
在一种可能的实现方式中,可对该病历集对应的疾病知识图谱分别在上下位关系、演化关系、鉴别关系以及疾病的症状个数上的质量得分直接求和,将求和后的得分作为该病历集对应的疾病知识图谱的质量得分。
在另一种可能的实现方式中,可针对上下位关系、演化关系、鉴别关系以及疾病的症状个数分别预设权重,然后按预设的权重对该病历集对应的疾病知识图谱分别在上下位关系、演化关系、鉴别关系以及疾病的症状个数上的质量得分加权求和,加权求和后的得分作为该病历集对应的疾病知识图谱的质量得分Score疾病知识图谱,即:
Score疾病知识图谱=α×Score上下位+β×Score演化+γ×Score鉴别+δ×Score症状个数 (3)
其中,α、β、γ、δ依次为针对上下位关系、演化关系、鉴别关系以及疾病的症状个数设置的权重,α、β、γ、δ的值可实际应用情况设定,Score上下位、Score演化、Score鉴别、Score症状个数依次为该病历集对应的疾病知识图谱在上下位关系上的质量得分、在演化关系上的质量得分、在鉴别关系上的质量得分、在疾病的症状个数上的质量得分。
第五实施例
本实施例对上述实施例中步骤S5031a~S5031d的具体实现过程进行介绍。
首先给出“步骤S5031a:根据该病历集对应的疾病知识图谱中代表上下位关系的边,以及代表上下位关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分”的实现过程,可以包括:
步骤a1、将该病历集对应的疾病知识图谱中代表上下位关系的边作为第一边,针对每条第一边连接的每种疾病,根据该疾病的状态分布向量和症状词总集确定该疾病对应的症状词集,以得到每条第一边连接的每种疾病对应的症状词集。
对于每条第一边连接的每种疾病,可从症状词总集中获取该疾病的症状分布向量中不为0的元素对应的症状词,组成该疾病对应的症状词集,以得到每条第一边连接的每种疾病对应的症状词集。
步骤a2、以每条第一边连接的两种疾病中,下位疾病对应的症状词集是否为上位疾病对应的症状词集的子集为依据,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分。
需要说明的是,下位疾病的症状应当是上位疾病的子集,但具有不合理诊断结果的病历可能破坏这种关系。海量病历下,每种疾病所对应的症状都可以充分暴露,而上位疾病完全囊括了下位疾病的医学涵义,因此,其症状集必然是下位疾病的症状词集的超集,而少数具有不合理诊断结果的病历,可能为下位疾病引入完全不相关的症状,而这一完全不相关症状可能是上位疾病所没有的,从而该下位疾病症状集不再是上位疾病症状集的子集。
有鉴于此,本申请以第一边(代表上下位关系的边)连接的两种疾病中,下位疾病对应的症状词集是否为上位疾病对应的症状词集的子集为依据,来该病历集对应的疾病知识图谱在上下位关系上的质量得分。
具体的,对于每条第一边连接的两种疾病,若下位疾病对应的症状词集为上位疾病对应的症状词集的子集,则确定该病历集对应的疾病知识图谱在该第一边上的质量表征值为1,否则为0,以得到该病历集对应的疾病知识图谱在每条第一边上的质量表征值;然后将该病历集对应的疾病知识图谱在各条第一边上的质量表征值求和,将求和得到值与第一边的总数量的比值确定为该病历集对应的疾病知识图谱在上下位关系上的得分Score上下位。
接下来给出“步骤S5031b:根据该病历集对应的疾病知识图谱中代表演化关系的边,以及代表演化关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在演化关系上的质量得分”的实现过程,可以包括:
步骤b1、将该病历集对应的疾病知识图谱中代表演化关系的边作为第二边,针对每条第二边连接的每种疾病,根据该疾病的状态分布向量和症状词总集确定该疾病对应的症状词集。
对于每条第二边连接的每种疾病,可从症状词总集中获取该疾病的症状分布向量中不为0的元素对应的症状词,组成该疾病对应的症状词集,以得到每条第二边连接的每种疾病对应的症状词集。
步骤b2、获取每条第二边连接的两种疾病分别对应的症状词集的交集,以得到每条第二边连接的两种疾病的共有症状词集。
通过对一条第二边连接的两种疾病分别对应的症状词集求交集可获得该条第二边连接的两种疾病的共有症状词。
步骤b3、根据每条第二边连接的两种疾病的共有症状词集,确定每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值。
需要说明的是,若疾病A可以演化成疾病B,则在疾病A演化为疾病B时,在二者共有的每个症状上的严重程度应有较为一致的变化。这是因为,疾病演化是一个医学过程,是由一定的医学机理驱动的,而非随机过程,症状等临床表现,通常是医学机理的外在反映,从而在疾病演化时,对单个症状而言,其严重程度的变化趋势应较一致。比如,“感冒”若不及时治疗就可能演化成“肺炎”,这通常伴随着“咳嗽”等症状的加重,而不会在一些患者身上体现为“咳嗽”加重、在另一些患者身上体现为“咳嗽”减轻,从本质上说,这是因为,“咳嗽”是人体机能异常特别是呼吸道***机能异常的外在反映,而非随机现象。需强调指出的是,涉及疾病演化关系时,症状之间的严重程度变化趋势不一定同步。例如,“感冒”演化成“肺炎”,通常“咳嗽”、“乏力”、“胸闷”等加重,而“流涕”减轻。这是因为,每个疾病都有各自的发病机理与特点,即使疾病A演化成疾病B是病情加重了,这并不代表在所有共同症状上都加重。
然而,具有不合理诊断结果的病历可能削弱具有演化关系的两种疾病在二者共有症状上的症状严重程度变化一致性。例如,病历集中绝大部分具有合理诊断结果的病历反映出“感冒”在演化成“肺炎”时通常伴随着“咳嗽”加重,假设某患者在某个病程内,由“感冒”演化成“肺炎”,但却是“咳嗽”减轻,反映由“感冒”演化成“肺炎”的病历便削弱了整体的一致性水平。
基于此,在同等其他条件下,对于一个疾病知识图谱,疾病间演化对应的共同症状严重程度变化趋势越一致,则该疾病知识图谱越优。
假设一条第二边i连接的两种疾病分别为疾病A和疾病B,且疾病B可由疾病A演化而来,则疾病A和疾病B在二者共有症状上的症状严重程度变化一致性表征值,可根据疾病A和疾病B在二者的共有症状词集中每个症状词上的症状严重程度变化一致性表征值确定,其中,疾病A和疾病B在二者的共有症状词集S中一症状词s上的症状严重程度变化一致性表征值fit(s,A,B)可通过下式确定:
其中,num同一病程由A演化B且s加重为该病历集中满足如下条件的病历对的数量:两份病历为同一患者一个病程中的病历;两份病历中就诊时间早的病历的诊断结果为疾病A,就诊时间晚的病历的诊断结果为疾病B;两份病历中均包含s这一症状词,且由疾病A演化为疾病B时s加重,num同一病程由A演化B且s减轻的含义类似,此处不作赘述。
需要说明的是,本申请提及的一个病程由一患者一次发病的所有病历组成,一个病程中的所有病历按就诊时间先后排序,一个病程中的病历应满足如下两个条件:条件1,任意相邻两个病历的日期间隔小于预设的日期间隔阈值,即,datadiff(medi,medi+1)<threshold日期间隔,其中,datadiff(medi,medi+1)为第i个病历与第i+1个病历的时间间隔,threshold日期间隔为日期间隔阈值;条件2,任意相邻两个病历的相似度大于预设的相似度阈值,即,similarity(medi,medi+1)>threshold相似度,其中,similarity(medi,medi+1)为第i个病历与第i+1个病历的相似度,threshold相似度为相似度阈值。
在获得fit(s,A,B)后,可判断fit(s,A,B)是否大于预设的症状严重程度变化阈值,若是,则确定症状词s在症状严重程度变化一致性上的贡献值为contribute(s,A,B)为1,否则为0。
通过上述过程可获得疾病A和疾病B的共有症状词集S中每个症状词在症状严重程度变化一致性上的贡献值,然后将疾病A和疾病B的共有症状词S中各个症状词在症状严重程度变化一致性上的贡献值求和,将求和得到值与共有症状词集S所包含症状词的总数量的比值作为疾病A和疾病B在二者共有症状上的症状严重程度变化一致性表征值。
步骤b4、根据每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值,确定该病历集对应的疾病知识图谱在演化关系上的质量得分。
具体的,可将各条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值求和,将求和得到值与第二边的总数量的比值,确定为该病历集对应的疾病知识图谱在演化关系上的得分Score演化。
接下来给出“步骤S5031c:根据该病历集对应的疾病知识图谱中代表鉴别关系的边,以及代表鉴别关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分”的实现过程,可以包括:
步骤c1、将该病历集对应的疾病知识图谱中代表鉴别关系的边作为第三边,根据每条第三标连接的两种疾病的症状分布向量,确定每条第三边连接的两种疾病的症状分布差异表征值。
需要说明的是,若疾病A与疾病B有鉴别关系,则二者症状分布虽高度相似,但仍有差别体现,这是因为,疾病A与疾病B毕竟非同一疾病,存在鉴别关系,说明可以通过一个或几个症状来区分二者,因此,二者的症状分布不会完全相同,且实际上就是依靠这种差异才能鉴别二者,但是,具有不合理诊断结果的病历可能削弱这种差别。
有鉴于此,本申请通过具有鉴别关系的疾病间症状分布的差异来评估疾病知识图谱在鉴别关系上的质量得分。对于一个疾病知识图谱,具有鉴别关系的疾病间症状分布差异越大,则该疾病知识图谱越优,相应的,该疾病知识图谱在鉴别关系上的质量得分越高。
其中,一疾病的症状分布可由该疾病的症状分布向量表征,基于此,可根据每条第三边连接的两种疾病的症状分布向量,确定每条第三边连接的两种疾病的症状分布差异表征值,具体的,可计算每条第三边连接的两种疾病的症状分布向量的标准差作为症状分布差异表征值,从而可获得每条第三边连接的两种疾病的症状分布差异表征值。
步骤c2、根据每条第三边连接的两种疾病的症状分布差异表征值,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分。
具体的,可将各条第三边连接的两种疾病的症状分布差异表征值求和,将求和得到值与第三边的总数量的比值,确定为该病历集对应的疾病知识图谱在鉴别关系上的质量得分Score鉴别。
最后给出“步骤S5031d:根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分”的具体实现过程。
需要说明的是,一个疾病的不同症状词个数不会太多,然而,具有不合理诊断的病历可能导致一个疾病具有较多的不同症状词。
一个疾病的不同症状词的个数不会太多的因为在于,虽然可能存在多种病因来诱发同一个疾病,从而一个疾病理论上可能对应几种甚至数十种不同症状,但每个疾病毕竟涉及范围有限,对应的症状不会过于繁多,比如,“肺炎”的症状只会局限在呼吸道***,至多扩展到“乏力”等无明确器官指向的症状,而绝不会有“腹痛”、“下肢麻木”等症状。
然而,少数具有不合理诊断的病历,可能为当前疾病引入完全不相关的症状,从而使得该疾病对应不同症状数量暴涨,例如,某病历的症状为“咳嗽”、“乏力”、“胸闷”却被误诊为糖尿病,则直接为糖尿病引入了这些无关症状。需要说明的是,“海量病历”假设下可合理认为每个疾病的相应症状都已充分暴露,排除“因数据量少而未体现出来”的情况。
基于上述分析可知,同等其他条件下,对于一个疾病知识图谱,疾病的不同症状个数越少,则该疾病知识图谱越优。
有鉴于此,本申请提出可根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,按如下方式确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分:
步骤d1、根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,分别确定症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数。
其中,症状词总集即为由该病历集所包含的各病历中提取出的症状词组成的集合。
具体的,对于该病历集对应的疾病知识图谱中的每种疾病,统计该疾病的症状分布向量中为0的元素的个数,作为症状词总集中不属于该疾病的症状词的个数。
步骤d2、根据症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分。
具体的,对于该病历集对应的疾病知识图谱中的每种疾病,计算症状词总集中不属于该疾病的症状词的个数与症状词总集所包含症状词的总数量的比值,作为该疾病对应的非症状词个数占比;将各疾病分别对应的非症状词个数占比求和,求和得到值作为该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分Score症状个数。
第六实施例
上述实施例在对目标病历集中的病历进行修正时,是从单个病历入手,考虑单个病历本身是否合理,从而对不合理病历进行修正,然而,临床上还有一种特殊场景:
有些病历单独的来看,其本身是合理的,但若将其放到某个患者的某个病程中来看,其则是不合理,也就是说,上述实施例的步骤S103中的“最优病历集”可能还存在一些不合理病历,为了进一步提升病历集质量,本申请提出如下方案:
从步骤S103得到的最优病历集中获取病程集合,以病历在其所在的病程中是否合理为依据,从病程集合中的病程中确定不合理病历,并对不合理病历进行修正。
临床上一种常见情况是:对于复杂病况的试探性治疗。
对于复杂病况的试探性治疗指的是,某患者在某次较长的病程中,绝大部分病历为诊断结果为疾病a的病历,其中穿插着少量且连续的、诊断结果为疾病b的病历,在排除是“疾病名同义词不同表述”的前提下,疾病b可能是治疗过程中的试探性治疗。
从临床医学上来说,出现上述情况的原因通常是,疾病a治疗的效果不及预期,为排除“患的是其它疾病”的可能性,而短暂的诊断为疾病b,并按疾病b来治疗,然后,由于效果更差或其它医学指征,确认不是疾病b,于是再回到疾病a。由此可见,诊断结果为非疾病a的病历为不合理病历,其诊断结果应为疾病a。
需要说明的是,疾病b通常是无法通过抽血化验等常规的检查检验来排除的疾病,另外,在真实情况中,可能需要排除不止疾病b这一种可能的疾病,还可能需要排除疾病c、疾病d等,也就是说,病程中还可能穿插着少量且连续的、诊断结果为疾病c的病历,以及少量且连续的、诊断结果为疾病d的病历等等。
需强调的是,上述通过试探性治疗来排除其它疾病的现象,需要排除的疾病的病历在病程中应当聚在一起,由于病程中的多个病历按时间排序,因此,病程的形式应为{…,mb,mb,mb,mb,…}(mb为诊断结果为疾病b的病历),而不会出现诊断结果为疾病b的病历中穿插着诊断结果疾病a或者诊断结果为其他疾病的病历,并且,疾病a与疾病b有着医学上的直接联系,不会是无关的疾病。
针对上述情况,本申请给出“以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正的实现过程,可以包括:
对于病程集合中的每个病程,若该病程中病历的诊断结果包括一种主要疾病和至少一种次要疾病,且主要疾病和次要疾病满足三个条件,则将该病程中诊断结果为次要疾病的病历确定为不合理病历,并将该不合理病历的诊断结果修正为主要疾病。
上述的三个条件包括:诊断结果为主要疾病的病历的数量占比大于预设的主要诊断占比阈值;次要疾病与主要疾病存在上下位关系、演化关系、鉴别关系中的一种关系;诊断结果为同一种次要疾病的病历连续。其中,第一个条件指的是,病程中绝大多数应为诊断结果为主要疾病的病历,第二个条件指的是,试探性治疗时,需要排除的疾病与主要疾病应该有医学关系,第三个条件指的是,诊断结果为同一种次要疾病的病历应该是紧挨在一起的,中间不会穿插诊断结果为其他疾病的病历。
临床上另一种常见情况是:对于疾病演化状况迟滞发现。
对于疾病演化状况迟滞发现指的是,患者在某病程中,由于某种原因(比如,治疗不力导致情况加剧、疗效好但没直接彻底痊愈等),由疾病a逐步演化为另一疾病b,而临床上通常对疾病演化后知后觉,通常是发现治疗效果不佳或发现衍生出新症状之后才意识到已经演变。
可以理解的是,患者在某病程中由疾病a逐步演化为疾病b,不可避免的涉及时间概念,而上述的疾病知识图谱并未考虑时间维度,此处的时间维度是身体机能、健康状况发生变化的一种外在反映和度量,虽然对具体某个患者的具体某次发病,该病程中,客观上是在哪个时间点患者由疾病a演变为疾病b无从知晓,但从大数据统计意义上来看,这种疾病演化中二者的持续时间会有个大致范围,如果该病程显著不符合这一范围,则可合理推测该病程存在迟滞发现疾病演化的情况,即诊断结果为a的病历中,部分时间较晚的病历为不合理病历,因为在此期间,患者已经转为了疾病b,基于此,可将这些不合理病历的诊断结果修正为疾病b。
有鉴于此,本申请给出“以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正的实现过程,可以包括:
步骤e1、从病程集合中选取目标病程,由选取的目标病程组成目标病程集合。
其中,目标病程中前一部分病历的诊断结果为第一种疾病,后一部分病历的诊断结果为第二种疾病,且第二种疾病由第一种疾病演化而来。
假设第一种疾病为疾病a,第二种疾病为疾病b,则目标病程的形式为{ma,ma,ma,…,ma,mb,mb,mb,…,mb}(ma为诊断结果为疾病a的病历,mb为诊断结果为疾病b的病历),且疾病b由疾病a演化而来。
步骤e2、若目标病程集合中病程的数量大于预设的数量阈值,则根据目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正。
假设目标病程集合中的一病程为{ma,ma,ma,…,ma,mb,mb,mb,…,mb},该病程的第一种疾病为a,第二种疾病为b,该病程中的每个病历都有日期,可将首个诊断结果为a的病历的日期到首个诊断结果为b的病历前一天的日期间隔作为疾病a的时间跨度daygap(a)、首个诊断结果为b的病历到最后一个诊断结果为b的病历的日期间隔作为疾病b的时间跨度daygap(b)。
一病程的第一种疾病的时间跨度占比为该病程的第一种疾病的时间跨度与第二种疾病的时间跨度的比值,假设第一种疾病为疾病a,第二种疾病为疾病b,则第一种疾病的时间跨度为daygap(a),第二种疾病的时间跨度为daygap(b),第一种疾病的时间跨度占比daygap_ratio(a/b)为daygap(a)/daygap(b)。
具体的,根据目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正的过程可以包括:
步骤e21、对目标病程集合中各个病程的第一种疾病的时间跨度求均值,并对目标病程集合中各个病程的第一种疾病的时间跨度占比求标准差。
假设目标病程集合中包括P个病程,则对这P个病历的第一种疾病的时间跨度求均值,并且,对这P个病历的第一种疾病的时间跨度占比求标准差。
步骤e22、根据求得的均值和标准差,确定第一种疾病的可接受时间跨度和可接受时间跨度占比。
具体的,可根据下式计算第一种疾病的可接受时间跨度和可接受时间跨度占比:
acceptable_daygap(a)=avg_daygap(a)+N*std_daygap(a) (5)
acceptable_daygap_ratio(a)=avg_daygap_ratio(a)+N*std_daygap_ratio(a/b) (6)
其中,acceptable_daygap(a)为第一种疾病的可接受时间跨度,acceptable_daygap_ratio(a)为第一种疾病的可接受时间跨度占比,avg_daygap(a)为通过步骤e21求得的均值,std_daygap(a)为通过步骤e21求得的标准差,N可依据业务经验与数据分布而定。
步骤e23、对于目标病程集合中的每个病程M,执行:
步骤e231、根据该病程M的第一种疾病的时间跨度和时间跨度占比,以及第一种疾病的可接受时间跨度和可接受时间跨度占比,确定该病程中是否存在不合理病历。
具体的,可判断该病程的第一种疾病a的时间跨度daygap(a)是否大于或等于第一种疾病a的可接受时间跨度acceptable_daygap(a),或者,第一种疾病a的时间跨度占比daygap_ratio(a)是否大于或等于第一种疾病a的可接受时间跨度占比acceptable_daygap_ratio(a),若是,则确定该病程迟滞发现病情演化状况,即该病程中存在不合理病历。
步骤e232、若该病程中存在不合理病历,则根据第一种疾病的可接受时间跨度和可接受时间跨度占比以及该病程的时间跨度,确定该病程中的不合理病历,并将该病程中不合理病历的诊断结果修正为该病程的第二种疾病。
具体的,可获取该病程中首个病历的日期date0,然后根据第一种疾病的可接受时间跨度acceptable_daygap(a)和可接受时间跨度占比acceptable_daygap_ratio(a)以及该病程的时间跨度daygap(M)(病程M中首个病历与最后一个病历的日期间隔),确定时间增量delta;最后将date0+delta之后的病历中、诊断结果为a的病历确定为不合理病历,并将确定出的不合理病历的诊断结果修正为疾病b。其中,时间增量Delta可根据下式确定:
Delta=max(acceptable_daygap(a),acceptable_daygap_ratio(a)*daygap(M))(7)
上述实施例提供的病历集优化方法不但可从单个病历本身入手,对不合理病历进行修正,还可从一个患者的一个病程入手,对病程中的不合理病历进行修正,即修正后的病历集具有较好的质量和较高的可靠性。
第七实施例
本实施例提供了一种与上述实施例提供的病历集优化方法对应的病历集优化装置,请参阅图6,示出了该病历集优化装置的结构示意图,可以包括:病历修正模块601、疾病知识图谱获取模块602和最优病历集确定模块603。
病历修正模块601,用于采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集.
疾病知识图谱获取模块602,用于获取所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱。
其中,所述疾病知识图谱包括若干个节点和节点之间的边,每个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系。
最优病历集确定模块603,用于根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,作为所述目标病历集对应的优化后病历集。
优选的,疾病知识图谱获取模块602在获取一病历集对应的疾病知识图谱时,具体用于从该病历集中各病历的诊断结果中提取疾病名,以得到由提取的疾病名组成的疾病集合;根据所述疾病集合,从预先构建的疾病知识图谱中获取该病历集对应的疾病知识图谱。其中,所述预先构建的疾病知识图谱包括分别代表各种疾病的若干节点和节点之间的边。
优选的,最优病历集确定模块603可以包括:修正效果表征值确定子模块和最优病历集确定子模块。
修正效果表征值确定模块,用于对于每个修正后病历集,根据所述目标病历集所包含病历中的症状词、该修正后病历集所包含病历中的症状词以及所述目标病历和该修正后病历集分别对应的疾病知识图谱,确定该修正后病历集对应的修正效果表征值,以得到所述多个修正后病历集分别对应的修正效果表征值。
病历集确定模块,用于将所述多个修正后病历集分别对应的修正效果表征值中,最大的修正效果表征值对应的修正后病历集,确定为最优病历集。
可选的,修正效果表征值确定模块包括:质量评估子模块和修正效果表征值确定子模块。
质量评估子模块,用于以疾病和其对应的症状是否匹配为依据,根据所述目标病历集所包含病历中的症状词,确定所述目标病历集对应的疾病知识图谱的质量得分,作为所述目标病历集的质量表征值;以疾病和其对应的症状是否匹配为依据,根据该修正后病历集所包含病历中的症状词,确定该修正后病历集对应的疾病知识图谱的质量得分,作为该修正后病历集的质量表征值。
修正效果表征值确定子模块,用于根据所述目标病历集的质量表征值、该修正后病历集的质量表征值以及该修正后病历集中修正病历的数量,确定该修正后病历集对应的修正效果表征值。
可选的,质量评估子模块包括:症状词总集获取子模块、症状分布向量确定子模块和质量得分确定子模块。
症状词总集获取子模块,用于从该病历集中的各病历中提取症状词,由提取的症状词组成症状词总集。
症状分布向量确定子模块,用于根据所述症状词总集,确定该病历集对应的疾病知识图谱中每种疾病的症状分布向量。其中,一种疾病的症状分布向量由该疾病分别与所述症状词总集中各症状词在该病历集所包含病历中的共现情况表征值组成。
质量得分确定子模块,用于以疾病和其对应的症状是否匹配为依据,根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,确定该病历集对应的疾病知识图谱的质量得分。
可选的,所述两种疾病之间的关系为上下位关系、演化关系、鉴别关系中的一种;
质量得分确定子模块包括:上下位关系得分确定子模块、演化关系得分确定子模块、鉴别关系得分确定子模块和症状个数得分确定子模块和总得分确定子模块。
上下位关系得分确定子模块,用于根据该病历集对应的疾病知识图谱中代表上下位关系的边,以及代表上下位关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分。
演化关系得分确定子模块,用于根据该病历集对应的疾病知识图谱中代表演化关系的边,以及代表演化关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在演化关系上的质量得分。
鉴别关系得分确定子模块,用于根据该病历集对应的疾病知识图谱中代表鉴别关系的边,以及代表鉴别关系的边所连接疾病的症状分布向量,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分。
症状个数得分确定子模块,用于根据该病历集对应的疾病知识图谱中每个疾病的症状分布向量,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分。
总得分确定子模块,用于根据该病历集对应的疾病知识图谱分别在上下位关系、演化关系、鉴别关系以及疾病的症状个数上的质量得分,确定该病历集对应的疾病知识图谱的质量得分。
可选的,上下位关系得分确定子模块,具体用于将该病历集对应的疾病知识图谱中代表上下位关系的边作为第一边:针对每条第一边连接的每种疾病,根据该疾病的状态分布向量和所述症状词总集确定该疾病对应的症状词集;以每条第一边连接的两种疾病中,下位疾病对应的症状词集是否为上位疾病对应的症状词集的子集为依据,确定该病历集对应的疾病知识图谱在上下位关系上的质量得分。
可选的,演化关系得分确定子模块,具体用于将该病历集对应的疾病知识图谱中代表演化关系的边作为第二边:针对每条第二边连接的每种疾病,根据该疾病的状态分布向量和所述症状词总集确定该疾病对应的症状词集;获取每条第二边连接的两种疾病分别对应的症状词集的交集,以得到每条第二边连接的两种疾病的共有症状词集;根据每条第二边连接的两种疾病的共有症状词集,确定每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值;根据每条第二边连接的两种疾病在二者共有症状上的症状严重程度变化一致性表征值,确定该病历集对应的疾病知识图谱在演化关系上的质量得分。
可选的,鉴别关系得分确定子模块,具体用于将该病历集对应的疾病知识图谱中代表鉴别关系的边作为第三边:根据每条第三标连接的两种疾病的症状分布向量,确定每条第三边连接的两种疾病的症状分布差异表征值;根据每条第三边连接的两种疾病的症状分布差异表征值,确定该病历集对应的疾病知识图谱在鉴别关系上的质量得分。
可选的,症状个数得分确定子模块,具体用于根据该病历集对应的疾病知识图谱中每种疾病的症状分布向量,分别确定所述症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数:根据所述症状词总集中不属于该病历集对应的疾病知识图谱中每种疾病的症状词的个数,确定该病历集对应的疾病知识图谱在疾病的症状个数上的质量得分。
可选的,本申请实施例提供的病历集优化装置还可以包括:病程集合获取模块和第二病历修正模块。
病程集合获取模块,用于从所述最优病历集中获取病程集合,其中,所述病程集合中的一个病程由一患者一次发病的所有病历组成,一个病程中的所有病历按就诊时间先后排序。
第二病历修正模块,用于以病历在其所在的病程中是否合理为依据,从所述病程集合中的病程中确定不合理病历,并对确定出的不合理病历进行修正。
可选的,第二病历修正模块,具体用于对于所述病程集合中的每个病程,若该病程中病历的诊断结果包括一种主要疾病和至少一种次要疾病,且所述主要疾病和所述次要疾病满足三个条件,则将该病程中诊断结果为所述次要疾病的病历确定不合理病历,并将该不合理病历的诊断结果修正为所述主要疾病:
其中,所述三个条件包括:诊断结果为所述主要疾病的病历的数量占比大于预设的主要诊断占比阈值;所述次要疾病与所述主要疾病存在上下位关系、演化关系、鉴别关系中的一种关系;诊断结果为同一种次要疾病的病历连续。
可选的,第二病历修正模块,具体用于从所述病程集合中选取目标病程,由选取的目标病程组成目标病程集合,其中,所述目标病程中前一部分病历的诊断结果为第一种疾病,后一部分病历的诊断结果为第二种疾病,且所述第二种疾病由所述第一种疾病演化而来;若所述目标病程集合中病程的数量大于预设的数量阈值,则根据所述目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定所述目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正,其中,一病程的第一种疾病的时间跨度占比为该病程的第一种疾病的时间跨度与该病程的第二种疾病的时间跨度的比值。
可选的,第二病历修正模块在根据所述目标病程集合中每个病程的第一种疾病的时间跨度和时间跨度占比,确定所述目标病程集合中的每个病程中是否存在不合理病历,并在有病程中存在不合理病历时,对该不合理病历进行修正时,具体用于对所述目标病程集合中各个病程的第一种疾病的时间跨度求均值,并对所述目标病程集合中各个病程的第一种疾病的时间跨度占比求标准差,并根据求得的均值和标准差,确定第一种疾病的可接受时间跨度和可接受时间跨度占比;对于所述目标病程集合中的每个病程:根据该病程的第一种疾病的时间跨度和时间跨度占比,以及所述第一种疾病的可接受时间跨度和可接受时间跨度占比,确定该病程中是否存在不合理病历;若该病程中存在不合理病历,则根据所述第一种疾病的可接受时间跨度和可接受时间跨度占比以及该病程的时间跨度,确定该病程中的不合理病历,并将该病程中不合理病历的诊断结果修正为该病程的第二种疾病。
本申请实施例提供的病历集优化装置不但可从单个病历本身入手,对不合理病历进行修正,还可从一个患者的一个病程入手,对病程中的不合理病历进行修正,通过本申请实施例提供的病历集优化装置优化后的病历集具有较高的可靠性,质量较好,通过对这样的病历集进行分析和挖掘,可获得较为有价值的信息。
第八实施例
本实施例还提供了一种病历集优化设备,请参阅图7,示出了该病历集优化设备的结构示意图,该病历集优化设备可以包括:至少一个处理器701,至少一个通信接口702,至少一个存储器703和至少一个通信总线704;
在本申请实施例中,处理器701、通信接口702、存储器703、通信总线704的数量为至少一个,且处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信;
处理器701可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集;
获取所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,其中,所述疾病知识图谱包括若干个节点和节点之间的边,每个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系;
根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,作为所述目标病历集对应的优化后病历集。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
第九实施例
本实施例提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
采用多种不同的病历修正方式,分别对目标病历集中存在不合理诊断的病历进行修正,获得多个修正后病历集;
获取所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,其中,所述疾病知识图谱包括若干个节点和节点之间的边,每个节点代表对应病历集中各病历的诊断结果中的一种疾病,两个节点之间的边代表对应的两种疾病之间的关系;
根据所述目标病历集对应的疾病知识图谱以及所述多个修正后病历集分别对应的疾病知识图谱,从所述多个修正后病历集中确定最优病历集,作为所述目标病历集对应的优化后病历集。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。