CN110209699A - 一种基于openEHR Composition模板的数据接口动态生成与执行方法 - Google Patents

一种基于openEHR Composition模板的数据接口动态生成与执行方法 Download PDF

Info

Publication number
CN110209699A
CN110209699A CN201910427161.1A CN201910427161A CN110209699A CN 110209699 A CN110209699 A CN 110209699A CN 201910427161 A CN201910427161 A CN 201910427161A CN 110209699 A CN110209699 A CN 110209699A
Authority
CN
China
Prior art keywords
data
template
composition
openehr
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910427161.1A
Other languages
English (en)
Other versions
CN110209699B (zh
Inventor
吕旭东
段会龙
蔡海领
刘政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910427161.1A priority Critical patent/CN110209699B/zh
Publication of CN110209699A publication Critical patent/CN110209699A/zh
Application granted granted Critical
Publication of CN110209699B publication Critical patent/CN110209699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于openEHR Composition模板的数据接口动态生成与执行方法,包括以下步骤:(1)解析Composition模板,得到Composition模板对象;(2)建立Composition模板对象中各节点间的组合关系和LINK关系;(3)采用经过步骤(2)处理后的Composition模板对象,结合Composition模板中各openEHR模板与数据库表的映射信息,得到模板映射信息(TRM)对象;(4)根据步骤(3)得到的模板映射信息对象生成数据接口;(5)利用步骤(4)得到的数据接口解析客户的HTTP请求得到模板映射信息数据实例;(6)根据模板映射信息数据实例拼接得到SQL语句,执行SQL语句并将查询结果返回给用户。本发明提出的基于openEHR Composition模板的动态接口具有灵活性、扩展性,能够满足复杂的医疗数据访问需求,具有很强的理论指导与应用价值。

Description

一种基于openEHR Composition模板的数据接口动态生成与 执行方法
技术领域
本发明涉及计算机软件数据接口生成技术领域,具体涉及一种基于openEHRComposition模板的数据接口动态生成与执行方法。
背景技术
为了促进和提升医疗数据的有效利用,医疗机构都在开展医疗数据集成的工作,将医疗机构中碎片化的数据进行整合,并为上层应用提供数据访问。
他们的构建方式通常是构建数据存储中心集成数据,然后再基于数据存储中心提供数据接口,来为上层应用提供支持。然而,上述这样提供数据访问服务的方式,并不能满足医疗数据的访问需求。
常见提供数据访问服务的方式是根据数据需求定制开发相应的数据接口。首先,数据需求人员提出数据需求,以文档的形式提交给数据管理人员;然后,数据管理人员与数据需求人员商讨数据需求,并确定接口文档;接着便进行数据接口的开发工作,数据接口的具体开发实现又可以分为两种方案,方案一是由数据管理人员进行接口开发并部署,方案二是由第三方开发人员进行开发,但是由于医疗数据的安全性,在此种开发过程中,第三方开发人员无法直接操作数据库,而只能基于数据库文档或者测试数据库进行开发,开发好的接口还需数据管理人员审核通过后才能部署;接口开发完成后,接口开发人员还需要与数据需求人员一起进行接口的联调,确保接口的正确,至此,接口的定制开发才算完成。这种定制开发数据接口的方式无疑需要极高的开发成本。
openEHR规范通过参考模型和领域知识模型来表达医疗知识,参考模型是对信息系统中稳定不变的概念进行建模,领域知识模型包括原型和模板表达领域知识及实际应用需求。通过参考模型与原型模型的分离,使基于openEHR构建的系统能够适应领域知识的变化,具有可复用、可扩展、易维护等特点。因此,openEHR规范为实现具备扩展性、灵活性的医疗数据接口提供了可能。同时,越来越多的基于openEHR的数据库也为基于openEHR的数据接口提供了底层的数据存储支持。
目前,有研究采用openEHR规范构建了可扩展的临床数据中心,系统能够将领域知识模型转化为数据存储模型,进而生成数据存储结构,然后根据存储结构,再生成数据接口。
但是,该研究实现的数据接口仍然存在缺陷,其接口实际上是基于存储模型生成的,只能访问该存储模型所对应的数据,在实际场景中,医疗数据的访问需求与医疗数据的存储模型并不一致,因此,上述数据接口并不能满足数据访问需求。
发明内容
针对现有技术的不足,本发明提出一种基于openEHR Composition模板的数据接口动态生成与执行方法。
一种基于openEHR Composition模板的数据接口动态生成与执行方法,包括以下步骤:
(1)解析Composition模板,得到Composition模板对象;
(2)建立Composition模板对象中各节点间的组合关系和LINK关系;
(3)采用经过步骤(2)处理后的Composition模板对象,结合Composition模板中各openEHR模板与数据库表的映射信息,得到模板映射信息(TRM)对象;
(4)根据步骤(3)得到的模板映射信息对象生成数据接口;
(5)利用步骤(4)得到的数据接口解析客户的HTTP请求得到模板映射信息数据实例;
(6)根据模板映射信息数据实例拼接得到SQL语句,执行该SQL查询语句并将查询结果返回给用户。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
可选的,步骤(1)中的Composition模板由openEHR模板按树形结构无重复组合,组合方法符合openEHR规范。
可选的,步骤(1)具体包括:
使用树的遍历算法层序遍历Composition模板中被组合的Entry类型原型,在Entry模板库中获取Entry类型原型对应的Entry类型模板;
解析Entry类型模板,得到Entry模板信息;
结合Entry模板信息和Entry类型模板,得到所述Composition模板对象。
可选的,步骤(1)中得到的Composition模板对象包括Composition模板的属性节点信息、结构信息、LINK信息、以及Composition模板与数据库之间的映射信息。
可选的,步骤(3)中的模板映射信息对象包括属性节点信息、映射得到数据接口的输入参数、以及输出参数信息。
可选的,所述数据接口使用JSON格式的数据进行交互。
可选的,步骤(5)具体包括:
解析客户的HTTP请求,得到接口信息和传输数据;
根据接口信息得到对应的模板映射信息;
根据传输数据以及模板映射信息,使用树的构造算法构造得到所述模板映射信息数据实例。
可选的,步骤(6)中所述拼接得到SQL语句具体包括:
通过树的前序遍历算法处理所述模板映射信息数据实例中的节点,得到节点的属性、映射以及数据信息;
将所述属性、映射以及数据信息转化为SQL语句中的列名、表名以及条件表达式,得到SQL语句。
可选的,步骤(6)中所述的查询结果包含在模板映射信息数据实例对象中,将该模板映射信息数据实例对象转化为JSON格式数据,并将查询结果封装为HTTP响应返回给用户。
可选的,在执行SQL语句进行查询操作中,多表查询的具体过程包括:
对主表进行多表连接查询语句拼接和查询,获取数据结果;
将数据结果存入主表的对应的节点中;
通过LINK关系将主表主键数据更新到子表外键对应的节点;
对子表进行单表语句拼接和查询,得到多表查询结果。
本发明提出的基于openEHR Composition模板的数据接口动态生成与执行方法,可以不依赖于底层数据存储模型,对接不同的底层存储,在不同的底层存储上,都能够基于相同的Composition模板生成相同的数据接口。
与现有技术相比,本发明的有益技术效果为:
1)降低开发成本;动态生成Composition模板和相关配置文件,并进而生成数据接口,无需二次编码开发,具备扩展性,能够降低数据接口的开发成本;
2)满足灵活的数据访问需求;利用Composition模板本身的灵活组合的特性,同时结合配置文件,可以对数据接口进行个性化配置,实现灵活查询等操作,从而满足灵活的数据访问需求;
3)满足复杂的数据访问需求,同时提供的医疗数据可理解,易使用;结合openEHR规范本身,以及Composition模板的数据容器和灵活组合的性质,面对复杂的数据访问需求,能够表达所需的医疗数据。
4)具备通用性,在不同的底层存储上,都能够基于相同的Composition模板生成相同的数据接口。
附图说明
图1为数据接口生成过程的流程图;
图2为步骤(1)组合关系的处理的详细流程图;
图3为经过步骤(2)LINK关系处理的Composition模板对象的示意图;
图4为步骤(2)LINK关系处理过程中调整模板对象结构的操作示意图;
图5为数据接口执行过程的流程图;
图6为步骤(6)中构造TRM数据实例的详细流程图;
图7为步骤(6)中SQL语句生成过程的详细流程图;
图8为步骤(6)中对于四种连接类型的多表查询的示意图。
具体实施方式
下面结合附图,对本发明基于openEHR Composition模板的数据接口动态生成与执行方法做详细描述。
一种基于openEHR Composition模板的数据接口动态生成与执行方法,包括以下步骤:
(1)解析Composition模板,得到Composition模板对象;
(2)建立Composition模板对象中各节点间的组合关系和LINK关系;
(3)采用经过步骤(2)处理后的Composition模板对象,结合Composition模板中各openEHR模板与数据库表的映射信息,得到模板映射信息(TRM)对象;
(4)根据步骤(3)得到的模板映射信息对象生成数据接口;
(5)利用步骤(4)得到的数据接口解析客户的HTTP请求得到模板映射信息数据实例;
(6)根据模板映射信息数据实例拼接得到SQL语句,执行该SQL查询语句并将查询结果返回给用户。
其中,步骤(1)-步骤(4)如图1所示,为数据接口生成过程;步骤(5)-步骤(6)如图5所示,为数据接口执行过程。
步骤(1)为组合关系的处理,步骤(2)为LINK关系的处理,步骤(3)为ARM的处理。对于底层存储方案使用原型映射的关系型数据库,对映射关系的处理是对ARM的处理。显然的,对于映射关系不是ARM底层存储方案,依旧存在openEHR与数据库的映射关系,采用本发明提供的方法处理该映射关系即可。
本发明提出的基于openEHR Composition模板的数据接口不依赖于底层数据存储模型,可以对接不同的底层存储,在不同的底层存储上,都能够基于相同的Composition模板生成相同的数据接口,从而降低数据接口的开发成本。
在步骤(1)中,当不存在满足访问需求的Composition模板时,想创建一个接口需要先创建Composition的原型和模板作为领域知识模型,再编辑配置文件。这样的流程过于繁琐,而且Composition模型的编辑、创建需要熟悉openEHR规范的相关知识。
为了降低Composition模板的创建难度,在其中一实施例中,步骤(1)中的Composition模板的创建过程包括:
根据数据接口配置文件包含的节点信息,提取所需要的模板;
根据模板信息,在Composition模型库中进行检索,寻找是否存在满足访问需求的Composition模型;
如果已存在需求的Composition模型,则无需生成新模型;
如果不存在需求的Composition模型,则根据数据接口配置文件包含的节点信息,创建新的Composition原型,并进一步创建Composition模板。
创建好的Composition原型和Composition模板就作为数据接口生成所需的Composition模型。
通过该方法,可以根据数据接口配置文件自动生成Composition模板,而数据接口配置文件的编辑则比较友好,从而降低Composition模板的创建难度。
现有技术中,Composition模板中的节点可以使用Composition、Section、Entry、Cluster、Element五种类型进行表示。但是对Composition模板解析后,只能获知被组合的Entry类型原型的名称,而实际使用的是原型对应的模板,模板的具体信息无法得知。
为了在解析Composition模板后能够得到原型的模板信息,在其中一实施例中,如图2所示,步骤(1)中的Composition模板由openEHR模板按树形结构无重复组合,组合方法符合openEHR规范。步骤(1)具体包括:
使用树的遍历算法层序遍历Composition模板中被组合的Entry类型原型,在Entry模板库中获取Entry类型原型对应的Entry类型模板;
解析Entry类型模板,得到Entry模板信息;
结合Entry模板信息和Entry类型模板,得到Composition模板对象。
在其中一实施例中,步骤(1)中得到的Composition模板对象包括Composition模板的属性节点信息、结构信息、LINK信息、以及Composition模板与数据库之间的映射信息。
在其中一实施例中,如图3所示,步骤(2)具体包括:
得到Composition模板对象中各节点的LINK属性包含的路径信息;
根据路径信息找到目标节点;
建立目标节点间的LINK关系。
在LINK的处理过程中,由于对Composition模板对象的处理方法使用前序遍历,因此需要保证在模板对象中LINK关系里被LINK的模板是先被遍历的,才能利用LINK关系来传递信息。
在LINK的处理过程中,需要对模板对象的结构进行验证,在不符合要求时,在不影响模板对象层次结构的前提下,对模板对象的结构进行调整。
假设在Composition模板中,节点B与节点A建立LINK关系,节点A是被LINK的。进行前序遍历,若节点B已经被遍历到时,节点A未被遍历,在结构中展现出来即为节点B位于节点A左侧,则说明不符合要求,需要进行调整。
调整方式如图4所示:找到节点A与节点B的公共祖先——节点C,在节点C下,将节点A所在的子树移动到节点B所在的子树左侧,即调整完毕。
在其中一实施例中,步骤(3)具体包括:
根据Composition模板对象的属性节点路径找到Composition模板对象中的节点;
将映射信息赋值给对应节点,得到模板映射信息(TRM)对象。
具体的,在其中一实施例中,步骤(3)中的模板映射信息(TRM)对象包括属性节点信息、映射得到数据接口的输入参数、以及输出参数信息。
在其中一实施例中,步骤(4)具体包括:根据步骤(3)得到的TRM信息,结合配置文件信息,使用TRM信息中Composition模型的结构信息和属性信息映射得到相应的数据接口对象,从而完成数据接口生成过程。
在访问机制的运行过程中,计算机层面上会将数据接口作为对象来进行处理,即数据接口对象。
在其中一实施例中,步骤(4)生成的数据接口,包含Composition模板的属性信息、结构信息、LINK信息、映射信息,以及用于灵活查询的配置文件信息。
在其中一实施例中,步骤(5)具体包括:
解析客户的HTTP请求,得到接口信息和传输数据;
根据接口信息得到对应的模板映射信息(TRM);
根据传输数据以及模板映射信息,使用树的构造算法构造得到模板映射信息(TRM)数据实例。
具体的,解析HTTP请求,获取请求中携带的地址、参数、传输数据等信息。
根据解析结果,处理得到接口信息并进一步获取TRM信息。
在TRM的基础上,需要将传输数据以及接口信息赋值给TRM的节点,使其在包含基本属性信息、结构信息、LINK信息和映射信息的同时还包含数据信息和接口信息,将这个对象为TRM数据实例。TRM数据实例的节点在TRM节点的基础上增加了数据信息、接口信息。
传输的医疗数据分为两种结构,URL中携带的查询参数是Key-Value的结构;请求数据中携带的数据是JSON格式数据。对于两种结构的数据,都可以通过输入参数信息对应到相应节点。
在其中一实施例中,数据接口使用JSON格式的数据进行交互。
在其中一实施例中,如图6所示,步骤(5)中构造模板映射信息(TRM)数据实例具体过程为:
前序遍历TRM,根据节点类型(Composition、Section、Entry、Cluster、Element)进行不同操作;
如果该节点是Composition类型,新建TRM数据实例节点,并设置为根节点;
如果该节点是Section或Entry或Cluster类型,则新建节,并设置父子关系;
如果该节点是Element类型,先判断是否为查询条件,若为查询条件,则根据对应关系从传输数据中获取数据,存入节点,并设置查询条件标志位,否则再判断是否为输入参数,若为输入参数,则根据对应关系从传输数据中获取数据,存入该节点,并设置输入参数标志位,否则再判断是否为输出参数,若是输出参数,设置为输出参数标志位,同时将输入/输出参数标志位更新到该节点所在子树的根节点中;
对于未被使用的节点,无需构造进TRM数据实例中,进一步的,对于未被使用的子树,也不会被构造进TRM数据实例中,比如Composition模板组合Entry-A模板并生成数据接口,但在实际使用中调用数据接口时并没有使用Entry-A模板包含的数据,则对应的TRM数据实例中Entry-A模板对应的这个子树都不会被构造,那么在后续SQL语句拼接与执行方法中,可以减少不必要的消耗,提高效率;但是对于LINK节点,由于是一种LINK关系,需要由这个节点向另一个节点传递数据信息,仍需被构造进TRM数据实例中。
在构造过程中,保存节点的LINK的关系,得到TRM数据实例。
在由TRM构造出TRM数据实例后,进行SQL语句的生成,并执行SQL语句,来完成查询、插入、更新、删除四种操作。
在其中一实施例中,步骤(6)中拼接得到SQL语句具体包括:
通过树的前序遍历算法处理模板映射信息(TRM)数据实例中的节点,得到节点的属性、映射以及数据信息;
将属性、映射以及数据信息转化为SQL语句中的列名、表名以及条件表达式,得到SQL语句。
具体的,前序遍历TRM数据实例,逐个地使用每个节点包含的映射信息以及数据信息分别拼接生成SQL语句。
具体的,在其中一实施例中,如图7所示,SQL语句生成过程为:
根据节点A的映射信息,得到表名;
层序遍历节点A的子节点,根据子节点的输出参数标志以及映射信息,得到目标列;
根据子节点的查询条件标志、映射信息及数据信息,得到条件表达式以及排序要求。
在其中一实施例中,步骤(6)中的查询结果包含在模板映射信息数据实例对象中,将该模板映射信息数据实例对象转化为JSON格式数据,并将查询结果封装为HTTP响应返回给用户。
具体的,当对一个节点进行上述操作后,将查询结果赋值给该节点,直到遍历结束,从而得到包含查询结果的TRM数据实例
SQL语句的语法格式如表1所示:
表1
插入语句语法如表2所示:
表2
插入语句的动态拼接与执行过程为:
前序遍历TRM数据实例,从节点的映射信息中获取表名与属性列,从节点的数据信息中获取常量,对每个节点分别拼接插入语句。
当所有节点的语句全部生成完毕后,在一个数据库事务中执行操作,如果执行出错,则进行回滚,保证操作的一致性。
更新的语法如表3所示:
表3
删除语句的语法如表4所示:
表4
与插入语句的处理方法不同,由于有Where子句的存在,所以两个操作都需要考虑查询条件,使用和查询语句相同的方法来处理Where子句中的查询条件,然后再对这些节点分别拼接更新和删除语句,从节点的映射信息中获取表名与属性列,从节点的数据信息中获取常量。
当语句全部生成完毕后,在一个数据库事务中执行操作,如果执行出错,则进行回滚,保证操作的一致性。
经过动态拼接与执行修改语句后,可以得到语句的执行结果,如果执行出错,则获取其错误信息,将执行结果或错误信息封装为HTTP响应返回给用户。
在查询语句拼接与执行过程中,当模板中具有LINK关系的节点时,那么节点映射的数据库表之间具有主外键关联,那么此时就会进行多表查询。
在其中一实施例中,在执行SQL语句进行多表查询操作,具体过程包括:
对主表进行多表连接查询语句拼接和查询,获取数据结果;
将数据结果存入主表的对应的节点中;
通过LINK关系将主表主键数据更新到子表外键对应的节点;
对子表进行单表语句拼接和查询,得到多表查询结果。
如图8所示,多表情况下所有可能的多表连接的典型示例,图中的连接(1)和连接(4)分别可以看成连接(2)和连接(3)的简化版本和叠加版本。
使用JOIN ON关键字进行多表连接查询,来进行语句拼接,步骤包括:
首先对表A进行连接查询,一查询语句如表5所示:
表5
获取表A的数据后,将数据结果存入表A的结果集中,然后通过LINK关系将表A主键(PK)数据更新到表B和表C的外键(FK)中,设外键列的值为{result}。
对表B和表C根据外键值进行单表语句拼接和查询。查询语句表6所示:
表6
得到B、C两张表的查询结果。
经过动态拼接与执行多表查询语句后,可以得到包含查询结果的TRM数据实例对象,然后将TRM数据实例转化为JSON格式数据,并将数据结果封装为HTTP响应返回给用户。
针对多表连接查询语句的拼接速度进行优化,利用TRM数据实例节点的输入参数标志位,在利用LINK关系获取LINK节点进行语句拼接时,可以直接知道LINK节点及该节点LINK的下层节点是否含有查询条件需要进行多表连接查询,减少遍历的节点数目,提高语句拼接速度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,包括以下步骤:
(1)解析Composition模板,得到Composition模板对象;
(2)建立Composition模板对象中各节点间的组合关系和LINK关系;
(3)采用经过步骤(2)处理后的Composition模板对象,结合Composition模板中各openEHR模板与数据库表的映射信息,得到模板映射信息对象;
(4)根据步骤(3)得到的模板映射信息对象生成数据接口;
(5)利用步骤(4)得到的数据接口解析客户的HTTP请求得到模板映射信息数据实例;
(6)根据模板映射信息数据实例拼接得到SQL语句,执行该SQL查询语句并将查询结果返回给用户。
2.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(1)中的Composition模板由openEHR模板按树形结构无重复组合,组合方法符合openEHR规范。
3.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(1)具体包括:
使用树的遍历算法层序遍历Composition模板中被组合的Entry类型原型,在Entry模板库中获取Entry类型原型对应的Entry类型模板;
解析Entry类型模板,得到Entry模板信息;
结合Entry模板信息和Entry类型模板,得到所述Composition模板对象。
4.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(1)中得到的Composition模板对象包括Composition模板的属性节点信息、结构信息、LINK信息、以及Composition模板与数据库之间的映射信息。
5.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(3)中的模板映射信息对象包括属性节点信息、映射得到数据接口的输入参数、以及输出参数信息。
6.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,所述数据接口使用JSON格式的数据进行交互。
7.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(5)具体包括:
解析客户的HTTP请求,得到接口信息和传输数据;
根据接口信息得到对应的模板映射信息;
根据传输数据以及模板映射信息,使用树的构造算法构造得到所述模板映射信息数据实例。
8.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(6)中所述拼接得到SQL语句具体包括:
通过树的前序遍历算法处理所述模板映射信息数据实例中的节点,得到节点的属性、映射以及数据信息;
将所述属性、映射以及数据信息转化为SQL语句中的列名、表名以及条件表达式,得到SQL语句。
9.根据权利要求8所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(6)中所述的查询结果包含在模板映射信息数据实例对象中,将该模板映射信息数据实例对象转化为JSON格式数据,并将查询结果封装为HTTP响应返回给用户。
10.根据权利要求1所述的基于openEHR Composition模板的数据接口动态生成与执行方法,其特征在于,步骤(6)中,在执行SQL语句进行查询操作中,多表查询的具体过程包括:
对主表进行多表连接查询语句拼接和查询,获取数据结果;
将数据结果存入主表的对应的节点中;
通过LINK关系将主表主键数据更新到子表外键对应的节点;
对子表进行单表语句拼接和查询,得到多表查询结果。
CN201910427161.1A 2019-05-22 2019-05-22 一种基于openEHR Composition模板的数据接口动态生成与执行方法 Active CN110209699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910427161.1A CN110209699B (zh) 2019-05-22 2019-05-22 一种基于openEHR Composition模板的数据接口动态生成与执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910427161.1A CN110209699B (zh) 2019-05-22 2019-05-22 一种基于openEHR Composition模板的数据接口动态生成与执行方法

