APP下载

基于LBS的“急速药递”小程序管理系统的设计与实现

2021-04-22杨欧阳杨朝贵梁恩张智恒余远波

电脑知识与技术 2021年8期

杨欧阳 杨朝贵 梁恩 张智恒 余远波

摘要:为给紧急需要某种药物且意识清醒的用户快速提供药品,研究基于地理位置的药品求助和响应救助具有重要意义。在分析了用户急需某种药品但是无法获得时的需求,设计了基于用户地理位置(LBS)的“急速药递”小程序管理系统,对系统的紧急求助、消息推送、地图显示和基本信息填报等功能模块进行分析与设计,主要运用位置标记的方式展示求助信息、以消息推送的形式通知附近的志愿者或医药机构、地图显示药品求助信息、附近多位商家或志愿者响应求助并快速将药品送达,实现基于LBS的药品需求信息服务。系统采用云开发模式开发,描述了系统实现的关键技术,具有一定的实用价值。

关键词:“急速药递”小程序管理系统;基于地理位置;位置标记;消息推送

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2021)08-0095-04

Abstract: In order to provide drugs to the conscious and urgent users, it is of great significance to study the drug help seeking and response assistance based on geographical location. Based on the analysis of the user's need for a certain drug but unable to obtain it, a "rapid drug delivery" wechat applet management system based on LBS was designed. The function modules of the system, such as emergency help, map display, message push and basic information filling, were analyzed and designed. The help information was displayed in the way of location mark, and the volunteers nearby were informed in the form of message push Or medical institutions, map display drug help information, nearby businesses or volunteers respond to help and quickly deliver drugs, so as to realize drug demand information service based on user geographic location (LBS). The key technologies of the system implementation are described, it has a certain practical value.

Key words: "Rapid Drug Delivery" WeChat applet management system; based on LBS; location mark; push message

1 背景

冠心病引发的心脏骤停,每过1分钟,死亡率上升7-10%。冠心病急性发作后的生存率,在全球大约3%,中国只有1%。根据国务院出台的标准,接到报警后,救护车应在15分钟内到达患者驻地,但在实际情况中,不仅由于医疗设施的不足,恶劣的交通状况也同样使得救护车难以及时到达患者身边,有时因为患者独自发病未能报警或未随身携带急救药品甚至未被发现而贻误急救。用户明确自己需要哪种药,但是因为某种原因(发病时忘了带药等)而无法获得,如何为用户急速“药”递?构建便捷的院外救助信息系统,实现求救信息畅通、救助及时具有重要的意义。

1.1 慢性病院外管理和急救

根据《“健康中国2030”规划纲要》的指示,到2030年,实现全人群、全生命周期的慢性病健康管理;完善突发事件卫生应急体系,提高早期预防、及时发现、快速反应和有效处置能力;强调规划和推动“互联网+健康医疗”服务,创新互联网健康医疗服务模式,持续推进覆盖生命周期的预防、治疗、康复和自主健康管理一体化的国民健康信息服务[1]。

目前,我国对紧急情况下“院外救治”的医疗行为性质和医师及其他救助人员的义务没有明确的法律规定,张建国[2]提出紧急情况下的“院外救治”行为无论定性为无因管理还是紧急避险,都是一种对社会有利的行为,都应支持和提倡,并给予法律上的支持和保护,逐步建立符合国情的“好撒马利亚人法”,在法律上给紧急情况下院外救治行为进行定性和相关责任分配,保障施救者的合法权益。

陈志刚等人[3]分析院外心脏骤停患者特点,呼吁加强社区急救和院前急救双网络的建设,适当延长心肺复苏时间。研究证实,入院前对患者进行及时有效的救治,能有效控制病情的进一步发展,降低其在转运过程中的危险性及死亡率[4]。

1.2 基于位置的救助服务

