一种实现HL7、FHIR标准、自定义XML消息的解析生成方法技术

技术编号:33073444 阅读:15 留言:0更新日期:2022-04-15 10:08
本发明专利技术公开了一种实现HL7、FHIR标准、自定义XML消息的解析生成方法,涉及文件解析生成领域,本发明专利技术要进行消息解析时根据当前遍历路径信息从注释模型中查询XML元素绑定的数据组和数据元信息,从而提取数据元并组装成数据组。同理在进行消息生成时根据注释模型定义的绑定信息、数据组、数据元信息进行数据动态填充、元素结构动态增加或减少,生成对应的XML消息实例。本方法不需要通过编写代码的方式实现,所以在项目上线过程中可以根据实际情况进行调整,并且现场可以根据需求进行定制化开发,增加了项目对接灵活度,降低了开发人员学习不同标准的成本和开发难度,可以实现可视化的方式统一管理项目现场的标准版本,方便后期维护。维护。维护。

【技术实现步骤摘要】
一种实现HL7、FHIR标准、自定义XML消息的解析生成方法


[0001]本专利技术涉及文件解析生成领域,具体涉及一种实现HL7、FHIR标准、自定义XML消息的解析生成方法。

技术介绍

[0002]我国医疗信息化已经经历20多年建设,从初期单机软件建设发展到院内医疗系统之间的信息交互、以及区域内的医院间信息交互共享。这些交互共享需求的实现都需要统一的交互标准作为支撑。
[0003]HL7标准是国际通用医疗信息系统交互标准,包括版本有V2.x、V3标准,其中V2.x标准是通过特殊的分隔符实现医疗信息载体的定义,V3标准是通过XML格式表达实现医疗信息。国际医疗标准组织针对HL7 V2.x扩展性相对差、V3信息定义复杂等问题提出了FHIR标准,该标准采用了支持JSON、XML、RDF等多文件格式的模式。
[0004]但是由于在国内各家医院信息建设情况各不相同,信息系统厂商技术实现差异大,部分系统采用的是V2.x标准,部分系统实现的是V3、最新的信息系统采用的是FHIR标准、甚至有些系统采用的是自定义的消息标准。虽然信息的内容没有发生变化,但是载体格式不统一。
[0005]医院信息建设人员如何理解、使用这些标准,并且能够基于不同系统使用不同标准格式进行信息交互成为了需要解决的问题。现在存在针对HL7系列标准和FHIR标准消息的解析和生成需求的技术方法,但是这些技术方法存在如下的缺点:1. 在标准消息解析开发过程中,协议消息开发人员既要理解标准体系,也要学习内部消息格式、实现与内部标准格式的转换。在消息生成过程中,需要将内部消息格式、转码成标准消息实例。这些工作都需要通过硬编码过程实现,导致学习周期长,编码工作量大。
[0006]2. 采用硬编码的方式实现,不利于后期交互对接现场实际需求的灵活变动、错误定位和及时修改。
[0007]3. 部分技术方法采用配置的模式实现,但是缺乏内部消息的统一管理,使得整个配置管理体系功能单一,不利于多版本的统一管理和知识沉淀。
[0008]4. 不管采用配置的模式还是采用硬编码的方法,基本是不同的标准版本需要采用不同的技术方法实现,例如HL7V2.x的技术实现和V3的不同,HL7V3的技术实现和FHIR的不同。这同样增加了学习和维护的成本。

技术实现思路

[0009]针对现有技术中的上述不足,本专利技术提供的一种实现HL7、FHIR标准、自定义XML消息的解析生成方法解决了医疗信息系统之间信息交互难的问题。
[0010]为了达到上述专利技术目的,本专利技术采用的技术方案为:提供一种实现HL7、FHIR标准、自定义XML消息的解析生成方法,其包括以下步骤:
S1、构建元素注释信息,得到注释模型;S2、对待处理消息进行类型识别及预处理,得到待解析消息;S3、判断注释模型中是否存在与待解析消息对应的元素注释信息,若是则进入步骤S4;否则输出消息解析异常信息,结束解析;S4、根据元素注释信息解析当前待解析消息,将从待解析消息的同一个根元素中解析得到的信息组装成一个JSON数据组,得到格式为JSON的解析内容;S5、判断注释模型中是否存在格式为JSON的解析内容所要生成的消息类型的元素注释信息,若是则进入步骤S6;否则输出生成异常信息,结束生成;S6、对格式为JSON的解析内容的数据组进行遍历,判断注释模型是否存在与解析内容的数据组所对应的元素注释信息,若是则进入步骤S7;否则将解析内容转成XML格式输出;S7、基于元素注释信息对解析内容的数据组及数据组的数据元生成对应的属性信息和元素信息,完成消息生成,实现HL7、FHIR标准、自定义XML消息之间的相互转换。
[0011]进一步地,步骤S2的具体方法为:获取待处理消息的类型,若类型为HL7V3版本格式、FHIR标准或自定义XML消息则保持其类型不变;若类型为HL7V2版本格式,则将其转换为XML格式;得到待解析消息。
[0012]进一步地,步骤S4的具体方法包括以下子步骤:S4