Publications (2)

Publication Number Publication Date
CN110209699A true CN110209699A (zh) 2019-09-06
CN110209699B CN110209699B (zh) 2021-04-06

Family

ID=67788092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910427161.1A Active CN110209699B (zh) 2019-05-22 2019-05-22 一种基于openEHR Composition模板的数据接口动态生成与执行方法

Country Status (1)

Country Link
CN (1) CN110209699B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486073A (zh) * 2020-12-03 2021-03-12 用友网络科技股份有限公司 机器人控制方法、控制系统和可读存储介质
CN112988406A (zh) * 2019-12-12 2021-06-18 腾讯科技(深圳)有限公司 远程调用方法、装置和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130030827A1 (en) * 2009-09-14 2013-01-31 Tim Snyder Semantic Interoperability System for Medicinal Information
KR20150070892A (ko) * 2013-12-17 2015-06-25 가천대학교 산학협력단 상부위장관출혈의 위험도 측정지표로 Rockall Risk Score를 이용한 국제표준기반 임상의사결정지원장치.
CN106844643A (zh) * 2017-01-13 2017-06-13 王洋 一种基于模板引擎的数据库动态生成方法
CN106844693A (zh) * 2017-01-24 2017-06-13 浙江大学 一种openEHR Template到关系数据库的转换方法
CN106991276A (zh) * 2017-03-17 2017-07-28 浙江大学 一种基于openEHR模板的数据接口动态生成方法
CN107491561A (zh) * 2017-09-25 2017-12-19 北京航空航天大学 一种基于本体的城市交通异构数据集成系统及方法
CN108520032A (zh) * 2018-03-27 2018-09-11 深圳中兴网信科技有限公司 数据接口建立方法、系统、计算机设备及存储介质
CN108564988A (zh) * 2018-03-20 2018-09-21 深圳中兴网信科技有限公司 基于OpenEHR的档案存储方法、档案存储系统
CN108766507A (zh) * 2018-04-11 2018-11-06 浙江大学 一种基于CQL与标准信息模型openEHR的临床质量指标计算方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130030827A1 (en) * 2009-09-14 2013-01-31 Tim Snyder Semantic Interoperability System for Medicinal Information
KR20150070892A (ko) * 2013-12-17 2015-06-25 가천대학교 산학협력단 상부위장관출혈의 위험도 측정지표로 Rockall Risk Score를 이용한 국제표준기반 임상의사결정지원장치.
CN106844643A (zh) * 2017-01-13 2017-06-13 王洋 一种基于模板引擎的数据库动态生成方法
CN106844693A (zh) * 2017-01-24 2017-06-13 浙江大学 一种openEHR Template到关系数据库的转换方法
CN106991276A (zh) * 2017-03-17 2017-07-28 浙江大学 一种基于openEHR模板的数据接口动态生成方法
CN107491561A (zh) * 2017-09-25 2017-12-19 北京航空航天大学 一种基于本体的城市交通异构数据集成系统及方法
CN108564988A (zh) * 2018-03-20 2018-09-21 深圳中兴网信科技有限公司 基于OpenEHR的档案存储方法、档案存储系统
CN108520032A (zh) * 2018-03-27 2018-09-11 深圳中兴网信科技有限公司 数据接口建立方法、系统、计算机设备及存储介质
CN108766507A (zh) * 2018-04-11 2018-11-06 浙江大学 一种基于CQL与标准信息模型openEHR的临床质量指标计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIN, LINGTONG等: "An openEHR based approach to improve the semantic interoperability of clinical data registry", 《BMC MEDICAL INFORMATICS AND DECISION MAKING》 *
闵令通等: "基于openEHR的医疗信息建模方法", 《中华医学图书情报杂志》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988406A (zh) * 2019-12-12 2021-06-18 腾讯科技(深圳)有限公司 远程调用方法、装置和存储介质
CN112988406B (zh) * 2019-12-12 2023-10-13 腾讯科技(深圳)有限公司 远程调用方法、装置和存储介质
CN112486073A (zh) * 2020-12-03 2021-03-12 用友网络科技股份有限公司 机器人控制方法、控制系统和可读存储介质

