用于通过递归的、基于时间敏感事件的匹配的协议对准的网络设备的制作方法
【专利摘要】一种协议对准系统可以包括数据储存器来存储数据记录。该系统通过递归匹配进程可以将来自这些数据记录的事件映射至进程图。该映射可以包括,基于事件时间和线程时间将这些事件递归地匹配至图中的线程中的节点。基于针对这些递归所确定的度量,这些递归中的一个递归可以被选择作为最佳拟合。
【专利说明】用于通过递归的、基于时间敏感事件的匹配的协议对准的网络设备
【背景技术】
[0001]使用协议来通信或者根据协议来以其他方式处理数据,对于网络设备并不罕见。然而,在某些情况下,可能难以确定网络设备是否适当地遵守着协议。此外,如果网络设备未能遵守它们的协议,这能够导致数据丢失或者对数据的不准确处理。
【专利附图】
【附图说明】
[0002]在下列描述中参考下列附图详细地描述实施例。这些实施例通过示例的方式被图示并且不限制于随附的附图,在附图中,相似的参考标号指示类似的元件。
[0003]图1根据实施例图示了协议对准系统;
[0004]图2-11根据实施例图示了可以由协议对准系统生成的屏幕截图;
[0005]图12A-B根据实施例图示了进程图以及它的线程;
[0006]图13根据实施例图示了拆分为并行线程的原始线程,一个线程处理事件的循环序列;
[0007]图14根据实施例图示了事件序列上的每个时间戳的通过最佳匹配递归中节点前进的进程; [0008]图15根据实施例图示了线程以及被指派给这些线程中的节点的事件;
[0009]图16A-B根据实施例图示了通过针对图15中的事件的递归匹配进程所确定的多个事件时间驱动的递归;
[0010]图17根据实施例图示了用于处理不同类型的节点的伪代码;
[0011]图18-19根据实施例图示了方法;以及
[0012]图20根据实施例图示了可操作以被用于协议对准系统的计算机系统。
【具体实施方式】
[0013]为了简单性和说明性的目的,通过主要参考实施例的示例来描述实施例的原理。在下列的描述中,阐述了许多特定的细节,以便提供对实施例的彻底理解。然而,对本领域的普通技术人员明显的是,可以不限于这些特定细节来实行这些实施例。在一些情况下,没有详细地描述公知的方法和结构,以便不使对实施例的描述不必要地晦涩难懂。此外,下文描述了不同的实施例。可以以不同的组合一起使用或执行这些实施例。
[0014]根据实施例,协议对准系统可以包括网络设备,以向用于预定协议的节点提供计算机辅助的数据记录匹配。协议对准系统能够使协议(诸如工业标准)转化为进程图。进程图可以包括能够可视化在显示器上的工作流程。工作流程包括步骤,这些步骤可以被表示为从该协议所生成的进程图中的节点。工作流程可以包括根据该协议中所指定的准则从该协议所确定的基于时间的步骤系列。基于时间的步骤系列可以在进程图中从最早到最晚按时间顺序来表示。进程图可以包括多个线程,并且这些线程如下文进一步被描述的,可以并行地和/或串行地被执行。度量可以与节点相关联,诸如位置和照护者身份。[0015]协议对准系统还可操作为,将来自数据记录(例如,事件)的数据与进程图中的特定节点相关联,并且基于该关联来确定协议符合度度量。可以生成报告来指定符合度度量并且提供附加信息,该附加信息与测量服务质量或涉及该协议的其他度量相关。
[0016]通过这个进程,网络设备中的协议错误能够被减少,诸如减少能够导致数据冲突和数据丢失的网络设备之间的网络通信错误。协议对准系统能够被用于针对网络服务、企业应用服务、或者需要执行协议的任何设备或进程的符合度确定。下文所描述的示例中的一些示例涉及电子医疗记录(EMR),并且基于从EMR和其他数据所挖掘的信息来确定医学治疗是否遵守医学协议。然而,协议对准系统可以被用来确定对任何类型的协议的遵守。
[0017]协议对准系统可以利用由结构化查询语言(SQL)语句所组成的查询对象,结构化查询语言语句包括一个或多个与该协议有关的概念标识符(ID)。例如,进程图工具集允许用户创建针对进程图中的节点的查询对象,或者选择针对这些节点的已有查询对象,并且这些查询对象可以被协议对准系统调用,以减少从如下的数据记录识别数据所花费的时间量:这些数据记录描述了针对进程图中的特定节点的事件。查询对象例如包括预定概念ID或者指向预定概念ID的链路或指针,这些预定概念ID包括从医学标准所确定的医学术语或者组织公布的标准医学术语。概念ID可以包括类别。
[0018]图1图示了可以连接至网络120的协议对准系统100。协议对准系统100可以包括网络设备或者由网络设备托管。该网络设备可以包括连接至网络(诸如网络120)的任何类型的计算机系统、路由器、交换机、等等。数据源130a-n被示出。协议对准系统100可以例如经由网络120,从数据源130a-n接收协议、EMR、以及其他信息。数据源130a_n可以包括电子医学系统,这些电子医学系统采集医学数据并且从该医疗数据生成EMR。数据源130a-n可以包括发布协议和其他医学信息的系统。终端用户设备140a_f被示出。终端用户设备140a-f可以连接至协议对准系统100,以输入数据并且查看符合度报告以及由协议对准系统100所生成的其他信息。尽管未示出,数据源130a-n中的一个或多个数据源以及终端用户设备140a-f可以通过直接链路而不是网络连接至协议对准系统100。例如,协议对准系统100可以是生成EMR并且包括协议对准系统100的电子医学系统的一部分。另外,协议对准系统100可以包括允许用户输入并查看数据的I/O设备,诸如显示器、键盘、鼠标、
坐坐寸寸ο
[0019]协议对准系统100包括进程图工具集101、映射模块102、协议引擎103、事件检索模块104、用户接口 105、网络接口 106以及符合度模块108。另外,数据储存器107连接至协议对准系统100,以存储由协议对准系统100所使用的任何信息,诸如EMR、协议、进程图、报告、等等。数据储存器107可以包括数据库或其他类型的存储系统。网络接口 106将协议对准系统100连接至网络120。用户接口 105可以包括图形用户接口(⑶I),可以在连接至协议对准系统100的显示器上或者经由网络120(其可以包括互联网)在终端用户设备140a-f上查看该图形用户接口。协议对准系统100的组件可以包括计算机硬件、软件或组
入
口 ο
[0020]进程图工具集101从协议生成进程图,这些协议可以由医学专家、卫生组织或其他实体发布。这些协议例如在医学上与针对各种疾病或医学状况的治疗指南有关,并且可以包括针对各种疾病或医学状况的治疗指南。这些协议不限于疾病或负面医学状况。例如,这些协议可以包括用于整容手术的过程或者其他医学相关的指南。进程图工具集101提供工作空间,该工作空间呈现例如从卫生组织所接收的协议,并且提供用于从该协议生成进程图的工具。该协议可以被提供为文档中的文本,或者可以直接在进程图工具集101中用文档记录。来自协议的信息可以被抽取以生成协议概要。用户可以使用由进程图工具集101所提供的工具,来从该协议和协议概要生成进程图。由进程图工具集101所提供的工作空间可以包括下文进一步详细描述的编辑器和其他特征。
[0021]进程图工具集101允许用户创建针对进程图中的节点的查询对象,或者选择针对这些节点的已有的查询对象。查询对象从与特定节点有关的数据储存器107检索事件。查询对象包括预定概念标识符(ID)或者指向预定概念ID的链路或指针,预定概念ID包括从医学标准和发布标准医学术语的组织所确定的医学术语。概念ID可以包括类别。包括数据储存器17中所存储的事件的EMR数据还可以包括概念ID。例如,用户创建针对妊娠糖尿病进程图中的节点的查询对象。该节点可以与观测有关。进程图工具集101提供了用户可以例如经由用户接口 105来选择的呈现概念ID的下拉菜单。用户选择观测,并且然后选择糖尿病,并且然后选择妊娠糖尿病。然后从预先存在的查询对象集合生成或选择查询对象,并且针对包括用于观测、糖尿病、以及妊娠糖尿病的概念ID的该节点存储该查询对象。例如,选择称为“糖尿病”的预先存在的查询对象并且用陈述了该类型是“妊娠”的所选参数来填充,并且然后该新查询对象与该节点一起被存储。在其他示例中,概念ID可以被用于排序、实验室、结果、过程、以及药物监管。在另一个示例中,该节点可能需要血氧测定读取,并且来自医学标准(诸如医学系统命名法(SNOMED))的概念ID被选择用于该读取,并且另一个概念ID被选择用于六种方式中的一种方式来执行该读取。查询对象可以包括结构化查询语言(SQL)语句,该结构化查询语言语句包括这些概念ID中的一个或多个概念ID,事件检索模块104能够调用该结构化查询语言语句来从用于该节点的数据储存器检索事件。
[0022]事件检索模块104针对进程图中的节点,从数据储存器107检索事件。事件检索模块104可以是映射模块102的子模块。模块或子模块可以包括由硬件(诸如处理器)执行的机器可读指令。所检 索的事件可以针对特定的患者或一组患者。可以针对进程图中的每个决定或行为节点来创建查询对象,以检索与每个节点有关的事件。事件检索模块104可以调用这些查询对象来检索这些有关事件。事件包括用于被执行以向患者提供护理的任何动作的信息,诸如实验室结果、生命特征(例如,可能由护士或机器执行的对患者生命机能的测量)、针对测试或药物的医嘱、药物的交付、对患者被监管的药物、医师记录、半静态患者数据(例如,性别、年龄、体重、过敏原、等等)、等等。所存储的EMR数据包括这些事件。这些事件可以包括对动作的描述以及用于事件的属性,诸如事件时间、位置、照护者、等等。
[0023]映射模块102将所检索的事件映射至进程图。该映射可以包括识别由事件检索模块104针对一个节点所检索的事件,以及将这些事件指派给该节点。指派可以包括为所存储的事件提供指示,该指示将该事件与该节点相联系。映射模块102可以针对每个事件来确定事件时间,并且将针对节点或线程的事件按时间顺序从最早到最晚排序。事件时间可以是在用于事件的EMR数据中所存储的属性。事件时间可以指示该事件何时被执行,诸如日期和/或时间。
[0024]协议引擎103确定被映射至进程图中的节点的事件的最佳拟合。多个事件可以被映射至进程图中的决定或行为节点。另外,多个事件可以被一起检查,以将事件指派给进程图中的节点。协议引擎103确定对于由进程图所表示的协议是最佳拟合的、被映射至节点的事件的序列。例如,进程图可以具有可以并发运行的节点的多个线程。可以通过是否按照进程图中的线程所表示的序列来执行特定的事件,来测量与协议的符合度。给定被映射至进程图中的节点中的每个节点的事件,协议引擎103确定对于进程图中的这些线程是最佳拟合的、针对这些节点的事件的序列,从而如果事件发生在这些线程中的一个线程达到针对该协议的终止点之后,则该事件不被包括在该最佳拟合中。例如,发生在患者被接收入院之后的血压读取可能不应用至急诊室协议,因为称为“接收患者”的事件可能已经表示了急诊室协议的结束。可以基于针对每个事件的事件时间和针对每个线程的线程时间来确定最佳拟合序列。可以执行递归匹配过程来确定最佳拟合。当执行该递归匹配时,协议引擎103可以将缺失事件指派给节点。缺失事件是应当已经在给定的时间被执行但是被考虑为还没有被执行的事件。另外,通过该递归匹配过程,可能确定了许多匹配进程图中的这些线程的可能事件序列。可以确定度量来识别作为最佳拟合的事件序列。在一个示例中,该度量包括匹配事件与在该匹配进程期间所穿过的节点数量的比率。在这个示例中,用于这个度量的最优值是1,并且分子不能超过分母。这个比率可以被用于“前瞻”以确定是否放弃该递归中的序列作为最佳拟合。例如,如果当前的分子/分母加上被添加至分子和分母两者的剩余未被映射的事件,小于该最佳拟合的分子/分母比率,则可以放弃该序列。
[0025]符合度模块108基于由协议引擎103所识别的最佳拟合序列来测量与协议的符合度。符合度模块108可以经由用户接口 105来生成报告,指示与协议符合度的级别。可以基于缺失事件的数量来测量该符合度的级别。报告可以识别何时护理的质量不足,并且可以被用来检测与原因相关联的度量,诸如何处、何时、如何以及由谁。
[0026]图2-11示出了由协议对准系统100例如经由用户接口 105所生成的屏幕截图的示例,这些示例图示了协议对准系统100的各种功能。
[0027]在一个示例中,协议对准系统100能够被用来映射用于败血症的协议。败血症是难以定义、诊断和治疗 的复杂医学综合症。图2示出了用于败血症项目的概览的屏幕截图200,该败血症项目可以被创建在协议对准系统100中,以监测向患者所提供的护理质量针对败血症协议的符合度。屏幕截图200包括项目状态,项目状态图示了用协议对准系统100所执行的步骤以及它们的完成状态。这些步骤包括:标准化用于败血症的协议以从该协议创建进程图J^EMR数据中的临床事件进行文本挖掘;配置结果和符合度测量,用于用该协议和总体护理质量来评估符合度;以及从测量中定义患者的人群和败血症分析,以生成报告。屏幕截图200的其他部分示出了针对该项目的事件和里程碑事件、消息和警告、以及被添加至该项目的新文档。事件和里程碑事件示出了败血症协议的发布,败血症协议的发布可以被接收并存储在数据储存器107中,并且可以被用来创建针对败血症协议的进程图。
[0028]图3示出了从败血症协议创建进程图的屏幕截图300。该进程图被标注败血症_综合,并且一般被划分为三个部分,包括败血症、严重败血症、以及败血性休克。在每个部分中,从该协议创建工作流程。工作流程包括节点,这些节点可以表示决定步骤(诸如示出为菱形)或者其他事件类型的步骤(示出为矩形、圆形或其他形状)。进程图是基于时间的节点系列,表示用于向可能具有败血症的患者提供护理的工作流程。这些节点可以表示用于诊断、测量生命特征、定制测试、实验室结果、或者可能在向败血症患者提供护理中被使用的任何步骤。基于时间意味着这些步骤和节点以所示出的序列被跟随,以提供护理。进程图可以包括能够同时被遵循的多于一条路径,因此一些步骤可以同时或者基本上并行地执行。这些不同的路径被称为线程。
[0029]进程图工具集101提供用于基于败血症协议创建进程图的工作空间。该工作空间可以包括如图3中所示出的编辑器。例如,用户能够通过该编辑器在进程图中添加、移除或修改节点。然后,进程图能够根据需要被验证、保存和复制。进程图工具集101可以从该协议生成初始进程图。例如,文本挖掘可以被用来从所发布的协议识别步骤的系列,并且从所识别的步骤生成初始进程图。初始进程图被示出在该编辑器中,并且用户可以根据需要来修改进程图。
[0030]进程图中的每个节点可以具有与EMR数据类似的属性。这些属性中的一些属性可以包括事件类型、时间、位置和照护者。例如,进程图中的节点中的一个节点用于医师嘱咐每四个小时一次乳酸测试。这些属性可以包括事件类型,诸如医师嘱咐。位置可以包括该医师工作的科室。时间可以指示在进程图中医师何时将执行定制这个测试的事件。其他属性可以包括事件子类型,诸如实验室、以及定制频率,诸如每四个小时。结果成分,诸如乳酸,是可以被用于实验室事件子类型的另一个属性。用于步骤的属性可以由用户输入,并且可以通过点击进程图中的步骤而被显示。
[0031]用户还可以通过进程图工具集101来创建用于这些节点的查询对象。进程图工具集101可以为用户提供下拉菜单,来为这些查询对象选择概念ID。这些查询对象可以与进程图一起被存储在数据储存器107中。
[0032]在生成并存储进程图之后,事件检索模块104针对进程图中的节点,从数据储存器107中所存储的EMR数据检索事件,并且映射模块102将这些事件映射至进程图中的节点。例如,可以在一个时间段上收集并且周期性地更新EMR数据。EMR可以来自单个实体,诸如来自单个医院或医师办公室,或者可以来自多个实体。EMR数据可以包括一些结构化数据,诸如照护者的身 份以及执行医学事件的事件时间,并且EMR数据可以包括非结构化数据,诸如描述给予该患者的护理的由医师或护士所输入的文本。
[0033]映射模块102暂时地对准针对每个节点所检索的事件。暂时地对准事件可以包括依据事件时间来整理被指派给每个节点的事件。如下文进一步详细描述的,协议引擎103将暂时对准的事件匹配至进程图中的线程,来确定节点的最佳拟合序列。
[0034]可以执行数据挖掘,来从EMR数据中的文本信息抽取EMR数据的属性。文本可以包括例如采用非结构化格式的由照护者所输入的记录或其他信息。图4示出了用于输入数据元素的屏幕截图400,这些数据元素可以被用于文本挖掘,以便从进程图中的特定事件抽取数据。如图4中所示出的,来自进程图的事件被选择。事件被示出为“协议节点”。在这个示例中,所选择的时间是“A.1医师ROS:呼吸困难”。这个事件A.1可以是进程图中用于确定患者是否具有呼吸困难的步骤。该确定可以连同其他步骤一起被执行,以确定患者是否够格后续的评定。
[0035]呼吸困难的确定可以不在结构化的EMR数据中指定。替代地,它可以在EMR中的记录中的文本中或其他信息中被指定。在屏幕截图400中,文档源被选择,该文档源可以包括EMR数据或其他信息。HPI被选择,其代表目前疾病的历史。其他被选择的文档是医师进度记录和就诊记录。这些文档被搜索,以识别患者是否具有呼吸困难。
[0036]符合度模块108可以定义能够由协议对准系统100生成的分析视图,并且可以确定关键性能指示符(KPI’S)以及可用于分析与协议相关联的护理质量的其他度量。图5示出了被选择用于分析围绕败血症协议所提供的质量护理的符合度度量的示例。这些度量识别相关的协议或进程图、度量的类型(例如,测量或结果)、用于确定该度量的计算、注释和修改日期。
[0037]图6示出了用于定义度量的屏幕截图600。在这个示例中,该度量是第一个小时内针对抗生素医嘱的符合度比率。通过指定名称、显示名称和描述以及指定该度量如何计算,来定义该度量。在这个示例中,该度量被定义为百分比。分子被定义为符合事件节点BI (其是抗生素医嘱)的病例的数量,并且分母被定义为被输入综合败血症协议的病例的数量。
[0038]除了确定度量、KPI和分析视图之外,协议对准系统100还可以确定将被评估的人群或者病例集合。图7示出了用于选择过滤器来识别病例人群的屏幕截图700。EMR数据可以包括用于针对各种疾病被提供护理的数百万患者的EMR。在这个示例中,过滤器被设置为识别用于被怀疑患有败血症的患者的EMR。这些过滤器可以包括属性和针对每个属性的值,以及该属性与值之间的关系。例如,在屏幕截图700中,过滤器可以被选择来识别如下的所有病例:在这些病例中,患者具有新疼痛的生命特征迹象=是;引流问题=是;呼吸困难=是;用于尿液分析的实验室结果=模糊,以及在屏幕截图700的下半部分中所示出的过滤器中的任意两个过滤器。过滤器可以通过逻辑(例如,与、或)被组合来选择人群。另外,可以预定义过滤器的集合,诸如屏幕截图700中所示出的,并且来自该集合的过滤器中的一些过滤器被选择来识别人群。在许多实例中,从上文所描述的数据挖掘进程所采集的EMR数据与过滤器相比较,来确定来自该EMR数据的病例是否应当是将针对与该协议的符合度而被评估的人群的一部分。EMR数据由所选择的过滤器过滤,以确定该人群。过滤可以包括确定符合过滤器条件的EMR数据。
[0039]可以基于符合度度量来评估病例的人群,以确定与协议的符合度和评分,并且可以生成报告来指示符合度和与符合度的方差,并且提供分析视图以识别特定个体照护者、特定科室、特定轮班(例如,日班相对夜班)、等等的问题。可以相对对于特定提供商组织(诸如医院)所遇到的患者的整个人群来评估协议。报告和向下钻取能够用于整个协议中的整个人群、用于遇到的个体患者、用于单个节点上的整个人群、和/或用于单个节点上遇到的个体。
[0040]由协议对准系统100所生成的分析视图允许向下钻取,向下钻取可以被用来识别问题的原因。例如,初始视图可以包括进程图的色彩编码显示。进程图中的节点可以以红色或黄色示出,以指示与协议的方差的高级别或中级别。用户可以点击红色节点来向下钻取附加信息,诸如针对对该事件负责的科室的符合度度量。另一个向下钻取可以包括针对用于该科室的轮班的度量。一旦识别了有问题的轮班,另一个向下钻取可以包括针对该轮班中的个人的符合度度量。然后,可以确定补救法,诸如针对不遵守该协议的个人的附加训练。在另一个示例中,度量可以识别协议在轮班改变期间没有被遵循,因此可以指定针对该科室的新内部轮班改变过程作为补救。由协议对准系统100所生成的报告可以识别缺失事件与结果之间的相关性。结果可以是医学状况或疾病或过程的结果,并且结果可以变化。例如,针对特定类型的癌症的结果可以是1、5和10年生存率。报告可以识别促使他们的生存率从10年减少至5年或者对他们的生存率没有影响的、针对用于该癌症患者人群的治疗指南的缺失事件。这个相关性是该缺失事件与被该缺失事件所影响的特定结果之间的统计相关性。能够由协议对准系统100来生成示出了这些相关性的报告。
[0041]图8-11示出了由协议对准系统100基于由CQA分析引擎103所执行的比较而生成的报告的屏幕截图的示例。这些报告可以基于被定义并且被选择用于该协议的度量。图8示出了针对该败血症协议的总体符合度报告的示例的屏幕截图800。屏幕截图800示出了结果分布和符合度分布。这些分布指示了针对该人群类别的符合度百分比。
[0042]图9示出了医师符合度的屏幕截图900。该报告指示了用于每个医师的度量,包括符合度的百分比以及平均总费用。这个报告可以被用来识别不遵守或者价格过高的医师。图10和11示出提供了轮班的符合度百分比的报告的屏幕截图1000和1100。这些报告可以被用来评估基于每小时的符合度度量。屏幕截图900-1100中的报告可以被用作向下钻取过程的一部分,以识别护理的差质量的根本原因,因为它与该协议有关。
[0043]如上文所讨论的,协议引擎103确定被映射至节点的事件的如下序列,该序列是针对由进程图所表示的协议的最佳拟合。然后,通过确定这些事件是否如该协议所要求的而针对节点被执行,以及这些事件是否如该协议所要求的按照适当的序列或工作流程被执行,可以测量与该协议的符合度。例如,进程图可以具有并发运行的节点的多个线程。给定被映射到进程图中的节点中的每个节点的事件,协议引擎103确定针对进程图中的并发线程是最佳拟合的、用于节点的事件的序列。可以执行递归匹配进程来确定该最佳拟合。
[0044]图12A示出了用 于败血症协议的进程图,该进程图可以由进程图工具集101生成并存储在数据储存器107中。该进程图包括并行流,示出为图12B中的线程1-9。线程是可以通过集结点连接至另一个线程或者可以在特定节点上终止的节点序列。该进程图包括并行线程,并且这些线程可以在某些节点分叉和集结并且取决于针对节点的事件,可以遵循不同的线程以符合该败血症协议。
[0045]不同类型的节点可以被用在进程图中,来表示不同的动作以及针对该协议所预期的事件。节点类型的一些示例包括:识别协议开始的开始节点;行为或决定节点,其中至少一个事件将针对该行为或决定节点而发生;集结和继续节点,其中新线程从集结和继续节点发起;停止线程节点(例如,集结路径终止);停止除了当前线程之外的所有线程的节点;以及识别协议结束的协议停止节点(例如,所有活动线程终止)。
[0046]图13示出了进程图的一部分,该部分包括拆分为两个并发运行的并行线程1301和1302的原始线程。查询对象可以被用来针对节点0.1、1.1-1.3以及2.1-2.3中的每个节点从数据储存器107中检索并指派事件。例如,一个事件针对节点0.1和1.1-1.3中的每个节点被检索。多个事件针对节点2.1-2.3中的每个节点被检索。针对这些事件中的每个事件来确定事件时间,并且例如由映射模块102根据它们在节点内的事件时间来整理这些事件。T0-T12表不事件时间,由此TO是最早的时间并且T12是最晚的时间。
[0047]为了确定对针对该协议的并行线程1301和1302的所检索事件的最佳拟合,协议引擎103在线程1301和1302中找到最佳的依赖时间的事件与节点配对。在通过由映射模块102所执行的映射来确定最佳拟合之前,这些事件已经被指派给这些节点。然而,通过将针对线程的事件的序列与线程中表示在该协议的工作流程内的特定时间将被执行的所预期的动作的节点序列相比较,来确定与该协议的符合度。协议引擎103确定最佳拟合序列,因此该比较能够被执行。图13还示出了该匹配进程可以通过一个线程循环,因此被映射至一个节点的所有事件被说明。例如,针对节点2.1-2.3执行了多个环路,以针对这些节点匹配所有这些事件。
[0048]为了确定对这些节点的事件的序列的最佳拟合,可以基于事件时间和线程时间来执行递归匹配进程。例如,如果遇到分叉,进程引擎103将核心线程拆分为多个线程(例如,线程1301和1302),并且线程时间通过该递归针对每个独立线程被维持。线程时间可以是先前匹配事件的事件时间。将线程时间与对每个节点的所指派事件的事件时间相比较,来确定事件是否是一个匹配。如果它是一个匹配,该事件被考虑为包括在由该拟合进程所确定的事件序列中的特定时隙中。用每个递归步骤,时间最早的线程被选择用于前进。另外,当检测到匹配时,线程时间被更新至匹配事件时间,并且针对被选择用于前进的该最早线程中的下一个节点来执行该匹配进程。关于图14和15,进一步图示了确定匹配事件的序列。
[0049]图14示出了针对线程1301和1302用于匹配事件的序列。该匹配进程以最早线程(在这个示例中,最早线程是原始线程)开始并且将事件I匹配至节点0.1。该原始线程拆分为并行线程1301和1302,并且该最早线程被选择。就在该分叉之后,并行线程中的任何一个线程可以被选择作为最早的线程,因为它们中的每个都采用原始线程的线程时间,原始线程的线程时间针对节点0.1的匹配事件I是TC。在一个示例中,线程被排序并且该顺序中的第一个线程被选择。例如,线程1301被选择作为最早的线程,并且节点1.1与事件相匹配。该线程的时间被用于与节点的事件相比较,来确定它否能够被包括在匹配时间的序列中。针对该节点仅存在一个事件。在这个示例中,用于事件I的事件时间在用于线程1301的线程时间之后,因此它被确定为针对节点1.1的匹配事件。这由图14中的步骤I所图示,图14中的步骤I示出了针对节点1.1的该事件I是对节点1.1的匹配,并且在这个点处线程1301的线程时间被设置为等于事件I的事件时间,事件I的事件时间为Tl。图14中的图表中的T0-T12表示针对并行线程1301和1302的匹配事件的事件时间。如果协议引擎113为该序列提供更好的匹配,则它具有向节点指派缺失事件的部分。
[0050]随着每次迭代,具有最早时间的线程前进至它的下一个节点位置。在Tl处的事件I被匹配用于节点1.1之后,线程指针在Tl处,Tl成为线程时间。在线程时间Tl之后,来自并行线程1301和1302的下一个节点可以与最早的事件一起被选择。在这个示例中,它是针对节点2.1的事件1,诸如图14中的步骤2处所示出的。该线程时间之后的下一个最早事件在节点2.2处,其在图14中的步骤3中被示出。这个匹配进程如图14的步骤4-7中所示出的继续。如果当前的节点是决定节点,则下一个节点是该决定节点的输出中的一个。例如,节点2.3是决定节点。下一个节点可以是节点2.1或者连接至节点2.3的右边的下一个节点。可以为节点选择缺失事件。在这种情况中,线程时间成为下一个最早事件的事件时间。例如,如果缺失事件匹配在节点1.1处,则线程时间变为T2,因为它是并行线程1301和1302中的下一个最早事件。
[0051]应当注意,在图14中的步骤5之后,该匹配在线程1302中循环,来为每个节点匹配多个事件。例如,在步骤6-8处,针对节点2.1-2.3重复该匹配。另外,在步骤7处,协议引擎103确定针对节点2.2的最佳匹配是一个缺失事件。
[0052] 图15再次示出了线程1301和1302,但是仅示出针对线程1302的一个环路,因此针对来自图13和14的T9-T12的事件没有被示出。图16A以图形的形式示出了针对图15中的事件的匹配进程,以找到最佳拟合序列。图16B示出了用于图16A中所示出的图形的图例。图16A中所示出的匹配进程与针对用于T0-T8的事件在图14中所示出的相同。图14示出了针对线程1301和1302的事件的最佳拟合序列。图16A进一步图示了如何通过递归匹配进程来确定该最佳拟合序列。例如,在每个节点处,协议引擎113尝试匹配具有大于或等于线程时间的事件时间的事件中的每个事件以及缺失事件,来确定它是否生成最佳拟合序列。图16A图示了具有“m”的缺失事件的匹配。另外,图16A中所示出的递归中的每个递归在节点0.1处开始,并且以确定该递归是最佳拟合序列、或者以确定该递归已经完成并且它不是最佳可能序列、或者以确定该递归没有完成但是由当前的递归路径所创建的序列在数学上不可能比另一个递归的序列更好来结束。度量可以被用来确定该递归是否在数学上不可能比另一个递归更好。在一个示例中,该度量包括匹配事件的数量与针对该递归节点被穿过的总次数的比率。在这个示例中,用于这个度量的最优值是1,并且分子不能超过分母。例如,对于图16A中所示出的最佳匹配序列,分母是11并且分子是10,因为存在一个缺失事件。
[0053]节点0.1具有一个事件。协议引擎103尝试两个不同的匹配。如图16A中所示出的,协议引擎103将缺失事件匹配至节点0.1并且还将它的事件I匹配至节点0.1。递归匹配针对该缺失事件匹配而停止,因为协议引擎103在将节点0.1与缺失事件匹配之后确定针对这个递归的更好模式是不可能的,因为来自0.1递归的路径试图匹配由图16A中所示出的树的左侧向下的递归路径首先表示的所检索事件。然而对于事件I匹配,该递归匹配进程继续至节点L 10节点1.1具有一个事件,该事件具有大于它的线程时间的事件时间,因此协议引擎103将缺失时间匹配至节点0.1并且还匹配它的事件I。该递归针对该缺失事件匹配而停止。然而,针对事件I匹配的递归继续至节点2.1。节点2.1具有可能匹配的两个事件。在节点2.1处,该协议引擎为节点2.1匹配事件1,并且该递归继续至节点2.2,因为它具有线程时间之后的下一个最早事件,诸如此类,如图16A中为最佳拟合序列所示出的。在节点2.1处,协议引擎103针对与事件2的匹配而递归并且前进至下一个节点,该下一个节点在这个递归中是节点1.2。针对这个递归的下一个匹配是缺失事件并且该递归停止,因为协议引擎1 03确定该递归不可能比在左侧上所示出的最佳拟合序列更好。另外,在节点2.1处,协议引擎103匹配缺失事件,并且该递归停止,因为协议引擎103确定该递归不可能比在左侧上所示出的最佳拟合序列更好。这个进程根据最早线程时间通过并行线程中的节点而继续前进。在该递归的一些点处,诸如点1601,协议引擎103可以基于度量来确定该递归在数学上不可能比另一个递归更好,并且该递归停止。
[0054]图17示出了用于该递归匹配进程的伪代码。该伪代码指示了如果该匹配进程在数学上可能改进该匹配则它被执行。具有最早时间戳的线程被选择。确定当前节点的节点类型并且取决于节点的类型来执行不同的步骤。如果它是开始节点,诸如在进程图的开头,该进程前进至下一个节点。如果类型是行为或决定节点,则如上文所描述的针对该节点来确定匹配事件。协议引擎103可以使用最大缺失事件阈值,来预防失控递归并且确定是否向节点指派缺失事件。如果针对该递归的缺失事件的总数量将超过该阈值,则协议引擎103不向节点指派缺失事件。
[0055]如果该节点类型是集结和继续节点,则针对连接至链路的每个节点从父线程发起新线程,并且这些新线程被指派父线程的时间戳。停止这个线程节点停住针对该线程的匹配进程。停止除了这个线程之外的所有线程节点,停止针对所有其他线程的匹配进程并且继续针对当前线程的进程。协议停止节点停止该匹配进程,并且协议引擎103确定最佳拟合序列。
[0056]关于图1中所示出的系统100,通过示例的方式来描述方法。这些方法可以由其他系统来执行。图18示出了根据实施例的方法1800。在1801处,进程图被存储在用于协议的数据储存器107中。可以使用进程图工具集101来创建该进程图。可以针对该进程图中的每个节点来创建查询对象,以从数据储存器107中的EMR数据检索与每个节点有关的事件。
[0057]在1802处,映射模块102针对该进程图中的节点来检索并指派事件。这些节点可以是进程图中的决定和行为节点。被指派给每个节点的查询对象可以被调用来检索针对该节点的事件。
[0058]在1803处,映射模块102针对每个节点依据时间来整理这些事件。例如,从最早的时间到最晚的时间来整理被指派给每个节点的事件。
[0059]在1804处,协议引擎103执行递归匹配进程来针对该进程图确定事件的匹配序列。递归匹配进程使用被指派给这些节点的事件的事件时间以及线程时间,来确定这些匹配序列。
[0060]在1805处,协议引擎103从所确定的匹配序列来确定最佳拟合序列。可以基于度量来确定最佳拟合序列。该度量可以基于节点被穿过的次数的数量、匹配时间的数量、以及针对该递归的缺失时间的数量来计算,或者可以是匹配事件的数量与针对递归节点被穿过的次数的总数量的比率。
[0061]在1806处,符 合度模块108基于用于最佳拟合序列的至少一个度量来确定与该协议的符合度。可以基于缺失事件的数量来测量符合度的级别。这些报告可以识别护理质量何时不足,并且可以被用来检测与原因相关联的度量,诸如何处、何时、如何以及由谁。图5和6示出了被用来测量并评估与协议的符合度的符合度度量的其他示例。
[0062]图19图示了用于递归匹配进程以及选择方法1800的步骤1804和1805的最佳拟合序列的方法。递归匹配进程例如在进程图的开始节点处开始,并且根据每个线程的线程时间前进通过线程图。线程是如下的序列节点,这些序列节点例如表示根据将如由该协议所指定的那样被执行的步骤序列而被排序的协议中的步骤。线程在它遇到具有通向两个或更多节点的链路的集结和继续节点时可以拆分为多个线程。线程可以在集结和继续节点或者线程停止或协议停止节点处结束。在前进至进程图中的下一个节点之前,从针对先前节点所匹配的事件来确定线程时间。
[0063]在1901处,协议引擎103遇到进程图中的并行路径。例如,参考图13,协议引擎103针对节点0.1匹配事件1,并且该线程被指派事件I的事件时间。协议引擎103前进至该线程中的下一个节点,其中该线程拆分为包括线程1301和线程1302的两个并行路径。
[0064]在1902处,协议引擎103确定当前匹配的序列加上剩余未匹配的事件是否不可能是最佳拟合序列。如果是,该进程结束。如果否,在1903处,选择具有最早时间的线程。例如,线程1301被选择,因为节点1.1具有比针对节点2.1的事件更早的事件时间。每个线程维持它自身的线程时间。
[0065]在1904处,协议引擎103针对所选择的线程中的下一个节点匹配事件。该匹配包括识别被指派给该节点的在时间上够格的事件。例如,时间上够格的事件是具有晚于或等于线程时间的事件时间的任何事件。所识别的事件中的一个事件被选择作为一个匹配,或者缺失事件被选择作为一个匹配。
[0066]在1905处,协议引擎103确定是否到达协议停止,以及该序列是否不是最佳拟合序列。如果不是,则递归匹配进程重复步骤1902-1905。否则该进程结束。该递归匹配进程恰好增加一个线程的位置,并且然后递归进入针对该递归来识别匹配事件的匹配进程的接下来的步骤。该匹配进程试图将每个在时间上够格的事件使用在每个节点中,并且递归至该匹配的下一个步骤。由针对图13中的线程1302所示出的环路,图示了试图将每个在时间上够格的事件使用在节点中。
[0067]如上文所讨论的,如果协议引擎103确定递归在数学上不可能比另一个递归更好,则该递归可以被停止。一个或多个度量可以被用来确定该递归是否在数学上不可能比另一个递归更好,并且用于确定递归是否是最佳拟合。
[0068]上文所描述的方法和操作和功能中的一些或者全部可以被提供作为计算机可读存储介质上所存储的机器可读指令,诸如计算机程序,计算机可读存储介质可以是非瞬态的,诸如硬件存储设备或其他类型的存储设备。例如,它们可以作为包括程序指令的(多个)程序而存在,这些程序指令采用源代码、目标代码、可执行代码或其他格式。计算机可读存储介质的示例包括常规的计算机系统RAM、ROM、EPROM、EEPR0M、以及磁性或光学盘或带。
[0069]参考图20,示出了用于协议对准系统100的计算机平台2000。计算机平台2000可以是网络设备。将理解,平台2000的图示是概括的图示,并且平台2000可以包括附加的组件,并且不偏离平台2000的范围,所描述的组件中的一些组件可以被移除和/或修改。另外,协议对准系统100可以被实施在分布式计算系统(诸如云系统)中。
[0070]平台2000包括:(多个)处理器2001,诸如中央处理单元、ASIC或其他类型的处理电路;显示器2002,诸如监视器;接口 2003,诸如通向局域网(LAN)、无线802.llxLAN、3G或4G移动WAN、或者WiMax WAN的网络接口;以及计算机可读介质2004。这些组件中的每个组件可以操作地耦合至总线2008。计算机可读介质(CRM),诸如CRM2004,可以是存储指令用于由(多个)处理器2001用于执行的任何适当的介质。例如,CRM2004可以是非易失性介质,诸如磁盘或固态非易失性存储器或易失性存储器。CRM2004还可以存储其他指令或指令集,包括文字处理器、浏览器、电子邮件、即使消息、媒体播放器、以及电话代码。
[0071]CRM2004 还可以存储操作系统 2005(诸如 MAC OS,MS WIND0WS、UNIX、或 LINUX)以及用于协议对准系统100的指令2006。操作系统2005可以是多用户、多处理、多任务、多线程、实时等。
[0072]尽管已经参考上文的公开内容描述了实施例,但是本领域的技术人员能够对所描述的实施例做出各种修改,而不偏离如下列权利要求所描述的实施例以及它们的等价物的范围。
【权利要求】
1.一种协议对准系统,包括: 数据储存器,用以存储 从协议确定的进程图,所述进程图包括多个线程,并且每个线程包括按照时间序列被排序的一个或多个节点,以及 数据记录,所述数据记录包括与所述协议有关的事件; 映射模块,包括事件检索模块以从所述数据储存器中的所述数据记录来确定针对所述节点的事件,并且所述事件被指派给所述进程图中的所述节点,其中每个所指派的事件包括事件时间,并且 所述映射模块将依据所指派的事件的事件时间来整理所指派的事件;以及协议引擎,由处理器执行以基于针对每个事件的所述事件时间和针对每个线程的线程时间来确定对所述多个线程的所述事件的最佳拟合,其中确定所述最佳拟合包括: 基于所述事件时间和所述线程时间来递归地将所述事件匹配至所述线程中的所述节点,其中所述递归匹配允许缺失事件被指派给节点, 为每个递归确定至少一个度量,所述度量测量所述事件匹配所述进程图中的所述节点的准确度,以及 基于用于所述递归的所述度量来选择所述递归中的一个递归作为所述最佳拟合。
2.根据权利要求1所述的系统,其中所述协议引擎递归地将所述事件匹配至所述线程中的所述节点包括: 从所述多个线程中选择具有最早线程时间的线程,其中从当前匹配事件来确定针对每个线程的所述线程时间, 从所选择的线程中选择节点,所述节点在所述线程中是将被匹配的下一个节点, 向所选择的节点指派缺失事件或者具有等于或大于所述线程时间的事件时间的所述节点的事件, 如果所述事件被指派,则将所述线程时间更新至所指派的事件的事件时间,以及针对所述线程中每个连续的节点,重复所述选择、指派和更新,直到从所述进程图识别所述线程中的停止。
3.根据权利要求2所述的系统,其中所述协议引擎指派所述缺失事件包括:如果针对所述递归的缺失事件的总数量小于阈值,则指派所述缺失事件。
4.根据权利要求1所述的系统,其中对于每个递归,所述至少一个度量包括:节点被穿过的次数的数量、匹配事件的数量、以及针对所述递归的缺失事件的数量。
5.根据权利要求1所述的系统,其中所述至少一个度量包括:匹配的事件的数量与在所述递归中节点被穿过的次数的总数量的比率。
6.根据权利要求1所述的系统,其中所述协议引擎递归地将所述事件匹配至所述线程中的所述节点包括:如果所述递归不能产生比基于至少一个度量所确定的先前递归更好的匹配事件的拟合,则在所述事件的所述匹配期间放弃递归。
7.根据权利要求1所述的系统,其中所述进程图包括多种不同类型的节点,所述多种不同类型的节点包括:识别所述协议的开始的开始节点;行为或决定节点,其中至少一个事件将针对所述行为或决定节点而发生;集结和继续节点,其中从所述集结和继续节点发起新线程;停止线程节点;停止除了当前线程之外的所有线程节点;以及识别所述协议的结束的协议停止节点。
8.根据权利要求1所述的系统,其中所述事件检索模块将调用针对所述节点的查询对象,以从所述数据储存器检索针对所述节点的所述事件。
9.根据权利要求8所述的系统,其中将被指派事件的每个节点包括具有至少一个概念ID的查询对象,所述概念ID包括在所述数据记录中使用的预定项目。
10.根据权利要求1所述的系统,包括: 符合度模块,用以基于对所述进程图的所述事件的所述最佳拟合来确定与所述协议的符合度的级别;以及 用户接口,用以针对可操作为具有相关联的事件的每个节点来提供对符合度的视觉指/Jn ο
11.根据权利要求1所述的系统,其中所述多个线程包括分叉的线程,以及从所述分叉的线程产生的多个并行线程。
12.根据权利要求1所述的系统,其中所述递归匹配包括:针对线程中的节点重复匹配事件,直到针对所述线程中的所述节点的所有事件被匹配或者到达所述协议中的结束。
13.—种为表示协议的进程图确定事件的最佳拟合的方法,所述方法包括: 存储从协议确定的进程图,所述进程图包括多个线程,并且每个线程包括按照根据所述协议的工作流程的时间序列被排序的一个或多个节点; 存储事件; 针对所述节点检索所存储的事件; 向所述节点中的每个节点指派对应的事件; 基于针对被指派给所述节点的每个事件的所述事件时间和针对每个线程的线程时间,由处理器来确定对所述多个线程的所述事件的最佳拟合,其中确定所述最佳拟合包括:基于所述事件时间和所述线程时间来递归地将所述事件匹配至所述线程中的所述节点,其中所述递归匹配允许缺失事件被指派给节点, 为每个递归确定至少一个度量,所述度量测量所述事件匹配所述进程图中的所述节点的准确度,以及 基于用于所述递归的所述度量来选择所述递归中的一个递归作为所述最佳拟合;以及 基于所述事件的所述最佳拟合来确定与所述协议的符合度。
14.根据权利要求13所述的方法,其中递归地将所述事件匹配至所述线程中的所述节点包括: 从所述多个线程中选择具有最早线程时间的线程,其中从针对被匹配至先前节点的事件的事件时间来确定针对每个线程的所述线程时间, 从所选择的线程中选择节点,该节点在所述线程中是将被匹配的下一个节点, 向所选择的节点指派缺失事件或者具有等于或大于所述线程时间的事件时间的所述节点的事件, 如果所述事件被指派,则将所述线程时间更新至所指派的事件的所述事件时间,以及针对所述线程中每个连续的节点,重复所述选择、指派和更新,直到从所述进程图识别所述线程中的停止。
15.一种计算机可读存储介质,被耦合至一个或多个处理器并且具有其上的指令,当所述指令被所述一个或多个处理器执行时,促使所述一个或多个处理器来执行根据权利要求13和14中的任何一项所述的方法的操作。
【文档编号】G06F17/30GK104023002SQ201410075850
【公开日】2014年9月3日 申请日期:2014年2月28日 优先权日:2013年2月28日
【发明者】D·卡罗尔, A-H·沃, G·阿库纳, C·O·林奇, E·克里恩 申请人:埃森哲环球服务有限公司