网络提交临床数据的留痕技术构建初步研究

2013-09-26 06:03余学杰金香兰李书珍李晓燕张允岭
电子测试 2013年20期
关键词:留痕数据表字段

余学杰 ,金香兰,李书珍,李晓燕,张允岭*

(1、北京中医药大学信息中心,北京 100029; 2、北京中医药大学附属东方医院,北京,100078)

0 引言

不同地域的多家医院协作开展医学研究项目,需要采集各单位的研究数据。对于多家研究单位处在不同的地理位置的协同项目,目前较为普遍的研究数据采集方法是利用计算机网络。将研究数据收集到网络数据库中是利用计算机网络采集数据的一种方式。

《中医防治中风病技术转化与推广研究》项目要求对网络采集数据进行的修改留痕,即所有原始数据和修改过的数据及修改人、修改日期等都将作为痕迹自动记录,通过此记录可方便地查询到所有数据处理的痕迹。医学研究数据库中录入数据的真实性、准确性是医学研究的基本要求,数据修改留痕是研究数据的管理的必要措施。

《中医防治中风病技术转化与推广研究》项目的数据录入利用Internet的浏览器及ASP技术,数据存储在网站的SQL Server 2005数据库中。

由于网络数据采集留痕的技术文献资料非常少,所以对网络数据采集如何留痕进行了研究和设计。

1 设计研究

《中医防治中风病技术转让与推广研究》用“中风后轻度认知障碍中医综合干预方案病例报告表”和“中风后认知障碍社区中医药分层防治模式观察表”采集患者的基本数据和医务人员对患者近两年治疗随访的医疗数据。该项目要求参加研究的医护人员往网络数据库中录入病例报告数据时,采用二次录入。两次录入内容存储在不同的表内,进行两表之间的数据核对,纠正录入的错误,确保录入数据的正确。

二次录入设计方案是:首先将纸质原始数据录入到数据库的A表中,二次将纸质原始数据重复录入到数据库的B表中。二次录入时边录入系统自动与一次录入内容进行核对,与一次录入的数据不符,系统提示差异信息。如果是二次录入的错误,直接修改二次录入错误,同时将数据、录入时间、录入人登记在B表指定字段保存在案,作为基准数据,不得修改。如果是一次录入错误,只有将一次录入错误更改后,二次录入才可以进行。信息的修改只在A表中进行,对A表所有的修改都要记录修改的人员、日期时间、原内容和修改后的内容。

与其它需要录入功能的网站比较,《中医防治中风病技术转化与推广研究》项目网站增加了留痕功能。实现此功能需要对网站进行整体的相应设计,并非在录入功能的网站简单地再叠加一项功能。“中风后轻度认知障碍中医综合干预方案病例报告表”和“中风后认知障碍社区中医药分层防治模式观察表”的留痕设计原理是一样的,这里仅以“中风后轻度认知障碍中医综合干预方案病例报告表”的留痕设计为例展开讨论。网站整体流程设计如图1,根据自动记录修改人、修改时间和修改的数据的目标对数据库和网页进行了通盘的考虑和设计。

1.1 修改人员的跟踪

受SQL Server数据库技术参数限制,每个对患者的各随访阶段都需要用多个数据表存储病例报告数据。多个数据表之间的关联字段设置为“试验单位”、“患者编号”和“随访阶段”。为了记录修改的人员,数据库中的数据表和网页页面都要进行相应的设计。每个数据表A中都有记载修改情况的字段,每个数据表B都有记载录入人和录入日期时间的字段。

从网站流程图可以看到,修改人员更改信息前有登录和功能选择的步骤,在修改人员登录和选择修改表格的网页页面编写服务器端脚本,将“试验单位”、“患者编号”、“随访阶段”和“修改人员”这些选择和录入内容作为Session对象。HTTP协议是一种无状态协议,利用HTTP无法跟踪用户,当服务器完成用户的请求后,服务器将不能保持与用户浏览器的连接,用户在网站的多个页面间切换时,服务器无法跟踪用户的访问。ASP的Session对象的引用弥补了这个缺陷。当用户在网站的多个页面间切换时,Session对象会跟踪到用户访问的页面,服务器端能够获取用户在网站的活动情况。Session对象是针对单个用户的,用户在网页页面间跳转时,只能访问自己的Session变量,无法访问其他用户的Session变量。Session的作用时间是从浏览者登录开始,直至浏览者离开网站。Session对象的功能特点适合在跟踪修改人员修改的表格时应用,这样只要修改人员对数据表的数据进行了修改,在记载修改情况的字段中会将修改人的Session变量值作为字段值的一部分存储在字段中,达到对修改人员留痕的目的。

