高志鹏 胡乾龙 林子善 夏金阳 李志芳
摘要:随着“互联网+医疗健康”的兴起,线上一站式医疗服务已逐步成熟。面对众多医院及体检项目的筛选,如何根据用户需求,提供针对性服务,是线上体检服务研究的主要内容。为了更好地实现线上体检服务,提出了以ECMAScript6为基础搭建一个综合且便捷的线上体检预约平台,采用了非关系型数据库,利用了云开发技术,最终成功在微信小程序中得以实现。为医院查询、项目筛选、体检预约、体检报告查询、异常预警等提供了系统性的解决方案。
关键词:ES6;微信小程序;线上体检服务;体检预约
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2022)01-0084-03
1 引言
随着信息技术的快速发展,国内越来越多的医院及相关医疗卫生机构采用信息化设备,构建各自的信息化平台,以便于提高医院的工作效率和服务水平。在医院信息化高速发展的情况下,全国各地的医院都在进行信息化的建设,但是面向普通用户的线上自助体检服务系统极少。以海南为例,仅有海南医学院第一附属医院等少数医院具有自主的体检小程序,其余医院都是以微信公众号为主体为用户提供线上服务,由于微信公众号信息多而杂,窗口少而隐蔽,大大地降低了用户的使用效率,有些医院甚至有患者现场向医生求助如何使用公众号。这大大地违背了信息化的初衷,基于这些问题,设计并开发了基于ES6的综合体检服务小程序。
该系统旨在实现集成海南主要医院体检中心的在线预约及相关服务功能。为用户提供体检服务在线查询、线上预约、体检结果反馈以及体检报告在线解读等服务。项目的主要功能有:体检查询(用户可以像使用网上商城一样,根据需求,查询提供体检服务的医院信息及地址定位,查询体检项目,套餐包括详细内容,价格及可预约时间等)、在线预约(通过微信小程序,选择合适的时间,在线预约并付款)、在线查看体检结果、下载电子体检报告、报告解读、指标异常预警、在线咨询医生等功能。
2 开发平台及技术
微信小程序是一种不需要下载也不需要安装即可以使用的应用程序,是微信在2017年1月份上线的一个产品,是嵌入微信里的功能丰富、操作简洁的轻应用[1]。微信开发团队发布了微信小程序开发者工具、开发文档和设计指南。其中微信开发者工具,集成了开发调试、代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序。微信开发者工具还在不断完善和更新,本统采用其1.05.2104251 RC版本。它的架構主要包括:视图层(WXML和WXSS)、逻辑层(JS)、通过API连接底层设备以及服务器。视图层负责页面结构、样式和数据展示。逻辑层负责业务逻辑、调用API等。
系统的架构如图1所示,由客户端、应用服务层、数据存储层、技术层组成。客户端主要为在线体检小程序,应用服务层包含项目查询、项目购买、用户定位、线上线下咨询、报告查询、报告解读等服务;数据存储层使用微信云服务器,通过JSON数据库实现用户、订单、医院、报告等信息的存储;技术层通过微信开发者工具,使用JavaScript语言进行系统开发。
3 系统设计
3.1 功能模块设计
3.1.1 用户端功能模块
基于微信小程序的线上体检预约系统[2],用户端功能模块如图2所示。
其中,可以通过定位功能获取医院信息、查看相关体检项目详情,然后进行线上体检预约缴费、线上线下咨询、查看并下载体检报告、报告数据解读[3]、体检周期数据统计等,还可以进行心理自测,运动步数统计[4]等。
3.2 系统核心功能设计
3.2.1 医院查询和体检预约
需要体检的用户可以在系统首页根据需求搜索适合的医院及体检项目,注册后进行线上预约、付款,然后线下体检,在个人中心可以看到相应记录及订单如图3所示。
3.2.2 查看体检结果以及报告分析
为了让体检用户及时获取体检结果,便于后续健康管理和治疗,在后台管理端,医院管理人员除了可以上传用户的体检报告单,供用户查看体检数据和下载体检报告之外,用户还可直接查看其想关注的内容,如图4所示。
3.2.3 心理自测
针对现在人们工作、生活、学习压力较大,普遍存在焦虑或抑郁情况,本程序使用权威的SAS焦虑测试和SDS抑郁测试,可对用户的心理健康进行分值计算,返回相对应的诊疗意见。用户可以使用该功能进行心理健康评估,如问题严重,可及时去医院进行干预治疗。
3.3 系统部分功能实现关键技术
3.3.1 体检预约
体检预约功能包括两部分,医院和项目查询、体检项目购买。
1)查询项目
微信小程序自身提供的方法是不支持模糊查询的[5],因此本系统使用正则表达式,通过对医院名、项目名、项目类型分别进行查询。查询符合条件的项目信息,通过wx:for的渲染方式将结果返回给用户。关键代码如下:
({
$regex:'.*'
$options: 'i'
})
.where(_.or([
{
name:{
$regex:'.*'+ event.flag,
$options: 'i'
}},
{
type:{
$regex:'.*'+ event.flag,
$options: 'i'
}},
])
).get()
2)在线支付
在调用微信支付功能之前,需要开通该功能。具体操作可登录微信公众平台,点击微信支付,选择开通;同时需要新注册一个商家号,将商家号与小程序绑定。在云函数中调用WX.RequestPayment接口收取用户费用。支付验证成功以后,向用户返回订单信息。
3.3.2 用户定位
本系统可以进行用户定位,便于用户根据位置,选择更便捷更满足需求的医院,进行线下体检服务。首先,在百度地图官网获取微信小程序专用Key,再下载百度小程序组件bmap-wx.js。然后打开微信开发者工具,在JS文件中使用Var bmap = request(‘../../utils/bmap-wx.js’)引入api[6]。
同时,在使用调用位置信息接口getlocation之前,需要在app.json文件中声明permission字段。代码如下:
"permission": {
"scope.userLocation": {
"desc": "需要获取您的位置信息[7]"
}
}
在弹出窗口,向用户申请获取地理位置的权限,用户授权后调用wx.getlocation接口,该接口用于获取当前位置的经纬度数据;配合wx.openlocation接口实现定位功能[8],主要代码如下:
wx.getLocation({
type: 'wgs84',
success (res) {
const latitude = res.latitude
const longitude = res.longitude
const speed = res.speed
const accuracy = res.accuracy
_this.setData({
latitude:latitude,
longitude:longitude,
})
}
})
4 结束语
基于ES6的线上体检服务系统,作为线上医疗的一部分,在实际应用中可以让用户进行线上查询、预约并及时查看自己的体检数据,以便进行复查。每一个套餐都有详细的解释,通俗易懂,而小程序相较于其他下载的App更加便捷。此外,系统还涵盖多家医院,用户的选择机会更广泛。系统在实现用户体检相关服务的同时,还提供了利用SDS和SAS进行心理健康测评功能。该系统进一步的优化方向是在取得用户授权的情况下,对用户体检数据进行数据分析,并智能推荐相关套餐,从而更好地优化用户体验,提高医疗服務质量。
参考文献:
[1] 刘明洋,汪鸿俊,任小蕾.微信小程序实战入门[M].北京:人民邮电出版社2017.
[2] Boudreau J D,Cassell E J.Medical wisdom[J].Perspectives in Biology and Medicine,2021,64(2):251-270.
[3] 朱俊杰,田卓宛,贺宇,等.智慧医疗融合5G发展的现状与展望[J].中国医药导刊,2021,23(5):380-383.
[4] 谭贤.微信搜索优化与引流实战[M].北京:人民邮电出版社,2017.
[5] 张国文.LBS客户定位与精准营销[M].北京:人民邮电出版社,2015.
[6] 陆霞.基于LBS云平台的微信小程序二维码区域定位系统设计[J].现代电子技术,2020,43(4):180-182,186.
[7] 肖皞,宋喆女,姜闻.基于5G基站定位服务的应用探讨[J].电子测试,2021(12):59-60,81.
[8] 张颖.基于微信公众号的资源共享平台设计[J].电脑知识与技术,2021,17(11):82-83.
【通联编辑:谢媛媛】
收稿日期:2021-09-16
基金项目:2019校级创新创业训练计划项目(项目编号:X201911810136);第三批海南省普通本科高校应用型试点转型专业项目(信息管理与信息系统专业)
作者简介:高志鹏(1998—),男,甘肃庆阳人,本科在读,研究方向为生物信息与工程;胡乾龙(1997—),男,陕西西安人,本科在读,研究方向为生物医学;林子善(1999—),男,海南乐东黎族自治县人,本科在读,研究方向为软件开发;夏金阳(2001—),女,甘肃高台人,本科在读,研究方向为软件工程;李志芳(1980—),女,海南海口人,通信作者,副教授,硕士,研究方向为人工智能、智慧医疗。
3520500338250