用于处置卫生保健通信网络中的消息的方法和系统与流程

文档序号:14943834发布日期:2018-07-17 11:23阅读:178来源:国知局

本发明一般地涉及通过通信网络在医院中的信息系统部件之间传送的电子信息消息的处置和路由。



背景技术:

在卫生保健环境中,包含关于患者和他们的治疗步骤的临床信息的传送的信息现在通过电子通信网络来传送。信息在许多情况下以信息消息或诸如数据文件或数据流的其他数据容器来传输,并且通常在医院的不同部门(service)之间或者甚至在不同的医院之间传送。消息的处置必须被仔细地并且高效地处理,因为消息可能在关键过程中起作用。

例如,诸如医院或医院科室(department)的卫生保健递送系统接收非常不同类型、但是它们所有都需要以可靠的和适当的方式来处理的消息。消息以无信息的损失地递送到适当的医疗人员或适当的目的地,这对于医院的好的操作而言是关键的。当前,医院很可能包括针对医院可能处理的不同的类型的消息的不同的消息处置资源。这些处置资源的几个示例是电话系统、电子邮件系统或处置某类的消息的其他系统。此处在该上下文中可以考虑的不同类型的消息是电子邮件消息,但也是电子和编码的系统间通信消息。在本发明的上下文中,我们正在非常具体地考虑后者。

当在系统之间交换消息时,以正确的顺序来处理消息,这可能是重要的——甚至是至关重要的。错误的处理可能导致不完整的患者记录、医嘱(order)或结果未以及时的方式得到通过,并且可能引起对患者的危险情况。

在许多情况下,作为管理或临床工作流程中的一个步骤创建或输入数据,并且然后将数据分配到使用该信息作为其全部的或部分的输入的接下来的系统(或多个系统)。如今,已经以标准化的方式描述了许多不同的医院工作流程。因此,关于数据交换协议和工作流程定义的协调(harmonization)已经发生。作为示例,hl7将医院中的综合放射(integratedradiology)工作流程描述为广泛地采用的标准。

存在针对消息未以正确的顺序得到处理的多个原因,并且这些原因被跨osi模型的不同的层散布。这可能是由于网络相关的问题,但是还因为发送系统起初未以正确的顺序发出消息。

用于处理该问题的最保守的方法是顺序地处理消息。顺序的处理需要假设执行(并且完成)完整的工作流程需要的所有消息都以正确顺序到达,并且每次一个。接下来的消息仅可以在完成先前的工作流程步骤时才被发送。如果消息以错误的顺序到达应该处理消息的模块处,则该消息将简单地被忽略否则模块将阻塞。关于该方法的问题在于,错误一在某级别处发生,整个工作流程或者甚至整个系统就锁住(lockup)并且需要管理员干预以采取适当的校正动作。

消息的严格的顺序的处理具有错误地处理消息序列的最小风险,但是对发送系统以及对整个网络层增加了负担。主要的缺点(downside)在于,顺序的处理减慢(slowdown)了系统的整体互操作性(interoperability),因为几乎不可避免地错误的消息序列事件将导致消息排队等候等待被处理。这然后对消息处理速度具有显著的影响。可能地整个队列可能由于无法处理的单个消息而被锁住。

在自动路由的领域中,已经提议了各种技术,其中的许多技术处理以上描述的那时的其他问题,诸如例如对消息的目的地的正确的和高效的确定。已经确定,用于消息的不同的发送和接收系统的公共路由接口将是有利的。在ep1927221b1中已经描述了可以从不同的发送系统正确地接收多个类型的消息并且可以确定正确的目的地的系统。然而,该公开不处理消息未得到正确地排序用于由接口平滑处理的问题。

在本领域中其他方法已经被描述,诸如是在us8015256中的情况,其中通过基于与每个消息相关联的消息标识符将相关消息配对并且然后通过与每个消息相关联的序列指示符的定义确定针对两个相关消息的处理顺序来实现消息的改进的处理方法。第一消息的处理状态正在被监视,防止第二相关消息的处理,而不防止无关消息的处理。然而,相关消息的配对仅基于谈论中的消息的唯一的id的相似性的确定来完成,这在hl7工作流程的真实情况下不是总是可行的(workable),因为不同的消息可能源自未提供由该方法需要的匹配的唯一的id的不同的发送系统。