图1 网站录入/修改的基本流程

1.2 修改日期的跟踪

网站设计中为修改表格功能建立了单独的通道。修改流程与录入流程中的网页界面基本相同,但是其中编写有不同的脚本程序,保证了留痕功能的实现。在修改A表的各个网页页面编写脚本程序,利用脚本获取当前日期和时间函数得到系统的日期和时间,只要修改人员对数据表的数据进行了修改,在记载修改情况的字段将实时获取的系统时间作为字段值的部分内容存入数据表,达到对修改时间实时跟踪的目的。

对ASP来说,可用于编写服务器代码的语言不止一种[2],常用的有VBScript和JavaScript。两种脚本语言都提供了获取系统日期时间的功能。在VBScript中,有获取系统日期时间函数Now,在JavaScript中有获取日期时间的对象Date[3]。脚本语言功能的支持使得修改日期时间的留痕成为了可能。

1.3 修改内容的跟踪

一次录入流程中各个录入网页界面对于数据库的操作都属于插入记录操作,与更改记录是两条不同的途径。修改操作的逻辑顺序在一次录入之后,如果未进行某表格的一次录入而操作修改,系统会进行错误提示,终止修改操作。修改流程的网页界面对于数据库的操作都属于更新记录,在字段更新内容被保存之前提取原字段信息,将原信息和修改后的信息同时存入记载修改情况字段。由于只有一个更改数据的进口,无其它途径,修改流程中的网页脚本程序将记录信息变更的痕迹,修改流程中不设计对记载修改情况字段的更新,所以该字段能够完整地保留一条记录所有的变更。

在这样的网站设计中,如果修改人员对某表格A中的一条记录的若干字段进行了更改,其表格A中该条记录的记载修改情况的字段中就会保存有“日期时间,修改人,字段名原字段值和现字段值,字段名原字段值和现字段值,……”的内容。该字段保存时采用原字段值连接当前修改内容,字段中保留了本记录全部数据修改的痕迹。

查询记载修改情况的字段,就会浏览到历次修改人、修改日期时间、修改内容。

2 讨论

2.1 数据采集网站各种功能管理需要整体化设计

数据修改的留痕的管理功能必须融合在网站数据采集的通盘设计中。留痕功能涉及到录入的表格、一次录入的内容、与一次录入的时间顺序、登录人员功能选择等一系列与网站其它功能相关的环节,它不可能与其它功能脱离。各种功能整体考虑、相互借用,才能实现系统的最优化设计。任何系统都是一个有机的整体,它不是各个部分的机械组合或简单相加,系统的整体功能是各要素在孤立状态下所没有的新质。系统中各要素不是孤立地存在着,每个要素在系统中都处于一定的位置上,起着特定的作用。要素之间相互关联,构成了一个不可分割的整体。只有将所有采集数据的功能综合考虑,才能实现研究数据的科学管理。

2.2 时间跟踪的问题

在时间跟踪的设计中,即可获取网站系统日期时间又可获取客户端的系统日期时间。如果获取网站系统的日期时间,用户修改数据后保存数据时的时间与获取的时间会有一些时间差;如果获取客户端系统时间,可以实时记载修改人员的修改时间,但客户端时钟错误会将错误的时间记录在案。目前计算机操作系统都具有与Internet时钟服务器自动同步功能,在客户端获取日期时间,会有较好的效果,但是故意改动客户端的日期时间,网站设计中需要防范。

3 结论

利用计算机网络采集科学研究数据,数据采集过程的留痕是可以实现的。

采集数据的网站的设计需要对各种功能的实现进行全局的考虑,才能实现整个系统的优化。

《中医防治中风病技术转化与推广研究》项目修改留痕的研究实现了数据采集的留痕功能,它为科研数据网络采集管理又提供了一种监督方法。这种方法保证了采集数据的真实性和准确性,为研究数据的严格管理奠定了基础。

参考资料

[1] 张景峰.《脚本语言与动态网页设计》,北京:中国水利水电出版社,2004年8月版,第137页

[2] 韩延峰.《即查即用ASP+VBScript函数与对象参考手册》,北京:人民邮电出版社,2007年7月版,第19页

[3] 韩延峰.《即查即用JavaScript核心对象参考手册》,北京:人民邮电出版社,2007年7月版,第101页-第117页

[4] 杨孔雨.《信息系统基础》,北京:清华大学出版社,2010年10月版,第12页

猜你喜欢
留痕数据表字段
图书馆中文图书编目外包数据质量控制分析
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
实施留痕管理 推进“两责”落实
CNMARC304字段和314字段责任附注方式解析
图表
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究