Also Published As

Publication number Publication date
CN110209699B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
US10275776B1 (en) Techniques for compliance testing
CN100468396C (zh) 用于任意数据模型的映射体系结构
US6601071B1 (en) Method and system for business to business data interchange using XML
US20130297660A1 (en) Extensible RDF Databases
Dimou et al. Mapping hierarchical sources into RDF using the RML mapping language
US20070198484A1 (en) Query serving infrastructure
US20110161352A1 (en) Extensible indexing framework using data cartridges
US20070038651A1 (en) Interactive schema translation with instance-level mapping
EP1684192A1 (en) Integration platform for heterogeneous information sources
CN106844643A (zh) 一种基于模板引擎的数据库动态生成方法
US20040243595A1 (en) Database management system
WO2023221408A1 (zh) 深度学习框架的算子处理方法、装置、设备和存储介质
JP2005302029A (ja) パラメータ化照会を提示するための方法、システム及びコンピュータ可読媒体
JP2005182835A (ja) 異種のデータソースのためのデータサーバを生成する方法
CN110866029B (zh) sql语句构建方法、装置、服务器及可读存储介质
Junior et al. FunUL: a method to incorporate functions into uplift mapping languages
CN110046170A (zh) 基于多文件管理的语句执行方法、装置、设备和介质
Crotti Junior et al. An evaluation of uplift mapping languages
CN110209699A (zh) 一种基于openEHR Composition模板的数据接口动态生成与执行方法
EP4155965A1 (en) System and method for facilitating metadata identification and import
CN111125440A (zh) 一种基于Monad的持久层复合条件查询方法与存储介质
CN104166705A (zh) 数据库的访问方法及装置
CN112650526B (zh) 版本一致性的检测方法、装置、电子设备和介质
Woelk et al. Model driven enterprise information management in Carnot
CN109445755A (zh) 一种基于OSGI的多版本hadoop集成方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant