当前位置: 首页 > 期刊 > 《医学信息》 > 2019年第4期
编号:13425940
Key-Value键值对数据在新生儿听力筛查登记系统中的应用(1)
http://www.100md.com 2019年1月29日 《医学信息》 2019年第4期
     摘要:本文围绕新生儿听力筛查登记系统的技术实现,着重从新生儿不同报告单资料数据的保存及展示方面来阐述技术核心实现过程,针对不同的基层医院需要存储的新生儿数据格式不一致问题,在关系数据库中采用Key-Value形式来进行存储,而数据的查询展示则利用数据库编程技术或JAVA函数式编程技术实现。

    关键词:Key-Value数据存储;数据库编程;JAVA函数式编程

    中图分类号:TP311.13;R764.04 文献标识码:B DOI:10.3969/j.issn.1006-1959.2019.04.004

    文章编号:1006-1959(2019)04-0011-03

    Abstract:This paper focuses on the technical realization of the newborn hearing screening registration system, focusing on the technical core implementation process from the preservation and display of different report data of newborns, and the inconsistency of the newborn data format that needs to be stored in different primary hospitals. The relational database uses the Key-Value form for storage, while the data query display is implemented using database programming techniques or JAVA functional programming techniques.
, 百拇医药
    Key words:Key-Value data storage;Database programming;JAVA functional programming

    先天性听力损失是新生儿最常见的出生缺陷之一,1‰~3‰的发病率居我国五类致残因素之首[1]。就湖南省郴州地区而言,新生儿听力筛查存在如下问题:①手工信息的处理方式不但工作量大、流程复杂,而且数据的收集、整合过程难免错漏、残缺,针对大量数据的线性增长无法做到较好的存储,对数据的分析、统计更加困难。②不同地区,由于各医院的信息管理系统相互独立,患者资料难以做到实时共享,从而造成了重复检查,不但加大了患者负担,同时也浪费了医疗有限资源。利用信息化技术实现的新生儿听力筛查登记系统,不但解放了劳动量,有效的将手工作业模式转换为信息自动化管理模式,同时也确保了数据的准确性、全面性和时效性[1]。新生儿听力筛查登记的实现其主要技术难点在于不同基层医院数据格式的统一存储、数据查询展示及数据的统计分析。现将具体技术实现介绍如下。
, 百拇医药
    1数据的存储

    由于基层医院使用不同的报告单,要将报告单内容存储到关系数据库的同一个数据实体表就必须将拥有不同内容的登记表单转换为统一格式存储,一种实现方法是将整个报告单转换为JSON格式进行存储,若要对数据做查询分析则需要解析存储的JSON格式数据[2]。考虑到系统性能及技术实现,在数据存储中采用了另一种存储方式,即在关系型数据库中采取非表格式的Key-Value键值对格式的数据存储方式,将不同表单数据转换为Key-Value键值对形式的纵向存储[3]。因此,在数据库中设计如表1结构的数据表。

    在數据实体表的设计中,id为表的主键,通过采用注解@GeneratedValue的生成策略,并指定策略的strategy属性为AUTO,自动生成最适合底层数据库的主键生成策略;templateid为对应的报告单模板ID,即不同基层医院所使用的不同报告单登记模板的后台标识;field为报告单登记模板中所用组件的命名,如下拉框男女选择组件命名为sex等;value则为报告单重组件对应的值;rowid是通过UUID.randomUUID()生成的36位字符型长度的唯一识别码,用于标识一个报告单的所有值。
, http://www.100md.com
    2数据的展示

    数据的展示通过使用easyui前台框架的datagrid来展示,实现步骤如下:①第一步:选择报告单模板,通过选择的报告单模板检索报告单的字段配置信息。②第二步:通过标签循环读取后台返回的报告单List字段配置列表,并生成datagrid中的table展示列。③第三步:通过POST方式请求后台展示数据。在请求后台数据展示实现中即可通过数据库存储过程的编程实现,同时又可通过JAVA函数式编程实现,两种方式的实现核心主要体现在对纵向存储的数据做行列转换及行合并操作。

    2.1存储过程实现 存储过程编程主要利用动态SQL的拼装以及循环结构[4,5]来实现数据的展示功能,其实现步骤如下。

    第一步:定义存储过程,并确定传入、传出参数。传入参数包括了模板id、查询条件conditions、开始页数page、页大小pagesize;传出参数仅包含了符合条件的总数据条数totalcount。

    第二步:通过传入的查询条件字符conditions参数(格式:“field;condition;value|field;condition;value|…”),拆分重组为SQL查询条件语句,结合传入的开始页参数page及页大小pagesize筛选出符合条件的指定报告单模板数据。, http://www.100md.com(黎勇 易松 邓忠)
1 2下一页