糖尿病自检自查微信小程序的设计与实现
作者: 金明浩 张雨萌 艾昊 车恒宇 王欣 陈桐锦
摘要:糖尿病是最常见的慢性非传染病之一,患者一般病程较长。随着病情的加重和并发症种类的增多,糖尿病会给患者及其家庭带来沉重的直接经济负担与间接经济负担。在中国,糖尿病发病年轻化现象严重,近年来30~50岁的患病人数显著增加,迫切需要完善糖尿病监测系统,寻找高性价比的早期预防措施。基于此,拟选择成都市为试点,制作一款微信小程序引导群众用中医药手段自查糖尿病风险,提供中医特色突出的健康教育,引导30~50岁的糖尿病前期患者及糖尿病患者到社区卫生服务中心获取有针对性的血糖控制服务,探索构建以社区卫生服务中心为核心,以中医药和中医适宜技术为手段的糖尿病预防体系。
关键词:微信小程序;JavaScript;Node;健康教育;血糖
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)26-0045-04
开放科学(资源服务)标识码(OSID)
0 引言
IDF(International Diabetes Federation, IDF) 发布的第10版糖尿病地图及统计数据显示,中国20~79岁人群的糖尿病患病率为10.6%,未确诊糖尿病患者比例为51.7%。自2000年以来,许多流行病学研究发现2型糖尿病(Type 2 Diabetes Mellitus,T2DM) 逐渐年轻化[1],而且早发T2DM(Early-Onset Type 2 Diabetes Mellitus,EDM) 的患者体内的糖代谢更为紊乱,发生血管病变的时间相对提前。在中国,EDM的知晓率不高,控制率低,形势不容乐观[2]。
社区糖尿病管理在糖尿病防控的整个过程中的重要性得到了广泛的认可,但是有研究表明,目前国内社区对糖尿病的管理是以糖尿病患者为主的,一定程度上忽视了30~50岁群体糖尿病的前期筛查与干预。同时,根据国家卫生健康委员会的统计数据,社区卫生服务中心在2022年1—4月的诊疗人数相比于2021年1—4月的诊疗人数还有所下降。由于人们缺乏对社区卫生服务中心的了解,社区卫生服务中心的就诊人数不多,结果是许多社区卫生服务中心的医疗资源,尤其是中医药资源被闲置。
实际上,中医“治未病”的独特优势在糖尿病前期筛查中有巨大的作用。同时,中医理论体系中提倡的代茶饮、食疗、传统锻炼功法等非药物治疗的方式除了有助于控制血糖外,还可以减轻糖尿病的常见症状,提升患者的生命质量。
1 系统设计意义
1.1 方案可行性
1.1.1 微信小程序用于移动医疗的现状
截至2022年12月,我国网民规模达10.67亿,互联网普及率达75.6%。其中手机网民为10.65亿,占网民总体的99.8%[3]。如此庞大的网民数量非常便于移动医疗在中国开展。目前在我国移动医疗市场中占主要份额的是移动医疗App,截至2019年10月1日,国内已有8350款健康医疗类App。与App相比,微信中包含的微信小程序操作简单,内容推送丰富。同时具有“轻量化”的显著优势[4]。疫情期间微信健康码的广泛使用对中国用户使用微信小程序的使用意向产生了正向显著影响。以微信小程序作为信息手段,向群众传播糖尿病相关的中医药知识,引导有较大患病风险的30~50岁群众到社区卫生服务中心接受相应的中医药服务,可以提高医疗资源的利用效率,也可为中医药文化的传承和保护做出了贡献。近5年内,一些学者已经提出了针对糖尿病运动疗法、饮食控制的微信小程序。但是这些研究更关注糖尿病患者的治疗措施,而非早期预防措施,尚未充分利用我国宝贵的中医药资源与文化,也尚未关注社区卫生服务中心及其他一级医疗机构医疗资源的利用效率问题。
1.1.2 系统设计优势
本项目设计研发的“控糖有我”微信小程序发挥中医“治未病”的优势,引导用户利用中医学的方法完成自检自查,项目中创新性地引入了“舌诊”模块,用户可通过图片对比的方式观察自身的舌象,并通过舌象帮助判断病情,预测病情发展。小程序同时提供便利的食疗、茶疗、传统功法锻炼的指导,帮助用户防病于未然,治病于潜伏阶段。30~50岁的用户群体时间紧张,小程序中推荐了多项单味中药泡饮的方法,提升用户血糖控制情况的同时,降低用户控制血糖的时间成本。
在服务用户的同时,系统通过微信小程序的数字化平台,合理引导群众就医需求。通过小程序将糖尿病患者导向社区卫生服务中心,使患者得到连续且规范的指导,提高患者的生命质量,减轻患者的疾病负担。在国家战略的角度上,系统提高了基层医疗卫生资源的利用率,有助于优化我国医疗卫生的结构体系[5]。
除此之外,系统通过微信小程序继承与发展了中医药文化,加强中医药文化的宣传力度。国务院发布的《中医药发展战略规划纲要(2016—2030 年)》中明确提出:要综合运用广播电视、报刊等传统媒体和数字智能终端、移动终端设备等新型媒介,积极宣传中医药文化知识,巩固中医药在社会发展中的地位和关键作用。在移动终端设备蓬勃发展的今天,传统的线上学习不再完美适配用户的需求,而微信小程序具有出众的便捷性,用户可以在手机、平板电脑等多种终端设备上使用小程序进行线上学习[6]。
1.2 系统设计目标
基于目前针对糖尿病前期的中医学预防措施以及社区卫生服务中心的中医药资源,利用微信小程序强大的引流能力与出众的便捷性,引导用户通过中医学手段自查糖尿病风险,引导用户社区卫生服务中心获取有针对性地控制血糖和预防并发症的中医药服务,同时建立一个个性突出,针对30~50岁用户群体的糖尿病方面中医药知识共享平台。积极探索构建以社区卫生服务中心为核心,以中医药和中医适宜技术为手段的社区三级预防体系来对抗糖尿病年轻化。
2 系统设计
2.1 功能设计
“控糖有我”微信小程序包括以下几个主要功能。
自诊自查:用户可通过中医学手段自查自身患糖尿病的风险,主要包括问诊和舌诊两部分。
中医知识库:中医学方面控制血糖,治疗糖尿病的相关知识,包括食疗、茶疗、运动疗法和中医适宜技术的介绍。知识库中的方法大多是方便易行的方法,用户居家、办公过程中即可实施。
社区服务:介绍了成都市社区卫生服务中心的基本医疗情况和地理位置情况,同时提供地图,帮助用户了解附近的社区卫生服务中心。
相关政策:为用户提供了糖尿病相关的最新政策,便于用户了解国家相关政策。
“控糖有我”微信小程序功能图如图1所示。
2.2 页面设计
“控糖有我”微信小程序包含四个主要的功能模块:“自诊自查”模块,“中医知识库”模块,“社区服务”模块和“相关政策”模块,具体的页面设计如下。
“自诊自查”模块包含三个页面,用户通过首页进入该模块后,首先输入自己的性别与身高体重或腰围数据,小程序会根据国家标准判断用户是否属于肥胖人群,以提高后续自查的准确性。之后,用户将完成“问诊”与“舌诊”两个部分的自诊自查,最终小程序会提示用户之前问题的答案并给出相应的风险预测。
“中医知识库”模块含五个页面,用户通过首页进入这一模块后,会先进入一个导航页面。通过这个导航页面,用户可以选择“食疗”“茶疗”“运动疗法”“中医适宜技术”中自己感兴趣的部分深入了解。不同部分的介绍页面包含了大量的图文介绍,其中讲解的方法对30~50岁的用户群体针对性强,能有效地降低长期血糖良好控制的时间成本。
“社区服务”模块包括三个页面,在第一个页面的顶部导航栏上显示成都市的各区、县、市。选定后页面会出现该区、县、市的各社区卫生服务中心或社区卫生服务站。用户选择某社区卫生服务中心或社区卫生服务站后,可以看到该中心或卫生服务站的基本情况与中医药资源的情况,为用户提供参考。
“相关政策”模块提供了糖尿病有关的国家政策,内容广泛、丰富。包括糖尿病补助、国家的基层糖尿病防治指南等。
3 系统开发
3.1 系统开发工具和基本框架开发过程
开发工具:小程序的前端开发工具是微信开发者工具,采用微信小程序原生框架作为基本框架。后端采用IntelliJ IDEA 2023.1.4辅助框架开发,采用Nodejs+Axios+Express框架实现服务器端的接受、发送功能。数据库端采用Mongoose框架,在登录路由功能中使用JavaScript写法完成数据库的查询、创建操作,并利用MongoCompass可视化页面进行其他如删除、浏览详情等操作。
基本框架:微信小程序的前端开发基于微信小程序原生框架,原生框架的主体文件为根目录下的App.json、App.js、App.wxss。App.js中放置一些定义在全局的小程序全局的逻辑函数[7]。App.json负责小程序的整体配置,项目中使用到的标签包括pagepath、navigationbar、tabbar、sitemap、lazyCodeLoading、位置获取permission等。App.wxss是全局的页面样式配置文件,其对所有小程序中的页面都生效,且优先级在单独页面wxml的标签style和wxss之前。Pages文件夹用于保存所有页面文件,每个文件都有自己的二级目录,每一个单独页面都由wxml文件、wxss文件、js文件以及json文件构成,方便了对每个单独页面设置和设计[8]。微信小程序的后端开发基于Nodejs+Axios+Express+Mongoose框架。Server.js作为服务器入口文件,主要负责import其他js以及modules文件,并且定义登录和测试路由,最后启动服务器,监听端口3000的请求。User.js主要负责创建数据库中的user类,方便查找不同类的数据信息。Utils.js作为后端工具文件,主要封装并导出requestWxApi、generateToken、verifyToken这三个必要常用函数。Config.js作为后端配置文件,定义并导出appid、secret、dbUrl信息。MongoDb Compass作为MongoDB可视化管理工具,用以浏览详细的数据库内的信息。“控糖有我”小程序技术框架如图2所示。
3.2 核心功能开发
3.2.1 “自诊自查”模块
“自诊自查”模块是本系统的核心模块之一,主要实现简单诊断和评估用户当前患糖尿病的风险:首先通过radio标签绑定问卷内容,再通过 bindtap="submit"绑定小程序事件,在JS中调用路由相应API,提交及分析问卷结果的核心代码如下。
onLoad(options) {a
this.setData({
type:Number(options.type)
})
for(let i=0; i<18; i++) {
ans[i] = " ";
}
if(this.data.type) ans[19]=1;
else ans[19]=0;
console.log(ans)
}
onLoad(options) {
var pro=this.data.problems
if(ans.ans[19]){
this.setData({
total:10
})
}
for(let i=0;i<19;i++){
if(ans.ans[i]=="Y"){