王付宇等人[5]在考虑时变条件道路拥堵情况下,建立双层选址模型,提出关心权重萤火虫算法设计应急救援算例。窦清理等人[6]提出院前急救3个空间数据特征,即:非均匀特征、相对稳定特征、个体差异特征,为重新认識院前急救、更好地把握院前急救提供了新方法和新的决策依据。

戴景斌[7]探讨志愿者和第一目击者互助平台。而本研究倡导随身携带有硝酸甘油等急救药品或懂心肺复苏的志愿者,通过院外救助智能网络系统发现附近患者并及时赶到,在患者意识清醒并征得同意的情况下提供急救药品,为专业急救赢得时间。设计了基于LBS的“急速药递”小程序管理系统,对系统的主要功能模块进行分析与设计,实现基于用户地理位置(LBS)的药品需求信息服务管理。

2 需求与功能分析

2.1 设计目标

“急速药递”小程序管理系统,构建基于用户地理位置(LBS)的药品需求信息服务,地图显示药品求助信息,附近多位商家或志愿者响应求助,快速将药品送达。

2.2 需求分析

在“急速药递”小程序管理系统中,患者用户(药物需求者)的核心需求是发出求助药物需求信息和警示信息(自动拨打紧急联系人电话、手机屏幕展示个人信息),响应药物需求的用户(随身携带有药物需求者药物的志愿者或药店商家等)的需求是选择或接受推送来的药物需求信息。

用户可以通过小程序查询功能搜索到附近的用户对药物的需求情况、精准定位需求者的位置。

该志愿服务管理系统具有以下功能:

1)药物求助发布:属于自助求助,用户可以自行编辑需求的药物信息,编辑完成之后可以点击提交发布求助信息;

2)一键求助:在紧急情况下,用户可以一键触发警示模式。当触发了警示模式时,手机自动发出警示,拨打紧急联系人电话,手机震动,展示个人的信息等;

3)推送管理功能:系统自动匹配并将药物需求信息推送给距离最近的志愿者(或药店商家等)用户;

4)地图显示药物求助信息:用户药物求助信息、医药机构的信息根据地理位置在地图上进行实时定位,让用户清楚地了解附件有哪些用户发出了药物需求信息;

5)浏览搜索:医药机构信息,求助信息的集成,方便用户查询;

6)紧急联系人信息管理:紧急联系人的添加,修改,删除,查询等;

7)用户管理:志愿者信息管理:志愿者信息(包括药物信息等)的登记、修改等。个人信息管理:个人基本信息,疾病信息、常用或急救药信息,家庭医生信息的管理模块。

2.3 功能设计

该小程序主要功能:药物求助、一键求助、消息推送、地图显示和基本信息填报等。

用户首次登录时,需填写个人(或志愿者)基本信息、随身携带的常用或急救药信息等。当用户因为自己熟知的某种慢性病突然感到不舒服、但是因为某种原因无法获得药物,(在家属赶来或救护车车赶来之前)打开小程序发布药物求助信息,紧急情况下可以一键求助发出警示。志愿者(或药店等)在地图中查看附近用户或接收推送来的药物求助信息,根据自身携带的药物情况选择相应求助。

系统功能模块如图1。

系统采用云开发模式开发,利用地图组件开发地图,运用位置标记的方式展示求助信息;以消息推送的形式通知附近的志愿者或医药机构。

3 系统的关键技术

系统实现使用云开发开发微信小程序。云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无须搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。小程序的云开发具有数据库 、存储器和云函数4个基础能力[8]。微信小程序的框架采用MINA框架,包括逻辑层、视图层和基础层。主要采用WXML( HTML5) 、WXSS( CSS) 和JavaScript 技术。

3.1 实现基于地理位置的信息标记

将救助信息上传至云数据库,利用小程序官方所提供的map组件(原生组件)及其marker属性。利用marker携带数据进行位置标记,实现功能的关键代码如下。

const db=wx.cloud.database()