美国申请us2008021709a1公开了一种实时语音、文本和消息收发通信系统,所述实时语音、文本和消息收发通信系统采用应用触发器用于通信。系统提供可执行的应用与工作者之间的通信,并且依赖于如在本发明中公开的类似的机制,以及基于对存储在电子消息中的参数的分析根据用于处理的不同消息的紧迫性来对不同的消息划分优先顺序(prioritize)。



技术实现要素:

本发明提议了一种用于处置信息系统部件之间的卫生保健通信网络中的消息的方法和接口系统,如在权利要求1中阐述的那样。系统和方法旨在基于消息内容和针对每个预期的工作流程确定的预先定义的处理顺序规则的集合来优化消息的并发处理。实际上,该系统可以被用于确保是来自任何第三方系统的工作流程的部分的传入消息以正确顺序被处理。由于不是所有消息都与彼此相关,因此系统可以决定哪些消息可以被并行地处理,有效地具有安全的方式以同时地处理无关消息同时维持相关消息之间的正确处理顺序。

以上描述的方面通过如在权利要求1中阐述的方法来解决。

本发明公开描述了在信息系统部件之间的卫生保健通信网络中的消息处置。在本发明的上下文中,信息系统部件(is部件)是发送消息作为输出数据或者接收消息作为它们的输入数据的计算机系统。设想的is可以是is(信息系统)、cis(临床信息系统)、lis(实验室信息系统)、ris(放射信息系统)或在临床环境中使用的其他信息系统。引用的信息系统是通常非常不同的系统的集合,所述非常不同的系统完成不同的任务,但是其可以被互连以便确保在不同的is部件内使用的患者数据的完整性。is部件可以支持不同的工作流程类型,例如支持在诸如放射、或者、…的不同的医院科室内管理的临床工作流程,支持管理工作流程(负责adt(入院-出院-转院)(admission-discharge-transfer)工作流程、医嘱录入、关于病房的床位分配、计费(billing)和开发票(invoicing)、…)等。

对于一个患者,某数据可以跨不同的信息系统共享,但是仍然由一个系统部件集中地管理,所述系统部件可以被认为是该数据的主源。与该数据交互或需要该数据作为输入的医院工作流程将与该系统部件交互。在该情况中,根据请求将患者信息的某些片传递到其他系统是必需的。当然,针对这是可能的先决条件是,该信息在适当的时刻在源系统上是可用的。

在本发明中,卫生保健通信网络是上述is部件被连接到其并且部件中的每个可以通过其来通信的网络。通信网络的类型是不重要的,但不限于有线或无线以太网网络、互联网或内联网。

正在由本发明的实施例处置的消息是数字格式化的数据消息。每个消息由其被构造所针对的目的和其携带的数据净荷来表征。消息还总是具有源和目的地。在我们的发明的情况中,消息的源是所谓的发送信息系统部件或源系统,目的地是在本发明中描述的接口系统。

作为示例,adt消息是hl7中的最常见的消息之一。所述adt消息覆盖了许多使用情况,诸如入院、入院的取消、患者数据的合并等。这就是为什么存在可能被发送的可能事件/消息类型的这样的长的列表的原因。

以下是用于说明大量的使用情况的与adt消息相关联的可能的事件的截短的列表:

