与pacs进行交互的方法和装置
技术领域
1.本发明涉及医疗设备技术领域,具体涉及一种与pacs进行交互的方法和装置。
背景技术:
2.影像归档和通信系统(picture archiving and communication systems,pacs)是用于将医院影像科室产生的各种医学影像,例如核磁、超声、x光机、红外仪等医疗影像设备产生的医学影像,以数字化方式进行存储,并且可与其他医院信息系统进行
数据交互和业务协作的系统,在医院信息化建设中具有重要作用。随着医院信息化建设的快速发展,越来越多的业务需要通过信息系统来支撑。为了实现各不相同的功能,出现了各种不同类型的医院信息系统。而为了更好地实现业务流程和管理需求,与pacs进行数据交互和业务协作的医院信息系统也越来越多。以病人进行一次核磁拍片检查为例,首先需要在医院信息系统(hospital information system,his)中进行登记、初诊、开具检查申请单,并在预约系统中进行检查预约,然后在pacs中进行图像采集和报告书写,最后在his中由门诊医生综合检查报告给出诊断,与此同时还需要将pacs中产生的检查图像和报告数据保存到医院的归档系统中,例如保存到医院数据平台系统中。可以看出这样一个普通的流程便涉及到多个不同的
第三方系统与pacs之间的交互,pacs既是数据的使用者,也是数据的产生者,pacs使用其他第三方系统传来的信息产生检查图像和报告,并将相关数据发给其他第三方系统。
3.不同的医院信息系统通常采用不用的传输协议、不同的语法以及不同的
语义,因此往往需要采用不同的交互方式与pacs进行交互。目前为了实现与pacs的交互,需要针对不同系统进行定制开发,开发效率低,开发周期长,阻碍了医院信息化建设的步伐。
技术实现要素:
4.本发明实施例提供一种与pacs进行交互的方法和装置,用以解决现有技术中实现与pacs进行交互时开发效率低、开发周期长的问题。
5.第一方面,本发明实施例提供一种与pacs进行交互的方法,包括:
6.通过与第三方系统进行交互的底层协议接口从第三方系统接收第一交互数据;
7.基于预定义的外语法解析模板对第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据
元素;
8.基于预定义的外语义解析模板对第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素;
9.基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素,交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及第三方系统的语义数据元素和pacs的语义数据元素之间的映射关系;
10.基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;
11.基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;
12.通过与pacs进行交互的底层协议接口向pacs发送pacs可以理解的交互数据。
13.一种实施例中,所述方法还包括:
14.通过与pacs进行交互的底层协议接口从pacs接收第二交互数据;
15.基于预定义的内语法解析模板对第二交互数据进行语法解析,以获得第二交互数据对应的第二语法数据元素;
16.基于预定义的内语义解析模板对第二语法数据元素进行语义解析,以获得第二交互数据对应的第二语义数据元素;
17.基于交互数据模型将第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素;
18.基于预定义的外语义解析模板将第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素;
19.基于预定义的外语法解析模板将第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据;
20.通过与第三方系统进行交互的底层协议接口向第三方系统发送第三方系统可以理解的交互数据。
21.一种实施例中,底层协议接口根据配置确定,包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口。
22.一种实施例中,预定义的外语法解析模板、预定义的外语义解析模板、预定义的内语义解析模板和预定义的内语法解析模板通过配置文件保存。
23.一种实施例中,预定义的外语义解析模板和预定义的内语义解析模板包括语法数据元素、语义数据元素以及语法数据元素与语义数据元素的对应关系。
24.一种实施例中,所述方法还包括:
25.记录第三方系统与pacs进行数据交互过程的日志。
26.一种实施例中,所述方法还包括:
27.通过对日志进行解析以实现对数据交互过程的监控和管理。
28.第二方面,本发明实施例提供一种与pacs进行交互的装置,包括:交互过程模块,交互过程模块用于实现第三方系统与pacs之间的数据交互过程;
29.交互过程模块包括至少一个交互通道,交互通道包括外协议模块、外语法解析模块、外语义解析模块、语义转换模块、内语义解析模块、内语法解析模块和内协议模块;
30.外协议模块用于实现与第三方系统进行交互的底层协议接口,用于从第三方系统接收第一交互数据;
31.外语法解析模块用于基于预定义的外语法解析模板对外协议模块接收到的第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据元素;
32.外语义解析模块用于基于预定义的外语义解析模板对外语法解析模块获得的第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素;
33.语义转换模块用于基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素;
34.内语义解析模块用于基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;
35.内语法解析模块用于基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;
36.内协议模块用于实现与pacs进行交互的底层协议接口,用于向pacs发送pacs可以理解的交互数据;
37.交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及第三方系统的语义数据元素和pacs的语义数据元素之间的映射关系。
38.一种实施例中,内协议模块还用于从pacs接收第二交互数据;
39.内语法解析模块还用于基于预定义的内语法解析模板对内协议模块接收到的第二交互数据进行语法解析,以获得第二交互数据对应的第二语法数据元素;
40.内语义解析模块还用于基于预定义的内语义解析模板对内语法解析模块获得的第二语法数据元素进行语义解析,以获得第二交互数据对应的第二语义数据元素;
41.语义转换模块还用于基于交互数据模型将第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素;
42.外语义解析模块还用于基于预定义的外语义解析模板将第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素;
43.外语法解析模块还用于基于预定义的外语法解析模板将第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据;
44.外协议模块还用于向第三方系统发送第三方系统可以理解的交互数据。
45.一种实施例中,底层协议接口包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口;
46.外协议模块和内协议模块根据配置确定各自所使用的底层协议接口类型。
47.一种实施例中,预定义的外语法解析模板、预定义的外语义解析模板、预定义的内语义解析模板和预定义的内语法解析模板通过配置文件保存。
48.一种实施例中,预定义的外语义解析模板和预定义的内语义解析模板包括语法数据元素、语义数据元素以及语法数据元素与语义数据元素的对应关系。
49.一种实施例中,交互通道还包括第一日志记录模块和第二日志记录模块;
50.第一日志记录模块用于记录交互通道的状态日志,状态日志包括交互通道状态、收发数据次数、最近收发数据时间、交互会话策略和交互通道模式;
51.第二日志记录模块用于记录交互通道的数据交互过程日志,数据交互过程日志包括数据接收时间、数据内容、转发结果、转发结果时间和出错原因。
52.一种实施例中,所述装置还包括交互监控管理模块,交互监控管理模块用于对数据交互过程进行监控和管理;
53.交互监控管理模块包括管理模块、日志解析模块、状态查询展示模块、过程查询展示模块和控制模块;
54.管理模块用于对数据交互过程进行监控、重置和恢复;
55.日志解析模块用于读取和解析各个交互通道的状态日志和数据交互过程日志;
56.状态查询展示模块用于对各交互通道状态进行跟踪和展示;
57.过程查询展示模块用于根据时间、状态或者通道名称对各数据交互过程进行跟踪和展示;
58.控制模块用于与pacs协作实现对数据交互过程的控制。
59.本发明实施例提供的与pacs进行交互的方法和装置,通过与第三方系统进行交互的底层协议接口从第三方系统接收第一交互数据;基于预定义的外语法解析模板对第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据元素;基于预定义的外语义解析模板对第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素;基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素;基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;通过与pacs进行交互的底层协议接口向pacs发送pacs可以理解的交互数据。通过对数据交互过程进行细分,复用模板进行语法语义解析,高效地实现了数据交互。无论是第三方系统还是pacs发生变更时,只需要修改配置或者相应的模板,便可以快速实现数据交互需求,而无需开发新的程序来满足数据交互需求,极大地提高了开发效率,缩短了开发周期。
附图说明
60.图1为本发明提供的与pacs进行交互的方法一实施例的流程图;
61.图2为本发明提供的与pacs进行交互的方法又一实施例的流程图;
62.图3为本发明提供的与pacs进行交互的装置一实施例的结构示意图;
63.图4为本发明提供的交互通道一实施例的结构示意图。
具体实施方式
64.下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本技术能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本技术相关的一些操作并没有在说明书中显示或者描述,这是为了避免本技术的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
65.另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
66.本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本技术所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
67.在医院的很多应用场景下,第三方系统均需要于pacs进行交互,例如向pacs下达图像采集的指令、从pacs中调取患者的医学影像等。假设第三方系统a、第三方系统b以及第
三方系统c均需与pacs进行交互,各第三方系统的开发者及开发时间可能不同,不同的第三方系统可能采用不同的交互方式与pacs进行交互,例如采用不同的传输协议,不同的语法、不同的语义等。为了实现与不同的第三方系统的交互,pacs需要通过不同的程序完成与不同第三方系统的交互,需要针对不同的第三方系统进行定制开发,开发效率比较低,开发周期比较长。为了解决该问题,本技术通过对交互过程的细分,实现复用,来提高开发效率,缩短开发周期。下面将通过具体的实施例来进行详细说明。
68.图1为本发明提供的与pacs进行交互的方法一实施例的流程图。如图1所示,本实施例提供的与pacs进行交互的方法可以包括:
69.s101、通过与第三方系统进行交互的底层协议接口从第三方系统接收第一交互数据。
70.当第三方系统向pacs发送交互数据,例如向pacs发送医学影像查询请求时,此时需要采用与第三方系统相匹配的底层协议接口来接收数据。举例来说,若第三方系统a采用的是restful协议,第三方系统b采用的是socket协议,第三方系统c采用的是webservice协议,那么在与第三方系统a进行交互时需要采用restful协议接口从第三方系统a接收交互数据,在与第三方系统b进行交互时需要采用socket协议接口从第三方系统b接收交互数据,在与第三方系统c进行交互时需要采用webservice协议接口从第三方系统c接收交互数据。
71.一种可选的实施方式中,可以预先构建底层协议接口库,例如可以包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口。然后根据配置从底层协议接口库中确定用于与第三方系统进行交互的底层协议接口。只需要修改配置便可以实现从不同的第三方系统接收交互数据。
72.s102、基于预定义的外语法解析模板对第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据元素。
73.本实施例中在从第三方系统接收到第一交互数据之后,便可以基于预定义的外语法解析模板对第一交互数据进行语法解析。外语法解析模板例如可以包括第三方系统的交互数据与第三方系统的语法数据元素之间的映射关系,当有新增的第三方系统与pacs进行交互时,只需要在外语法解析模板中增加相应的映射关系便可以实现外语法解析。预定义的外语法解析模板可以通过配置文件进行保存。
74.s103、基于预定义的外语义解析模板对第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素。
75.本实施例中在获得第一交互数据对应的第一语法数据元素之后,便可以基于预定义的外语义解析模板对第一语法数据元素进行语义解析。外语义解析模板例如可以包括第三方系统的语法数据元素与第三方系统的语义数据元素之间的映射关系。当有新增的第三方系统与pacs进行交互时,只需要在外语义解析模板中增加相应的映射关系便可以实现外语义解析。预定义的外语义解析模板可以通过配置文件进行保存。可选的,外语义解析模板中可以定义用于解析语义元素的xpath路径,以便实现语义的自动解析提取。
76.s104、基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素,交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及第三方系统的语义数据元素和pacs的语义数据元素之间的映射关系。
77.可以理解的是,不同系统通常有不同的语义体系。以病人性别举例来说,第三方系统中采用b表示男性,g表示女性,而pacs中采用m表示男性,f表示女性。为实现第三方系统与pacs之间准确的语义交互,需要构建b-m,g-f的映射关系。本实施例中可以通过构建交互数据模型来实现。交互数据模型可以包括第三方系统的语义数据元素、pacs的语义数据元素以及第三方系统的语义数据元素和pacs的语义数据元素之间的映射关系。
78.本实施例中在获取到第一交互数据对应的第一语义数据元素之后,便可以根据交互数据模型所包括的映射关系,将属于第三方系统的第一语义数据元素转换为pacs系统可以理解的语义数据元素。
79.需要说明的是,交互数据模型需要完整通用。交互数据模型例如可以采用树形结构,根节点不包含语义,包括若干一级子节点,如申请单、报告和检查状态等。一种典型的交互数据模型可以包括1.申请单和2.报告。具体的:
80.1.申请单:
81.a)申请单id;
82.b)病人id、病人姓名、病人类型、病人出生日期和病人性别等;
83.c)检查部位、检查项目等;
84.d)临床科室、申请医生、临床诊断等。
85.2.报告:
86.a)书写医生姓名,书写医生id,审核医生id,审核医生姓名;
87.b)报告内容。
88.s105、基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素。
89.本实施例中在完成第三方系统与pacs之间的语义转换,得到pacs系统可以理解的语义数据元素之后,便可以基于预定义的内语义解析模板进行语义解析。内语义解析模板例如可以包括pacs的语法数据元素与pacs的语义数据元素之间的映射关系。当pacs有新增的功能子系统时,只需要在内语义解析模板中增加相应的映射关系便可以实现内语义解析。预定义的内语义解析模板可以通过配置文件进行保存。可选的,内语义解析模板中可以定义用于解析语义元素的xpath路径,以便实现语义的自动解析提取。
90.s106、基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据。
91.本实施例中在完成内语义解析,得到pacs可以理解的语法数据元素之后,便可以基于预定义的内语法解析模板进行内语法解析。内语法解析模板例如可以包括pacs的语法数据元素与pacs的交互数据之间的映射关系。当pacs有新增的功能子系统时,只需要在内语法解析模板中增加相应的映射关系便可以实现内语法解析。预定义的内语法解析模板可以通过配置文件进行保存。
92.s107、通过与pacs进行交互的底层协议接口向pacs发送pacs可以理解的交互数据。
93.本实施例中在得到pacs可以理解的交互数据之后,只需要通过与pacs相匹配的底层协议接口向pacs发送相应的交互数据即可完成第三方系统向pacs的数据发送。本实施例中与pacs进行交互的底层协议接口可以通过配置确定。
94.本实施例提供的与pacs进行交互的方法,通过与第三方系统进行交互的底层协议接口从第三方系统接收第一交互数据;基于预定义的外语法解析模板对第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据元素;基于预定义的外语义解析模板对第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素;基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素;基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;通过与pacs进行交互的底层协议接口向pacs发送pacs可以理解的交互数据,实现了第三方系统向pacs的数据发送。通过对数据交互过程进行细分,复用模板进行语法语义解析,高效地实现了数据交互。无论是第三方系统还是pacs发生变更时,只需要修改配置或者相应的模板,便可以快速实现数据交互需求,而无需开发新的程序来满足数据交互需求,极大地提高了开发效率,缩短了开发周期。
95.图2为本发明提供的与pacs进行交互的方法又一实施例的流程图。如图2所示,在图1所示实施例的基础上,本实施例提供的与pacs进行交互的方法还可以包括:
96.s201、通过与pacs进行交互的底层协议接口从pacs接收第二交互数据。
97.s202、基于预定义的内语法解析模板对第二交互数据进行语法解析,以获得第二交互数据对应的第二语法数据元素。
98.s203、基于预定义的内语义解析模板对第二语法数据元素进行语义解析,以获得第二交互数据对应的第二语义数据元素。
99.s204、基于交互数据模型将第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素。
100.s205、基于预定义的外语义解析模板将第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素。
101.s206、基于预定义的外语法解析模板将第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据。
102.s207、通过与第三方系统进行交互的底层协议接口向第三方系统发送第三方系统可以理解的交互数据。
103.本实施例提供的与pacs进行交互的方法,在图1所示实施例的基础上,进一步地实现了pacs向第三方系统的数据发送,高效地实现了第三方系统与pacs的数据交互。
104.一种可选的实施方式中,底层协议接口根据配置确定,包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口。
105.一种可选的实施方式中,预定义的外语法解析模板、预定义的外语义解析模板、预定义的内语义解析模板和预定义的内语法解析模板通过配置文件保存。
106.一种可选的实施方式中,预定义的外语义解析模板和预定义的内语义解析模板包括语法数据元素、语义数据元素以及语法数据元素与语义数据元素的对应关系。
107.为了便于对第三方系统与pacs的数据交互过程的监控和管理,以便在出现异常时及时定位问题,本实施例提供的与pacs进行交互的方法,在上述任一实施例的基础上,还包括:记录第三方系统与pacs进行数据交互过程的日志。日志例如可以记录数据交互过程中收发数据的次数、收发数据的时间、数据内容和出错原因等。
108.在上述实施例的基础上,为了向用户提供统一的交互监控管理服务,以提升用户的使用效率,本实施例提供的方法还可以包括:通过对日志进行解析以实现对数据交互过程的监控和管理。
109.图3为本发明提供的与pacs进行交互的装置一实施例的结构示意图。如图3所示,本实施例提供的与pacs进行交互的装置可以包括:交互过程模块30,交互过程模块30用于实现第三方系统与pacs之间的数据交互过程。交互过程模块30包括至少一个交互通道301,交互通道301用于实现一种单一的数据交互过程。一个交互通道只负责一个流程的交互需求,避免承载过多的职责,而导致的逻辑复杂和容易出错的问题。如图3所示,交互通道1用于负责第三方系统a流程1与pacs子系统a之间的数据交互过程,交互通道2用于负责第三方系统a流程2与pacs子系统b之间的数据交互过程,交互通道n用于负责第三方系统b与pacs子系统c之间的数据交互过程。其中,交互通道的名称可以通过配置描述。
110.请参考图4,图4为本发明提供的交互通道一实施例的结构示意图。如图4所示,本实施例提供的交互通道301可以包括:外协议模块3011、外语法解析模块3012、外语义解析模块3013、语义转换模块3014、内语义解析模块3015、内语法解析模块3016和内协议模块3017。
111.其中,外协议模块3011用于实现与第三方系统进行交互的底层协议接口,用于从第三方系统接收第一交互数据;
112.外语法解析模块3012用于基于预定义的外语法解析模板对外协议模块接收到的第一交互数据进行语法解析,以获得第一交互数据对应的第一语法数据元素;
113.外语义解析模块3013用于基于预定义的外语义解析模板对外语法解析模块获得的第一语法数据元素进行语义解析,以获得第一交互数据对应的第一语义数据元素;
114.语义转换模块3014用于基于交互数据模型将第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素;
115.内语义解析模块3015用于基于预定义的内语义解析模板将pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;
116.内语法解析模块3016用于基于预定义的内语法解析模板将pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;
117.内协议模块3017用于实现与pacs进行交互的底层协议接口,用于向pacs发送pacs可以理解的交互数据;
118.其中,交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及第三方系统的语义数据元素和pacs的语义数据元素之间的映射关系。交互数据模型是一个通用的模型,包含了所有pacs与第三方系统数据交互过程中需要使用的数据,在不同医院或者不同系统交互过程中,可以使用交互数据模型的全集或子集。基于这个统一的交互数据模型,可以完成不同系统间的语义转换,实现复用。在开发不同的交互通道时,不需要根据不同的交互需求,而频繁的修改交互数据模型。
119.外协议模块和内协议模块实现了多种不同的底层数据交换功能,将其与语法解析和语义转换进行分离,可以实现功能的最大化复用,避免重复开发;基于预定义模板的数据解析方法,通过配置文件的修改便能够调整语法结构和语义信息,而不需要修改代码,能够较大程度上复用现有代码,提升开发效率和质量。
120.交互通道301负责的一次交互过程称为一个交互会话。协议模块(外协议模块和内协议模块)实现了交互会话的两种策略:同步和异步。同步是指交互通道的协议模块收到转发数据时,需要等待转发结果,并将转发结果在同一交互会话中返回给数据发送方。异步是指交互通道的协议模块收到转发数据时,不马上完成转发,立刻返回,结束此交互会话,并在合适的时机完成数据转发,并通过新的交互会话将转发结果返回给最初的数据发送方。
121.本实施例提供的与pacs进行交互的装置,通过用于实现单一数据交互过程的交互通道进行数据交互,不仅实现了交互过程的隔离,提升了数据交互质量,而且简化了逻辑,避免出错;交互通道内,通过拆分协议,采用模板进行语法、语义解析,构建交互数据模型完成语义转换,最大粒度实现重用,提升开发效率;基于预定义模板(预定义的外语法解析模板、预定义的外语义解析模板、预定义的内语义解析模板和预定义的内语法解析模板)进行数据解析便于进行灵活扩展,有助于提升开发效率和开发质量;协议模块通过配置进行选配,不仅可以增加灵活性,而且有助于提升开发效率和开发质量。
122.在上述实施例的基础上,为实现pacs向第三方系统的数据发送,本实施例提供的与pacs进行交互的装置中:
123.内协议模块3017还用于从pacs接收第二交互数据;
124.内语法解析模块3016还用于基于预定义的内语法解析模板对内协议模块接收到的第二交互数据进行语法解析,以获得第二交互数据对应的第二语法数据元素;
125.内语义解析模块3015还用于基于预定义的内语义解析模板对内语法解析模块获得的第二语法数据元素进行语义解析,以获得第二交互数据对应的第二语义数据元素;
126.语义转换模块3014还用于基于交互数据模型将第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素;
127.外语义解析模块3013还用于基于预定义的外语义解析模板将第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素;
128.外语法解析模块3012还用于基于预定义的外语法解析模板将第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据;
129.外协议模块3011还用于向第三方系统发送第三方系统可以理解的交互数据。
130.一种可选的实施方式中,底层协议接口包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口;
131.外协议模块和内协议模块根据配置确定各自所使用的底层协议接口类型。
132.一种可选的实施方式中,预定义的外语法解析模板、预定义的外语义解析模板、预定义的内语义解析模板和预定义的内语法解析模板通过配置文件保存。
133.一种可选的实施方式中,预定义的外语义解析模板和预定义的内语义解析模板包括语法数据元素、语义数据元素以及语法数据元素与语义数据元素的对应关系。
134.下面以图3所示的与pacs进行交互的装置为例,来阐述第三方系统发送数据给pacs的处理流程:外协议模块收到数据之后,调用外语法解析模块完成解析获得解析后的数据,调用外语义解析模块转换为符合通用交互数据模型的数据实例,调用内语义解析模块转换为pacs子系统需要使用的语义元素,再调用内语法解析模块转换为pacs子系统使用的语法格式,最后调用内协议解析模块完成数据的发送,获得数据转发结果后通过同步的交互会话返回结果或者通过异步的新交互会话返回结果。
135.第三方系统与pacs进行交互的交互数据分为两类:信息和命令。交互通道既不使用数据,也不执行命令,只是在保持不丢失语义的前提下,完成数据的转发。
136.在与pacs进行交互的装置中,可以通过配置控制交互通道的协议模块所使用的协议,比如外协议模块使用restful协议接口,内协议模块使用数据库接口。而协议模块中实现的协议接口可以包括restful协议接口,数据库协议接口,webservice协议接口,共享文件接口和socket协议接口。
137.其中,restful协议接口可以实现基于restful协议的交互功能,通过配置指定url,可实现收发数据,具有较强的可复用性;socket协议接口可以实现基于tcp协议的交互功能,包括绑定、监听、发送和接收,通过配置指定ip和端口,可实现收发数据,具有较强的可复用性;webservice协议接口可以实现基于webservice的交互功能,通过配置指定服务的wsdl描述文件,能够动态完成服务实例创建,并通过配置指定url,实现收发数据,具有较强的可复用性;共享文件接口基于ftp或cifs协议,通过配置指定ftp地址和共享目录地址,用户密码信息后,可实现收发数据,具有较强的可复用性。数据库协议接口在不同系统间存在较大差别,核心是通过sql访问数据库,因此针对容易变化的特点,建立一种基于配置的sql生成方法:配置中定义sql模板,实现两种方式:1.将需要替换为实际参数的部分定义为语义元素名称,在交互通道中读取配置,根据语义元素名称进行替换,生成实际使用的sql;2.将获取到的数据,根据配置,完成语义id的映射转换。
138.交互通道中用于实现语义转换的交互数据模型需要完整通用,可以采用树形结构,根节点不包含语义,包括若干一级子节点,如申请单,报告,检查状态等。
139.第三方系统与pacs进行交互的交互数据常以文本方式存在,包括但不限于:xml、json以及其他文本消息格式。
140.在上述任一实施例的基础上,为便于对第三方系统与pacs的数据交互过程进行监控和管理,本实施例提供的与pacs进行交互的装置中,交互通道还包括第一日志记录模块和第二日志记录模块;第一日志记录模块用于记录交互通道的状态日志,状态日志包括交互通道状态、收发数据次数、最近收发数据时间、交互会话策略和交互通道模式;第二日志记录模块用于记录交互通道的数据交互过程日志,数据交互过程日志包括数据接收时间、数据内容、转发结果、转发结果时间和出错原因。
141.在上述任一实施例的基础上,为了提供统一的交互监控管理服务,以提升pacs用户的使用效率。本实施例提供的与pacs进行交互的装置还包括交互监控管理模块,交互监控管理模块用于对数据交互过程进行监控和管理。具体地,交互监控管理模块包括管理模块、日志解析模块、状态查询展示模块、过程查询展示模块和控制模块。
142.其中,管理模块用于对数据交互过程进行监控、重置和恢复;
143.日志解析模块用于读取和解析各个交互通道的状态日志和数据交互过程日志;
144.状态查询展示模块用于对各交互通道状态进行跟踪和展示;
145.过程查询展示模块用于根据时间、状态或者通道名称对各数据交互过程进行跟踪和展示;
146.控制模块用于与pacs协作实现对数据交互过程的控制,例如激发重传、通知用户等。
147.本文参照了各种示范实施例进行说明。然而,本领域的技术人员将认识到,在不脱
离本文范围的情况下,可以对示范性实施例做出改变和修正。例如,各种操作步骤以及用于执行操作步骤的组件,可以根据特定的应用或考虑与系统的操作相关联的任何数量的成本函数以不同的方式实现(例如一个或多个步骤可以被删除、修改或结合到其他步骤中)。
148.另外,如本领域技术人员所理解的,本文的原理可以反映在计算机可读存储介质上的计算机程序产品中,该可读存储介质预装有计算机可读程序代码。任何有形的、非暂时性的计算机可读存储介质皆可被使用,包括磁存储设备(硬盘、软盘等)、光学存储设备(cd-rom、dvd、blu ray盘等)、闪存和/或诸如此类。这些计算机程序指令可被加载到通用计算机、专用计算机或其他可编程数据处理设备上以形成机器,使得这些在计算机上或其他可编程数据处理装置上执行的指令可以生成实现指定的功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理设备以特定的方式运行,这样存储在计算机可读存储器中的指令就可以形成一件制造品,包括实现指定功能的实现装置。计算机程序指令也可以加载到计算机或其他可编程数据处理设备上,从而在计算机或其他可编程设备上执行一系列操作步骤以产生一个计算机实现的进程,使得在计算机或其他可编程设备上执行的指令可以提供用于实现指定功能的步骤。
149.以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
技术特征:
1.一种与pacs进行交互的方法,其特征在于,包括:通过与第三方系统进行交互的底层协议接口从第三方系统接收第一交互数据;基于预定义的外语法解析模板对所述第一交互数据进行语法解析,以获得所述第一交互数据对应的第一语法数据元素;基于预定义的外语义解析模板对所述第一语法数据元素进行语义解析,以获得所述第一交互数据对应的第一语义数据元素;基于交互数据模型将所述第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素,所述交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及所述第三方系统的语义数据元素和所述pacs的语义数据元素之间的映射关系;基于预定义的内语义解析模板将所述pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;基于预定义的内语法解析模板将所述pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;通过与pacs进行交互的底层协议接口向pacs发送所述pacs可以理解的交互数据。2.如权利要求1所述的方法,其特征在于,还包括:通过与pacs进行交互的底层协议接口从pacs接收第二交互数据;基于所述预定义的内语法解析模板对所述第二交互数据进行语法解析,以获得所述第二交互数据对应的第二语法数据元素;基于所述预定义的内语义解析模板对所述第二语法数据元素进行语义解析,以获得所述第二交互数据对应的第二语义数据元素;基于所述交互数据模型将所述第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素;基于所述预定义的外语义解析模板将所述第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素;基于所述预定义的外语法解析模板将所述第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据;通过与第三方系统进行交互的底层协议接口向第三方系统发送所述第三方系统可以理解的交互数据。3.如权利要求1所述的方法,其特征在于,所述底层协议接口根据配置确定,包括restful协议接口、数据库协议接口、webservice协议接口、共享文件接口和socket协议接口。4.如权利要求1所述的方法,其特征在于,所述预定义的外语法解析模板、所述预定义的外语义解析模板、所述预定义的内语义解析模板和所述预定义的内语法解析模板通过配置文件保存。5.如权利要求1所述的方法,其特征在于,所述预定义的外语义解析模板和所述预定义的内语义解析模板包括语法数据元素、语义数据元素以及所述语法数据元素与所述语义数据元素的对应关系。6.如权利要求1-5任一项所述的方法,其特征在于,还包括:记录第三方系统与pacs进行数据交互过程的日志。
7.如权利要求6所述的方法,其特征在于,还包括:通过对所述日志进行解析以实现对所述数据交互过程的监控和管理。8.一种与pacs进行交互的装置,其特征在于,包括:交互过程模块,所述交互过程模块用于实现第三方系统与pacs之间的数据交互过程;所述交互过程模块包括至少一个交互通道,所述交互通道包括外协议模块、外语法解析模块、外语义解析模块、语义转换模块、内语义解析模块、内语法解析模块和内协议模块;所述外协议模块用于实现与第三方系统进行交互的底层协议接口,用于从第三方系统接收第一交互数据;所述外语法解析模块用于基于预定义的外语法解析模板对所述外协议模块接收到的所述第一交互数据进行语法解析,以获得所述第一交互数据对应的第一语法数据元素;所述外语义解析模块用于基于预定义的外语义解析模板对所述外语法解析模块获得的所述第一语法数据元素进行语义解析,以获得所述第一交互数据对应的第一语义数据元素;所述语义转换模块用于基于交互数据模型将所述第一交互数据对应的第一语义数据元素转换为pacs可以理解的语义数据元素;所述内语义解析模块用于基于预定义的内语义解析模板将所述pacs可以理解的语义数据元素转换为pacs可以理解的语法数据元素;所述内语法解析模块用于基于预定义的内语法解析模板将所述pacs可以理解的语法数据元素转换为pacs可以理解的交互数据;所述内协议模块用于实现与pacs进行交互的底层协议接口,用于向pacs发送所述pacs可以理解的交互数据;所述交互数据模型包括第三方系统的语义数据元素、pacs的语义数据元素以及所述第三方系统的语义数据元素和所述pacs的语义数据元素之间的映射关系。9.如权利要求8所述的装置,其特征在于,所述内协议模块还用于从pacs接收第二交互数据;所述内语法解析模块还用于基于所述预定义的内语法解析模板对所述内协议模块接收到的所述第二交互数据进行语法解析,以获得所述第二交互数据对应的第二语法数据元素;所述内语义解析模块还用于基于所述预定义的内语义解析模板对所述内语法解析模块获得的所述第二语法数据元素进行语义解析,以获得所述第二交互数据对应的第二语义数据元素;所述语义转换模块还用于基于所述交互数据模型将所述第二交互数据对应的第二语义数据元素转换为第三方系统可以理解的语义数据元素;所述外语义解析模块还用于基于所述预定义的外语义解析模板将所述第三方系统可以理解的语义数据元素转换为第三方系统可以理解的语法数据元素;所述外语法解析模块还用于基于所述预定义的外语法解析模板将所述第三方系统可以理解的语法数据元素转换为第三方系统可以理解的交互数据;所述外协议模块还用于向第三方系统发送所述第三方系统可以理解的交互数据。10.如权利要求8所述的装置,其特征在于,所述底层协议接口包括restful协议接口、
数据库协议接口、webservice协议接口、共享文件接口和socket协议接口;所述外协议模块和所述内协议模块根据配置确定各自所使用的底层协议接口类型。11.如权利要求8所述的装置,其特征在于,所述预定义的外语法解析模板、所述预定义的外语义解析模板、所述预定义的内语义解析模板和所述预定义的内语法解析模板通过配置文件保存。12.如权利要求8所述的装置,其特征在于,所述预定义的外语义解析模板和所述预定义的内语义解析模板包括语法数据元素、语义数据元素以及所述语法数据元素与所述语义数据元素的对应关系。13.如权利要求8-12任一项所述的装置,其特征在于,所述交互通道还包括第一日志记录模块和第二日志记录模块;所述第一日志记录模块用于记录交互通道的状态日志,所述状态日志包括交互通道状态、收发数据次数、最近收发数据时间、交互会话策略和交互通道模式;所述第二日志记录模块用于记录交互通道的数据交互过程日志,所述数据交互过程日志包括数据接收时间、数据内容、转发结果、转发结果时间和出错原因。14.如权利要求13所述的装置,其特征在于,还包括交互监控管理模块,所述交互监控管理模块用于对所述数据交互过程进行监控和管理;所述交互监控管理模块包括管理模块、日志解析模块、状态查询展示模块、过程查询展示模块和控制模块;所述管理模块用于对数据交互过程进行监控、重置和恢复;所述日志解析模块用于读取和解析各个交互通道的状态日志和数据交互过程日志;所述状态查询展示模块用于对各交互通道状态进行跟踪和展示;所述过程查询展示模块用于根据时间、状态或者通道名称对各数据交互过程进行跟踪和展示;所述控制模块用于与pacs协作实现对数据交互过程的控制。
技术总结
本发明提供一种与PACS进行交互的方法和装置,该方法包括:从第三方系统接收第一交互数据;基于预定义的外语法解析模板对第一交互数据进行语法解析,以获得第一语法数据元素;基于预定义的外语义解析模板对第一语法数据元素进行语义解析,以获得第一语义数据元素;基于交互数据模型将第一语义数据元素转换为PACS可以理解的语义数据元素;基于预定义的内语义解析模板将PACS可以理解的语义数据元素转换为PACS可以理解的语法数据元素;基于预定义的内语法解析模板将PACS可以理解的语法数据元素转换为PACS可以理解的交互数据;向PACS发送PACS可以理解的交互数据。该方法能够提高开发效率,缩短开发周期。缩短开发周期。缩短开发周期。
技术研发人员:
李家国 郭威 张士玉 沈忠明 宋炜强
受保护的技术使用者:
浙江格林蓝德信息技术有限公司
技术研发日:
2021.08.19
技术公布日:
2023/2/20