db.collection('fabu').get({

success:res =>{

const arr=res.data.map((value,index )=>{

return{

iconPath: "/image/" + value.type +".png",

id: value,

latitude: value.latitude,

longitude: value.longitude,

// type:value.type,

width: 30,

height: 40

}

})

console.log(arr)

this.setData({

markers:arr,

})

}

})

3.2 消息推送

用户发布药物求助信息后,系统根据志愿者用户在信息填报时填写的药物信息和距离求助者的距离等,通过调用云函数将求助信息推送给相应的志愿者(或药店商家等),志愿者用户可以查看已经推送来的信息并选择是否响应。云函数的关键代码如下。

exports.main = async(event, context) => {

try {

const result = await cloud.openapi.subscribeMessage.send({

touser: event.openid, //消息接收的用戶openid

page: 'pages/logs/logs', //要跳转到的小程序页面

data: { //推送的内容

thing2: {

value: event.message

},

phone_number5: {

value: event.contact

},

thing6: {

value: event.address

}

},

templateId: 'OAeF_JWHWkZS41IDJ-HA23nCS-6S844cQvo2xxUNTNw' //消息模板id

})

console.log(result)

return result

} catch (err) {

console.log(err)

return err

}

}

3.3 一键求助

为方便老年人使用,特设计了一键求助功能,一键求助功能的使用在最开始时便需要填写紧急联系人的信息,包括紧急联系人的姓名,电话,关系等。当上述信息填写完成后,方可跳转如图3所示的界面,界面使用简单,当点击一键求助,即触发了警示模式,手机自动显示警示信息、拨打紧急联系人电话、手机震动、向附近志愿者推送警示消息等。实现功能的关键代码如下。

wx.vibrateLong(400)//手机振动

wx.navigateTo({    //帶值跳转警示界面

url: '../ Warning/ Warning?id='+this.data.openid

})

const db = wx.cloud.database()

db.collection('fabu').add({//求助信息上传数据库

data:{

address:that.data.address,

message:that.data.message,

longitude:that.data.longitude,

latitude:that.data.latitude,

contact:that.data.contact,

type:that.data.type

}

}).then(res => {

console.log("添加至fabu成功", res)

}).catch(res => {

console.log("添加至fabu失敗", res)

})

系统运行的部分截图如图2~图8所示。

4 结束语

本文设计的“急速药递”信息管理小程序,为用户紧急需要药物提供药物需求信息发布(或一键警示等)服务,以便志愿者(或药店商家等)为用户(或在救护车到达之前)提供药物。下一步,将在现有小程序的基础上,研究智能化的基于地理位置的药物需求信息管理。例如,通过对用户的跌倒监测智能化地发送求助信息等。

参考文献:

[1] 中共中央 国务院印发《“健康中国2030”规划纲要》[EB/OL].[2020-06-06].http://www.gov.cn/zhengce/2016-10/25/content_ 5124174.htm.

[2] 张建国.紧急情况下“院外救治”行为的法律性质及责任分析[J].医学与哲学,2015,36(15):67-70.

[3] 陈志刚,吴敏,邱晨,等.院前救治596例心脏骤停患者特点分析[J].灾害医学与救援(电子版),2016,5(1):16-19.

[4] 张玲玲.采用先急救后转运的方式对急性左心衰竭患者进行院前救治的效果分析[J].当代医药论丛,2016,14(17):158-159.

[5] 王付宇,叶春明.基于改进萤火虫算法的应急救援中心选址[J].工业工程与管理,2016,21(3):18-24.

[6] 窦清理,张文武,朱华栋,等.基于空间大数据的院前急救非均匀相对稳定模型[J].电子技术应用,2018,44(4):130-133.

[7] 戴景斌.“互联网+” 和 “北斗系统” 概念下志愿者和第一目击者互助平台建设的分析[J].中国卫生产业,2018,15(2):22-24.

[8] 张小龙.微信小程序入口在哪?有什么用[J].计算机与网络,2017,548(4):50.

【通联编辑:谢媛媛】