資佳陽 周靈 曾亞光
收稿日期:2023-11-21
DOI:10.19850/j.cnki.2096-4706.2024.06.001
摘? 要:定期的眼部檢查在近視防控及眼疾預(yù)測(cè)中具有關(guān)鍵作用。隨著數(shù)字化生活方式的普及,電子屏幕使用時(shí)間顯著增加,從而對(duì)眼睛產(chǎn)生潛在損害。文章設(shè)計(jì)并實(shí)施了一種基于微信小程序的眼球參數(shù)自動(dòng)檢測(cè)系統(tǒng)。該系統(tǒng)通過對(duì)眼科光學(xué)生物測(cè)量?jī)x的互聯(lián)網(wǎng)化升級(jí),允許用戶自行發(fā)起并完成檢測(cè),同時(shí)將結(jié)果同步至數(shù)據(jù)中心并創(chuàng)建個(gè)人眼科健康檔案。用戶可通過小程序輕松訪問這些數(shù)據(jù)。該系統(tǒng)支持無人干預(yù)的自動(dòng)檢測(cè),并已成功集成至LUS_1000Plus眼科光學(xué)生物測(cè)量?jī)x,系統(tǒng)表現(xiàn)穩(wěn)定,顯著提升了檢測(cè)效率。
關(guān)鍵詞:微信小程序;眼科健康監(jiān)測(cè)檔案;眼科光學(xué)生物測(cè)量?jī)x;數(shù)據(jù)庫
中圖分類號(hào):TP311? ? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):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? 引? 言
根據(jù)教育部發(fā)布的第八次全國(guó)學(xué)生體質(zhì)與健康調(diào)研結(jié)果報(bào)告顯示,我國(guó)青少年近視率為53.6% [1]。近年來,近視群體呈現(xiàn)出低齡化,特別是處于初中和高中階段的青少年,整體近視率甚至突破了70% [2],預(yù)防近視已經(jīng)刻不容緩。2021年教育部辦公廳等十五部門印發(fā)《兒童青少年近視防控光明行動(dòng)工作方案(2021—2025年)》強(qiáng)調(diào)了視力健康監(jiān)測(cè)的重要性,提出要圍繞兒童青少年建成視力健康監(jiān)測(cè)數(shù)據(jù)庫[3]。目前,溫州醫(yī)科大學(xué)已設(shè)計(jì)并實(shí)施了一種名為CAMS的系統(tǒng)[4]該系統(tǒng)基于GoldEyeRM-9000驗(yàn)光儀,能夠在專業(yè)人員的操作下進(jìn)行大規(guī)模的視力篩查并為個(gè)體建立視覺健康檔案。然而,這種檢測(cè)模式存在一些局限性。首先,其人力資源成本較高,每臺(tái)檢測(cè)設(shè)備都需要經(jīng)過專業(yè)培訓(xùn)的操作員。其次,人工定位眼球需要豐富的經(jīng)驗(yàn),這可能增加了檢測(cè)過程中的不穩(wěn)定性,該系統(tǒng)的自動(dòng)化程度有待提高。
本文設(shè)計(jì)了一種基于LUS_1000Plus眼科光學(xué)生物測(cè)量?jī)x并結(jié)合微信小程序的智能檢測(cè)系統(tǒng),該系統(tǒng)不僅支持用戶直接預(yù)約檢測(cè),還能實(shí)現(xiàn)無人干預(yù)的自動(dòng)檢測(cè)和檢測(cè)結(jié)果的自動(dòng)推送等功能,最后依托數(shù)據(jù)中心建立個(gè)人眼科健康檔案。
1? 系統(tǒng)設(shè)計(jì)
本章主要介紹檢測(cè)系統(tǒng)的互聯(lián)網(wǎng)部分的設(shè)計(jì),包括系統(tǒng)架構(gòu)、微信小程序的操作流程和Web端管理系統(tǒng)的操作流程的介紹。
1.1? 系統(tǒng)架構(gòu)
本檢測(cè)系統(tǒng)由四個(gè)主要部分構(gòu)成:微信小程序端、數(shù)據(jù)中心、Web管理系統(tǒng)和眼科光學(xué)生物測(cè)量?jī)x的Web部分組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
其中微信小程序主要負(fù)責(zé)檢測(cè)申請(qǐng)的提交和檢測(cè)結(jié)果的查詢,數(shù)據(jù)處理中心的核心職責(zé)包括處理并響應(yīng)用戶的檢測(cè)申請(qǐng),以及對(duì)檢測(cè)數(shù)據(jù)進(jìn)行分類、整合并存儲(chǔ)于數(shù)據(jù)庫以實(shí)現(xiàn)數(shù)據(jù)持久化。Web管理平臺(tái)則負(fù)責(zé)用戶信息、設(shè)備信息的管理,并管理用戶的眼科參數(shù)檔案。眼科光學(xué)生物測(cè)量?jī)x的網(wǎng)絡(luò)接口作為設(shè)備與數(shù)據(jù)中心之間的通信橋梁,確保測(cè)量數(shù)據(jù)能夠?qū)崟r(shí)同步至數(shù)據(jù)中心。
1.2? 系統(tǒng)概述
本系統(tǒng)小程序使用流程圖如圖2所示。
用戶通過微信APP掃描本檢測(cè)系統(tǒng)的專屬二維碼后,可選擇新增或使用現(xiàn)有受檢者信息。若受檢者信息已存在,系統(tǒng)允許直接提交檢測(cè)請(qǐng)求。數(shù)據(jù)中心隨后生成并向設(shè)備推送檢測(cè)請(qǐng)求,啟動(dòng)檢測(cè)流程。最后根據(jù)用戶權(quán)限,可查詢歷史檢測(cè)數(shù)據(jù)或查看設(shè)備運(yùn)行狀態(tài),Web端管理系統(tǒng)流程圖如圖3所示。
用戶在登錄Web界面后,將根據(jù)其賬戶權(quán)限顯示相應(yīng)的菜單選項(xiàng)。管理員賬戶可訪問儀器管理菜單,進(jìn)行設(shè)備軟件信息的管理。而普通用戶則能瀏覽其眼科參數(shù)的電子檔案。
2? 前端框架介紹
本章對(duì)前端使用的微信小程序和Vue進(jìn)行相關(guān)介紹,并介紹相關(guān)技術(shù)在本系統(tǒng)中如何使用。
2.1? MINA架構(gòu)
微信小程序基于MINA框架,該框架針對(duì)執(zhí)行速度和開發(fā)便利性進(jìn)行了優(yōu)化[5]。據(jù)騰訊數(shù)據(jù),微信小程序的日活躍用戶已逾4.5億[6]。小程序采用Https協(xié)議,增強(qiáng)了用戶信息隱私的安全性。微信小程序在iOS和Android平臺(tái)上均可運(yùn)行,避免了跨平臺(tái)開發(fā)的復(fù)雜性。因此,選擇微信小程序作為移動(dòng)端的檢測(cè)申請(qǐng)入口非常合適。用戶只需要掃描小程序的入口二維碼,或者在微信中搜索小程序的名字即可開始使用。
2.2? Vue架構(gòu)
Vue.js簡(jiǎn)稱Vue,是一款開源JavaScript框架,旨在簡(jiǎn)化用戶界面構(gòu)建。其漸進(jìn)式設(shè)計(jì)哲學(xué)使得其核心庫專注于視圖層,便于與其他技術(shù)集成。Vue采用聲明式渲染,通過模板語法實(shí)現(xiàn)數(shù)據(jù)與DOM的映射。其響應(yīng)式系統(tǒng)確保數(shù)據(jù)與視圖間的同步,減少手動(dòng)DOM操作[7]。因?yàn)槠鋵?duì)三方組件集成的優(yōu)秀表現(xiàn),基于該框架可以快速搭建起Web端的管理系統(tǒng)。
3? 數(shù)據(jù)中心設(shè)計(jì)
本章對(duì)后端數(shù)據(jù)中心所使用的相關(guān)技術(shù)做介紹,并且對(duì)后端服務(wù)器如何與儀器進(jìn)行交互使用圖表的方式進(jìn)行展示。
3.1? Flask框架
Flask作為Python的輕型Web框架[8],強(qiáng)調(diào)了代碼的簡(jiǎn)明和組件的模塊化,為開發(fā)者帶來了廣闊的定制空間。其內(nèi)在的靈活性,結(jié)合卓越的擴(kuò)展能力,確保了Flask在應(yīng)對(duì)業(yè)務(wù)演變時(shí)的適應(yīng)性。其配套的第三方插件庫進(jìn)一步豐富了其在Web領(lǐng)域的功能性[9]。鑒于這些特點(diǎn),選用Flask作為本系統(tǒng)的Web開發(fā)框架。其中引入了PyMySQL和redis-py組件來完成對(duì)數(shù)據(jù)庫的操作,
3.2? 數(shù)據(jù)交互
數(shù)據(jù)中心作為檢測(cè)系統(tǒng)的關(guān)鍵處理單元,向外部提供網(wǎng)絡(luò)接口供眼科光學(xué)生物測(cè)量?jī)x、微信小程序和Web端管理系統(tǒng)調(diào)用,內(nèi)部主要承擔(dān)數(shù)據(jù)整合處理與存儲(chǔ)的職責(zé)。系統(tǒng)的交互邏輯框架如圖4所示。
圖4? 系統(tǒng)交互
4? 數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)采用了Redis與MySQL組合。Redis用于緩存用戶登錄信息其中登錄信息中包含了用戶權(quán)限信息,以及緩存部分熱點(diǎn)儀器運(yùn)行狀態(tài)信息。MySQL負(fù)責(zé)數(shù)據(jù)的持久化,存儲(chǔ)包括用戶賬號(hào)、被檢測(cè)人信息、檢測(cè)申請(qǐng)、設(shè)備信息以及檢測(cè)結(jié)果。
如表1所示,用戶賬號(hào)表實(shí)現(xiàn)了微信號(hào)和手機(jī)號(hào)綁定。
表1? 用戶賬號(hào)表
字段名稱 字段類型 注釋
id bigint 自增id
guest_name varchar 賬戶昵稱
mobile varchar 電話
open_id varchar 微信登錄
如表2所示,設(shè)備信息表存儲(chǔ)了包括設(shè)備編號(hào),設(shè)備狀態(tài),設(shè)備控制軟件的版本型號(hào)等設(shè)備運(yùn)行狀態(tài)信息。
表2? 設(shè)備信息表
字段名稱 字段類型 注釋
id bigint 自增id
device_code varchar 設(shè)備昵稱
device_status varchar 設(shè)備狀態(tài)
last_work_coordinates varchar 最近一次工作的經(jīng)緯度
last_work_time datetime 最后上線時(shí)間
last_work_ip varchar 最近一次工作IP
version varchar 設(shè)備操作系版本
is_deleted tinyint 邏輯刪除標(biāo)志位
如表3所示,被檢測(cè)人信息表保存了被檢測(cè)人的身份信息和近視度數(shù)信息,用于后續(xù)檢測(cè)的結(jié)果對(duì)比,并在每次檢測(cè)后進(jìn)行更新。
表3? 受檢測(cè)人信息表
字段名稱 字段類型 注釋
id bigint 自增id
guest_id varchar 賬戶id
quizee_name varchar 被檢測(cè)人姓名
age varchar 最近一次工作的經(jīng)緯度
birth datetime 最后上線時(shí)間
mobile int 接受檢測(cè)短信手機(jī)號(hào)
Diopter_Left varchar 左眼近視度數(shù)
Diopter_Right varchar 右眼近視度數(shù)
gender varchar 性別
is_deleted tinyint 邏輯刪除標(biāo)志位
如表4所示,檢測(cè)申請(qǐng)表存儲(chǔ)了被檢測(cè)人發(fā)起的檢測(cè)申請(qǐng)信息,檢測(cè)完成后將通過state標(biāo)志位記錄檢測(cè)是否完成。
表4? 檢測(cè)申請(qǐng)表
字段名稱 字段類型 注釋
Measureapply_id bigint 自增id
quizee_info_id bigint 被檢測(cè)人id
device_id varchar 設(shè)備id
time_stamp timestamp 檢測(cè)時(shí)間
state varchar 檢測(cè)狀態(tài)
order_no int 檢測(cè)排序號(hào)
is_deleted tinyint 邏輯刪除標(biāo)志位
如表5所示,檢測(cè)結(jié)果表通過measure_apply_id字段和檢測(cè)申請(qǐng)表建立關(guān)聯(lián)關(guān)系,再通過檢測(cè)申請(qǐng)表的quizee_info_id字段和受檢測(cè)人建立關(guān)聯(lián)關(guān)系。
表5? 檢測(cè)結(jié)果表
字段名稱 字段類型 注釋
id bigint 自增id
measure_apply_id bigint 檢測(cè)申請(qǐng)id
measure_type varchar 檢測(cè)類型
measure_date timestamp 生成報(bào)告時(shí)間
eye_AL varchar 眼軸長(zhǎng)度
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 散光度數(shù)
is_deleted tinyint 邏輯刪除標(biāo)志位
5? 系統(tǒng)功能實(shí)現(xiàn)
5.1? 微信小程序?qū)崿F(xiàn)
微信小程序包含以下功能:微信賬戶關(guān)聯(lián)受檢者信息、檢測(cè)申請(qǐng)的發(fā)起及其狀態(tài)管理、微信賬戶關(guān)聯(lián)的所有受檢人檢測(cè)電子檔案和設(shè)備運(yùn)行狀態(tài)信息。需要強(qiáng)調(diào)的是為避免誤操作,僅當(dāng)用戶掃描設(shè)備二維碼進(jìn)入小程序時(shí),才能發(fā)起檢測(cè)申請(qǐng)。
如圖5(a)和(b)所示,用戶可以新建受檢人信息,或者使用賬戶下已經(jīng)添加的受檢人提交檢測(cè)申請(qǐng)。圖5(c)是用戶檢測(cè)的結(jié)果界面,結(jié)合歷史檢測(cè)報(bào)告可構(gòu)建個(gè)人眼科參數(shù)的電子檔案,結(jié)果進(jìn)行分析后可以用可視化圖表展示,幫助用戶了解自身眼部狀況。
如圖5(e)和(f)是設(shè)備運(yùn)行狀態(tài)信息監(jiān)控界面,其中涵蓋了設(shè)備狀態(tài)及近一周內(nèi)的檢測(cè)頻率信息和當(dāng)前設(shè)備開機(jī)地等信息。
5.2? Web管理系統(tǒng)實(shí)現(xiàn)
Web管理系統(tǒng)包含以下功能:用戶資料維護(hù)、健康檔案管理及設(shè)備信息管理。在管理系統(tǒng)中,管理員有權(quán)修改任意賬戶的受檢人信息,而普通用戶僅能管理其賬戶下的受檢人資料??梢詫?duì)受檢人信息進(jìn)行修改添加刪除等操作如圖6所示。
網(wǎng)頁管理界面補(bǔ)充了微信小程序在內(nèi)容深度和操作性上的局限,提供了更完善的管理工具和詳細(xì)的眼球檔案查詢功能。提供用戶檢測(cè)結(jié)果可視化查詢[10],通過跟蹤眼科參數(shù)數(shù)據(jù)做可視化圖表展示幫助用戶掌握自己眼睛情況。如圖7展示了用戶左右眼與正常參考值的差異,并根據(jù)角膜相關(guān)參數(shù),眼球外部特征,視覺特性三個(gè)類進(jìn)行劃分。
Web管理系統(tǒng)不僅支持設(shè)備管理員對(duì)設(shè)備運(yùn)行狀態(tài)信息的監(jiān)控,而且支持對(duì)設(shè)備操控軟件進(jìn)行管理,達(dá)到根據(jù)不同的應(yīng)用場(chǎng)景可選擇切換不同版本軟件的功能。此外,設(shè)備操控軟件管理員上傳了操控軟件的更新腳本后,其他設(shè)備管理員可通過更新鏈接下載安裝更新腳本。設(shè)備操控軟件的管理員管理操控軟件的頁面如圖8所示。
5.3? 眼科光學(xué)生物測(cè)量?jī)x實(shí)現(xiàn)
本系統(tǒng)中使用的檢測(cè)儀器是LUS_1000Plus眼科光學(xué)生物測(cè)量?jī)x,該儀器性能穩(wěn)定,自動(dòng)化水平高。其獨(dú)特的三維自動(dòng)定位技術(shù)確保了眼球的精準(zhǔn)對(duì)準(zhǔn)與跟蹤。在接收到檢測(cè)申請(qǐng)后,儀器利用廣角相機(jī)定位用戶眼睛,調(diào)整瞳孔相機(jī)鏡頭至適當(dāng)位置,并通過LED靶環(huán)反射像中心定位至瞳孔中心,確保主光軸的準(zhǔn)確性,從而完成測(cè)量。
將眼球生物測(cè)量接入數(shù)據(jù)中心,用戶可通過小程序發(fā)起檢測(cè)申請(qǐng)。數(shù)據(jù)中心接收申請(qǐng)后,將其加入儀器的檢測(cè)隊(duì)列。當(dāng)儀器準(zhǔn)備就緒,小程序會(huì)提示用戶就位。用戶確認(rèn)后,數(shù)據(jù)中心下達(dá)測(cè)量指令,啟動(dòng)檢測(cè)步驟如圖9所示。
檢測(cè)完成后,數(shù)據(jù)中心接收結(jié)果并通過短信形式通知用戶。此外,用戶還可在小程序中查詢歷史檢測(cè)紀(jì)錄。
6? 系統(tǒng)開發(fā)環(huán)境
本系統(tǒng)開發(fā)過程中,全程使用Git進(jìn)行版本管理和合作開發(fā)。使用的技術(shù)和版本情況如下:Python 3.6.2、Flask 1.1.2、微信開發(fā)者工具1.05、MySQL 8.0.16、Redis 6.2.6和 Vue 2.6.14。項(xiàng)目部署在Centos 7.6云服務(wù)器上。
7? 結(jié)? 論
本研究對(duì)眼科參數(shù)檢測(cè)流程進(jìn)行了優(yōu)化,簡(jiǎn)化了傳統(tǒng)檢測(cè)方式下需要儀器操作員參與的步驟,賦予用戶更多的自主操作權(quán)限。系統(tǒng)為每位用戶建立了眼科參數(shù)健康檔案,便于用戶后期查詢。將此系統(tǒng)應(yīng)用于兒童和青少年視力健康監(jiān)測(cè)能顯著降低檢測(cè)成本,在新冠疫情背景下,該系統(tǒng)還能避免人流聚集,為用戶提供靈活的檢測(cè)時(shí)間安排。
參考文獻(xiàn):
[1] 教育部體育衛(wèi)生與藝術(shù)教育司.第八次全國(guó)學(xué)生體質(zhì)與健康調(diào)研結(jié)果發(fā)布 [J].中國(guó)學(xué)校衛(wèi)生,2021,42(9):1281-1282.
[2] 蘇亮.我國(guó)近視患病率數(shù)字驚人兩種方法呵護(hù)孩子眼睛 [J].家用電器,2019(2):82-83.
[3] 中華人民共和國(guó)教育部.兒童青少年近視防控光明行動(dòng)工作方案(2021—2025年) [J].眼科新進(jìn)展,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].眼視光學(xué)雜志:英文版,2021(1):8.
[5] 平欣,宋育斌,孔維賓,等.基于GPS與微信小程序的智能寵物管理系統(tǒng)設(shè)計(jì) [J].軟件導(dǎo)刊,2023,22(2):121-126.
[6] 騰訊公司.微信11年,開放生態(tài)助力用戶增長(zhǎng)與商業(yè)發(fā)展 [EB/OL].(2022-01-07).https://www.tencent.com/zh-cn/articles/2201267.html.
[7] 杜瑞慶,李一諾,黎作鵬.基于Vue和SpringBoot的C語言程序在線測(cè)評(píng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].唐山師范學(xué)院學(xué)報(bào),2023,45(3):58-63.
[8] 李相霏,韓珂.基于Flask框架的疫情數(shù)據(jù)可視化分析 [J].計(jì)算機(jī)時(shí)代,2021(12):60-63+68.
[9] 田勝男.基于Flask的智能小區(qū)物業(yè)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [D].上海:華東師范大學(xué),2022.
[10] 范路橋,高潔,段班祥.基于Python+Flask+ECharts的國(guó)內(nèi)熱門旅游景點(diǎn)數(shù)據(jù)可視化系統(tǒng) [J].現(xiàn)代電子技術(shù),2023,46(9):126-130.
作者簡(jiǎn)介:資佳陽(1997—),男,漢族,湖南耒陽人,碩士在讀,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、全棧開發(fā)。