通过数据封装在医学成像的独立系统/应用程序之间共享进程的制作方法

文档序号:6570582阅读:303来源:国知局
专利名称:通过数据封装在医学成像的独立系统/应用程序之间共享进程的制作方法
技术领域
本发明总体涉及在独立的医学成像,影像通信,和影像观察系统/应用 程序中共享进程的方法。具体地讲,本发明涉及通过将特定的交互式分析,处理 和观察进程包装在影像数据中,来进行进程共享和通信的方法。
背景技术
鉴于在计算设备上可运行大量的应用程序,有必要允许这些应用程序彼 此共享在不同应用程序中创建的数据。 一种传统的解决方案是通过一组界面来实 现,例如由微软公司开发的对象链接和嵌入(OLE)技术。所述界面可用于帮助 创建复合文档,其中来自不同应用程序的对象或数据驻留在单个文档,并且可以 在与最初生成对象或数据的本身环境类似的环境中处理所述对象或数据。这是可 行的,因为应用程序可以嵌入它创建的对象或数据,并且作为结合体输入到由另 一应用程序运行的文档中,以便在需要时可以调用应用程序,以在文档中处理它 的对象。例如,在Microsoft Word文档中,可以结合嵌入Microsoft Excel应用程序 的Microsoft Excel表格。当打开Word文档时,可以调用Word中的Microsoft Excel 编辑工具(嵌入),对所结合的Microsoft Excel电子表格进行处理。在医学成像中,有类似的需求。在一个应用系统例如专用的临床应用系 统(或基于该系统的服务器)中处理的患者数据可被输入到不同的数据处理环境, 并且利用第一应用系统的工具在患者数据输出到的系统环境中进行进一步观察和/ 或交互式处理。作为特定的例子,计算机辅助检测(CAD)系统可以处理患者数 据,来识别例如肿瘤的可疑区域,并且所述识别的位置以及可能的其他相关数据 例如患者信息和初始成像数据,可被输出至另一个医学成像分析应用程序,例如 图像存档与通信系统(PACS)环境,它是医生的常用读片环境。在PACS环境内, 医生可能需要对相同的患者数据调用CAD应用系统,并使用CAD系统的交互式
工具来进一步分析数据。然而, 一旦影像被送至PACS环境,可用于交互式生成或 编辑所述可疑位置标记的CAD系统中可用的交互式工具是不存在的。医学成像中的现有系统使用医学成像中的某些通用统一标准,例如医学 数字影像和通信标准(DICOM)。为了共享不同数据采集设备的影像,DICOM规 定影像应当如何被存储和传送。不过,DICOM不允许数据嵌入有创建数据的应用 程序,使得在一个医学成像系统中创建的数据在不同的应用系统中以其自身环境 进行处理变得困难,如果不是不可能的话。对于医学成像的当前技术限制,要在不同的医学成像系统之间共享由一 个应用系统生成的结果数据,有两种现有的解决方案。第一种是简单地以可识别 的格式,例如DICOM格式,将在第一应用程序中创建的结果数据传送到第二应用 程序,用于在第二应用程序中显示,并利用第二应用程序的工具进行处理。在这 种情况下,通过第一应用系统的工具在第二应用系统的环境中处理数据是不可能 的。第二种解决方案是将第一应用系统例如CAD系统与第二应用系统例如PACS 通过某些共同定义的API结合起来。在这种情况下,实现基于API的结合需要代 码级工程计划,这不仅耗时还可能受到成本的限制。例如,考虑到当今市场上CAD 系统和PACS系统的复杂性,试图实现所述基于API的结合可能代价非常高。如 果考虑与已经安装在临床环境中的系统结合,这种结合尤为困难。其他专用的临 床应用程序,例如3D显示,在其他独立系统中的可访问性方面具有类似的限制。


