随着云时代的来临,大数据也吸引了越来越多的眼科医生关注。像差和对比敏感度均为评估视觉质质量的重要检查。它们数据来自不同的检查仪器,各仪器的数据库都不相同,临床与科研工作中需要提取这些数据的时候只能通过手工抄写,工作量很大,且容易出错,国内尚未有辅助数据提取处理软件。详细分析了iTrace,Zywave像差仪和Optec_6500对比敏感度测试仪的数据库结构之后,自主开发的了国内首款专门用于眼科领域视光科像差和对比敏感度数据提取处理软件(Aberrations and
Contrast Sensitivity Helper,ACSH),辅助检查数据的提取,加快信息化在眼科的发展。ACSH采用微软的开发工具VB6.0编程实现,在Windows操作系统下稳定运行。下面主要分析ACSH的软件设计方
法,以及介绍如何使用该软件。
1 材料与方法
1.1 ACSH的设计分析
从软件设计角度,分析美国Tracey公司iTrace像差仪、美国博士伦公司Zywave像差仪和美国Stereo公司Optec_6500对比敏感度测试仪的数据库
中提取数据过程。
iTrace像差仪的检查数据保存在Access数据库中,其默认数据库名称是acritec.mdb,acritec.mdb是一个关系数据库,局域网内设置该数据库所在目录为共享目录,然后VB通过如下语句,可以实现对acritec.mdb的远程访问[1]:
Dim Conn As New ADODB.Connection
Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;
Persist Security Info=False; Data Source = \\计算机名\共享目录名\acritec.mdb; Jet OLEDB:Database Password = please"
分析acritec.mdb数据库,发现其中Patients表保存了病人姓名、年龄等基本信息,Exams表保存了病人屈光度、眼别等检查数据,Samples表主要保存了像差Zernike系数数据。其中Exams表通过字段Patient_ID和Patients表实现关联,Samples表都通过字段Exam_ID与Exams表实现关联。通过数据库select查询语句,可以实现对这些数据的提取。再根据已提取的像差Zernike系数Z[2],在公式:RMS= ??1
2 + ??2
2 + ⋯ + ????
2 (其中Zi为像差Zernike系数)的推导下[3],可以计算出各高阶像差及总高阶像差的RMS值,实现对像差RMS值的提取。ACSH设计了一个Access数据库DestDB.mdb来保存提取后的数据[4],该数据库称为目标数据库,iTrace像
差仪的提取后的数据保存在目标数据库的iTrace表中。目标数据库DestDB.mdb设置一个对外开放的数据接口用户,该用户只有部分数据表及字段的查询权限,电子病历等其它系统可以通过访问该用户读取相关数据,实现数据对接。
Zywave像差仪的检查数据保存在后缀名为ATE的文本文件中,一个ATE文件保存了某个病人某次检查的详细数据,包括病人基本信息,屈光度、眼别、瞳孔直径等眼部信息以及各项像差Zernike系数。由于一个ATE文件仅保存一次检查记录,有几次检查记录,Zywave像差仪就会产生几个ATE文件。在局域网内设置这些ATE文
件所在目录为共享目录,VB采用文件系统对象FileSystemObject对这些共享目录下的文件逐个进行访问,每访问一个ATE文件,就将该文件中的数据读取出来,并根据像差Zernike系数计算出像差RMS值,生成一条提取记录,保存到目标数据库
的Zywave表中,直到所有ATE文件被访问完毕,最终实现对Zywave像差仪检查数据的提取[1]。
Optec_6500对比敏感度测试仪的检查数据保
存在两个Excel文件中,其中PatientDb.xls保存了病人的基本信息,ResultsDb.xls保存详细的检查数据,包括检查时间、检查者、检查时的模拟光
照度和眩光强度、各空间频率的对比敏感度数值等。两个Excel数据库文件通过列PatientKey实现关联。在局域网内设置这两个Excel文件所在目录为共享目录,VB通过如下语句,可以实现对这2个Excel数据库文件的远程访问[1]:
Dim xlApp As New Excel.Application
Dim xlBookR , xlBoolP As Excel.Workbook
Set xlApp = CreateObject("Excel.Application")
Set xlBookP = xlApp.Workbooks().
Open(“\\计
算机名\共享目录名\PatientDb.xls”)
Set xlBookR = xlApp.Workbooks().
Open(“\\计
算机名\共享目录名\ResultsDb.xls”)
遍历这两个表中的每一条记录,可以将这两个表的数据合并成一个表,并保存到目标数据库的Optec_6500表中,以此实现Optec_6500对比敏感度测试仪检查数据的提取。
1.2 ACSH的使用介绍
通过以上的设计分析,在VB6.0的编程环境下,最终实现了ACSH的开发。ACSH使用的时候,主要涉及2个模块:提取数据和浏览数据,界面及菜单如图1~2所示。
提取数据的功能实现在局域网内从检查仪器的数据库提取出数据,并将提取的数据保存到目标数据库中;浏览数据的功能实现将目标数据库的数据展示给用户。
ACSH提取数据只需根据不同检查仪器选择对应的数据库路径即可(图1)。点击菜单iTrace,会弹出路径选择窗口,用户正确选择iTrace对应的数据库acritec.mdb所在路径后,ACSH就会对acritec.
mdb进行数据提取并将提取出来的数据保存到目标数据库中。
图1 提取数据菜单
Figure 1 Menu of extracting the data
ACSH浏览数据也要根据不同检查仪器选择对应的菜单进行浏览(图2)。点击Optec_6500菜单
项,则弹出已提取的数据如图3所示。
图2 浏览数据菜单
Figure 2 Menu of Browsing the data
图3 Optec_6500数据
Figure 3 Optec_6500 data
浏览数据时,ACSH支持对数据记录进行筛选,筛选条件及设置界面如图4所示;支持对数据字段进行筛选,筛选条件及设置界面如图5所示,只有被勾选上的字段才会显示出来,未勾选上的
字段将隐藏;ACSH同时支持将已展示的数据复制到文本文件或者导出到Excel文件,方便对数据进一步操作。
一个病人有可能在多台仪器做检查,ACSH有一个“查询所有”的功能(图2),支持按病人ID号查询从所有检查仪器中提取的数据。用户按规定
输入ID号,ACSH就会按这些ID号查询目标数据库中从不同检查仪器提取的数据,然后展示给用户(图6)。
图4 数据记录筛选设置界面
Figure 4 Data record filter settings interface
图5 数据字段筛选设置界面
Figure 5 Data field filter settings interface
图6 查询所有
Figure 6 Inquire all
2 结果
ACSH能够准确地在局域网环境下实现对iTrace,Zywave像差仪和Optec_6500对比敏感度测试仪的检查数据进行提取,并开放数据接口供电子病历等其他系统对接,实现数据对接操作简单,功能齐全,是一款能够有效辅助科研和临床工作的应用软件。
3 讨论
大数据在眼科的应用需要准确的临床数据。而近年来我国在积极推进医疗信息化发展。对于检查结果数据的高效、准确的收集及整合是必须面对的问题,手工录入数据,工作量大,容易出
错,工作效率较低,国内目前没有辅助像差和对比敏感度临床数据收集整合的商业软件。为了解决这问题,我们首次在国内自主研发出了ACSH,它可以对以上3个主流仪器的检查数据在局域网内进行提取,对已提取的数据可以进行浏览、查询及导出EXCEL等功能。另外,软件提供了数据整合的平台,更加方便使用者对于数据的对比、分析。同时ACSH还开放了数据接口供电子病历等其它系统对接。此款软件对于临床检查数据信息整合、数据分析、大数据处理、临床研究有一定的意义。
ACSH目前只支持对iTrace,Zywave像差仪和Optec_6500对比敏感度测试仪这3种仪器的检查数据进行处理,下一步的工作将扩充软件提取检查仪器的种类。
综上所述,ACSH是一款能够有效辅助视光专科科研和临床工作的应用软件。