The invention discloses a data interface dynamic generation method based on openEHR template which comprises the following steps: 1, analysis of the openEHR template, a template object; step 2, the relational database structure to obtain clinical attributes corresponding to each template template based object, and create a data connection object; step 3, analytical client calls launched HTTP data interface the request and the establishment of the HTTPRequest object; step 4, according to the procedures of data interface object 2 and 3 step HTTPRequest object, generate database operation SQL statement; step 5, aiming at the relationship between the clinical database openEHR template generation based on step 4 SQL statements generated, the data operation; step 6, according to the results of data manipulation step 5 the construction of HTTPResponse object returned to the caller. The invention flexibly generates a data interface to meet the clinical application requirements.
【技术实现步骤摘要】
一种基于openEHR模板的数据接口动态生成方法
本专利技术涉及计算机软件数据接口生成
,具体涉及一种基于openEHR模板的数据接口动态生成方法。
技术介绍
当今世界每天增速最快的毫无疑问是数据,各级各类医院亦是,每天的医疗活动所产生的数据量增速遥遥领先。人们希望这些数据发挥其价值,更好地为医疗卫生行业的管理、诊疗、科研和教学服务,从而提高医院业务效率,节省医疗资源,减少医疗成本,帮助临床学术研究,通过现有的医疗数据来解决更多医学难题。医院建立医疗数据存储中心,对医疗活动所产生的数据进行收集整合,医院在数据存储中心上建立各种应用系统,通过数据接口来访问这些数据,对这些数据加以利用,从而辅助医护人员的工作,帮助医护人员进行课题研究,方便实现医院的管理工作。但是随着医疗活动的进行,医院应用数据需求在不断的变化,具体体现在两个方面,一方面是数据资源种类的增加,这就需要医院数据中心增加这些数据资源的存储,并为应用提供这些数据访问服务,另一方面是在现有的数据资源种类中访问应用所需要所感兴趣的数据,每个应用的数据需求都不尽相同,这就需要医院数据存储中心所提供的数据接口 ...
【技术保护点】
一种基于openEHR模板的数据接口动态生成方法,其特征在于,包括:步骤1,解析openEHR模板,并建立模板对象;步骤2,依据模板对象获取每个模板属性对应的关系型临床数据库结构,并创建数据接口对象;步骤3,解析客户端调用数据接口所发起HTTP请求,并建立HTTPRequest对象;步骤4,根据步骤2的数据接口对象和步骤3的HTTPRequest对象,生成数据库操作SQL语句;步骤5,针对基于openEHR模板生成的关系型临床数据库,执行步骤4生成的SQL语句,得到数据操作结果;步骤6,根据步骤5的数据操作结果构建HTTPResponse对象返回给调用方。
【技术特征摘要】
1.一种基于openEHR模板的数据接口动态生成方法,其特征在于,包括:步骤1,解析openEHR模板,并建立模板对象;步骤2,依据模板对象获取每个模板属性对应的关系型临床数据库结构,并创建数据接口对象;步骤3,解析客户端调用数据接口所发起HTTP请求,并建立HTTPRequest对象;步骤4,根据步骤2的数据接口对象和步骤3的HTTPRequest对象,生成数据库操作SQL语句;步骤5,针对基于openEHR模板生成的关系型临床数据库,执行步骤4生成的SQL语句,得到数据操作结果;步骤6,根据步骤5的数据操作结果构建HTTPResponse对象返回给调用方。2.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,步骤2创建数据接口对象包括:自动创建数据接口对象和根据临床特定数据需求自定义数据接口对象两种方式,其中自动创建数据接口对象具体包括:每个openEHR模板对应至少一张关系数据库表,以每张关系数据库表为资源自动创建数据接口对象,每个数据接口对象包括资源描述和请求方法信息:每个数据接口对象的资源描述为:模板/版本/数据库表名;每个请求方法包括:输入参数、输出参数、表达筛选条件的过滤器、以及表达关系型临床数据库中关系数据库表之间关系的逻辑关系。3.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,自动创建数据接口对象的请求方法包括GET、PUT、DELETE以及POST,其中:GET方法的输入参数为关系数据库表的主键字段,输出参数为关系数据库表的所有字段,过滤器为关系数据库表的主键值等于,处理逻辑为单张关系数据库表结构;PUT方法的输入参数为关系数据库表的所有字段,输出参数为执行结果,过滤器为关系数据库表的主键值等于,处理逻辑为单张数据库表结构;DELETE方法的输入参数为关系数据库表的主键字段,输出参数为执行结果,过滤器为关系数据库表的主键值等于,处理逻辑为单张数据库表结构;POST方法的输入参数为关系数据库表的所有字段,过滤器为空,处理逻辑为单张数据库表结构。4.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,自动创建数据接口对象方法中,若关系数据库表具有外键字段,则新建一个数据接口对象,该数据接口对象的资源描述为:模板/版本/数据库表名/ReferenceID,该数据接口对象的请求方法为GET,该GET方法的输入参数为关系数据库表的外键字段,输出参数为关系数据库表的所有字段,过滤器为关系数据库表的外键值等于,处理逻辑为单张数据库表结构。5.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,根据临床特定数据需求自定义数据接口对象,具体包括:步骤2-1、定义数据接口对象的资源描述为:模板/版本/自定义名称;步骤2-2、指定请求方法,所述请求方法为GET、PUT、DELETE的任意组合,基于模板属性,定义各请求方法的输入参数和输出参数;步骤2-3、在输入参数的基础上定义赋值对应的请求方法的过滤器属性;步骤2-4、依据所选的模板属性对应的关系型临床数据库结构创建数据接口对象的逻辑关系:若模板属性对应的数据库字段在同一张关系数据库表中,则逻辑关系设置为单表;若模板属性对应的数据库字段不在同一张关系数据库表中,针对涉及的所有关系数据库表,每两张关系数据库表对应一个逻辑关系;步骤2-5、将数据库字段名称按照驼峰命名法构建数据接口对象各参数的参数名。6.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,步骤4生成数据库操作SQL语句,具体包括:步骤4-1、解析HTTPRequest对象,获取请求地址URI,根据URI与数据接口对象的资源描述匹配获取所要执行的数据接口对象;步骤4-2、根据HTTPRequest对象的请求方式定位数据接口对象的请求方法,解析该请求方法的输入参数、输出参数、过滤器以及逻辑关系;步骤4-3、根据HTTPRequest的输入参数值和数据接口对象的请求方法属性值生成数据库操作SQL语句。7.如权利要求1所述的基于openEHR模板的数据接口动态生成方法,其特征在于,数据接口对象的请求方法为GET时,生成数据库操作SQL语句为select语句,具体生成方法如下:首先,依据数据接口对象的逻辑关系判断要操作的关系数据库表结构:若逻辑关系为1个,判断是否只有单表操作,若是,则为单表查询;若不是单表操作,则为多表级联查询;若逻辑关系为2个以上,则为多表查询,多表查询包括多表级联查询和多表非级联查询;其次,采用如下方法拼接SQL语句:针对单表查询:a1、获取数据接口对象的请求方法的输出参数,构建目标表达式为:columnNameasparaName;a2、若orderBy属性值不是null,取orderBy属性值拼接SQL语句中的排序要求,表达式为:columnNamedesc/asc;a3、FROM子句为该数据库表名;a4、获取数据接口对象的请求方法的逻辑关系、输入参数和过滤器,构建where子句的条件表达式为:relationcolumnNameoperationvalue/paraName;式中,用relation属性值连接条件表达式;columnName值为过滤器参数名称对应的数据库字段列名;operation值对应相应的操作符,如果value属性值不是null,直接获取value属性值;如果value属性值为null,则从HTTPRequest对象中获得value属性值;针对多表级联查询:b1、获取数据接口对象的请求方法的输出参数,构建目标表达式为:tableName.columnNameasp...
【专利技术属性】
技术研发人员:段会龙,吕旭东,闵令通,王菲菲,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。