本文所要求保护和描述的发明通过示例性实施例的方式进行进一步描 述。这些示例性实施例将结合附图加以详细描述。这些实施例是非限定性的示例 性实施例,其中类似的附图标记在所有附图中表示类似的结构,并且其中图la和lb示出了根据本发明的实施例,两个独立的系统/应用程序之间 进程共享的系统示意图的示例性结构;图2示出了根据本发明的实施例,多个系统/应用程序之间的进程通信 和进程共享的流程图;图3a是根据本发明的实施例,将应用程序的位置与由应用程序创建的 数据包装在一起的数据封装的示例性流程图;图3b是根据本发明的实施例,将应用程序的标识字符串与由应用程序
创建的数据包装在一起的数据封装的另一个示例性流程图;图4a是根据本发明的实施例,将应用程序的位置从由应用程序创建的
数据拆封的数据解封装的示例性流程图;和图4b是根据本发明的实施例,将与应用程序相关的标识字符串从由应 用程序创建的数据拆封的数据解封装的另一个示例性流程图。
具体实施例方式本发明用于在不同的独立医学处理系统之间通过数据封装来实现进程 共享和数据通信,而不需要共同的API或在多个系统之间进行代码级结合。图la和lb示出了根据本发明的一个实施例,便于进程通信和数据/进程 共享的示例性系统示意图100。系统IOO涉及两个不同的应用程序, 一个位于通信 平台116的左侧,而另一个位于通信平台116的右侧。两个应用程序可能或可能不 驻留在不同的计算设备。系统100包括数据处理和分析应用程序(DPAA)单元102, DPAA表述单元105,封装单元IIO,通信单元114,通信平台116,和另外驻留在 第二系统的所有部分,包括数据存档通信和处理系统(DACMS) 118,解封装单 元124, DPAA请求机构128, DPAA启动单元139,它创建DPAA 130的实例。DPAA 102可以处理来自数据储存数据库A 104的患者数据。数据库A 104可以存储原始患者数据和处理后的结果数据。它可以储存不同类型的数据,包 括但不限于,患者病历,患者报告,数字影像,例如X光片,CT, MRI,和数据 处理的结果。DPAA可以通过DPAA表述单元105表述为DPAA触发标识106。 DPAA触发标识106可以是DPAA应用程序的完整版本,DPAA应用程序的部分版 本,或DPAA的符号表示,例如以标识号的形式用于识别DPAA的抽象符号,或 表示DPAA储存位置的物理位置。当有多个应用系统需要封装时,可以定义每个 标识号来唯一识别特定的应用系统。DPAA触发标识还可以是应用系统特有的脚 本,可被执行来启动当前的应用系统。当由当前应用系统创建的数据被输出到不同的应用系统时,可以调用封 装单元110,将DPAA触发标识106与患者数据108封装在一起,并生成封装数据 112。由于DPAA触发标识能够以不同的形式表示当前应用系统(DPAA),封装数 据可以嵌入,与患者数据(原始或处理后的) 一起,DPAA的完整或部分版本或只 是其符号表示。封装数据可通过通信单元114经由通信平台116输出至DACMS
单元118。标准化协议例如DICOM可用于输出医学影像。DACMS 118可以是执行某些功能的任意系统或应用程序,包括但不限 于,数据存储,数据通信,数据处理,和数据显示。所述系统的一个示例是图像 存档与通信系统(PACS)。DACMS 118可以将封装数据存入数据存储数据库B 119。 如果DPAA 102禾卩DACMS 118位于不同的计算机,通信平台116可以是局域网 (LAN),或广域网(WAN)或其他类型的通信媒介。如果DPAA 102和DACMS 118位于相同的计算机,则通信平台116可以包括但不限于,特定的硬驱动器位置 或特定的网络端口号。解封装单元124对应第一应用系统,例如所示的DPAA应用系统的一个 功能块。不过,解封装单元124驻留在第二应用系统,例如DACMS系统的外部 环境。 一旦被部署在第二系统,解封装单元124监控封装对象何时从第一应用系 统(例如,DPAA)输入到外部环境(例如,DACMS)。当解封装单元124检测到 第二应用系统中存在有封装数据时,解封装单元124可将封装数据拆封并且从封 装数据120中提取封装的DPAA触发标识127和患者数据或数据ID 132。解封装单元124可能需要在第二应用系统,例如DACMS,开始从第一 应用系统例如DPAA输入封装数据之前,预载入DACMS的环境。解封装单元124 的部署通过直接安装,或从DPAA102下载或部署。如图lb所示,在126处确定 DPAA触发标识是否代表完整版本的DPPA或部分版本的DPPA。如果DPAA触发 标识是完整的DPAA包,DPAA实例130可通过DPAA启动器139在DACMS 118 的环境中例示和启动。如果DPAA触发标识表示部分的DPAA或符号表示,例如 DPAA的指示符,如DPAA储存的位置,则DPAA请求机构128可向通信平台116 发送DPAA资源请求136。接收到的DPAA资源134随后可用于例示DPAA的实 例,并且DPAA启动器139随后可在DACMS环境启动所创建的DPAA实例130。DPAA启动器139可用预定义的协议与DACMS通讯。DPAA启动器139 还可以是独立的程序,在后端在DACMS环境中运行。当启动DPAA实例130时, 激活的DPAA实例可用于处理来自第一应用系统或DPAA的患者数据。如果初始 的第一 DPAA生成其他结果,则在外部环境的启动的DPAA可能发送一个请求, 要求将结果发送到启动的DPAA 130。初始DPAA和在外部环境中的启动的DPAA 之间的通信可以根据患者数据ID 132进行。另一方面,如果启动的DPAA需要的一些信息没有存在于解封装的数据
132中,则启动的DPAA可通过一些标准界面,例如DICOM,向驻留在第一系统 的初始DPAA 102或向DACMS 118请求这些信息。通过这种方式,DACMS和 DPAA可以对相同的患者数据进行操作。来自启动的DPAA的处理结果142可通 过通信平台116发送至DACMS 118和远端DPAA 102。图2示出了根据本发明的一个实施例,系统100的示例性流程图。在步 骤201,解封装单元124可远程从DPAA环境或通过本地安装首先部署进入 DACMS环境。 一旦部署在DACMS环境中,解封装单元随后可开始监控由DPAA 系统创建的封装对象何时被输入DACMS环境。它可以根据封装单元的封装规则, 不断检査DPAA触发标识的存在。所述检査可以在内存中进行,其中DACMS程 序可在该内存中驻留并运行。在一些实施例中,所述检查可在整个内存进行。在 其他实施例中,所述检査可在内存的某些位置进行。在另外一些实施例中,所述 检查可在DACMS系统储存相关信息的内存的某些已知位置进行。在解封装单元124部署在外部环境后,进程/数据共享可以通过下述步 骤进行。在步骤204,封装单元可将DPAA触发标识106封装入患者数据108。在 步骤206,封装数据可通过通信单元114发送到DACMS 118。在步骤208,可以 通过DACMS加载或打开封装数据,以观察或进行其他操作。 一旦数据在DACMS 环境中,在步骤210,解封装单元124检测到它的存在,并随后例如,通过在后端 DACMS环境运行程序,对输入的封装数据进行解封装,以分离DPAA触发标识。 在步骤214,判断触发标识中封装的是完整版本还是部分版本的DPAA。如果没有 封装完整版本的DPAA,则向初始DPAA发送请求。如果初始DPAA 102响应该请 求,则在步骤218,从初始DPAA102发送取回DPAA资源的请求。通过所述通信,在步骤220,可以收到所请求的DPAA资源。在步骤215, 判断封装数据是否包含完整的患者数据。如果不是,在步骤217,可以根据数据ID 从远端DPAA 102取回患者数据。在DPAA部分和患者数据均可用之后,在步骤 216,可以例示并启动DPAA实例。在步骤218,来自启动的DPAA的处理结果可 被回送至DACMS或初始DPAA。图3a示出了本发明的封装单元110的示例性实施例。封装单元110将 患者数据108和DPAA触发标识106作为输入。在步骤304,可以通过将DPAA 触发标识嵌入患者数据的特定位置,将DPAA触发标识封装入患者数据108。 一个 示例性实施例是,将DPAA触发标识嵌入患者数据的DICOM标签。
图3b示出了封装单元110的另一个示例性实施例。在步骤306, DPAA 触发标识302可以与一个唯一标识字符串组合,以形成可识别字符串的DPAA触 发标识。标识字符串可随后用于识别封装信息的位置。可识别字符串的DPAA触 发标识随后可嵌入患者数据。所述封装的一个实施例是,将可识别字符串的DPAA 触发标识放入患者影像的像素数据中。例如,它可被放入影像的角点像素中,因 而不会丢失诊断信息。封装单元IIO可以将输入患者数据中的所有其他信息完好保存。例如, DICOM影像的患者姓名和患者ID可保持不变。封装单元110还可以只保留识别 患者数据所需的必要信息,例如DICOM数据头的患者姓名和患者ID和影像实例 UID。在任何一种情况,根据DICOM协议,封装数据通过DACMS 118被组织到 同一患者下的数据存储单元120中。图4a示出了解封装单元124的示例性实施例,对应图3a的封装实施例。 解封装单元124将封装数据120作为输入。在步骤402,解封装单元124可以从封 装数据120在步骤204选择的预定位置提取封装的DPAA触发标识。在步骤403, 可以提取患者数据或数据ID。图4b示出了解封装单元124的另一个示例性实施例,对应图3b中封装 的实施例。在步骤410,解封装单元124可以搜索在步骤306选择的唯一标识字符 串。 一个实施例是根据程序名称在DACMS的程序内存中搜索唯一标识字符串。 找到唯一标识字符串之后,在步骤412,随后可以提取封装的DPAA触发标识。一 个实施例是,读取唯一标识字符串之后的某些数据字节。在步骤403,可以提取患 者数据或数据ID。虽然已经结合某些所示实施例对本发明进行了描述,本文所用的词语为 描述性的词语,而不是限定性的词语。可以在所附权利要求书的范围内,在不偏 离本发明的范围和精神的前提下,对各方面进行改变。尽管本发明在本文中结合 具体的结构,过程和材料进行描述,本发明并不限于公开的细节,而是可以包括 多种形式,某些可能与所公开的实施例非常不同,并且延及任何在所附权利要求 书范围内的所有等同的结构,过程和材料。
权利要求
1. 一种共享数据的方法,包括提供驻留在第一应用系统所在的第一系统的解封装单元;通过所述解封装单元,监控来自第二应用系统的封装数据何时出现在所述第一应用系统;对接收到的封装数据进行解封装,以获得触发标识,其中所述封装数据包括与封装在封装数据中的第二应用系统对应的数据和触发标识;分析所述触发标识;和根据所述触发标识在所述第一系统启动所述第二应用系统。
2. 根据权利要求1所述的方法,其中所述解封装单元安装在所述第一系统上。
3. 根据权利要求1所述的方法,其中所述解封装单元从第二系统下载或部署 到第一系统。
4. 根据权利要求1所述的方法,其中所述解封装单元由第三系统提供。
5. 根据权利要求1所述的方法,其中所述触发标识代表第二应用系统的完整 版本,第二应用系统的部分版本,在第二系统上可识别的对应于第二应用系统的 标识符,和对应第二应用系统在第二系统的驻留位置指示中的一个。
6. 根据权利要求l所述的方法,其中,当触发标识包含第二应用系统的完整 版本时,启动第二应用系统包括在第一系统例示第二应用系统的实例;和 在第一系统启动第二应用系统的实例。
7. 根据权利要求1所述的方法,其中,当触发标识表示第二应用系统的部分 版本时,启动第二应用系统包括根据触发标识,向第二系统发送资源请求,要求第二应用系统的完整版本; 接收请求,以接收所请求的第二应用系统的完整版本; 在第一系统例示第二应用系统的实例;和 在第一系统启动第二应用系统的实例。
8. 根据权利要求1所述的方法,还包括在第二系统封装来自第二应用系统的 数据以及触发标识,以生成封装数据。
9. 根据权利要求8所述的方法,其中封装包括将触发标识嵌入数据的预定位置。
10. 根据权利要求8所述的方法,其中封装包括采用标识字符串作为数据中的 触发标识。
11. 根据权利要求l所述的方法,其中解封装包括识别数据的预定位置; 从数据的预定位置提取触发标识。
12. 根据权利要求1所述的方法,其中所述解封装包括-在数据中搜索对应于第二应用系统的标识字符串的储存位置; 通过标识字符串从所述位置取回触发标识。
13. 根据权利要求1所述的方法,其中第一系统和第二系统对应相同的计算系统。
14. 一种数据共享的系统,包括 第一应用系统,驻留在第一系统; 第二应用系统,驻留在第二系统;解封装单元,驻留在第一系统,被设置以监控来自第二应用系统的封装数据 何时出现在第一应用系统,并且对封装数据进行解封装,以获得对应于第二应用 系统的触发标识;封装单元,驻留在第二应用系统,被设置将第二应用系统的数据与触发标识 封装在一起;和启动器,驻留在第一系统,被设置根据触发标识在第一系统启动第一应用系统。
15. 根据权利要求14所述的系统,其中解封装单元安装在第一系统。
16. 根据权利要求14所述的系统,其中解封装单元从第二系统下载或部署到 第一系统。
17. 根据权利要求14所述的系统,其中解封装单元由第三系统提供。
18. 根据权利要求14所述的系统,其中封装单元将触发标识嵌入数据的预定 位置。
19. 根据权利要求14所述的系统,其中封装单元采用标识字符串作为储存在 数据中的触发标识。
20. 根据权利要求14所述的系统,其中所述解封装单元 识别数据的预定位置;从数据的预定位置提取触发标识。
21. 根据权利要求14所述的系统,其中所述解封装单元 在数据中搜索与第二应用系统对应的标识字符串所储存的位置;和 通过标识字符串从所述位置取回触发标识。
22. 根据权利要求1所述的方法,其中第一系统和第二系统对应相同的计算系统。
23. 根据权利要求14所述的系统,其中触发标识代表第二应用系统的完整版 本,第二应用系统的部分版本,在第二系统上可识别的对应于第二应用系统的标 识符,和对应第二应用系统在第二系统的驻留位置的位置指示符中的一个。
24. 根据权利要求14所述的系统,还包括驻留在第一系统的请求机构,其中, 当触发标识不包括第二应用系统的完整版本时,所述请求机构向第二系统发送请 求,以获得与第二应用系统相关的资源。
25. 根据权利要求24所述的系统,其中所述请求机构向第二系统发送请求, 以获得没有出现在封装数据中的信息。
全文摘要
本文披露了一个用于数据/进程共享的方法和系统。解封装单元被提供并驻留在第一应用系统所在的第一系统。解封装单元在第一系统监控驻留在第二系统的第二应用系统的封装数据何时出现在第一应用系统。封装数据一旦出现在第一系统,即被解封装单元解封,以获得对应第二应用系统并被封装在封装数据中的触发标识。分析所获得的触发标识,并根据所述触发标识在第一系统中启动第二应用系统。
文档编号G06F9/445GK101390051SQ200680053360
公开日2009年3月18日 申请日期2006年12月29日 优先权日2005年12月30日
发明者曾小兰, 梁正中, 黎 范, 钱建中, 峰 马, 魏国庆 申请人:美国医软科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1