1、遍历当前待解析消息的根元素,判断根元素能否在注释模型中找到映射信息,对于能找到映射信息的根元素,进入步骤S4

2;对于不能找到映射信息的根元素,输出消息解析异常信息,结束该根元素的解析生成;S4

2、遍历当前根元素的子元素,判断是否存在同名重复元素,若是则进入步骤S4

3,否则进入步骤S4

4;S4

3、将同名重复元素在注释模型中进行条件匹配,对于条件匹配成功的同名重复元素,进入步骤S4

5;对于条件匹配失败的同名重复元素,提示警告信息;S4

4、直接获取并根据该子元素在注释模型中的元素注释信息解析该子元素的信息,将同一个根元素中解析得到的信息组装成一个JSON数据组,得到格式为JSON的解析内容,完成消息解析;S4

5、根据同名重复元素在注释模型中匹配得到的元素注释信息解析其信息,将同一个根元素中解析得到的信息组装成一个JSON数据组,得到格式为JSON的解析内容,完成消息解析。
[0013]进一步地,步骤S4

3中在注释模型中进行条件匹配的具体方法为:分别获取各同名重复元素的子元素的属性,判断该属性是否在注释模型中存在元素注释信息,若是则为成功匹配到元素注释信息的同名重复元素;否则为未匹配到元素注释信息的同名重复元素。
[0014]进一步地,步骤S4

5中根据各子元素在注释模型中记录的元素注释信息解析子元素的信息的具体方法为:将同名重复元素的子元素的属性所对应的元素注释信息作为该同名重复元素的元素注释信息的限定内容,将同名重复元素的子元素的内容作为该同名重复元素的内容。
[0015]进一步地,步骤S7的具体方法包括以下子步骤:
S7

1、从元素注释信息中获取每个数据组的属性,为每个数据组的属性构建一个路径;S7

2、在对应路径下为数据组中每个数据元构建一个子元素,从元素注释信息中获取数据组中数据元的属性;S7

3、判断数据元的属性是否存在限定内容,若是则在该数据元对应的子元素中建立一个与该限定内容对应的子元素,即数据元对应的孙元素;S7

4、从元素注释信息中获取每个数据元的内容对应的数据,若数据元仅有子元素,则将该数据的内容对应的数据作为该子元素的内容;若数据元有孙元素,则将该数据的内容对应的数据作为该孙元素的内容,完成消息填充;S7

5、对填充完成的消息进行代码转换和格式转换,完成消息生成。
[0016]本专利技术的有益效果为:本方法不需要通过编写代码的方式实现,所以在项目上线过程中可以根据实际情况进行调整,并且现场可以根据需求进行定制化开发,增加了项目对接灵活度,降低了开发人员学习不同标准的成本和开发难度,可以实现可视化的方式统一管理项目现场的标准版本,方便后期维本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现HL7、FHIR标准、自定义XML消息的解析生成方法,其特征在于,包括以下步骤:S1、构建元素注释信息,得到注释模型;S2、对待处理消息进行类型识别及预处理,得到待解析消息;S3、判断注释模型中是否存在与待解析消息对应的元素注释信息,若是则进入步骤S4;否则输出消息解析异常信息,结束解析;S4、根据元素注释信息解析当前待解析消息,将从待解析消息的同一个根元素中解析得到的信息组装成一个JSON数据组,得到格式为JSON的解析内容;S5、判断注释模型中是否存在格式为JSON的解析内容所要生成的消息类型的元素注释信息,若是则进入步骤S6;否则输出生成异常信息,结束生成;S6、对格式为JSON的解析内容的数据组进行遍历,判断注释模型是否存在与解析内容的数据组所对应的元素注释信息,若是则进入步骤S7;否则将解析内容转成XML格式输出;S7、基于元素注释信息对解析内容的数据组及数据组的数据元生成对应的属性信息和元素信息,完成消息生成,实现HL7、FHIR标准、自定义XML消息之间的相互转换。2.根据权利要求1所述的实现HL7、FHIR标准、自定义XML消息的解析生成方法,其特征在于,步骤S2的具体方法为:获取待处理消息的类型,若类型为HL7V3版本格式、FHIR标准或自定义XML消息则保持其类型不变;若类型为HL7V2版本格式,则将其转换为XML格式;得到待解析消息。3.根据权利要求1所述的实现HL7、FHIR标准、自定义XML消息的解析生成方法,其特征在于,步骤S4的具体方法包括以下子步骤:S4

1、遍历当前待解析消息的根元素,判断根元素能否在注释模型中找到映射信息,对于能找到映射信息的根元素,进入步骤S4

2;对于不能找到映射信息的根元素,输出消息解析异常信息,结束该根元素的解析生成;S4

2、遍历当前根元素的子元素,判断是否存在同名重复元素,若是则进入步骤S4

3,否则进入步骤S4

4;S4

3、将同名重复元素在注释模型中进行条件匹配,对于条件匹配成功的同名重复元素,进入步骤S4

5;对于条件匹配失败的同名重复元素,提示警告信息;S4<...

【专利技术属性】
技术研发人员:王西恩张晓宇郑云生
申请(专利权)人:成都瑞华康源科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1