在入院到医院中的情况下,您将需要知道患者的姓名以及比如日期或出生(dateorbirth)、性别、任何近亲(nextofkin)及他们的信息以防存在任何重大问题的一些人口统计学数据(demographics)、比如医疗记录号的标识符、患者入院到的位置(房间、床位)、谁是在入院上签字的主治医师以及入院的原因。因此,将可能从adt系统发送到比方说实验室系统的消息可以是(用简明英语)——“患者(johnaappleseed)因为手术于2013年1月1日在上午12:23时通过drsidneyj.good(#004777)入院。他已经被分配到护理室(nursingunit)2000上的房间2012、床位01。”在查看上表时,该消息将是adt-a01消息。

消息因此是可以被预期的接收者(或接收系统)理解(解码)的特别地编码的信息的片。最通常在osi模型的最高级别处、即在应用层处实现编码。

消息的目的标识了其在临床或医院工作流程中的作用并且通过可以由在本发明中描述的接口辨别的其唯一的消息格式来实现。消息接口因此可以通过分析其格式化特性来识别消息类型(并且因此其在工作流程中的目的)。消息通常由头部数据(其表征消息类型、消息源和目的地)和净荷数据组成;要处理的实际数据。

工作流程可能需要某些消息正以某序列来处理;换言之,在某些情况下,可能需要的是,在随后的消息(消息b)可以被处理之前必须处理一个类型的消息(消息a)(要完成的处理步骤)。在该情况中,消息a被成功地处理是消息b被处理的先决条件。因此在该示例中,核实消息a是否已经被成功地处理应当被理解为相当于确定是否满足针对处理消息b的先决条件。

在本文中描述的系统和方法的实施例可以以硬件或软件或者两者的组合来实现。然而,优选地,这些实施例以在可编程计算机上执行的计算机程序来实现,每个可编程计算机包括至少一个模块部件,所述至少一个模块部件包括至少一个处理器(例如微处理器)、数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。例如并且不限于,可编程计算机(此处称为计算机系统)可以是个人计算机、膝上型计算机、个人数据助理以及蜂窝电话、智能电话设备、平板计算机和/或无线设备。将程序代码应用于输入数据以执行在本文中描述的功能并且生成输出信息。以已知的方式将输出信息应用于一个或多个输出设备。

每个程序优选地以高级别过程或者面向对象的编程和/或脚本语言来实现以与计算机系统通信。然而,如果需要的话,程序可以以汇编或机器语言来实现。在任何情况中,语言可以是编译的或解释的语言。每个这样的计算机程序被优选地存储在由通用或专用可编程计算机可读取的存储介质或设备(例如rom或磁盘)上,用于在由计算机读取存储介质或设备时配置和操作计算机以执行在本文中描述的过程。还可以考虑主题系统被实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机以具体的和预先定义的方式来操作以执行在本文中描述的功能。

每个程序优选地以高级别过程或者面向对象的编程和/或脚本语言来实现以与计算机系统通信。然而,如果需要的话,程序可以以汇编或机器语言来实现。在任何情况中,语言可以是编译的或解释的语言。每个这样的计算机程序被优选地存储在由通用或专用可编程计算机可读取的存储介质或设备(例如rom或磁盘)上,用于在由计算机读取存储介质或设备时配置和操作计算机以执行在本文中描述的过程。还可以考虑主题系统被实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机以具体的和预先定义的方式来操作以执行在本文中描述的功能。

本发明可以被实现为适于执行在说明书中阐述的步骤的计算机程序产品。适于执行在说明书中阐述的步骤的计算机可执行程序代码可以被存储在计算机可读介质上。

在从属权利要求中阐述具体的示例和优选的实施例。

本发明是有益的在于,在is部件之间的消息处置在消息的并发处理可以发生以及相互关联的消息的处理被优化到一满足针对处理的相应的先决条件就可以处理这样的消息的程度的意义上被优化。实际上,该系统可以被用于确保是来自任何第三方系统的工作流程的部分的传入消息以正确顺序并且尽可能迅速地和可靠地处理。

本发明还可以被用于出站(outbound)消息收发。相同的原理在此处适用,并且那使得本发明的接口将保证到第三方系统的正确的递送顺序。

为了使其更进一步,如果我们向两个第3方系统发送相同的消息,并且一个第3方系统无法处理该消息(系统a)而另一个第3方系统可以处理该消息(系统b),则我们仍然具有向可以处理其他的消息的系统(b)发送其他的消息、同时针对该另一个系统(a)阻止相关消息的灵活性。但是,同时,我们也可以仍然向系统a发送与失败的消息无关的消息。

为了使这可行,我们将需要的来自第3方系统的唯一的要求是适当的确认机制。这样的ack机制也通过hl7/ihe标准来描述。

提议的接口系统的另一个优势在于其不需要对消息内容的任何改变。以该方式,其使得系统即插即用(plug-and-play),并且其可以被用于与任何第3方系统的通信中而没有对任何适配的需要。

根据以下描述和附图,本发明的其他的优点和实施例将变得清楚。

附图说明

图1描绘了表示不同的信息系统部件[30]通过网络连接被连接到其的卫生保健通信网络[20]的图。消息[40]从发送is部件[30]发送并且被路由到本发明的消息路由接口[100]。

图2是由在本申请中公开的本发明处置的消息的结构的示例的图形表示。

图3是如在本发明中公开的接口系统[100]的优选的实施例的图。系统包括消息处理器[10]和输出缓冲器[105]。消息处理器接收传入消息[40]并且被连接到消息类型数据库[101]、先决条件表数据库[102]、处理的消息数据库[103]和未处理的消息数据库[104]。

图4示出了被存储在先决条件表数据库[102]中的先决条件表的内容的示例。

图5是针对2个不同的工作流程的消息处理序列的示意性表示。“工作流程1”的处理序列图示了在相同的工作流程内2个不同的消息处理路径是可能的。“工作流程2”图示了工作流程可以具有针对处理相同的消息类型的不同的先决条件(在该情况中,“a01”可以在“工作流程2”中被处理而无需“a28”作为先决条件,然而所述“a28”是针对在“工作流程1”中的成功处理的先决条件)。该示例说明了在消息可以被正确地处理之前识别工作流程类型的要求。

具体实施方式

在以下具体实施方式中,足够详细地参考以上引用的附图,允许本领域技术人员实施下面解释的实施例。

在本发明中被公开的消息路由接口系统(图1的[100])被连接到卫生保健通信网络[20],不同的信息系统部件[30]也被连接到所述卫生保健通信网络[20]。

在优选的实施例中,通信网络是诸如(但不限于)以太网、wi-fi等的基于标准计算机网络基础设施的网络。网络连接用作用于可以在网络上从源发送到目的地的消息的传输。在该上下文中,消息可以仅在发送者和接收者被识别时存在,所述发送者和接收者可以是连接到网络的is部件[30]中的任何部件。所述is部件可以是来自不同供应商的计算机系统和程序,在医院内为非常不同的任务或目的服务。不同的is部件常常通过为了对单个医院工作流程贡献的目的发送多个消息来贡献。

图2示出了此处在本发明的上下文中考虑的消息[40]的典型结构。数字消息被定义为已经被编码的任何数据。消息是编码的用于传输到另一个实体的数据或从另一个实体接收的编码的数据。在本发明的上下文中考虑的消息是其结构元素(消息字段[401])正在表示参数[402]的数据字节的序列。由发送实体以预先定义的方式来格式化所述消息字段以便使接收实体能够解码所述消息字段。除了其他之外,参数值[402]还正表征消息[40]的消息类型。随后的参数值可以指的是所述消息的关键标识符,诸如患者id、病例id等。

作为医院环境中的示例,第一消息字段[401]可以包含“a01”的参数值[402],其将整个消息表征为是与医院内的患者x的“入院/就诊通知”相关的消息。具有值“a01”的参数是所谓的段id。在该情况中,第二消息字段[401]将指的是在创建消息的时间时分配给该“患者x”的唯一的患者id。在该情况中,随后的消息字段[402]将进一步包括与该“入院/就诊通知”应用于其的谈论中的患者相关的数据。图2的图进一步示出了消息内容净荷[403],所述消息内容净荷[403]被预见用于包括消息中的大量的数字数据。消息可以包括诸如数字图像、测量数据、实验室结果等的数字数据。

图3示出了本发明的优选的实施例的不同部件;消息处理器[10]是主要处理部件,所述主要处理部件被配置成能够从卫生保健通信网络接收消息,并且然后根据在本发明中公开的方法来处理所述消息。消息排序接口的操作的第一原理是网络上的所有消息都由所述接口系统[100]来处理。

由于传入消息从非常不同的发送系统到达,因此这些消息的格式和内容可能是非常不同的。作为第一步骤,消息处理器将解析任何传入消息,并且将通过其格式化特征与在消息类型数据库[101]中记录和存储的预先定义的格式化特征的比较来确定传入消息的消息类型。可以设想的是,用于确定消息类型的其他方法是可想到的并且可以被应用,因此本发明不限于以上描述的应用的方法。一旦确定了消息类型,就解析消息,这意味着存储在消息字段[401]中的参数的值[402]被识别和提取用于在消息的处理期间进一步使用。如以上解释的那样,这些参数的几个示例是:hl7段id(其确定hl7环境中的消息类型)、患者id(标识其确定消息应用于哪个患者的消息实例)、患者姓名、病例id、处方剂量、房间号(作为对接下来的工作流程步骤而言需要的的实际消息数据)…。

消息类型和关于发送系统的信息确定消息旨在用于的工作流程的类型。工作流程类型然后还确定消息的目的地。相同的工作流程可能针对不同患者或者针对不同病例同时是活跃的。然而,由于被存储在消息中的对象id中的差异,可以区分这些相同的工作流程。对象id指示针对哪个患者(患者id)或病例(病例id)创建了消息。

一旦已经确定针对传入消息的工作流程类型,就知道针对该工作流程的消息序列。这将允许处理器识别哪个消息步骤先于传入消息、以及在消息被准备好用于处理时消息必须被路由到何处。

存在表示和存储针对工作流程的消息序列的不同的方式。在优选的实施例中,通过先决条件表数据库[102]来存储和定义消息处理序列,所述先决条件表数据库[102]在相关时针对每个预期的传入消息定义(一个或多个)先决条件消息。在图5中示出了该种类的逻辑表的示例,其中在列2(标记“先决条件”)中列出的消息类型示出了针对列1(标记“消息类型”)中的消息的相应的先决条件。在另一个实施例中,相同的数据被存储在组成整个工作流程序列的消息类型的序列串中(如在图6中图形地描绘的那样)。可以设想其他的实施例,其中通过基于文件的规则集而不是数据库实现的使用来确定和存储消息序列。基于文件的规则集是可以被应用在以任何格式的普通文件存储的消息上的顺序地可执行的规则的集合。

在消息类型和工作流程类型的识别之后,处理器[10]识别在先的消息是否必须在到达接口处的消息可以被随后处理之前被成功地处理以及哪个类型的在先的消息必须在到达接口处的消息可以被随后处理之前被成功地处理(对于具有相同的对象id因此形成相同的工作流程的部分的消息)。需要在另一个消息的处理之前被处理的消息在本发明的上下文中被称为“针对处理的先决条件”或“先决条件”。处理器因此确定是否存在针对要处理的消息的一个或多个先决条件。

在至少一个先决条件存在的情况下,需要由处理器执行检查以确定先决条件是否已经被处理。该检查通过在处理的消息数据库[103]中寻找先决条件来执行,所述处理的消息数据库[103]包含已经由接口[100]处理的消息的列表。处理器因此检查先决条件是否被处理。

在先决条件被处理的肯定的情况下,处理器[10]然后有条件地将消息路由到正确的目的地。如果找到了先决条件,则消息可以无任何进一步延迟地经由输出缓冲器[105]被路由到其目的地is部件。如果未找到先决条件,则消息将被临时地存储在未处理的消息数据库[104]中。

一些消息类型将根本不具有先决条件,并且因此可以无任何进一步延迟地经由输出缓冲器[105]被路由到消息目的地,所述输出缓冲器[105]以有序的和顺序的方式将消息转发到消息的目的地。

该设置的净效应(neteffect)在于,不具有针对处理的先决条件的消息和具有针对处理的满足的先决条件的消息将不被其确实具有未满足的先决条件和其需要在未处理的消息数据库[105]中被临时地排队的消息耽搁。同时,设置保证了始终遵守由工作流程类型规定的处理顺序。

作为最后的功能,处理器[10]将在被指示时重新处理存储在未处理的消息数据库[104]中的未处理的消息队列(该重新处理可以通过消息处理事件的完成、或者可以基于定义的时间间隔、基于处理器的活动状态或者通过用于指示队列的重新处理的其他方式来触发)。

消息处理器[10]的功能可以由被配置成针对并发处理并行地工作的多个处理器来执行。应清楚,不同的数据库[101]、[102]、[103]和[104]的功能可以被实现为单个数据库的不同的表的集合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1