医疗大数据。
背景技术:
随着医疗信息技术与计算机技术的快速发展,电子病历系统(EMR)、电子健康档案(EHR)、个人健康记录(PHR)等各种形式的医疗健康信息系统积累了大量的数据。计算机辅助诊断和治疗方案推荐系统应运而生。传统的疾病诊断和治疗方案的确定依赖医生的职业能力和对此疾病相关专业知识的了解程度。与之相比,计算机辅助诊断和治疗方案推荐系统具有记忆力强,信息整合能力强等特点,从而降低误诊率,提高效率。
目前已经开发了很多用来进行辅助诊断和治疗方案选择的计算机系统,比如“DxPlain”、“Isabel”、“Watson医生”等。
马萨诸塞州总医院的DxPlain系统会根据用户输入信息在它的知识库中寻找可靠的医疗证据和同义词,寻找匹配项。最后,DxPlain根据患者的症状、体格检查、检验结果和其它诸多因子列出各种可能诊断。
Isabel系统为医生提供一个联网清单,在其录入症状和检验结果后,做出准确诊断,主要是防止医生忽略可能存在的罕见疾病,造成误诊。
但是DxPlain和Isabel都是基于知识库进行决策支持,没有直接从大量的患者数据中获取反馈的能力。
IBM公司开发的“Watson医生”凭借从各种渠道搜集的海量数据(包括医学期刊、教科书以及从使用该系统的医师或医院收集来的信息),使用人工智能技术、先进的自然语言处理和分析技术,模拟人类学习的过程,获取知识。它能迅速给出“意见”,指导医生做出诊断和治疗决策。但是自然语言理解技术本身非常复杂,可以结合上下文进行深入理解的技术仍不成熟。
专利(申请号:201610416289.4)公开了一种基于大数据知识库的个性化治疗方案推荐系统,其通过将患者的个人信息和病情信息和知识库中的个人信息和病情信息进行匹配,获取治疗效果分数最高的治疗方案推荐给用户。其可以通过治疗效果分数从累积的病例数据中获取反馈。但是此专利要求给每一个进入知识库病例的治疗效果打分,并将治疗效果分最高的个案治疗方案推荐给用户。容易由于不具代表性的个案,产生错误的治疗方案推荐。
医疗大数据面临的另一个问题是非结构化数据的挑战。非结构化数据包含有大量病情或治疗信息,但需要复杂的技术来进行提取。同时结构化数据也并非都可以用于分析,来产生有意义的结果。用于分析的数据必须有明确一致的定义,在下面的
技术实现要素:
中我们定义了用于分析的特征数据。
另一方面,现代的临床决策支持系统不仅要考虑当前患者的健康状况,而且要考虑患者健康和治疗历史,以及它的动态变化。这些都涉及到一个重要的因素:时间。通常,时间在临床决策支持系统中的表达可以被分为三种:时间点、时间段、时间长度。时间点表示一个时刻,其时间长度为零,比如2016年12月3日0时(省略了比小时更小的时间单位对应值都为0)。时间段由一个开始时间点和一个结束时间点构成,结束时间点减去开始时间点是这个时间段的时间长度。时间段是时间轴上的一个向量,具有起点和终点,同时也具有一个时间长度,比如从2016年12月3日0时到2016年12月7日0时。时间长度则是一个标量,没有起点和终点,比如一小时、两天等。
个人健康记录(PHR),是记录每个人从出生到死亡的所有生命体征的变化,以及自身所从事过的与健康相关的一切行为与事件的档案。具体的内容主要包括每个人的生活习惯、以往病史、诊治情况、家族病史、现病史、检查结果及疾病的发生、发展、治疗和转归的过程等。相对于由医院维护的EMR和EHR系统,PHR系统面向患者,由患者掌握自己的健康信息,被认为是医疗数据信息系统的一个重要发展方向。
发明内容
本发明公开了一种具有过程决策支持功能的个人健康记录系统,此系统由服务器端和客户端构成。此系统客户端可以是台式机工作站、笔记本电脑、平板电脑、智能手机或其它智能硬件;此系统服务器端是位于云端的数据存储、计算、分析平台。
在医学统计分析中,数据变量分为两类,一类是数值变量,一类为分类变量。在这里,为了描述方便,我们定义那些反映用户信息或过程信息,有临床意义且有明确一致定义的数值变量和分类变量为特征数据,定量数据有明确一致的数据含义、取值范围和单位,分类数据有明确一致的分类标准和类型集定义。用户特征数据包括用户的基本信息、症状、体征、检查检验结果、从用户的图像、声音、视频、波形数据中提取的有临床意义的特征等,一切反应用户属性或身体状态的定量或分类数据。过程特征数据包括有临床意义的检查数据、治疗数据、环境数据等,一切反映作用于用户的操作或环境的定量或分类数据。这里的过程是指作用于患者的诊疗操作或环境。
不同于结构化数据定义数据的组织型式,特征数据定义数据本身的类型。典型的用户特征数据有性别(分类变量)、身高(数值变量)、白细胞计数(数值变量)、肿块体积(数值变量)、是否头痛(分类变量)、癌症TNM分期(分类变量)等。典型的过程特征数据有磁共振成像的主磁场强度(数值变量),某种药物的注射剂量(数值变量),肺癌手术中1R淋巴节是否清扫(分类变量)等。
除特征数据以外的其它数据,在这里称作非特征数据。典型的非特征数据有患者姓名、未定义格式和详细程度的籍贯信息、图像、波形、视频、病情文本描述等。
是否特征数据主要看是否有临床意义,是否有明确一致定义。患者姓名在区分个体患者意义上不是特征数据,因为存在不同患者却姓名相同的情况。患者ID作为每个患者都不同且唯一的标识是区分个体患者的分类特征数据。患者姓名还可以表示具有相同名字的患者分类,在这个意义上其有明确一致的定义,但不确定其是否有临床意义。
用户的特征数据有些可以由用户直接输入,或从EMR、EHR、PHR等其它系统中读取,比如身高、血型等;有些则需要从非特征数据中提取,比如在CT图像(非特征数据)上画出肿块,并计算肿块的体积(特征数据)。
但是非特征数据型式多样,从非特征数据中提取特征数据的手段也多种多样。为了更有效的从非特征数据中提取特征数据,用于过程推荐,本发明服务器端包含有非特征数据处理接口。此非特征数据处理接口包括非特征数据查询接口、从个人健康记录系统获取非特征数据的接口、将从非特征数据中提取的特征数据和新产生的非特征数据传送回个人健康记录系统的接口。此外根据需要还可以包括用户授权接口和服务购买接口。用户授权接口确保通过非特征数据处理接口获取的数据是经过数据拥有者授权的。授权协议可以采用OAuth2.0、SAML,CAS,OIDC等。服务购买接口可以使用户为有偿的特征提取服务付费。服务购买接口可以对接第三方支付平台,如支付宝,财付通,块钱支付,网银在线支付等。
此系统只限定非特征数据处理端和此个人健康记录系统的通讯要符合特定的应用程序接口,并不限定非特征数据处理端进行特征提取的形式。非特征数据处理端提取特征数据的过程可以由计算机计算完成,也可以是计算机计算和人工一起完成,或者完全由人工完成。
通过将种类繁多的特征数据提取工作通过提供接口的形式交由第三方处理,使大量复杂的特征数据提取分散化,提取形式多样化,使用户成为此活动的主体,负责选择特征数据提取提供方、对特征数据提取质量进行评价和向特征数据提取提供方付费,以期更快速的构建符合分析要求的特征数据。
此系统接收用户特征数据、过程执行特征数据时都必须同时接收用户特征数据、过程执行对应的现实世界时间。在此系统中将对应的现实世界时间分为有效时间和观察时间两类,无论有效时间还是观察时间都是时间段,具有开始时间和结束时间。过程执行在现实世界中对应的时间是有效时间。比如记录静脉滴注过程执行特征数据时,其对应的静脉滴注时间是有效时间。用户特征数据在现实世界中对应的时间是有效时间或观察时间。比如一个头痛了5天的用户输入是否头痛特征数据时,输入的时间是2016年12月1日到2016年12月5日,这个时间是特征数据有效时间。又比如一个没有头痛的用户被医生问这周有否头痛,输入是否头痛特征数据时,输入否,输入的时间是2016年12月1日到2016年12月7日,因为实际上没有头痛的时间远远大于一周,因此这个时间是特征数据观察时间。比如输入白细胞计数特征数据时,其对应的时间是血液采集的时间,这个时间也是特征数据观察时间。有效时间是特征数据在现实世界对应的有效时间,在进行特征数据相关的时间逻辑运算时可以直接采用有效时间参与运算。而观察时间是在不方便获取有效时间的情况下,退而求其次获取的时间数据,其并不能表示特征数据在现实世界对应的有效时间。在进行特征数据相关的时间逻辑运算前,需要将观察时间转换为对应的有效时间进行逻辑运算。
此系统服务器端包含基于特征数据和时间逻辑的统计查询接口,客户端包含对应的统计查询模块。统计查询接口包含有对应的统计查询规则。
通过上述机制,系统中的特征数据一部分来自直接的用户输入,既包括手工录入,也包括从EMR等其它系统或智能硬件设备的输入;另一部分则来自非特征数据。这样此系统中基于特征数据统计模型的过程决策支持模块就可以利用更丰富的特征数据进行过程决策支持。此模块执行下述三个步骤:
1)特征匹配:根据当前特征数据与系统中已经记录的大量病例的特征数据进行匹配,获取匹配的病例集合。进行匹配的特征数据通常基于异常的用户特征数据,也可以包含必要的非异常的用户特征数据和必要的过程特征数据。用于匹配的特征数据可以进行个体化的配置是指:对于一组异常的特征数据,对应的参与匹配的其它特征数据、特征数据匹配的方法、衡量特征数据是否匹配的度量和指标都可以进行个体化的设置。
2)过程分类统计评价:将匹配的病例集合按进一步采取的过程进行分类,对各个过程分类进行统计评价。进一步采取的过程是指在已知匹配的特征数据的情况下进一步采取的检查、治疗或者影响到用户的环境变化。用于评价的指标可以进行个体化的配置是指:对于一组匹配的特征数据和过程,可以个体化的配置不同的评价指标进行统计评价。
3)过程推荐:根据分类评价结果和推荐规则,产生推荐过程列表。推荐规则可以进行个体化的配置是指:对于一组匹配的特征数据和过程,可以个体化的配置推荐过程列表的排序指标、排序方法和显示规则。
本发明的有益效果是:通过构建一个特征数据提取和特征数据分析分离的个人健康记录系统,以期更快速的获取符合分析需求的特征数据,使医疗大数据更好的发挥高级别的信息分析和决策支持功能。本发明的过程决策支持系统不要求必须有人工智能系统搜集和认知文字资料,而是利用每个用户提供的特征数据和从非特征数据中提取的特征数据进行统计分析,提供关于治疗效果的反馈,使推荐的过程更客观更准确。
附图说明
图1系统的数据流图
图2过程决策支持模块的工作流程图。
具体实施方式
此实施例中一种具有决策支持功能的个人健康记录系统由客户端和服务器端组成。其中客户端是智能手机和在此手机上运行的Web前端页面和程序。服务器端是可进行数据存取、计算和分析的计算机服务器。
客户端依据用户角色的不同包含有不同的模块。此实施例中所有角色用户的客户端都包含有统计查询模块、用户信息输入模块、新建用户特征数据模块、新建非特征数据模块、新建过程模块、用户特征数据输入模块、用户非特征数据输入模块、过程决策支持模块、过程计划模块和过程执行模块;管理员用户的客户端还包含对用户信息、用户特征数据、用户非特征数据、过程数据进行管理的模块。
客户端和服务器端的数据流见图1。客户端将获取的用户信息、新建用户特征数据、新建非特征数据、新建过程、用户特征数据(和对应的现实世界时间)、用户非特征数据、过程计划数据、过程记录数据(和对应的现实世界时间)、统计查询命令发送到服务器端,服务器将其保存进数据库。服务器端将统计查询结果、推荐的过程和过程相关数据列表发送回客户端。
客户端统计查询模块用来查询指定条件的数据,并对查询结果进行统计分析,其包括标识符输入控件、标识符添加按钮、查询条件输入控件、返回数据输入控件、查询条件添加按钮、计算表达式输入控件、计算表达式结果显示控件、计算表达式添加按钮、执行按钮、查询结果列表。其中标识符输入控件输入和查询相关的标识符;标识符添加按钮可以添加一个标识符输入控件;查询条件输入控件输入查询条件;返回数据输入控件输入从符合条件的病例中需要返回的数据项;查询条件添加按钮可以添加一组查询条件输入控件、返回数据输入控件;计算表达式输入控件输入需要计算的表达式;计算表达式结果显示控件在执行查询后显示计算表达式的计算结果;计算表达式添加按钮可以添加一组计算表达式输入控件、计算表达式结果显示控件;执行按钮点击后执行查询,计算表达式结果;查询结果列表显示符合各个查询条件的结果列表。
查询和统计的完成,依赖于服务器端的基于特征数据和时间逻辑的统计查询接口。此实施例中的统计查询接口由统计查询命令、运算符、时间函数和统计函数组成。
此实施例中的运算符包括:
赋值运算符:“=”左侧操作对象是一个标识符,右侧操作对象可以是值类型的特征数据、也可以是具有逻辑值的时间段或简单的逻辑值,还可以是时间点或时间长度。
算术运算符:加“+”、减“-”、乘“*”、除“/”操作对象可以是值类型的特征数据,也可以是时间点或时间长度,返回类型和操作对象类型相同。
比较运算符:等于“==”、大于“>”、小于“<”、大于等于“>=”、小于等于“<=”、不等于“<>”,其操作对象是特征数据时,返回类型是符合条件(即逻辑值为真)的现实世界时间;其操作对象是时间段或时间长度时,返回类型是简单的逻辑值。
逻辑运算符:逻辑与“&&”、逻辑或“ll”、逻辑非“!”,其操作对象是简单的逻辑值时,返回类型也是简单的逻辑值;其操作对象是具有逻辑值的时间段时,返回类型也是具有逻辑值的时间段。
此实施例中的时间函数包括:StartTime表示当前匹配时间段的开始时刻。EndTime表示当前匹配时间段的结束时刻。Duration(start,end)表示通过开始时刻和结束时刻生成一个时间段。
此实施例中的统计函数包括:Count(条件)表示指定条件匹配到的时间段个数。SumInterval(条件)表示指定条件匹配到的时间段的时间长度的总和。MediumInterval(条件)表示指定条件匹配到的时间段的中位时间长度。Avg(条件,数值类型特征数据)表示对指定条件匹配到的所有时间段的指定数值类型特征数据求均值。这些统计函数都是针对匹配到的结果进行统计运算。
此实施例中的统计查询命令由标识符定义、条件表达式和返回数据列表构成,服务器端根据接收到的统计查询命令执行统计查询操作。如查询同时出现烦躁,失眠,口干持续超过一周的用户,统计查询命令如下:标识符1:状态1=(精神状态==烦躁&&睡眠状态==失眠&&唾液分泌==口干) 条件1:EndTime(状态1)- StartTime(状态1) >1周 返回数据:用户姓名、用户ID、StartTime(状态1)、EndTime(状态1);这里的标识符表示同时出现烦躁,失眠,口干(逻辑值为真)的时间段;这里的条件表示所有上述时间段的结束时间减去开始时间要大于一周。返回数据定义了对于符合上述条件的时间段,都需要返回哪些值。
下面是一个在上述查询结果基础上查询两年内甲胎蛋白大于25微克/升并且乙肝表面抗原呈阳性的患者,并进行相关统计计算的例子。点击标识符添加按钮3次,产生3个新的标识符输入控件,在新的标识符输入控件中分别输入:状态2=(甲胎蛋白>25微克/升);状态3=(乙肝表面抗原==阳性);状态4=Duration(StartTime(状态2)-3天,EndTime(状态2)+3天)&& Duration(StartTime(状态3)-15天,EndTime(状态3)+15天)。这里将甲胎蛋白的观察时间向前和向后各扩展3天作为甲胎蛋白数据的有效时间;将乙肝表面抗原的观察时间向前和向后各扩展15天作为乙肝表面抗原数据的有效时间;状态4是甲胎蛋白>25微克/升有效时间和乙肝表面抗原==阳性有效时间的交集。点击条件添加控件,即生成条件2输入控件。条件2:条件1&&StartTime(状态4)-StartTime(状态1)<2&&StartTime(状态4)-StartTime(状态1)>0 返回数据:用户姓名、用户ID、StartTime(状态4)、EndTime(状态4)。条件2查询在满足条件1的基础上同时满足状态4的开始时间要晚于状态1的开始时间,且晚于状态1的开始时间不能超过2年。即在满足条件1的基础上查询两年内甲胎蛋白大于25微克/升并且乙肝表面抗原呈阳性的患者。以下表中的数据为例:
上表中张一、李二、张三、李四都满足条件1,只有李四满足条件2。因此点击执行按钮后,查询结果列表中分别显示条件1的查询结果:
和条件2的查询结果:
计算表达式输入控件输入:Count(条件2)/Count(条件1),既计算同时出现烦躁,失眠,口干持续超过一周的病例中,在两年内出现甲胎蛋白大于25微克/升同时乙肝表面抗原呈阳性的比例。根据上述查询结果,有4个时间段满足条件1,只有1个时间段满足条件2,因此计算表达式结果显示控件显示1/4=0.25。
计算表达式输入控件若输入:Avg(条件1,甲胎蛋白),既计算符合条件1的查询结果中甲胎蛋白均值,因此计算表达式结果显示控件显示24.75。对应客户端统计查询模块发往服务器的完整的统计查询命令为:标识符1:状态1=(精神状态==烦躁&&睡眠状态==失眠&&唾液分泌==口干) 条件1:EndTime(状态1)- StartTime(状态1) >1周 返回数据:Avg(条件1,甲胎蛋白)。
客户端用户信息输入模块用来采集用户的基本信息,其包括用户姓名输入控件、用户唯一标识输入控件、出生日期时间输入控件、性别输入控件、国籍输入控件、民族输入控件、住址输入控件、宗教信仰输入控件、职业输入控件、职务输入控件、用户信息统计结果显示控件。在用户信息输入模块,用户每完成一项信息的输入,就会在用户信息统计结果显示控件显示一项或几项与此项信息相关的统计结果。比如输入职业信息后,显示与此职业高度相关的疾病和发病率等。其实现机制是根据输入信息产生对应的查询统计命令,通过服务器端基于特征数据和时间逻辑的统计查询接口来获取统计查询结果。这里用户信息输入模块采集的用户基本信息,比如性别、国籍等,也属于用户特征数据。
客户端新建用户特征数据模块用来定义一个新的用户特征数据,其包含特征数据名称输入控件、特征数据ID输入控件、特征数据描述文本输入控件、特征数据或特征数据项管理选择控件以及对应的子界面;对于特征数据或特征数据项管理选择控件选择为特征数据的,新建特征数据界面包括特征数据子界面;对于特征数据或特征数据项管理选择控件选择为特征数据项管理的,新建特征数据界面包括特征数据项管理子界面;特征数据项管理子界面包括添加项按钮、删除项按钮、复制项按钮、修改项按钮和项列表;点击添加项按钮,弹出新建特征数据项控件;新建特征数据项控件包括特征数据项名称输入控件、特征数据项ID输入控件、特征数据项描述文本输入控件、特征数据或特征数据项管理选择控件以及对应的子界面;特征数据子界面包括特征数据类型选择控件和与特征数据类型相对应的其它控件;特征数据类型选择控件包括的选项有数值和分类两种;对于特征数据类型选择为数值的,特征数据子界面还包括的对应控件是数值类型控件、数值范围输入控件和单位选择控件;对于特征数据类型选择为分类的,特征数据子界面还包括的对应控件是类型集输入控件。
对于特征数据或特征数据项管理选择控件选择为特征数据的,用来建立简单的特征数据。以新建特征数据——ABO血型为例:特征数据名称输入控件输入“ABO血型”。特征数据ID输入控件输入“365637002”。此ID来自SNOMED CT,此实施例中的ID在SNOMED CT中有定义的均采用SCTID。特征数据描述文本输入控件输入“ABO血液的分类”。特征数据或特征数据项管理选择控件选择特征数据。在特征数据子界面的特征数据类型选择控件选择分类。在特征数据子界面的类型集输入控件依次输入各个血型的名称和ID,比如名称“A型”、ID“112144000”,名称“B型”、ID“112149005”,名称“AB型”、ID“165743006”,名称“O型”、ID“58460004”等。
对于特征数据或特征数据项管理选择控件选择为特征数据项管理的,用来建立复合结构的特征数据。以新建特征数据——血压为例:特征数据名称输入为“血压”。特征数据ID输入为“75367002”,特征数据描述文本输入为“体循环动脉血压”。特征数据或特征数据项管理选择控件选择为特征数据项管理。在特征数据项管理子界面点击添加项按钮,弹出新建特征数据项控件。在新建特征数据项控件的特征数据项名称输入控件输入“收缩压”,特征数据项ID输入控件输入“271649006”,特征数据项描述文本输入控件输入“心室收缩时血液对动脉的压力”,在这个新建数据项里的特征数据或特征数据项管理选择控件选择特征数据,特征数据类型选择控件选择数值,数值类型控件输入浮点数,数值范围输入控件输入>0,单位选择控件选择毫米汞柱;在特征数据项管理子界面再次点击添加项按钮,弹出新建特征数据项控件。在新建特征数据项控件的特征数据项名称输入控件输入“舒张压”,特征数据项ID输入控件输入“271650006”,特征数据项描述文本输入控件输入“心室舒张时血液对动脉的压力”,在这个新建数据项里的其它输入与前面“收缩压”的输入相同。
客户端新建非特征数据模块用来定义一个新的非特征数据,其包含非特征数据名称输入控件、非特征数据ID输入控件、非特征数据描述输入控件、非特征数据格式集输入控件。以CT图像为例,非特征数据名称输入控件输入“CT图像”,非特征数据名称输入控件输入“F211234001”,非特征数据描述输入控件输入“电子计算机断层扫描图像”,非特征数据格式集输入控件输入“DICOM”。以手术录像为例,非特征数据名称输入控件输入“手术录像”,非特征数据名称输入控件输入“F34124002”,非特征数据描述输入控件输入“手术录像”,非特征数据格式集输入控件输入“MP4”、“AVI”。以验血报告单图片为例,非特征数据名称输入控件输入“验血报告单图片”,非特征数据名称输入控件输入“F23452003”,非特征数据描述输入控件输入“验血报告单图片”,非特征数据格式集输入控件输入“BMP”、“TIFF”。
客户端新建过程模块用来定义一个新的过程,其包含过程名称输入控件、过程ID输入控件、过程描述文本输入控件、过程特征数据管理控件。过程特征数据管理控件包括添加特征数据按钮、删除特征数据按钮、复制特征数据按钮、修改特征数据按钮和特征数据列表;点击添加特征数据按钮,弹出添加过程特征数据控件;添加过程特征数据控件包含有常用过程特征数据列表和新建过程特征数据按钮;点击新建过程特征数据按钮,弹出新建过程特征数据控件;新建过程特征数据控件包括过程特征数据名称输入控件、过程特征数据ID输入控件、过程特征数据描述文本输入控件、特征数据类型选择控件和与特征数据类型选择相对应的其它控件;特征数据类型选择控件包括的选项有数值和分类两种;对于特征数据类型选择为数值的,过程特征数据子界面还包括的对应控件是数值类型控件、数值范围输入控件、数值输入控件和单位选择控件;对于特征数据类型选择为分类的,过程特征数据子界面还包括的对应控件是类型集输入控件和类型选择控件。特征数据列表除显示各个特征数据的名称、ID、值、单位以外,还有一个计划时更改属性选择框和记录属性选择框,在计划时更改属性选择框内打勾表示此特征数据在计划时可以进行更改,在记录属性选择框内打勾表示此特征数据是记录执行时需要记录的数据。
以静脉滴注头孢噻肟钠治疗方案为例,新建过程名称输入控件输入为“静脉滴注头孢噻肟钠治疗方案”,过程ID输入控件输入为“Z23418004”,过程描述文本输入控件输入“静脉滴注头孢噻肟钠”。点击过程特征数据管理控件上的添加特征数据按钮,在弹出的添加过程特征数据控件上的常用过程特征数据列表中选择药物,点击完成按钮。在过程特征数据管理控件的过程特征数据列表中会出现药物特征数据,这是一个分类特征数据,类型集中各个药物名称和ID来自SNOMED CT。过程特征数据列表中为药物特征数据选择名称“头孢噻肟钠”ID“41722006”。继续点击过程特征数据管理控件上的添加特征数据按钮,在弹出的添加过程特征数据控件上的常用过程特征数据列表中选择动作,点击完成按钮。在过程特征数据管理控件的过程特征数据列表中会出现动作特征数据,这是一个分类特征数据,类型集中各个动作名称和ID来自SNOMED CT中作用于患者的Action和Procedure。过程特征数据列表中为动作特征数据选择名称“静脉滴注”ID“41722006”。继续点击过程特征数据管理控件上的添加特征数据按钮,在弹出的添加过程特征数据控件上点击新建过程特征数据按钮。在弹出的新建过程特征数据控件的过程特征数据名称输入控件中输入“每日用量”,在过程特征数据ID输入控件中输入“260911001”,在过程特征数据描述文本输入控件中输入“药物每日使用量”,在特征数据类型选择控件中选择数值,数值类型控件输入浮点数,数值范围输入控件输入>0,单位选择控件选择g,点击完成按钮。在过程特征数据管理控件的过程特征数据列表中会出现用量特征数据,这是一个数值特征数据。过程特征数据列表中为用量特征数据输入数值3,表示每天3g的用量。继续点击过程特征数据管理控件上的添加特征数据按钮,在弹出的添加过程特征数据控件上点击新建过程特征数据按钮。在弹出的新建过程特征数据控件的过程特征数据名称输入控件中输入“疗程”,在过程特征数据ID输入控件中输入“228864003”,在过程特征数据描述文本输入控件中输入“治疗持续的时间”,在特征数据类型选择控件中选择数值,数值类型控件输入整数,数值范围输入控件输入>0,单位选择控件选择日,点击完成按钮。在过程特征数据管理控件的过程特征数据列表中会出现疗程特征数据,这是一个数值特征数据。过程特征数据列表中为疗程特征数据输入数值10,表示疗程为10日。继续点击过程特征数据管理控件上的添加特征数据按钮,在弹出的添加过程特征数据控件上点击新建过程特征数据按钮。在弹出的新建过程特征数据控件的过程特征数据名称输入控件中输入“每日费用”,在过程特征数据ID输入控件中输入“T8749029”,在过程特征数据描述文本输入控件中输入“每日治疗所需的花费”,在特征数据类型选择控件中选择数值,数值类型控件输入浮点数,数值范围输入控件输入>0,单位选择控件选择元,点击完成按钮。在过程特征数据管理控件的过程特征数据列表中会出现疗程特征数据,这是一个数值特征数据。过程特征数据列表中为费用特征数据输入数值100,表示每日治疗费用为100元。最后在特征数据列表中选择每日用量、疗程和每日费用三个特征数据对应的计划时更改属性选择框打勾,表示此过程的每日用量、疗程和每日费用三个属性在过程计划时可以进行更改;在特征数据列表中选择每日用量和每日费用两个特征数据对应的记录属性选择框打勾表示此过程的每日用量和每日费用两个属性是过程执行时需要记录的数据。这里以每日用量、疗程和每日费用为例说明新特征数据的建立过程,管理员可以设置每日用量、疗程和每日费用进入常用过程数据列表。
用户特征数据输入模块包含特征数据名称选择控件、特征数据ID显示控件、特征数据描述文本显示控件、特征数据统计结果显示控件、特征数据或特征数据项输入控件和对应的特征数据时间输入控件和特征数据时间类型选择控件。仍以血压为例,在特征数据名称选择控件中选择“血压”,特征数据ID显示控件显示“75367002”,特征数据描述文本显示控件显示“体循环动脉血压”。特征数据项输入控件包含有两个特征数据项,一个特征数据项名称显示为“收缩压”,特征数据项ID显示为“271649006”,特征数据项描述文本显示“心室收缩时血液对动脉的压力”,在数值输入控件输入140,单位显示毫米汞柱;另一个特征数据项名称显示为“舒张压”,特征数据项ID显示为“271650006”,特征数据项描述文本显示“心室舒张时血液对动脉的压力”,在数值输入控件输入90,单位显示毫米汞柱。特征数据时间输入控件输入测量血压的时间。特征数据时间类型选择控件选择“观察时间”。特征数据统计结果显示控件显示和输入数据相关的统计结果,比如可以显示收缩压大于140毫米汞柱的比例,此比例数据是客户端通过服务器基于特征数据和时间逻辑的统计查询接口查询获得。特征数据时间输入控件输入的是一个时间段。特征数据时间类型选择控件可以选择上述时间段是特征数据的有效时间还是观察时间。
客户端非特征数据输入模块包含数据名称选择控件、数据描述文本显示控件、数据统计结果显示控件、数据文件选择控件和数据时间输入或显示控件、时间类型选择控件。仍以CT图像为例,数据名称选择控件中选择“CT图像”;数据描述文本显示控件显示新建此非特征数据时输入的描述“电子计算机断层扫描图像”;数据统计结果显示控件显示与CT图像相关的某个统计结果;数据文件选择控件选择需要上传的CT图像文件,检查文件的格式是DICOM格式,并上传;因为CT图像中包含有数据采集时间的信息,因此数据时间输入或显示控件在这里是显示控件,直接显示CT图像的采集时间,时间类型选择控件选择“观察时间”。
过程决策支持模块根据特征数据和统计信息进行决策支持,具体执行下述三个步骤:
1)特征匹配:根据当前特征数据与系统中已经记录的大量病例的特征数据进行匹配,获取匹配的病例集合。
进行匹配的特征数据通常基于异常的用户特征数据,比如高于正常值的体温数据、高于正常值的白细胞计数。进行匹配的特征数据也可以包含必要的非异常的用户特征数据,例如一个肺癌患者,其用户特征数据为:部位(左肺)、分型(非小细胞鳞癌)、分期(T3N2M0),因为患者的年龄也是治疗方案选择的重要影响因素,因此应当作为必要的非异常的用户特征数据参与匹配。进行匹配的特征数据还可以包含必要的过程特征数据,例如一个肺癌局部进展患者,其用户特征数据为:部位(左肺)、分型(非小细胞鳞癌)、分期(T2N2M0),因为6个月内是否进行过放疗会对后续治疗方案产生影响,因此作为必要的过程特征数据也应当参与匹配。
用于匹配的特征数据可以进行个体化的配置是指:对于一组异常的特征数据,对应的参与匹配的其它特征数据、特征数据匹配的方法、衡量特征数据是否匹配的指标都可以进行个体化的设置。对于一组异常的特征数据,对应的参与匹配的其它特征数据比如上面例子中的患者年龄、6个月内是否进行过放疗等,可以由管理员根据临床路径设置为默认参与匹配,也可以由用户设置参与匹配的特征数据,或者设置为由计算机通过回归分析自动确定密切相关的特征数据参与匹配。特征数据匹配的方法可以有很多,这里列举了两个方法:a将数值类型的特征数据转换成分类类型,然后进行严格的类型匹配,特征数据时间以同一时间段为有效;b对分类类型进行严格的类型匹配,对不同的数值类型设定不同的匹配容许差值,特征数据时间以最大间隔小于设定值为有效。以体温数据和白细胞计数为例,方法a可以将体温数据分别以36度、37度为界分为体温过低、正常和体温过高三类,将白细胞计数以3.5*10^9/L 、9.5*10^9/L为界分为白细胞过低、正常和白细胞过高三类,特征数据时间以同一天为有效,其中36度、37度是衡量体温是否匹配的指标,3.5*10^9/L 、9.5*10^9/L是衡量白细胞计数是否匹配的指标;方法b以温度差值小于0.3度、白细胞计数差值小于1.0*10^9/L为匹配,特征数据时间最大间隔小于24小时为有效,其中0.3度是衡量体温是否匹配的指标,1.0*10^9/L是衡量白细胞计数是否匹配的指标。例如一个用户特征数据为:体温(39.1度)特征数据时间(2016年12月16日 14时45分到2016年12月16日 14时50分)、白细胞计数(11.4*10^9/L)特征数据时间(2016年12月16日 12时45分0秒到2016年12月16日 12时45分15秒)。按方法a进行匹配,此患者为体温过高、白细胞过高,所有体温和白细胞计数特征数据时间是同一天(将观察时间转换为有效时间的规则),体温过高、白细胞过高的病例都是匹配项;按方法b进行匹配,所有体温和白细胞计数特征数据时间间隔小于24小时(将观察时间转换为有效时间的规则),体温在38.8度到39.4度之间、白细胞计数在10.4*10^9/L到12.4*10^9/L之间的病例都是匹配项。对于不同种类的特征数据组合管理员可以设定默认的匹配方法和匹配指标,用户也可以设置个体化的匹配方法和匹配指标。匹配通过基于特征数据和时间逻辑的统计查询接口来完成。
2)过程分类统计评价:将匹配的病例集合按进一步采取的过程进行分类,对各个过程分类进行统计评价。进一步采取的过程是指在已知匹配的特征数据的情况下进一步采取的检查、治疗或者影响到用户的环境变化。用于评价的指标可以进行个体化的配置是指:对于一组匹配的特征数据和过程,可以个体化的配置不同的评价指标进行统计评价。例如一个疑似肺癌患者,特征数据为是否咳嗽(是)、是否咳血(是)、X光胸片是否存在肺部阴影(是)、CEA(10ng/ml)、NSE(36ng/ml)、CYFRA21-1(33ng/ml),根据上述特征数据匹配得到的病例集合中进一步采取的过程包括CT检查、MR检查、PET-CT检查等,可以配置治愈率、治疗后ECOG评分均值、治疗后KPS评分均值、三年无进展生存率等作为评价指标,既通过比较病例集合中采取不同检查的患者治疗后的生活质量、疗效来评价检查。再例如一个早期肺癌患者,特征数据为部位(右肺)、分型(非小细胞鳞癌)、分期(T1N1M0),进一步采取的过程包括立体定向放疗、楔形切除手术,可以配置五年癌症特异性生存率、五年总生存率、五年复发率、费用等作为评价指标,还可以设置某种组合指标作为评价指标,例如生存率和费用的加权组合指标可以同时反映治疗效果和治疗成本。上述评价结果通过基于特征数据和时间逻辑的统计查询接口来完成。
3)过程推荐:根据分类评价结果和推荐规则,产生推荐过程列表。推荐规则可以进行个体化的配置是指:对于一组匹配的特征数据和过程,可以个体化的配置推荐过程列表的排序指标、排序方法和显示规则。过程被选择执行的次数可以作为默认的排序指标,既认为选择最多的是最合理的。还可以个体化的设定排序指标,比如5年生存率、5年复发率、治愈率、平均治愈时间等,排序方法可以是升序、降序,显示规则可以是设定推荐的项数等。管理员可以将某种特征数据和过程公认的评价指标、排序方法、显示规则设置为默认值,用户也可以进行个体化的设置。
客户端过程计划和执行模块可以从上述推荐的过程中进行选择,也可以指定其它的过程进行计划。其包含过程名称显示控件、过程ID显示控件、过程描述文本显示控件、过程特征数据显示和修改控件、过程计划和执行控件。过程计划和执行控件设定过程执行的时间规划,记录过程执行时实际特征数据值和执行时间。
仍以选择“静脉滴注头孢噻肟钠治疗方案”为例,过程名称显示控件显示“静脉滴注头孢噻肟钠治疗方案”,过程ID显示控件显示“Z23418004”,过程描述文本显示控件显示“静脉滴注头孢噻肟钠”,过程特征数据显示和修改控件显示四个特征数据分别为:药物(头孢噻肟钠)、动作(静脉滴注)、每日用量(3g)、疗程(10日)、每日费用(100元)。因为在新建过程模块建立此过程时,每日用量、疗程和每日费用特征数据被设置为在计划时可以更改,因此在必要的情况下,用户可以对每日用量、疗程和每日费用的值进行更改。在过程计划控件中进行疗程的安排,在日期时间控件上选择从某日开始连续的10日。因为在新建过程模块建立此过程时,每日用量和每日费用特征数据被设置为记录数据,因此在日期时间控件上点击某个执行日,可以记录此日实际的用量、费用和过程执行时间。
检查过程进行记录时,其执行时间是有效时间。检查结果作为特征数据输入时,对应的检查过程的执行时间可能是观察时间(比如血检中的白细胞计数)。
在过程执行结束后,可以获得进一步的用户特征数据,来进行进一步的决策。整个过程决策支持的工作流程见图2。
此实施例中的非特征数据处理接口,包括非特征数据查询接口、从个人健康记录系统获取非特征数据的接口、将从非特征数据中提取的特征数据和新产生的非特征数据传送回个人健康记录系统的接口。其中非特征数据查询接口包含非特征数据查询命令定义和返回的查询结果数据定义。从个人健康记录系统获取非特征数据的接口包含非特征数据请求定义和传输非特征数据定义。将从非特征数据中提取的特征数据传送回个人健康记录系统的接口包含特征数据写入命令定义。
非特征数据处理端按定义发送非特征数据查询命令,服务器端接收到命令后,按命令在数据库中进行查询,然后将查询结果数据按定义的格式发送回非特征数据处理端。非特征数据查询命令包含非特征数据名称或ID指出要查询的对象,包含查询条件从查询对象中筛选符合条件的记录,包含返回数据指出符合条件的记录中需要返回的数据项。比如查询2016年5月5日在A医院进行CT扫描的所有姓黄患者的CT序列,需要返回的数据是患者姓名、患者ID和CT序列ID。查询命令是“非特征数据名称:CT序列;条件:医院名称==A&&过程名称==CT扫描&&扫描日期==2016年5月5日&&姓名==黄*;返回数据:姓名、患者ID、CT序列ID”。这样非特征数据处理端应当收到符合条件的所有CT序列对应的姓名、患者ID、CT序列ID的列表。非特征数据处理端的用户可以在返回的查询数据列表中选择需要的非特征数据,按定义向服务器发送非特征数据请求,服务器在接收到请求后按请求从数据库中读取对应的非特征数据,按定义传输非特征数据到非特征数据处理端。比如非特征数据请求是CT序列ID为32435的CT序列,请求命令为“CT序列ID==32435&&对象==CT序列”。服务器端收到此请求后,从数据库中读取CT序列ID为32435的CT序列发送回非特征数据处理端。非特征数据处理端接收到此CT序列后,非特征数据处理端的用户可以对此CT序列进行特征提取,比如进行肿瘤勾画,计算肿瘤体积。最后将获取的肿瘤体积作为特征数据,按定义向服务器发送特征数据写入命令,命令为“CT序列ID=32435、特征数据名称=肿瘤体积、特征数据ID=258261001、特征数据值=125、特征数据单位=立方厘米、开始时间=2016年5月5日14时25分00秒、结束时间=2016年5月5日14时25分01秒、时间类型=观察时间”,将其传回服务器。这里特征数据“肿瘤体积”的现实世界时间来自非特征数据CT图像中包含的图像采集时间,这是一个观察时间。
从非特征数据中提取现实世界时间有时会比较复杂,比如考虑自然语言描述的病情记录作为非特征数据的情况,通常情况下病情记录时间会被保存,但病情记录时间只是一个基准时间,病情记录中描述的特征数据的现实世界时间还依赖于上下文中与此特征数据对应的明确的或隐含的时间表达,比如“昨天”、“今天上午10点”等,这涉及到自然语言理解和时间提取,可能只有部分的特征数据和对应的现实世界时间可以被提取。由于系统要求接收用户特征数据、过程执行特征数据时都必须同时接收用户特征数据、过程执行的现实世界时间,因此对于没有提取到对应现实世界时间的特征数据将不能传回服务器保存。
对症状名称、药品名称、数据名称、数据范围、医疗操作、单位的定义应该参考统一的标准,以确保数据的一致性。比如参照SNOMED CT(Systematized Nomenclature of Medicine -- Clinical Terms)医学系统命名法-临床术语。