资佳阳 周灵 曾亚光
收稿日期:2023-11-21
DOI:10.19850/j.cnki.2096-4706.2024.06.001
摘 要:定期的眼部检查在近视防控及眼疾预测中具有关键作用。随着数字化生活方式的普及,电子屏幕使用时间显著增加,从而对眼睛产生潜在损害。文章设计并实施了一种基于微信小程序的眼球参数自动检测系统。该系统通过对眼科光学生物测量仪的互联网化升级,允许用户自行发起并完成检测,同时将结果同步至数据中心并创建个人眼科健康档案。用户可通过小程序轻松访问这些数据。该系统支持无人干预的自动检测,并已成功集成至LUS_1000Plus眼科光学生物测量仪,系统表现稳定,显著提升了检测效率。
关键词:微信小程序;眼科健康监测档案;眼科光学生物测量仪;数据库
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2024)06-0001-06
Design of Ophthalmic Parameter Detection System Based on WeChat Mini Program
ZI Jiayang1, ZHOU Ling2, ZENG Yaguang3
(1.School of Mechatronic Engineering and Automation, Foshan University, Foshan 528225, China;
2.School of Electronic Information Engineering, Foshan University, Foshan 528225, China;
3.School of Physics and Optoelectronic Engineering, Foshan University, Foshan 528225, China)
Abstract: Regular eye examinations play a crucial role in myopia control and the prediction of eye diseases. With the widespread adoption of digital lifestyles, the use of electronic screens has significantly increased, thereby potentially harming the eyes. This paper designs and implements an automatic eye parameter detection system based on the WeChat Mini Program. This system, through the internet-based upgrade of the ophthalmic optical biometer, allows users to initiate and complete the detection autonomously, while synchronizing the results to the data center and creating individual ophthalmic health records. Users can easily access these data through the Mini Program. The system supports unattended automatic detection and has been successfully integrated into the LUS_1000Plus ophthalmic optical biometer, demonstrating stable performance and significantly improving detection efficiency.
Keywords: WeChat Mini Program; ophthalmic health monitoring record; ophthalmic optical biometer; database
0 引 言
根據教育部发布的第八次全国学生体质与健康调研结果报告显示,我国青少年近视率为53.6% [1]。近年来,近视群体呈现出低龄化,特别是处于初中和高中阶段的青少年,整体近视率甚至突破了70% [2],预防近视已经刻不容缓。2021年教育部办公厅等十五部门印发《儿童青少年近视防控光明行动工作方案(2021—2025年)》强调了视力健康监测的重要性,提出要围绕儿童青少年建成视力健康监测数据库[3]。目前,温州医科大学已设计并实施了一种名为CAMS的系统[4]该系统基于GoldEyeRM-9000验光仪,能够在专业人员的操作下进行大规模的视力筛查并为个体建立视觉健康档案。然而,这种检测模式存在一些局限性。首先,其人力资源成本较高,每台检测设备都需要经过专业培训的操作员。其次,人工定位眼球需要丰富的经验,这可能增加了检测过程中的不稳定性,该系统的自动化程度有待提高。
本文设计了一种基于LUS_1000Plus眼科光学生物测量仪并结合微信小程序的智能检测系统,该系统不仅支持用户直接预约检测,还能实现无人干预的自动检测和检测结果的自动推送等功能,最后依托数据中心建立个人眼科健康档案。
1 系统设计
本章主要介绍检测系统的互联网部分的设计,包括系统架构、微信小程序的操作流程和Web端管理系统的操作流程的介绍。
1.1 系统架构
本检测系统由四个主要部分构成:微信小程序端、数据中心、Web管理系统和眼科光学生物测量仪的Web部分组成,系统结构如图1所示。
其中微信小程序主要负责检测申请的提交和检测结果的查询,数据处理中心的核心职责包括处理并响应用户的检测申请,以及对检测数据进行分类、整合并存储于数据库以实现数据持久化。Web管理平台则负责用户信息、设备信息的管理,并管理用户的眼科参数档案。眼科光学生物测量仪的网络接口作为设备与数据中心之间的通信桥梁,确保测量数据能够实时同步至数据中心。
1.2 系统概述
本系统小程序使用流程图如图2所示。
用户通过微信APP扫描本检测系统的专属二维码后,可选择新增或使用现有受检者信息。若受检者信息已存在,系统允许直接提交检测请求。数据中心随后生成并向设备推送检测请求,启动检测流程。最后根据用户权限,可查询历史检测数据或查看设备运行状态,Web端管理系统流程图如图3所示。
用户在登录Web界面后,将根据其账户权限显示相应的菜单选项。管理员账户可访问仪器管理菜单,进行设备软件信息的管理。而普通用户则能浏览其眼科参数的电子档案。
2 前端框架介绍
本章对前端使用的微信小程序和Vue进行相关介绍,并介绍相关技术在本系统中如何使用。
2.1 MINA架构
微信小程序基于MINA框架,该框架针对执行速度和开发便利性进行了优化[5]。据腾讯数据,微信小程序的日活跃用户已逾4.5亿[6]。小程序采用Https协议,增强了用户信息隐私的安全性。微信小程序在iOS和Android平台上均可运行,避免了跨平台开发的复杂性。因此,选择微信小程序作为移动端的检测申请入口非常合适。用户只需要扫描小程序的入口二维码,或者在微信中搜索小程序的名字即可开始使用。
2.2 Vue架构
Vue.js简称Vue,是一款开源JavaScript框架,旨在简化用户界面构建。其渐进式设计哲学使得其核心库专注于视图层,便于与其他技术集成。Vue采用声明式渲染,通过模板语法实现数据与DOM的映射。其响应式系统确保数据与视图间的同步,减少手动DOM操作[7]。因为其对三方组件集成的优秀表现,基于该框架可以快速搭建起Web端的管理系统。
3 数据中心设计
本章对后端数据中心所使用的相关技术做介绍,并且对后端服务器如何与仪器进行交互使用图表的方式进行展示。
3.1 Flask框架
Flask作为Python的轻型Web框架[8],强调了代码的简明和组件的模块化,为开发者带来了广阔的定制空间。其内在的灵活性,结合卓越的扩展能力,确保了Flask在应对业务演变时的适应性。其配套的第三方插件库进一步丰富了其在Web领域的功能性[9]。鉴于这些特点,选用Flask作为本系统的Web开发框架。其中引入了PyMySQL和redis-py组件来完成对数据库的操作,
3.2 数据交互
数据中心作为检测系统的关键处理单元,向外部提供网络接口供眼科光学生物测量仪、微信小程序和Web端管理系统调用,内部主要承担数据整合处理与存储的职责。系统的交互逻辑框架如图4所示。
图4 系统交互
4 数据库设计
本系统的数据存储结构采用了Redis与MySQL组合。Redis用于缓存用户登录信息其中登录信息中包含了用户权限信息,以及缓存部分热点仪器运行状态信息。MySQL负责数据的持久化,存储包括用户账号、被检测人信息、检测申请、设备信息以及检测结果。
如表1所示,用户账号表实现了微信号和手机号绑定。
表1 用户账号表
字段名称 字段类型 注释
id bigint 自增id
guest_name varchar 账户昵称
mobile varchar 电话
open_id varchar 微信登錄
如表2所示,设备信息表存储了包括设备编号,设备状态,设备控制软件的版本型号等设备运行状态信息。
表2 设备信息表
字段名称 字段类型 注释
id bigint 自增id
device_code varchar 设备昵称
device_status varchar 设备状态
last_work_coordinates varchar 最近一次工作的经纬度
last_work_time datetime 最后上线时间
last_work_ip varchar 最近一次工作IP
version varchar 设备操作系版本
is_deleted tinyint 逻辑删除标志位
如表3所示,被检测人信息表保存了被检测人的身份信息和近视度数信息,用于后续检测的结果对比,并在每次检测后进行更新。
表3 受检测人信息表
字段名称 字段类型 注释
id bigint 自增id
guest_id varchar 账户id
quizee_name varchar 被检测人姓名
age varchar 最近一次工作的经纬度
birth datetime 最后上线时间
mobile int 接受检测短信手机号
Diopter_Left varchar 左眼近视度数
Diopter_Right varchar 右眼近视度数
gender varchar 性别
is_deleted tinyint 逻辑删除标志位
如表4所示,检测申请表存储了被检测人发起的检测申请信息,检测完成后将通过state标志位记录检测是否完成。
表4 检测申请表
字段名称 字段类型 注释
Measureapply_id bigint 自增id
quizee_info_id bigint 被检测人id
device_id varchar 设备id
time_stamp timestamp 检测时间
state varchar 检测状态
order_no int 检测排序号
is_deleted tinyint 逻辑删除标志位
如表5所示,检测结果表通过measure_apply_id字段和检测申请表建立关联关系,再通过检测申请表的quizee_info_id字段和受检测人建立关联关系。
表5 检测结果表
字段名称 字段类型 注释
id bigint 自增id
measure_apply_id bigint 检测申请id
measure_type varchar 检测类型
measure_date timestamp 生成报告时间
eye_AL varchar 眼轴长度
eye_K varchar 角膜曲率
eye_AST varchar 轴位角
eye_WTW varchar 白到白间距
eye_PS varchar 瞳孔大小
eye_AL/CR varchar 轴率比
eye_ACD varchar 前房深度
eye_CCT varchar 角膜厚度
eye_ASTD varchar 散光度数
is_deleted tinyint 逻辑删除标志位
5 系统功能实现
5.1 微信小程序实现
微信小程序包含以下功能:微信账户关联受检者信息、检测申请的发起及其状态管理、微信账户关联的所有受检人检测电子档案和设备运行状态信息。需要强调的是为避免误操作,仅当用户扫描设备二维码进入小程序时,才能发起检测申请。
如图5(a)和(b)所示,用户可以新建受检人信息,或者使用账户下已经添加的受检人提交检测申请。图5(c)是用户检测的结果界面,结合历史检测报告可构建个人眼科参数的电子档案,结果进行分析后可以用可视化图表展示,帮助用户了解自身眼部状况。
如图5(e)和(f)是设备运行状态信息监控界面,其中涵盖了设备状态及近一周内的检测频率信息和当前设备开机地等信息。
5.2 Web管理系统实现
Web管理系统包含以下功能:用户资料维护、健康档案管理及设备信息管理。在管理系统中,管理员有权修改任意账户的受检人信息,而普通用户仅能管理其账户下的受检人资料。可以对受检人信息进行修改添加删除等操作如图6所示。
网页管理界面补充了微信小程序在内容深度和操作性上的局限,提供了更完善的管理工具和详细的眼球档案查询功能。提供用户检测结果可视化查询[10],通过跟踪眼科参数数据做可视化图表展示帮助用户掌握自己眼睛情况。如图7展示了用户左右眼与正常参考值的差异,并根据角膜相关参数,眼球外部特征,视觉特性三个类进行划分。
Web管理系统不仅支持设备管理员对设备运行状态信息的监控,而且支持对设备操控软件进行管理,达到根据不同的应用场景可选择切换不同版本软件的功能。此外,设备操控软件管理员上传了操控软件的更新脚本后,其他设备管理员可通过更新链接下载安装更新脚本。设备操控软件的管理员管理操控软件的页面如图8所示。
5.3 眼科光学生物测量仪实现
本系统中使用的检测仪器是LUS_1000Plus眼科光学生物测量仪,该仪器性能稳定,自动化水平高。其独特的三维自动定位技术确保了眼球的精准对准与跟踪。在接收到检测申请后,仪器利用广角相机定位用户眼睛,调整瞳孔相机镜头至适当位置,并通过LED靶环反射像中心定位至瞳孔中心,确保主光轴的准确性,从而完成测量。
将眼球生物测量接入数据中心,用户可通过小程序发起检测申请。数据中心接收申请后,将其加入仪器的检测队列。当仪器准备就绪,小程序会提示用户就位。用户确认后,数据中心下达测量指令,启动检测步骤如图9所示。
检测完成后,数据中心接收结果并通过短信形式通知用户。此外,用户还可在小程序中查询历史检测纪录。
6 系统开发环境
本系统开发过程中,全程使用Git进行版本管理和合作开发。使用的技术和版本情况如下:Python 3.6.2、Flask 1.1.2、微信开发者工具1.05、MySQL 8.0.16、Redis 6.2.6和 Vue 2.6.14。项目部署在Centos 7.6云服务器上。
7 结 论
本研究对眼科参数检测流程进行了优化,简化了传统检测方式下需要仪器操作员参与的步骤,赋予用户更多的自主操作权限。系统为每位用户建立了眼科参数健康档案,便于用户后期查询。将此系统应用于儿童和青少年视力健康监测能显著降低检测成本,在新冠疫情背景下,该系统还能避免人流聚集,为用户提供灵活的检测时间安排。
参考文献:
[1] 教育部體育卫生与艺术教育司.第八次全国学生体质与健康调研结果发布 [J].中国学校卫生,2021,42(9):1281-1282.
[2] 苏亮.我国近视患病率数字惊人两种方法呵护孩子眼睛 [J].家用电器,2019(2):82-83.
[3] 中华人民共和国教育部.儿童青少年近视防控光明行动工作方案(2021—2025年) [J].眼科新进展,2021,41(6):599-600.
[4] XU L,ZHUANG Y,ZHANG G,et al. Design,methodology,and baseline of whole citymillion scale children and adolescents myopia survey(CAMS)in Wenzhou,China [J].眼视光学杂志:英文版,2021(1):8.
[5] 平欣,宋育斌,孔维宾,等.基于GPS与微信小程序的智能宠物管理系统设计 [J].软件导刊,2023,22(2):121-126.
[6] 腾讯公司.微信11年,开放生态助力用户增长与商业发展 [EB/OL].(2022-01-07).https://www.tencent.com/zh-cn/articles/2201267.html.
[7] 杜瑞庆,李一诺,黎作鹏.基于Vue和SpringBoot的C语言程序在线测评系统的设计与实现 [J].唐山师范学院学报,2023,45(3):58-63.
[8] 李相霏,韩珂.基于Flask框架的疫情数据可视化分析 [J].计算机时代,2021(12):60-63+68.
[9] 田胜男.基于Flask的智能小区物业管理系统设计与实现 [D].上海:华东师范大学,2022.
[10] 范路桥,高洁,段班祥.基于Python+Flask+ECharts的国内热门旅游景点数据可视化系统 [J].现代电子技术,2023,46(9):126-130.
作者简介:资佳阳(1997—),男,汉族,湖南耒阳人,硕士在读,研究方向:计算机网络、全栈开发。